Low tech garbage pickup indicator

ViewFromWindow2994Garbage day always brings the question “Has it been picked up yet?” as I look out the window at the cans.  Sometimes I hear the trucks rumbling down the street and watch the mechanical claw pick up the can, dump it, and set it roughly back down.  But often not.  The well-designed emptying system rarely leaves the lid open showing the can has been emptied.

A scrap of 3/4″ white laminate covered shelf propped up against the can provides an extremely reliable visual indicator.  A similar Indicator2997sized chunk of furring strip serves on those rare occasions that I have to put both cans out.

It’s a pretty effective remote annunciator for something that doesn’t even have a processor in it!

Posted in Miscellaneous | Tagged , , | Leave a comment

Project Notes hacked

HandjobSantaI’ve had a problem over the past few months with someone hacking these Project Notes.  The symptom is a link with text “handjob santa” added very intermittently to the title block of the pages.  It has appeared immediately after “Jim’s Projects” and after “Workshop 88″.  The link points to a non-existent or expired domain (opengadgets.net/handjob-santa).  Thankfully, the hack isn’t very harmful.

HandjobSanta2I first saw it very briefly (and then not there – triggering the usual “Did I really see that!?” reaction) this April.  I called GoDaddy support April 18 but got no insight.  The rep raised the question of whether it might be a hack to my browser rather than the site.  Two kind commenters told me they’d seen it – Brad on May 3 and Andrew on May 13.  Thanks, guys!  So I’m not crazy, and it’s not just my browser.

Ssh’d into the root of my hosting account, I tried a find . -exec grep “handjob santa” {} \; -print , hoping to discover how the hack had been embedded.  Unfortunately, GoDaddy has a robot that kills processes that run for more than a minute or so, so that command didn’t complete.  I tried several variations of that find, including just running from the wordpress directory, but still got no joy.  Of course there are lots of ways to obfuscate a text string, so that was hardly a definitive exploration.

While googling for evidence of other sites with a similar hack, I found none, but was startled to see several hits on my own pages.  Of course following the links showed the current pages – with no hacked string.  But bless Google’s digital heart, the green link with the URL just below the main line in each hit has a pulldown which includes a link to a cached copy of the page.  Sure enough, those cached copies contain the hacked in link!  Now I had several nice static instances to examine.

SourceLooking at the page sources, the added links on both the “Jim’s Projects” and “Workshop 88″ instances  were immediately before a “</div>” tag:  one at the end of the “site-title” div and the other at the end of the “site-description” div.  That might be helpful.

Armed with that, I called GoDaddy support again today (5/16/15), and Justin provided some valuable help.  He pointed out that it might be related to the WordPress “theme” I was using.  That makes sense.  If you wanted your hack link to show up well, the site title and description sound like good places to put it.

But even better, he had me check my WordPress dashboard to see if there was an update to my theme.  Such an update probably just overwrites the whole wp-content/themes/<this_theme> directory, and so might wipe out anything hidden in there.  There was an update, I installed it, and it might have fixed the problem!  Unlike my experience, Justin consistently saw the hack link on live pages of my site.  After the update, they were gone!

I made a script to get the filenames and sums of all the .php files under wordpress, and ran it to get a snapshot.  I think that will let me spot any changed .php files if it happens again.  I also tarred and gzipped a copy of the themes directory in case they do the same thing again before there’s a new themes version to conveniently overwrite the bad stuff with.

What a nuisance!

Posted in Miscellaneous | 1 Comment

Getting Tiny core working with Arduino 1.6.3

The first time I tried to compile for an AT Tiny84 with Arduino IDE 1.6.3, it failed with a warning and an error.  The warning was “Third-party platform.txt does not define compiler.path.”  The error was “Error while compiling: missing ‘recipe.cpp.o.pattern’ configuration parameter”.  I gave up and used good old 1.0.5 ERW, and everything was fine.

When I chased it a little later, I found that while high-low tech had a tiny core for 1.6, the google code hosted Arduino-tiny I’ve been using did not.  The latter did have versions for 1.0 and 1.5, so I downloaded arduino-tiny-0150-0020.zip.  When I tried that one the ‘recipe’ error went away, but the ‘compiler.path’ warning was still there.  It did compile, though.

