Tuesday, January 31, 2012

The Perfect Night For A Run

Hard to believe it: it's January 31st, and I took a run tonight in 60° weather.

Not sure what that means from a climatologist's perspective, but from a runner's perspective, it was a perfect night.

I was running as the sun went down, and couldn't resist snapping a few photos.

Monday, January 30, 2012

Boy Scout Move of the Day: Installing a ResQMe

A year or so back, I discovered the ResQMe - a keychain device that's designed to help in an auto accident. It contains a blade for cutting through seat belts and a glass punch for breaking windows. You could be forgiven for not putting a whole lot of faith into a $9.90 piece of plastic, but from YouTube videos you can see that it actually works.

The best place to store the ResQMe is probably on your key chain. But, it's fairly bulky and our new car doesn't require a key to be started. So, the second best place I could come up with to store it was tucked under the Oh-Shoot! handles on both the driver and passenger side:

Notice that I'm using a zip-tie to secure the ResQMe up there. Keep in mind, the zip-tie is connected to the key ring, which is designed to pull away from the device itself. Doing so will make the belt cutting blade accessible. Just one relatively small tug should be all you need to have the device in hand.

Hopefully, this will be something we never need. But as $10.00 insurance policies go, it's hard to beat.

Be Prepared!

Friday, January 27, 2012

The Moon is Wrong, Palin was Right

So Newt Gingrich's Moon-base-statehood plan is both silly and illegal*. But his goal of trying to find an exciting, visionary mission that we can all get behind is an admirable one. Perhaps he took Kennedy's call to go to the moon a bit too literally. It wasn't the moon that made it such a powerful act, but that we were united in a common and terrifically hard goal.

Thing is, our common and terrifically hard goal is right in front of us and has been pitched by both Democrats and Republicans. It's the Green Energy sector. There's something for all to get behind: it's jobs, it's national security, it's manufacturing, it's self sufficiency, it's saving the planet. Most importantly, it's a chance for America to be #1 -- and that's what Americans love more than anything else.

So what's keeping us from uniting behind this goal of becoming the eco leading nation? Simple, our leaders wont' cooperate. If they did this, and brought the country together instead of trying to win the next election, we'd be truly unstoppable.

Another observation from this whole Moon idea, and Florida debate in general: Palin was right.

She said:

'If I were a South Carolinian... I would want to see this thing continue because iron sharpens iron, steel sharpens steel. These guys are getting better in their debates.
'If I had to vote in South Carolina, in order to keep this thing going, I'd vote for Newt. And I would want things to continue. More debates, more vetting of candidates.'

Turns out, she was dead on. Newt's campaign may be imploding (again, can't wait to see him rise from the ashes a 3rd time), but Romney's is much stronger because of the contest. Newt's debating performance caused Romney to reach, and last night, he finally delivered.

Well played Ms. Palin, well played.

*What a world we live in when the Republican candidate is talking about colonies on the moon, and the Democratic president wants to leverage the private sector to get to space and make NASA lean and mean.

An IT Thumb Drive Toolkit and Making It Invisible

A thumb drive is definitely essential and cheap gear. But, what software should you store on it to maximize its usefulness?

Well, here's a nice and comprehensive list.

These days, I mainly use my thumb drive for document storage and as a backup card for my camera. But, I really should go through and install the tools on this list to maximize its usefulness.

As long as I'm chattering on about portable storage, I should also mention the very cool site spy-coins.com (thanks: ITS Tactical for the link!). Spy coins sells exactly what you think it does: coins designed for spies. That is, coins that have been hollowed out and used for hiding in plain sight. It's all very Cold War, really.

But here's the cool part, a hollowed out nickel or quarter can be used to store a micro-SD card. Which can be used to store thousands of documents, images or other goodies. See, here's what it looks like:

Imagine that, all that storage and it perfectly blends in with a handful of seemingly useless change.

I'd add a spy-coin to my Amazon wishlist, but I'm almost 100% certain that I'd lose (or spend) it within hours. Yeah, they are that invisible and I'm that bad about keeping track of coins.

Thursday, January 26, 2012

Go Ahead, Just Try To Enter this CAPTCHA

Best Buy might be getting a bit carried away here with their security. I think including Hebrew letters may keep both spammers and us mere humans out...

Welcoming Our New Baby (No, not *that* kind of baby)

The kind with 4 wheels, 280 horse power and leather interior. It was with a teensy bit of sentimentality that we traded in our 2005 Acura TL, for a brand new ... 2012 Acura TL. We test drove a number of cars, but our experience with Acura was so positive, I couldn't justify jumping ship to a new car maker.

