Friday, April 12, 2013

An experiment in social conscience and greed

A couple weeks ago, one of my coworkers found a dollar bill on the floor, and not knowing whose it was put it on my stand-up desk (aka the file cabinet next to my desk). It sat there for a couple of days, eliciting questions, but no action.

After a week, mysteriously the dollar had gained some friends in the form of five pennies, two nickels, a Chuck-e-cheese token, and a highly dubious coin simply decorated with laurels and a $, and made from cheap plastic. Then another coworker lost a bet and added the $1 pot to the ...uhm.. pot.

Last week an origami dollar bird appeared.

Current total value: $3.15, plus a game of skee ball. All sitting out in the open, ready for the taking. Yet, no.

Update 04/17
The money is gone. Budget-constraints in the snack department caused a reallocation of funding to Mama Zuma and her followers. Instantly additional funding magically appeared; the money is now gone. I blame hunger and masochistic tendencies (if you've tasted Mama's chips you'll know what I mean) more so than greed.

Labels: ,

Monday, October 22, 2012

A Tour of Gerrymanderland

Welcome to the Baltimore Beltway Bus Bonanza!

For the next hour, traffic permitting, we're going to take you on a 49 mile loop loop around Baltimore, and across 4 of our 8 great Maryland Congressional Districts. Here's a map, with the points of interest along the way. This bus is equipped with seatbelts, so fasten them up, and pull out your map and the congressional bingo sheets and keep score as we drive.

View Larger Map

Right now, to get us started, we're at A, the exit ramp on I-695 for I-95 south, north west of Baltimore. We're gonna drive clockwise around town, and since 695 doesn't actually make a loop, we'll do as best we can and start by going south on I-95. You with me?  Please sit back and enjoy the view.

Alright. We're starting in MD District 2, represented in the US Congress by Rep. Dutch Ruppersberger [D]

... 5 minutes later

Ok folks, the split for 895 is coming up here at B, we're gonna stick with 95.

... 1 minute later

Hey - there's C, Rt 40, and - MD District 3. District 3, whose congressman is Rep. John Sarbanes [D] borders district 2, that makes sense of course.

... 1 minute later

Just crossing Rolling Mill Rd now at D, back in District 2...

... 3 minutes later

Hey look below, 895 joining us again and Poncast St coming up at E - back in District 3 everyone.

... 5 minutes later

Now, under the tunnel we go, and look, there's F, the 395 interchange heading into the city - and - hey, we're in District 2 again... Ain't it fun?

Wait no, we're already at G and now we're in District 3 again. Hm. They must have drawn districts 2 and 3 so that 95 wove them together or something.

... 3 minutes later

Alright, H: I-695 is coming up, we're heading north.

... 1 minute later

We're now at I, passing Rt 1 and leaving MD District 3, entering District 7, home to Rep. Elijah Cummings [D]. If you need to use the facilities in the back of the bus, this is the time to do so, this is the longest break we'll have on this trip and you don't want to miss anything, now do ya! You know, I've always thought District 7's shape kinda looks like a small dog with a large head yipping at the mailman. You see it?

... 10 minutes later

Alright, wake up folks. Millford Mill Rd comin' up here at J, - you know it's funny - we're still in District 7 - but folks - those living both east and west of us are both in our old friend District 2. But don't worry, we'll get you out of District 7 soon.

... 50 seconds later

Here we go - K, passing by the I-795 exit ramp, we're gonna stick with 695 for the rest of our trip, but hey, at least we're back in our home district, District 2.

... 1 minute later

Wait - sorry, (L) the I-795 entrance ramp is joining us on the right, and we're now in District 3 again.

... 6 minutes later

We're now at M on your map, folks. The people joining us on the right here, they are coming out of Baltimore on I-83. If you look to the left you'll see District 2, but on this side of the freeway we're still in District 3. But have patience, we'll join them soon.

... 2 minutes later

Sure enough, we're at N, and here on the right are the folks joining us from I-83 southbound, leaving District 1, 2, or 7 - who knows which district they came from up there - wave hello, and hello to District 2.

... 2 minutes later

We're now passing Rt 146, Dulaney Valley Rd, O on our map. The area immediately to the left (or North) of the road is Hampton - those folks are in District 1, represented by Rep. Andy Harris [R]. District 1, by the way, is MD's largest district, area wise, and stretches all the way south and across the Potomac down to Ocean City and beyond.

... 4 minutes later

P for Perring Parkway, Rt 41, coming up, We're now in District 3 again.

... 4 minutes later

And here we are at Q. We're all the way home again, passing Lillian Holt Drive, we reenter District 2.

Thanks for joining us, it's been a blast - in and out of 4 congressional districts 12 times in only 50 minutes - that's gotta be some kind of record, huh folks?

Don't tell poor Rep. Andy Harris [R] of District 1, though - it takes him 5 hours and 20 minutes to just to drive from one end of his district to the other, staying within his district:

View Larger Map

And don't even get Rep. John Sarbanes [D] of District 3 started on the cost of gas, he has to spend an entire work day crisscrossing central Maryland to get to his constituents:

View Larger Map

Thanks again, folks - Don't forget to leave a tip for your poor congressman and state delegate, if you can figure out who they are, and be sure to thank them for creating such an interesting form of democracy in our fair state - your souvenir map is available at

Oh, and before I forget:

Vote No on Question 5 on election day


Baltimore Sun Editorial, October 21, 2012: Against Question 5 


Question 5 - Congressional Districting Plan

Labels: , , ,

Thursday, May 10, 2012

Lunch-time fun with QR codes

I'm a happy grouch

Starting with a B/W Oscar the Grouch image, and running it through the QArt Coder, got me here - took me the rest of the way...

Read about how this works at

Labels: , , , ,

Friday, March 30, 2012

idea: bookmarklet to persist personal form data in localStorage

As a developer, I frequently have to clear my browsers cache, and also cookies, in order to test a site.  This is a PITA as now I'm logged out from Google, PivotalTracker, etc, etc.

It also showcases how very few sites store login information in localStorage by default (note to devs, if you're to offer a "Remember Me" button, use localStorage, not a cookie). 

So my idea is this: a set of two bookmarklets: the first would retrieve any form data entered in a form (prior to you submitting it) and store that data in localStorage, then the second would fill out a form using the data stored in localStorage for that site.

What about security you might ask?  Well, clearly this should only be used on a personal computer - and maybe password fields should be excluded in any case.  But this is stored locally, it is not transmitted anywhere, and the data is not accessible to any other site, so the data should stay between you and your computer.  One exception would be any potentially malicious script hosted on the site, but that seems like a risk in itself - the same script could much more effectively simply grab the form data on entry.

So - good idea or bad?

Labels: , , , , ,

Monday, December 12, 2011

I’m turning Japanese, I think I’m turning Japanese, I really think so...

To all Japanese/Chinese/Koreans readers out there, my apologies: I have no idea what language this is that Chrome is using. But the song came to mind, and thus the title. The bigger question is: why on earth is this error coming up like this?


Labels: , , , ,

Tuesday, September 13, 2011

Trying Google Scribe...

This morning I was doing some cleaning of my Bookmarks bar in Chrome, when I came across a forgotten Bookmarklet - Google Scribe.  It looks like the Scribe Lab program has since graduated and been rolled into Blogger's 'Draft' program, which is where I'm trying it as I type this. 

On my phone, I use Swiftkey, which works in a similar manner; I start typing a word, and the program suggests not only the completion of the word, but as soon as I type space, it suggests the statistically most probable next word.

Kind of freaky, but highly effective on my phone at least.  It's also interesting to see what it thinks I should be writing.  Example: I will type a word and let Scribe choose next ones:  Suggested words and word completions are highlighted:

The first day of the week andhave to take a break from the past to the future of my children.   

Pure poetry

Labels: , , ,

Saturday, August 13, 2011

Password insanity

Tonight I had to fill out some official paperwork and went online to get it done.  (Before I start griping – the online form was fine, I could fill it out with minimal problems and got a nice PDF with all the entered info at the end.) 

But to get to the form – oh boy.

I’d been to this site before, so I knew I had an account – I guessed my password – err.  Ok, time to hit the forgot password link.

Oh – ok, “the password expires every 60 days”, so that’s why.  I enter the answer to my “secret” question (the answer to which is a matter of public record, and would probably take a hacker 5 minutes to figure out) and am allowed to attempt to enter my new password.  Err.  “Your password can not contain more than three consecutive letters from your old password”. 

Alright odd, but, attempt 2.  Err.  “Your password must be at least 8 characters”.

Ok, fine – should have guessed that.  Attempt 3.  Err. “Your password must contain a special character AND two entries from the three groups: number, upper case and lowercase.” 

Uhm – ok?.  Attempt 4.  Err.  “Your password must begin and end with a letter.”

WTF?  Attempt 5: I enter an upper case letter, a set of adjacent keyboard symbols, and a lower case letter and lo and behold the password is accepted

Don’t ask me what the password was – even if I WOULD tell you, I couldn’t – I have already forgotten.  But that’s fine, next time I’ll just repeat the same exercise and get in by answering my “secret” question.

XKCD says it oh so well:

Labels: , , , , , ,

Tuesday, October 26, 2010

Scandinavia in 6 words or less

From the very interesting mashup of what you get when you cross Google Suggests with a Venn diagram, here is Scandinavia:


About right, if you ask me.

Labels: , , ,

Tuesday, October 19, 2010

On Coffee

Is it a coincidence that the Starbucks logo depicts a siren?


Labels: , , ,

Wednesday, June 09, 2010

“Old school’s not cool.”

Well, this is certainly an interesting way to determine staleness: stability ;-)


But OK, fine – update to Chrome 6.0.427.0 if you must.  At this rate Chrome will have the highest version number of any browser within a year or two (take that Opera!)

Labels: , ,

Thursday, June 03, 2010

Diva Girl in Mommy’s sunglasses

I rather like the new personalized background picture for Google – even if it is a blatant rip off of Bing.  Once again, competition improves the field.  Here’s my current background – from our trip to Philly last weekend:


Labels: , , , , ,

Sunday, May 09, 2010

Oops - “spellcheck any multiligual texts…”

So I was responding to an internal developer forum request for recommendations for a WYSIWYG html editor with spell check.  I was going to recommend Telerik’s Editor and related RadSpell component.  Not so sure any more…

multiligual spellcheck

Cobbler. Children.  All that.

Labels: , , , , ,

Friday, April 30, 2010

Fun with 1000 Rolling Stone covers, AndreaMosaic and the Deep Zoom Composer

UPDATE 08/11/2011: See post about the new archive, now also for the iPad here: – another feather in our cap

Having finished helping Rolling Stone magazine put their archive online (our company, AIS, together with Bondi Digital, did the Silverlight-based archive portion (more on the project later, potentially), another company did the main site), I decided to get artsy by generating a mosaic of the latest issue cover, by using thumbnails of some 1000 previous covers.

mosaic partial zoom

AndreaMosaic worked beautifully in creating the mosaic, and even pre-generating the starting point for a Deep Zoom image.  I opened that in Deep Zoom Composer, and generated both a Silverlight and an Seadragon Ajax version of the composite.  I then uploaded the whole shebang to my public s3 bucket.

It all took a bit of fiddling to get right, but if I had to do it again I could probably do the whole thing in 5-10 minutes…  It’s that easy. (Seriously, this blog post is taking longer…)

Of course, now that I’m putting in all the links in this post, I realize I could have simply hosted this at…  Oops.

UPDATE:Since MS is so kind to do the processing for me, I figured I might as well create a bigger version of this. The following is around 180MP, made up of 3000 tiles, each 300px tall... Click the full screen button in the embedded viewer for the best effect.

Update, May 12th: ...and here's the latest 2-page cover:

Labels: , , , , , ,

Friday, February 12, 2010

Things I’m digging today

FreeMind – free mind mapping tool.  Love the simplicity, and that I can copy a branch and paste in an email as a well-formatted nested list.

Fiddler2 – back in the day (v1.x) I remember it as complex to use – now it’s dead simple.  Maybe I got smarter, but I fear the reality is that the tool just got better.

Buzz – I, for one, welcome our new insect overlords

(Ok, I admit it – I just wanted to see how my blog posts appeared on Buzz, and I had nothing better to write.)

Labels: , , , , ,

Wednesday, November 04, 2009

This is Business Productivity?


Really, Microsoft?  This is the appropriate stock-photo for business productivity?

Are they productive because they are wearing suits?

Are they watching other people work productively?

Is the business being productive without them?

Did they just finish being productive and are now basking in the glow of their success?


Labels: , , , , , ,

Sunday, September 27, 2009

Oops – was I supposed to do that?

Wonder how much of a late-pickup-fee daycare will charge me for being 133 weeks picking up my son?  But thanks Outlook, for the reminder!


Labels: , , ,

Monday, June 15, 2009

3 steps to a better Tech Crunch (feed)

I know I’m not alone in having a lack of confidence in the journalistic ability of Michael Arrington’s employees over at TechCrunch – MG Siegler’s outrage over Microsoft’s latest (rather sad) marketing efforts is just the latest to draw annoyed comments.  With 20-30 posts per day, it gets pretty time-consuming just trying to filter the good stories from the bad, since all that Google Reader gives you is the headline and the start of the body:


Wouldn’t it be nice to also know who wrote that headline so that you knew better how to interpret it?  Well, you can do so quite easily, in three simple steps.

Step 1: Create a Yahoo Pipe

Go to



Step 2: Configure your Pipe

Add the following modules:

  • Sources – FetchFeed
  • Operators – Loop
  • String – StringBuilder (drag onto the Loop module)

Configure and connect as below, then save.



Step 3: Subscribe to your new feed:



Or, if all that’s too complicated, you can just subscribe to the Pipe I created:

PS! Here’s a filtered feed for Michael Arrington posts only:

Labels: , , , , ,

Wednesday, April 01, 2009

AIM’s FishBots a.k.a. project upstream

Annoying/Amusing – take your pick: I have received random IMs from “(SomeWord)Coho” (fronting for some actual real person using AIM) on and off the past few months – the latest was earlier today and went like this:

(3:55:43 PM) complexcoho Have you ever been diagnosed with a mental illness?
(3:56:04 PM) (My AIM name) ah, ComplexCoho, you strike again
(3:56:21 PM) complexcoho ?
(3:56:27 PM) complexcoho yellow on yellow?
(3:56:35 PM) complexcoho into golden showers or something?
(3:57:21 PM) (My AIM name) as enticing as that sounds your im wires are crossed - best of luck with whomever you're trying to get with:
(3:58:00 PM) complexcoho just wondering why you are messaging me
(3:58:03 PM) complexcoho in all yellow
(3:58:06 PM) complexcoho hard to read
(3:58:10 PM) complexcoho and random

A previous conversation:

(2:46:53 PM) ironedcoho So... trebuchets.
(2:47:20 PM) (My AIM name) yes, quite nice in medieval warfare
(2:47:26 PM) (My AIM name) not so useful anymore
(2:48:06 PM) ironedcoho Not true. I get medieval at least twice a week
(2:48:15 PM) ironedcoho do you like goats btw?
(2:48:29 PM) (My AIM name) depends on their attitude


  1. Somewhere out there someone is quite proud of themselves for increasing the entropy of the universe.
  2. It’s amazing how quickly sexual references pop up when two strangers converse anonymously – note that I did not initiate either one…

More info on the Fishbots:

Labels: , , , , ,


So, in the spirit of trying everything new, I signed up with*.  Not sure if I’ll use the service, but something to note for would-be Chi.mpers – Third (and Fourth and Fifth and Nth) Level Domains work with your free .mp domain: this is not being advertised.  So in fashion, I grabbed the rather incomprehensible (but short) – which I from now on will (or won’t) use as (or

*via Tech Crunch.  Of course.

Labels: , , ,

Hey VCs - if is worth $8 mill, I'll resurrect the dead for pennies

So TechCrunch has the story of raising $2 milionl in funding for a valuation of $8 million (as in 800,000,000 pennies).  Considering the breadth of’s offering (or lack thereof), that is just insane.

If any VC or angel investor is out there desperate to throw money at Web2.0 ideas, I’ll resurrect for, let’s say, $500,000 (or 50,000,000 pennies)…

Labels: , , , , ,