I looked thru the platform.txt file for the main Arduino 1.6.3 install, and found this line:

When I changed the platform.txt file in the new tiny core by replacing the line
with the one above, the warning also disappeared.  While it would be nice if the Arduino-tiny kept fully up to date, at least my installation works (and with this note, I can rebuild it if needed.)


I copied the boards.txt I’ve been using for some time (with tiny84@8 MHz and a hack to make the tiny2313 entry work for 4313s) to the new tiny core directory, and my boards showed up fine.  But when I tried programming a Tiny84 with an ICSP header and my USBAsp programmer, I had trouble.

I found a very helpful pointer that to program using a programmer (rather than the bootloader), there is an option in the IDE under File->Upload Using Programmer.  Cool!  I saw it work once, but later it complained “Error while uploading: missing ‘upload.tool’ configuration parameter”.  When I added this line to my boards.txt in the tiny84@8Mhz block, it compiled and uploaded thru the USBAsp:

I added corresponding lines to the blocks for tiny85@8MHz and tiny2313@16MHz (hacked for 4313) as well.  So now I think my 1.6.3 environment is up to date and stable for my favorite tinys.

Posted in Tiny 85 stuff | Tagged , , , , , | 2 Comments

Analog joystick

Joystick2768I found this nice-feeling joystick for $2 at Goodwill, and thought it might make a good controller for an early demo of the LED wall display at the Northside Mini Maker Faire.  I’d originally planned to use a drum pad, but this is probably better.

As a non-gamer, I had no idea what the interface to this thing was, and it had absolutely no brand/model info.  But the discovery/learning process went well.  Googling “image pinout 15 pin joystick” got me well Inside2760on the way.  An ohmmeter showed analog resistance changes on the X and Y pins, though the buttons were a little strange.  Opening it up let me ring out the cable and see what was going on.  Seems nicely made.  Joysticks were 100K pots to +5 wired as variable resistors.  All the buttons went thru a little PCB that got +5 and ground and was mounted to the “Auto” switch.  Seems to provide ~6Hz square wave auto firing on the trigger and big buttons (not on other 2).  Here’s the detail:

DB-15 Joystick    function     DB-15 to      Arduino
pin   cable color              Arduino color pin
1     Whi/blk    +5V           Red           +5
2     Blu        Btn 1 (trig)  Ora           A5
3     Grn        X1            Whi           A4
4     Brn        Btn ground    Blk           Ground
5     -            
6     Ora        Y1            Brn           A2
7     Blk        Btn 2 (big)   Blu           A1
8     -            
9     -            
10    Red        Btn 3 (left)  Whi           A3
11    -            
12    -            
13    Gray       Speed         Grn           A0
14    Yel        Btn 4 (right) Grn           A0
15    -

Arduino interface

ArduinoAdapter2775I found an old DB-15 female in the junk box and moved a couple of  wires around to get red/black for power and populate the other needed pins.

The pots give ~65K to +5 when centered.  To get a reasonable analog voltage from them, I made a voltage divider from their pins to ground with 43K.  Seems OK.

Arduino+Interface2783I needed 3 analog inputs plus 4 digital inputs for the buttons, and +5/ground.  I could almost get away using just the Arduino header row with A0-A5 and +5/ground, and that neat connection was very appealing.  So I cheated:  I tied one button (right) and the “speed” pot both to A0.  To read the button, do an analog read and check for near 0.  To read the pot, if the analog value is very low, ignore it.  I wrote a little test code and it seems to work OK.

Overall, it was a pleasant little adventure, and for $2 (plus some time) I got a useful controller for the LED display demo that will probably also be a useful input device for some future Arduino projects.

DrumPad2787And a big plus:  It lets me get the large, clunker Harmonix USB drum pad I dug out of the spider hole at the space out of the house and back to the hole!  That earlier intended wall display controller does in fact work (well, the 3/4 of it that’s still there), as demonstrated by the older, free Drum Machine windows app from Andrew Rudson.  But the joystick provides what I need with not only less work but with a smaller volume of junk in the house – and that’s a win!

Posted in Miscellaneous | Tagged , , , , , , | 1 Comment