Back when we bought our 2005 Acura, the TL was a Consumer Reports top recommended car. In fact, they didn't give us sales material that year, they just gave us a copy of the Consumer Reports article. Then, and even the car dealer echoed this, in 2009 the redesigned the exterior of TL and add "a beak." All agree, it was hideous. They've since improved the aesthetic, and while Consumer Reports no longer reports it as the top option, it's still ranked quite well.

And many of the reasons that the 2005 appealed to us, are still around. The service center is open till at least 11pm, maybe later. There's a limited number of packages available (it's either Base, Tech or Advanced. And the dealer recommended against the Advanced option, saying it was a whole lot of money for relatively few features), which means that you're easily comparing apples-to-apples (versus having dozens of random options that may or may not be on the car the dealer has available). Finally, kbb.com has both invoice price and fair-market price data on the car, which gives you some idea of what you should pay (still, if the let you purchase the car, by definition, you've paid too much). Oh yeah, the car is still comfortable to drive, has plenty of oomph and has all the cool gizmos I could ask for.

So, here she is. Alas, Acura no longer makes a blue exterior (which was almost a dealer breaker!), but we were happy with the graphite.

I never really thought I'd be devoted to a car brand, but Acura has me hooked. You should definitely drive one if your in the market for a new set of wheels.

Wednesday, January 25, 2012

Useful Object of the Day: Tin Foil