Bench camera mount

CameraOnHolder20150331_212132216I’ve often wished for stable camera mount above the bench where I take a lot of project pictures.  It needed to be quite flexible in where it could locate the camera, but still fairly rigid for say good registration of an HDR series.  After several months of intermittently mulling over lots of approaches, I ended up with something that’s simple, effective, and doesn’t add a lot of extra hardware to my overcrowded shop.

I found a $3 generic ball/socket tripod head on Ebay that looked like it would be useful, though I still had no idea what it would be mounted to when I ordered it.  We’re underway.

A main requirement was a quick-on quick-off clamp mount to the benchtop.  There’s a clamp-on soft-jaw Craftsman vise I use for working on PCBs that lives under the bench.  It’s kind of clunky, but it’s effective and flexible enough to have earned its keep – and it clamps on quickly.  I finally realized that it could hold the camera mount with zero extra junk near the bench.  It’s not quite as rigid as I’d like, but it’s easily Good Enough.

A piece of 1×2 furring strip could clamp in the vise easily, but how do I attach the 1/4-20 female mounting hole in the tripod head to a piece of wood?

HangerBolt2781A hanger bolt was the answer.  Took a little tweaking to get the right length and the thumbscrew on the tripod head in the right place, but no rocket science.CameraOnAStick20150331_021552610  Works great.

Of course when I got the  hanger bolt, I got an extra.  Unfortunately, it’s one of a kind, and doesn’t have a home in my parts/fasteners organization scheme.  In looking for a place to stash it where I’d have a prayer of ever finding it again, I was reminded of Wall-E’s dilemma categorizing a spork he’d found.  HangerBoltHome2914(It ended up in the ‘assorted bolts’ tray, still in its poly bag.  That tray embodies the fundamental storage precept that containers of jumbled stuff should never be deeper than maybe twice the typical dimension of the ‘stuff’ they contain.)

The whole mount system works very well, takes up little space, and cost very little.  When I finally figured out I could use that PCB vise, it took less time to build than I’d spent thinking about it!

Posted in Photography/Camera stuff | Tagged , , , , | 1 Comment

Damn Tribune “driveway delivery”

TheCulprit2643My snowblower has eaten a couple of newspapers, but this was the worst case ever.  And it’s all the fault of the Tribune’s stupid “driveway delivery” policy.  (OK, maybe not – see very end.)

Despite best efforts, I couldn’t pull the part jammed in the impeller out.  I brought it into the garage and rolled it over on its side.  After trying some more to pull the jammed paper out, I gave up and grudgingly figured I’d have to cut it out with a Stanley knife.

PartWayThru2652I cut away most of the large stuff so I could get to the place where it was really jammed.  But hundreds of slices later, I still hadn’t cleared it.  The remaining plug was a thoroughly compacted mixture of paper and plastic wrapper.  Slicing at it produced only very tiny fragments.

AlmostDone2650The clearance between the impeller and the housing is a little over 1/4″.  I tried screwdrivers and eventually a piece of 1/4″ steel bar and a hammer.  I tried forcing the impeller to turn with a judiciously applied 2×2.  I just couldn’t believe I couldn’t get it cleared out.  After a hour of work with the most useful technique being slicing millimeter sized shreds out, I finally prevailed.  Near the end, I wedged a screwdriver between a cleared part of the impeller and the housing as a lever and forced the impeller to turn a little.  If I had to design another tool to try to attack this specific case, it would be a hook to pull with.  Maybe 1/4″ steel rod a foot long and with a pointed hook bent at 90º or better.  Maybe I could have driven it in and pulled out much larger chunks.

Cleared2655BIt doesn’t look like there was any permanent damage.  The mixed good news was that by the time I was up and running, other good samaritans had cleared most of my sidewalks as well as the neighbors’ walks I usually do.



Update a few hours later: OK, this is just about the tool I wish I’d had.  It’s from some 3/16″ rod scavenged from some heavy wire racks I seem to have around.  Might even find use beyond the next snowblower-newspaper battle.

TLTR background rant

I understand the intent of the driveway delivery policy:  For a house set well back from the street with a long driveway, they want to set expectations that their delivery people won’t get the paper all the way up to the house – just to the base of the driveway.  That’s fine for the long driveway case.  But their idiotic bureaucracy has warped it into training delivery people to aim for the driveway – instead of the house.  The driveway to my detached garage is 60 feet away from the front door.  It takes absolutely no extra effort to toss the paper in front of the front door instead of  in front of the garage.

They delivered the wrong paper yesterday.  Using their very convenient online problem reporter, I clicked ‘wrong publication’ and asked for the paper to be delivered later.  It popped up a message saying it would be delivered “shortly”.  That was at 6:30AM.  When it hadn’t come by I dunno – 2PM?  I walked down to the driveway and verified it wasn’t there.  I went online again and asked for a credit for an undelivered paper, foolishly thinking the matter was over.  That was all well before the snow.

When I went out to do the driveway this morning, I had no reason to expect a paper under the couple inches of new snow.  I’d already picked up today’s paper – delivered as usual, right in front of the house.  And then WHAM!

Apparently the gears were still turning (slowly!) to get a policy indoctrinated driveway deliverer to deliver the makeup paper after I’d given up on it.  To be fair, if he’d delivered the now-unexpected paper right in front of the house, I still wouldn’t have been looking for it and would probably have hit it while clearing the path in the parkway in front of the front door.  So I guess the real blame is that the delivery was so late that I’d given up on it.  Ugh.

Posted in Home Repair | Tagged , , , | Leave a comment

Clever flash diffuser

KleenexDiffuser2624bA flash diffuser is often very helpful, especially for some of the closeups of hardware I take.  The better-than-nothing hack I’ve used dozens of times is a couple of folds of Kleenex over the Canon SD600’s built-in flash.  It’s free and available, but not great.  Sometimes it flops in front of the lens, sometimes it covers the auto-focus helper LED, and based on some color shifts, I suspect sometimes a finger gets involved.

FrontView0792I recently ran across a great DIY flash diffuser on the Cameta blog.  While much more involved than a piece of Kleenex, the materials were still free, and since almost all my technical pictures are taken in the shop, it’s easy to keep it nearby.  It even SideView0797manages to leave the focus helper LED clear.

Built mostly of cut and folded white card stock custom fitted to the camera, its main clever feature is the use of a reflector near the tiny flash to illuminate a much larger diffuser.  Some aluminum foil tape provides the reflective surface.  This side view shows it best.

WholeThing2583To hold it all to the camera while aligning the tiny flash in the tiny PlasticIndex0799hole in the back of the reflector cavity, I taped some scavenged 17 mil clear PET packaging plastic to the back of the diffuser.  Between a hook over the side of the camera body and careful fitting of the top to butt up against a raised place on the top of the camera (under my thumb, not visible), it’s pretty easy to register accurately and hold in place.  For a little card stock, tape, and some time fiddling with it, I think this will become a valuable, standard part of my photo arsenal.

DiffuserDemo2615For the requisite with/without pics, these shots from the return duct cleaning project are about the best I have right now.  They show some improvement, but don’t really do the diffuser justice.  Maybe I’ll update them later.


Posted in Photography/Camera stuff | Tagged , , , | 1 Comment

“Sidewalk fertilizer” bag spout

I’ve been using 10-10-10 fertilizer as salt/traction improver for icy sidewalks for several years now and am very happy with the approach.  The milk jug spreader and the inverted half-jug filler funnel work great.

Less great is managing the bag of fertilizer I refill the jug from.  Cutting a corner off for an opening and rolling it up and clamping it with a soon-rusty bulldog clamp to reclose it worked, but was ugly and unpleasant to use.

Spout2518I just ran out of fertilizer and had to get a new bag, so that was the impetus for finally making a much better spout.  I cut the bag corner just large enough to fit a cutoff large HDPE bottle with a screw cap.  I sprayed the outside of the bottle with an Elmer’s multipurpose spray adhesive before putting it in, but I expect the hose clamp would have held it together quite well even without the glue.

BagInActionBetter2553The first jug fillup was a much more pleasant experience than working with the rusty old clamp setup.  For simple and free, I think I’ve solved my sidewalk fertilizer bag management problem!

Posted in Home Repair, Salt spreader | Tagged , , , | Leave a comment