Last year I learned about the awesome power of Dental Floss - it's one of those items you have lying around, yet never fully appreciate how useful it can be. Today, thanks to my brother, I've got a fresh perspective on yet another house hold item: tin foil (OK, technically, aluminum foil, but that's besides the point).

My brother dropped me a link to this article, which outlines 12 uses for tin foil. And here's another for 36 more.

When you think about it, tin foil is actually pretty amazing stuff. It's a sheet of metal that you can mold into anything you'd like. Amazing, right?

Finally, if nothing else, it's worth noting that you can indeed recycle tin foil in Arlington, VA. So, if you're not in the mood to take on static cling, polish your sliver or sharpen a pair of scissors, you can at least recycle the tin foil and help save the planet.

Tuesday, January 24, 2012

My Dozen Lines of Code

Today's ProgrammingPraxis challenge is this gem:

A high-school programming teacher recently asked for examples of short programs with a high “cool” factor, the idea being to get his students interested in programming computers. I’m not sure the suggestions would work; today’s high-school students have been surrounded by computers their entire lives, and it takes a lot to make them think a program is cool. Being from a different generation, I can remember when I thought it was cool that a program properly skipped over the perforation on a stack of green-bar paper — many programs didn’t! Your task is to write a cool program in a dozen lines of code. You can define cool in any way that you wish. Try not to abuse the definition of “line of code,” at least not too badly; to be concrete, we will say that your solution must not exceed 12 lines, and each line must not exceed 80 characters including white space. When you are finished, you are welcome to read or run a suggested solution, or to post your own solution or discuss the exercise in the comments below.

The ideal intro-to-programming example should meet two needs: (1) it should be relevant and interesting to students and (2) it should lay the groundwork for learning good habits.

Meeting those two goals in 12 lines of code is tricky. But, I think doable. In fact, I believe I've done it below.

Using AutoHotKey, I've written a simple implementation of the classic Boss Key. While not exactly some exciting 3D game, I'd say that this sort of example is relevant and at least interesting to students. And while it may not be obvious, there are a number of best practices taught, including:

  • Use the right programming language for the job. AutoHotKey makes scripting trivial, so embrace it.
  • Learn about regular expressions
  • Learn how to read language reference documentation
  • Learn about loops
  • Learn that programming is all about solving your problems and making life better
  • Learn about variables and the advantages of not hard coding values throughout code
  • Many opportunities for growing this example

OK, enough talk, here's the code:

;; A simple Boss Key app. My contribution to the dozen-line program contest.
NeedToHide = .*(Mozilla|Explorer|Chrome).*
WantToShow = .*emacs.*
  SetTitleMatchMode, RegEx
  WinGet, id, list, %NeedToHide%
  Loop, %id% {
    this_id := id%A_Index%
    WinHide, ahk_id %this_id%
  WinActivate, %WantToShow%

You can run this by downloading autohotkey (it's free) and running:

  autohotkey bosskey.ahk

Once you run the above code, hitting Windows+b will hide all your browser windows and bring emacs to the front. The windows aren't just minimized, they are hidden so they don't appear in your start bar.

You'll probably want this command available (Windows+w) too, as it restores all your browser windows:

  DetectHiddenWindows, On
  SetTitleMatchMode, RegEx
  WinGet, id, list, %NeedToHide%
  Loop, %id% {
    this_id := id%A_Index%
    WinShow, ahk_id %this_id%

And yes, I know the syntax and semantics of AutoHotKey are hideous. But, given how powerful it is, I think it's a platform worth learning on.

Gotcha of the Day: Internet Explorer Forgets Flash Webcam Settings

I've got a client leveraging Flash's integrated webcam capability. By default, Flash requires user explicitly click Allow to enable the webcam (which is a good thing!). There's a number of ways to allow users to start up their webcam automatically, which is something my customer was doing great.

And this was working great for them. And then it would stop working. It seemed that no matter what they did, they couldn't quite get this setting to stick.

After poking around, I confirmed that a settings file was being created in the folder:

 c:/Users/UXXX/AppData/Roaming/Macromedia/Flash Player/macromedia.com/support/flashplayer/sys/#www.hostname.com/settings.sol

And from looking at this file in notepad, I could tell the "Always" accept option seemed to be set.

Yet, every time we restarted Internet Explorer, this directory was deleted.

My first thought was that I could set the permissions on the file to make it undeletable. That was a bust. I may be a professional programmer and all that, but apparently I don't have the skills in logic to understand Windows XP permissions.

After a good night sleep, I attacked the problem again today. While describing what I understood to be going on to the customer (some file is being deleted), she mentioned to me that she had configured IE to remove history when it exited.

And of course, this was it. I unchecked the box, and the settings file no longer disappeared.

I would have assumed that checking the box to delete browser history would have done that -- removed the list of sites you've visited. But, apparently, Internet Explorer is a bit of an overachiever in this department.

At least Internet Explorer was behaving somewhat logically, that's more than you can usually say about it.

Monday, January 23, 2012

Site of the Day: tineye.com

TinEye.com is amazingly search related site. You plug an image URL like:


And it spits out all the pages the image is found on. (They call it a Reverse Image Search.)

How the heck did they do that?!

I'll be the first to admit, that I don't quite see how I'd actually use the service in my day to day web browsing. Sure, if I wanted to see if my photos were being reused on other sites, or if a random picture comes my way that I want to learn more about, it would be handy. But all in all, this is amazing technology, that I'm not yet sure how to leverage.

But who cares, it's so cool.

Bookmark the site and keep it around. One day, it's going to totally save the say.

To add to the cool factor, they even offer an api - again, how slick is that?!

Santorum's Ignores His Teachable Moment

McCain had this wonderful teachable moment in 2008 when he corrected Gayle Quinnell on her statement that Obama was an Arab. It cost him so little (sure, he potentially alienated a voter by telling her she was wrong), but he gained quite a bit of positive press. More importantly, he allowed everyone to take a breath for a second: sure, He and Obama were fiercely fighting in the presidential race, but even they could admit they were both good people.

Santorum was just given almost the same opportunity:

The questioner states that: (1) Obama isn't legally president (crowd gives a big round of applause) , (2) he "constantly says our Constitution is passe and he totally ignores it" and (3) he's an avowed Muslim (more clapping).

Santorum's response: he agrees with the middle point about the Constitution and leaves it at that.

Later, Santorum questions why it's his job to correct people who are wrong.

Thing is, it's all of our jobs to fight lies and misinformation. Would he teach his kids anything else? Can he honestly say he behaved in honorable way?

Bottom line, he tacitly agreed with that woman. That woman, and that crowd, are going to walk away thinking that she was right. It's pathetic that he didn't have the courage to confront the room and let them know that they were at least partially wrong. Or, he agrees with them, and is choosing to believe a narrative that feels right to some, but has no factual basis.

Either way, he dropped the ball. He could have been a mensch. Instead, choose the coward's way out.

Friday, January 20, 2012

Why My County Is Cooler Than Your County

While your county thinks that illegal drugs are evil, mine's investigating the benefits of selling Pot in liquor stores.

While your county contributes to the very destruction of the planet by encouraging people to use dreadful plastic bags, or perhaps charges a measly 5 cents fee for them, mine's looking to slap whopping 20 fee per bag.

While your county hires some top dollar design firm to create your next car decal, my county puts our brilliant high schoolers to work (Newt Gingrich would be so proud!) and have them contribute designs. And unlike your county where the fat-cats decide which design to use, my county takes a vote among residents.

While your county's property values went down because we're in the greatest recession, well, since ever, my county's property values went up (oh, and so will our taxes. D'oh!).

So there!

Wanted: Twitter Search Results to Speech App

Last night, I thought I would turn on the South Carolina GOP Debate to act as some background noise while I was doing some hacking. Unfortunately, cnn.com wasn't cooperating (just seemed to time out while waiting to join the live feed). So, I switched to plan B: use Twitter's search function to follow the mood of the debate live.

The results were surprisingly funny with some real zingers being published.

But, what fun is a text based interface that I actually had to read? For heavens sake, this is 2012 -- reading is so 2011.

So here's what I need: someone who takes the xtranormal voice to animation platform, and plugs it into a set of Twitter search results. You could then plug in a hashtag like #cnndebate and just sit back as pure snark is read aloud.

Who's with me?

Oh wait, you would have had to read this post...and like I said, reading was so 2011. D'oh.

Thursday, January 19, 2012

The Question Not Asked: Newt Edition

Ever find yourself yelling at the TV or radio, wishing the interviewer would just ask the right question?! Me, too.

Not that blurting out the question that I would have liked asked here is going to do much good, but I'm going to do it anyway. Here goes.

This Question Not Asked comes from the now infamous Newt Gingrich, Juan Williams exchange at the recent South Carolina debate.

Here's the question Williams asked:

Speaker Gingrich, you recently said black Americans should demand jobs, not food stamps. You also said poor kids lack a strong work ethic and proposed having them work as janitors in their schools. Can’t you see that this is viewed, at a minimum, as insulting to all Americans, but particularly to black Americans?

And to Newts credit, he deftly answered the question (possibly winning the debate that night because of it).

The question I would have asked:

Speaker Gingrich, you recently said black Americans should demand jobs, not food stamps. Do you believe that black Americans are demanding food stamps? How are black Americans different with respect to their demand and use of food stamps versus jobs? Finally, can you tell me the current racial breakdown among those who are on food stamps?

Whew, I feel better.

I dropped the above questions into the Contact Us area on Newt's website. Let's see if totally blows away my expectations and I get back some answers.

My Lesson From Kodak

Kodak is no more. The Guardian nailed it by describing the announcement of bankruptcy so:

The news that Kodak has filed for Chapter 11 is rather like hearing about the death of a much-loved elderly relative. You've known for ages it was going to happen, but it's still a shock when it finally does.

Growing up in Rochester, Kodak (and Xerox, for that matter) were revered as institutions. And rightfully so, for Kodak paved the way for the amateur photographer to exist. Consider the classic Brownie camera (quite available on eBay, and probably in the basements of many a grandparent). For a $1.00 (considered cheap even in 1900), one got a camera and film and was ready to snap photos. A concept that was down right revolutionary.

Alas, as Kodak grew up, it seemed to lose that ability to innovate. In hindsight, at the first sign of the digital revolution, they should have come out wit a a digital Brownie. A cheap and low quality camera that would once again revolutionize how accessible photography could be. And of course, companies did this, but Kodak wasn't one of them. You can't exactly blame them, as how appealing could low quality digital market appear to the champion of the film world?

So my take away: remember your roots, stay humble, and always look to innovate.

Innovate or die.

Wednesday, January 18, 2012

Review: Dark Star Safari: Overland from Cairo to Capetown

My last trip was to Cape Town, South Africa, and really wanted to take a book involving the region along. I wanted that little contextual boost that goes with reading about a new place while also exploring it. Alas, it never happened. I couldn't get my act together, nor would I have had time to read the book on the trip anyway.

Still, Africa was on my mind so I rented Paul Theroux's Dark Star Safari: Overland from Cairo to Capetown. As the title suggests, the book chronicle's Theroux's adventures as he makes his way through thousands of miles Africa. At 496 pages, this is the real deal.

In short, the book was fantastic. Theroux managed to get across the excitement, tedium, exhaustion, frustration and elation that goes with an epic traveling adventure. Anyone who can make a trip to, say, the Sudan seem an obvious tourist destination, is both an accomplished writer and traveler. And while he shows that many places that may seem dangerous were welcoming, he also ran into his share of scary situations. From packed and smelly buses, to the most luxurious trains, you get a glimpse of it all.

The book isn't all fun and games. Theroux does get a bit snarky at times. He has no patience for those who have gotten so dependent on others that they no longer even try for themselves, or for aid the workers and organizations who help perpetuate this condition. His case that too much charity can be a bad thing, I suppose, is a reasonable one to make. There's no quick fix for the poverty he encounters, and throwing money at the problem isn't helping. This is heavy stuff, and I'm thankful to Theroux for giving me a boots-on-the-ground view of the challenges in many of the countries he visits.

I've definitely been inspired by the book. But not to buy a ticket to Cairo to retrace Theroux's steps. No, he's done a great job of taking me on that trek, I don't need to go again. No, he's inspired me to head down to my local Grayhound station and to book a trip to a few states over, where I would jump on Amtrak for a couple days and then perhaps rent a bike for a few hundred miles of riding. And from there, who knows. Just pick a far off destination, a few relatively slow forms of transportation, and the adventure will take care of itself.

Tuesday, January 17, 2012

Music Source of the Day: Dubstep.net

You're going to want to buckle up for this one, this music is going to get a bit rough. I give you: dubstep.net. And what is Dubstep? Well, there's probably some musical definition that makes sense to someone, but for me, it's as close as you can come to noise while still being music. And enjoyable music at that.

Here, give it a listen: Space Age Flow By Cool Project FT BBK and MC Loc-F.

The tune starts off nicely enough, but by a minute in, it's pure chaos.

I do find that a dubstep song here or there works better than listening to nothing but dubtstep constantly. Still, I'm glad I've added it to the mix.

And I know what you're thinking - can you dance to this stuff? Yes, yes you can. See:

Friday, January 13, 2012

Phone Friday: Smart AudioBook Player

I love Overdrive, which makes listening to library rented audio books a snap. But, sometimes you've got a collection of audio files that you want to play that aren't so neatly organized. Say, you've converted a CD you own into a series of mp3 files.

I've found that I can play these mp3 files using a file manager, but the interface couldn't be more crude. There's no concept of keeping track of the last point you listened to, or gracefully switching from one file to another.

Luckily, I discovered Smart AudioBook Player and it does all of this, and more, effortlessly. It's so cool - you drop smartly named mp3 files into a directory, and the app automatically turns it into a friendly audio book listening experience.

If you've got random audio content to listen to, organize them in directories and start enjoying them today. It's that easy.

Thursday, January 12, 2012

The Anti-Bag, Hacker Friendly Furoshiki

How am I just learning about the Furoshiki now? The Furoshiki is little more than large piece of cloth. What makes it cool is that there are various wrapping techniques techniques you can use to turn the flat cloth into a bag.

Watch this video to see what I mean:

Just the other day, I was mumbling to Shira that I should have my Mom take some fabric and whip me up a wrap of some kind for my camera. These days I'm pretty anti-camera bag (if it's in the bag, you can't take photos!), which means that most of the time, it's around my neck. But, for those few times when I do need to stow it away, some sort of wrap seems like it would make sense. I've improvised this by putting the camera in a knit hat or wrapped in whatever was around.

Little did I know that the wrap idea goes way beyond simply balling up the material and say, using Velcro to secure it. The Furoshiki relies on nothing more than a few knots and proper folding. As an Eagle Scout, anything with knots is going to appeal to me. Not only could I use the wrap to protect my camera in the bag, but it could serve as its own bag.

Before I put my Mom on the case, though, I'd like to figure out what material would be best for a camera wrap. Any suggestions?

The Furoshiki is also handing for wrapping gifts, and fits in with my new gift wrapping craze.

An idea related to the Furoshiki is the Shemagh, the traditional Middle Eastern headscarf (aka, the Kafaia). There's definitely some political weight that goes with the Shemagh, but, if they're good enough for the US Military, they're good enough for me. YouTube, of course, has plenty of videos showing how to tie a shemgah (and there handy websites on this topic, too).

Finally, you could consider a Furoshiki (or shemgah) as a sort of towel. And as everyone knows, the most important item you carry with you is your towel.

Artist of the Day: Dirty South

I found Dirty South on SoundCloud and I've been totally loving his published tracks there. Here, give it a listen:

A few thoughts on the name "Dirty South" -- first, "Dirty" here probably refers to the type of beat (not something I'll claim to understand), not the fact that the music is naughty. Secondly, "South" doesn't refer to the good o'l boys in Alabama or Florida - it refers to Melbourne, Australia (oh, that "South" part of the country).

Regardless of the name, I've been entertained by the music and I suppose that's all that really matters.

Wednesday, January 11, 2012

Two Videos To Make You Smile

If you thought my last post was a downer, I've got some good news for you. Here are two videos that will absolutely put a smile on your face.

First, LeBron James answers questions from English children. Finally, you can know the answers to questions like "Are you taller than my dad?" - it's just too adorable.

And check out this wonderful costume hack: a wheelchair made into an ice cream truck. Awwwww, how cute. And clever.

The above video was originally from BuzzFeed but was taken off of YouTube.

Where does all our crap come from?

China. Right?

This American Life has a wonderful segment than explores this. If you're like me, you'd think it was a pretty dull topic - not so. The story behind one storyteller's journey to find out where his stuff came from is absolutely riveting. Listen to it here.

Like any good story, it raises more questions than it answers. Especially, because when it comes to the software side of things I have a fairly firm grasp about how it's created. But I'm clueless when it comes to hardware.

Seriously, try listening to the story for a few minutes - I'm sure you'll be hooked.

Tuesday, January 10, 2012

Being The Press - A Counter Protest Hack

For the life of me, I thought around the time of the Miracle on the Hudson I had written a blog post about how handy it might be to have a publishing platform setup for reporting about live events. Given a cell phone and a blogging platform, you could quickly publish video, photos and text of any event you happened to stumble upon. I even setup and have used a special twitter account for exactly this: liveonlocation. To this day, I have this account setup and ready to go should I stumble on something newsworthy.

Only, I can't seem to find any mention of the above blog post.

Yesterday, ITS Tactical took the instance news-reporter idea further, and with this suggestion:

In January, I moved from a sleepy midwest town with population of less than 2,500 to a seething metropolis of several million in a nation with an unstable interim government and a Prime Minister that leads a political party that is still on the US terror watch list.

Protests are a way of life here. There was recently a period of seven straight days on which I encountered large groups of protesters blocking roads, chanting, waving flags, and burning torches.
Protesting is About Attention! Use that to your advantage. Protesters love the press. It can be a relatively simple proposition to get a press pass that will get you through/past protests that completely block traffic. Afterwards, ask them for a letter stating you have written for them, etc.

Not a bad idea. For $1.99 I registered liveonlocation.info, and for a few bucks more I should be able to create a press-pass looking plastic card.

Whether it's just for fun, or as a counter-protesting maneuver, this seems like a winning hack. I'd also think this would be fun for kids too, as who wouldn't want to have an adult looking badge?

For a Good Time Call: 240-396-4186


And punch in any of the following numbers and hit #:

10 21 22 23 31 32 33 41 42 43 51 52 53 61 62 63 71 72 73 81 82 83 84 91 92 93 101 102 103 104 111 112 121 122 123 124 131 141 142 143 144 145 151 152 153 161 162 171 172 173 174 181 182 191 192

Sorry to be so cryptic.

Sunday, January 08, 2012

The Family That Rides Together...

My parents are in Town and the weather has been just amazing. So, to take advantage of all this, I proclaimed we should take a bike ride. We rented bikes for my parents, which was easy enough to do. I was hoping we could make it all the way to Old Town Alexandria (and back) before we ran out of day light, and remarkably, we did.

My parents hadn't ridden bikes in years, but as the old saying goes... Once in Old Town, we hit a frozen yogurt place and then turned our butts around for the ride home before dark.

They're such troopers. It's amazing, no matter what I throw at them, they just go along with it. What more could you ask for?

(There's also some photos of a walk we took around the newish Long Bridge Park. The park is quite impressive, giving you excellent views of the surrounding area, and making for a wonderful train and plane spotting location.)

Friday, January 06, 2012

Two Brown Sign Gems: Patuxent Research Refuge & The National Cryptologic Museum

For the last 10 years or so, every time we drive the Baltimore-Washington Parkway I see two Brown Signs and always think about stopping. They are the National Wildlife Visitor Center and the National Cryptologic Museum. With my parents in town, and nothing on the agenda, I suggested we finally visit these sites -- whatever they heck they were.

The National Wildlife Refuge Visitor center is located on Patuxent Wildlife Refuge. The visitor center contains a fairly large collection of displays which will teach you more than you wanted to know about how a wildlife refuge works and about some of the animals in the area. For the right age kid, or an adult with interest, this is actually a sweet little setup. There's also an indoor viewing area equipped with binoculars and spotting scopes for checking out wildlife who may be loitering around the lake in back. In the morning, on a spring day, I bet there's a ton to see.

We did about 2.4 miles of hiking on the trails, which were family friendly (read: easy). The hike around Cash Lake really does make for some beautiful views. I suppose there are more adventurous hikes in the area but if you're looking for something the kids will enjoy, I've got to think this is it. In theory, there's about 20 miles of hiking trails (now we're talking!) in the Northern part of the reserve, but that was off limits as they were hunting that day.

The National Crypotlogic Museum is located right next to the NSA, so it just has this air of officialness to it. The actual museum is relatively small, but boy is it packed with amazing things. From classics like the story of the Zimmerman Telegram, to non-military codes like hobo sign. You can listen to what an encrypted phone call sounds like on old school technology, check out a Cray Supercomputer and play with an actual Enigma Machine. Yes, you can actually encrypt/decrypt a message of your choosing on an actual Engima Machine - talk about fun!

In many respects, this was a better museum than say the Spy Museum. What it lacks in size, it makes up for in depth (oh, and being free). There should be plenty for kids to see there, and if you go by yourself there's an audio tour you can get lost in.

Next to the museum is National Vigilance Park: "Dedicated on 2 September 1997, National Vigilance Park and its Aerial Reconnaissance Memorial stands to honor those "silent warriors" who risked, and often lost, their lives performing airborne signals intelligence missions during the Cold War." Did I mention that the park is made up of 3 airplanes? Definitely impressive stuff.

Both of these sights don't get much mention in the usual places. But I say, after you've taken your family and friends to the Smithsonian's and such and you're looking to branch out, definitely take them to both of these sights. What a wonderful way to spend the day.

(Photos from our hike and museum - let's see if you can figure out which belongs to which?)

Definition: Brown Sign Road Trip

From here and here:

Around DC, anytime there's a historic momument or site to see, there's a brown sign on the highway that announces it. I have this dream that one day we'll leisurely drive from point A to point B and stop at all the Brown Signs along the way.

Of course, the Browse Sign Road Trip never happens, but it's always fun to imagine how cool it would be.

Thursday, January 05, 2012

4 Steps to Getting An Idea From Your Brain to A Developer's Brain

I'm in the idea business. One of the biggest challenges my customers face is taking an idea that's swirling around in their heads to something I understand well enough to price out and build. Personally, I've tried various visual approaches to doing this before, but I often find myself getting fatigued after the first few pages. The result is an idea that's mostly in my head, and not on paper.

Today I realized that I'd actually be using a more text oriented process for a while, and I was actually pleased with it. In the interest of sharing, I took some time to document it. Who knows, maybe it'll be useful for you.

So here goes, 4 easy steps to documenting your idea:


Wednesday, January 04, 2012

3 Things I Learned About the Iowa Caucuses

(1) The number of voters is tiny. How tiny? Well, the DCist shared this tweet:

@charlesallendc: More people voted in the last DC Mayoral primary than in tonight's Iowan Presidential primary.

The math works like so:

Iowa has close to two million registered voters, and only 122,000 participated in the caucuses. The District has a mere 450,000 registered voters, of which 134,000 participated in the 2010 mayoral primaries.

(2) Buzzfeed put boots-on-the-ground for the event. One of the usual claims about the journalism vs. blogger divide is that journalist actually show up, while bloggers are re-usually adding to / re-purposing existing content (the usual exception being when an activity happens in a blogger's back yard). There's some truth to this, so I was a bit surprised when Buzzfeed appeared to send a team member to report on the caucuses in person. The result is more blogy content then a traditional news article. Yet, it's surprisingly informative and gave me a feel for the caucuses that CNN and friends couldn't.

Sure, this isn't the same as sending out war correspondents, but still, it's an interesting experiment and one I applaud them for taking. Hopefully they'll keep it up.

(3) Confused about what a caucus is? The Simpsons will be glad to explain it:

Yeah, I get all my electorial wisdom from The Simpsons.

Tuesday, January 03, 2012

A Racket Friendly Super-Tiny Logo Implementation

ProgrammingPraxis covered one of my favorite topics today: Turtle Graphics, aka LOGO. I couldn't resist taking the solution provided and adapting it to work with the racket/draw library.

There are definitely better implementations of Turtle Graphics out there, but this was a fun little exercise to put together.

Here's my solution to the provided question:

#lang racket

;; Implement the most basic of logo functionality for:
;;   http://programmingpraxis.com/2012/01/03/turtle-graphics/

(require racket/gui

(struct context (pos heading canvas dc) #:prefab #:mutable)
(define *ctx* (context (cons 0 0) 0 #f #f))

(define no-pen (new pen% [style 'transparent]))
(define black-pen (new pen% [color "black"] [width 2]))

(define (penup)
  (send (context-dc *ctx*) set-pen no-pen))

(define (pendown)
  (send (context-dc *ctx*) set-pen black-pen))

(define (heading)
  (context-heading *ctx*))

(define (setheading h)
  (set-context-heading! *ctx* h))

(define (setpos x y)
  (send (context-dc *ctx*) draw-line (car (pos)) (cdr (pos)) x y)  
  (set-context-pos! *ctx* (cons x y)))

(define (pos)
  (context-pos *ctx*)) 

(define (forward n)
  (let* ([xpos (car (pos))]
         [ypos (cdr (pos))]
         [head (heading)]
         [newx (inexact->exact (round (+ xpos (* n (sin (* head 0.017453292519943295))))))]
         [newy (inexact->exact (round (- ypos (* n (cos (* head 0.017453292519943295))))))])
    (setpos newx newy)))

(define (back n)
  (forward (* -1 n)))

(define (left n)
  (setheading (modulo (- (heading) n) 360)))

(define (right n)
  (setheading (modulo (+ (heading) n) 360)))

(define (clearscreen)
  (unless (context-dc *ctx*)
    (let* ([f (new frame% [label "Logo Output"])]
           [w 600]
           [h 600]
           [o (new bitmap-dc% [bitmap (make-object bitmap% w h)])]
           [c (new canvas% [parent f] [min-width w] [min-height h]
                   [paint-callback (lambda (c dc)
                                     (send dc draw-bitmap (send o get-bitmap) 0 0) 
      (set-context-dc! *ctx* o)
      (set-context-canvas! *ctx* c)
      (send f show #t)))
  (send (context-dc *ctx*) clear)
  (send (context-canvas *ctx*) refresh)
  (setheading 0)
  (let ([b (send (context-dc *ctx*) get-bitmap)])
    (setpos (/ (send b get-width) 2)
            (/ (send b get-height) 2))))

The truly fun part is just how little a vocabulary you need to draw some fairly funky pictures. Consider the following little programs:

(define-syntax go  (syntax-rules ()
                     [(_ expr ...)
                        expr ...)]))

(define (draw-box n)
  (forward n)
  (right 90)
  (forward n)
  (right 90)
  (forward n)
  (right 90)
  (forward n))

(define (draw-boxes start-size end-size step)
  (if (> start-size end-size)
        (draw-box start-size)
        (left 5)
        (draw-boxes (+ start-size step) end-size step))))

(define (tree size)
  (cond ((< size 5) (forward size) (back size))
        (else (forward (/ size 3))
              (left 30) (tree (* size 2/3)) (right 30)
              (back (/ size 3))
              (forward (/ size 2))
              (right 25) (tree (/ size 2)) (left 25)
              (back (/ size 2))
              (forward (* size 5/6))
              (right 25) (tree (/ size 2)) (left 25)
              (back (* size 5/6)))))

You can run them as:

 (go (draw-box 10))
 (go (draw-boxes 10 1000 15))
 (go (tree 100))

Fun stuff!

An Arlington Achivement, Even While Tempting The Evil Eye

With over 36 hours left in 2011, arlnow.com (my new favorite Arlington, VA blog!) tempted fate with this little gem:

If Arlington can go 36+ hours without a homicide, it will be the first year since at least the 1950s without a single recorded murder in Arlington County.

Available police records, which go back to 1960, show at least one homicide has been reported in each of the past 51 years. In fact, there have been 273 homicides in Arlington since 1960 — for an average of about 5.4 homicides per year.

Who does that? Who posts that article *before* the year is over?

Luckily, enough kennaharas were mentioned to keep the Evil Eye at bay, long enough to complete 2011.

And what do you know, for the first time in at least 50 years, there was nobody murdered in the county I live in. That's progress, right?

If you live in or near Arlington, you really should check out arlnow.com. I'm not sure how they managed to find so many interesting stories about our relatively small county, but they do. They're also worth studying if you're interested in what makes a truly local based website go.

Monday, January 02, 2012

Bringing In The New Year

There's nothing like bringing in the New Year with a Bang!

It was actually quite packed at the gun range today -- apparently, holidays always make for a larger crowd. There were families there and cute older couples. Nothing but wholesome, family fun. Really, it was a good time.

Sunday, January 01, 2012

New Year's Day Hike: Little Bennett Regional Park

A couple years back we started a new tradition I'm loving: the New Year's Day Hike. It's for people like us who can't stay up to watch the ball drop, but want to start the new year off on the right foot.

This year we tackled Little Bennett Regional Park. The hike we took brought us along the perimeter of the park, and made for a 10 mile or so trip.

The hike was fairly easy to do, with no massive changes in elevation, and the main challenge being muddy trails. Oh, yeah, there's a stream crossing which required us to take our boots off for and walk through calf deep (or knee deep, if you're Shira) water. Good gosh that water was chilly!

While the hike lacked a breathtaking vista, it had solitude and a wonderfully relaxing woodsy feeling. The weather being sunny and in the mid 50's didn't hurt either.

Here's to a 2012 filled with outdoor (and indoor) adventures!

View Little Bennet Perimeter Trail in a larger map