Bondic zipper repair

Before2457I’d never paid much attention to the implementation of the bottom part of a jacket zipper until my good jacket started to be hard to zip.  The “pin” side – that fits into the “box” on the other side – was sort of coming apart.  Crimped into one side of the pin was a bit of plastic reinforcement that went all the way to where it was sewn in.  That plastic had broken, and the underlying fabric was fraying badly.  The symptom was that it was harder than usual to get the loosey-goosey pin into the box to get the zipper started.

Short of trying to crimp on a new pin with new reinforcement, opening up the seam and restitching the hacked pin end, I couldn’t see a good fix.  Lauren asked if there weren’t something I could use to stiffen/reinforce the fabric.  Maybe!  The first materials that came to mind to reinforce the fabric were epoxy and the new UV-curable Bondic resin.  I decided to give Bondic a try.

I worked the resin into each side of the fabric, then exposed it to the UV LED provided.  NarrowSlot2484But the slot in the zipper slide is quite Smashing2468narrow, and the gloppily stiffened fabric had to be smushed down to have a prayer of fitting.  (It’s OK – they’re technical terms.)  I did two rounds of resin/cure on each side.  While other UV resins cure much harder, the Bondic After2474resin cures WithUV2476somewhat flexible, so the reshaping was fairly successful.  Here are both sides with the resin in place.  And, of course, the requisite picture of it fluorescing under the UV LED. :)

While I can get the slide over the reinforced pin, the pin didn’t fit into the box far enough for the zipper to start.  A little judicious trimming and further thinning got the pin into the box.

Together2482It still doesn’t feel as good as new.  I have better control of the pin thanks to the stiffened fabric, but the angle is off a little and it feels like I’m fighting slightly gummy gunk forcing the pin into the box.  Overall it’s not much better feeling than before, but I suspect it will last longer.  And it does still work!

Now to see how well it holds up.

Posted in Miscellaneous | Tagged , , | Leave a comment

W88 sign replacement

Somehow the sign in front of the space got damaged and came down – not sure of the order.  It lasted just about 4 years – pretty good for an experimental prototype outside in Chicago winters and summers.  I recovered the beat up carcass and since we still need a sign, did a quick and dirty makeover.  We really need a more permanent sign, though!

Front+Back2429Post mortem

The sign was originally a test of potential outdoor sign-making techniques.  With the dead sign in my hands, the first job was looking at how it had fared.  The old project notes did their job admirably, reminding me of lots of details and decisions in the original build.  In no special order…

  • The 0.004″ aluminum foil pan top channel did very well.  An initial fear that the sign would look silly without having it go all the way around was Grommets2416just, silly.  The channel stuck very well and apparently did its jobs of keeping water out and holding the panels’ top edges down very well, too.
  • The grommets were in fact brass rather than brass plated steel.  They held up very well and the panels showed no signs of leakage/drip stains below them.  Whatever had beaten it up over those years didn’t manage to rip out the grommet/aluminum/embedded wire hanger.
  • I kind of suspect the vinyl coated (steel) wire hangers failed and that’s how the sign came down.
  • The “Adventure paper” on the back didn’t do so well.  At the time of coming down, it had become rather brittle, and BackCracking2424cracked off in largeish pieces.  I tried to scrape it all off, but despite the cracking,  most of it was still pretty well stuck on.  I got some loose edges off, but that was about it.  It will look pretty bad on the refurbished sign, but it’s in the back and few visitors will see it.  Apologies to the others who live on that side of the sign…
  • The HP waterproof laser “tough paper” held up very well.  Somehow one panel had come off by the time I got it, but I had to work a FrontPeeling2422InkPeeling2423little bit to peel the others off.  Each of the  remaining panels came off completely intact.  The black toner was visibly faded, but more interesting was that the red toner peeled off in chunks – though only as the (now removed) paper was bent.  I expect it would have held out for another year or two still stuck to its backing.

Patching it up

Since it’s (again) only a temporary sign, I figured just a decent looking front side would do. I’d like to keep the job simple, and I don’t have any more of the brass grommets, so I decided to just make a new front on the old sign.  Yeah, the top will look crummy.

I don’t have a color laser printer at home, and I wanted to get the sign ready to put up on Thursday.  I could have printed on the Adventure paper with my inkjet, but after seeing how it fared and rereading the notes here, I gave up on having the sign for this Thursday in favor of using the nice HP stock and having Lauren laser print the panels at work.  (If only I hadn’t dawdled so much and started on this project just a day earlier, I could have had the sign done for Thursday.  Oh well, at least I’m consistent…)

I’m sure I can strip the old adhesive off pretty well, and the 3M Super 77 spray adhesive has proven itself for this application, so I’ll use that again.  I can peel up the aluminum channel, and presumably glue it back down.  It’s pretty beat up, but from the distance people see the sign, it won’t be too bad.  Its 1/4″ overlap of the top of the panels seems to have worked out pretty well, and I should be able to do that again.

TopEdgeOK2435The problem is at the grommets.  They hold the aluminum down such that I can’t peel it back to get the tops of the panels under the aluminum right there.  They were clearly put in after the panel and aluminum were glued down.  It’s only a problem for an inch or so, but that inch robs the end panels of their nice water shield.  Not sure what to do about that yet.  Do I undercut the grommet just so I can slide the panel under the aluminum?  And if so, how do I slide it in place with contact cement on both pieces?

To my amazement, I couldn’t find the files I’d printed the original panels from.  It’s not like me to not save files, even for a ‘temporary’ project like the sign.  I found a similar jpeg in the dropbox, but on looking closely, the font was considerably heavier – and so not quite as legible from a distance – as whatever was on the old sign.  I ended up creating a Word doc with a page for each of the 4 panels, with the text in 291pt bold Arial.  It’s not identical to the old sign, but very close.  I saved the file this time. :)

(next day) The laser printed copies on the HP “paper” look fine.  Based on my earlier reports of success taping all the panels into one big piece for the slightly scary you-only-get-one-chance application to the contact cement, I’ll try that again.

Final assembly

Debbie, a visitor from AISE, an Innovation Centre in Arusha, Tanzania planned to stop by to see the space WorkingOnSign6401_HDRFriday morning, so I gathered up all the parts and planned to do the final assembly at the space so I could be there to show her around.

After trimming the panels so the letters were spaced appropriately, I taped them up into one piece.  I notched the big panel for the grommets and bent the bottoms of the grommets up so I could scootch the panels under them.  That was a big help.

PrinterAsHelpingHand1677Unfortunately, Debbie couldn’t make it, so I was without the extra pair of hands needed to handle the large panel.  I used the Kossel 3D printer as a skyhook to hold the back half of the glued up panel safely in the air while I carefully aligned the front edge.  A couple of dry runs were, as always, very helpful.  Since getting the panels under the grommets – only ~1/8″ clearance – would be the tricky part, I chose to do that edge first.  JustGlued4729While not without a hitch, the approach worked, and the panel was applied with no visible wrinkles or bubbles.  Here it is immediately after it got stuck down.

After pulling the blue tape off, I burnished the panels down aggressively.  With no clear spray overcoat, I hope the seams stay sealed well enough.  While I was only marginally successful beating the grommets back into shape, the working space having them lifted provided was worth having them end up not well seated.  I bent the aluminum channel down as best I could to seal over the top edges of the panels.  Unfortunately, it’s completely worn away above the grommets.

I made up some oval split O rings from the nice heavy 7 ga steel wire to hang the sign from the eyebolts in the sign hanger outside.  Those should hold up a lot better than the green vinyl covered 12 ga wire that apparently failed with a stress crack after only 4 years.  :)

Clambering up on the ice covered plastic top of the dumpster under the signpost to hang the sign with no spotter was arguably dumb, but I got away with it.  (To my credit, I was actively evaluating my footing when I got up the first time to remove the remains of the old green wire.  If that attempt were scary, I claim I would have passed on the second trip up to hang the sign and use lineman’s pliers to close those heavy duty O rings.)

Jan 2014

Jan 2015

Jan 2011

Jan 2011

From the front, it looks a lot like the old one.  The back’s really ugly.  But it’s up and done!




Posted in Workshop 88 sign | Tagged , , , , , , , | Leave a comment