Friday, January 24, 2014

I will never be as Cool as my 70's Dad was

I've always known my Dad was cool. But until these slides were unearthed, I had no idea just how cool:

1. Rock'n the 70's look? Check.

2. Awesome beard and stache? Check.

3. Pipe? Check.

4. Swagger? Check.

5. Athletics *and* Parenting? Check and Check.

6. Bike and hopelessly non-functional family car? Check.

I mean, I knew my dad was cool. But 6 point hipster cool? Wow, I had no idea. I'm just so proud.

Really, It's an Invitation.

This is the plaque David and Maryn recently gifted to me, and now hangs proudly in my "office:"

It reads: Please, Let me Drop everything and work on YOUR PROBLEM

See, you're almost certainly reading it wrong. It needs to be read not with a cynical, condescending tone, but with a tinge of excitement and optimism. Like, c'mon, let's solve some problems!

(It could also be read: "Let me work on your problems, so I don't have to think about my own")

Apparently, this philosophy can be a good thing.

Update: Never forget Rule #1 of dealing with your wife: She doesn't want you to solve her problems, she wants you to listen. So, that little plaque above is basically poison for your marriage. You've been warned. See also: this import training video.

Like A Secret Decoder Ring For Kosher Symbols

The other day, I had a kashrut question I wanted to pose to the folks who use this hecsher (that is, the company behind this shield symbol around the K):

While Googling around, I found this forum thread from someone who was in a similar predicament. The suggested answers to their mystery symbol ranged from Kosher authorities located in Australia and New Zealand, to Milwaukee and Wisconsin. In the end, it was determined that the certification came from Peru. You know, the ideal location between Milwaukee and New Zealand.

During the discussion, this page on kosher-directory.com was referenced. It contains an impressive list of markings and who they belong to. In the end, it was trivial to determine that I was looking at a certification by Kosher Technical Konsultants. Their website was easy enough to find, and a contact us message easy to send off (though, no response yet).

So, keep that page handy. You never know when you'll need to do a little decoding of your own.

And for my Non-Jewish friends, check out the list. Depending on where you live, you'll be amazed how often they show up packages of food, and you may never have noticed them.

Thursday, January 23, 2014

When a Get Out Of Jail Card Really Got You Out of Jail

Well known fact: the game Monopoly gives you the chance to pull a Get Out Of Jail Free card. Less well known fact: during WW II, the British spiked games of Monopoly with useful prison break tools and shipped them over to POWs.

During the war, large numbers of British airmen were felled over enemy airspace and then held as prisoners behind enemy lines. Germany, however -- in part as a nod to the Geneva Convention -- allowed humanitarian groups like the Red Cross to distribute care packages to those prisoners. And one of the categories of items that could be included in those packages was "games and pastimes." So the Allies took military advantage of this human kindness: Posing as "charities" (one of the better fake names: the Licensed Victuallers Prisoners Relief Fund), they sent packages to their POWs that featured clandestine escape kits -- kits that included tools like compasses, metal files, money, and, most importantly, maps.

And: They disguised those kits as Monopoly games. The compasses and files? Both disguised as playing pieces. The money, in the form of French, German, and Italian bank notes? Hidden below the Monopoly money. The maps? Concealed within the board itself. "The game was too innocent to raise suspicion," ABC News's Ki Mae Heussner put it -- but "it was the ideal size for a top-secret escape kit."

Urban Legend, you say! Not according to Snopes, which gives the story a 'True' rating (despite some hyperbole in the claims).

As military hacks go, it's a clever one. However, packing POW supplies in games isn't unique to the British. Just down the street, at Fort Hunt, there was a top secret project working on a similar goal. That harmless looking cribbage set, for example, was actually a radio.

Still, there's a nice bit of poetry in packing prison breaking supplies in a game that contained a Get out of Jail card.

Sometimes, the stuff of fiction is just what's called for.

I will never be as Handsome as my Grandpa, or Rock an Outfit as well as my Grandma

Here's proof, from a recently discovered set of slides. Shades? Check. Powder-blue Double breasted suit? Of course. Swimsuit shot? No problem. Better looking than the baby he's holding? Of course.

Dang, that man was GQ. And Grandma totally had it together.

Wednesday, January 22, 2014

A Little Friendly Advice to Smartwatch Creators

PocketNow has a wonderful piece out: One month with a Pebble. The article, as the headline suggests, covers one reviewer's take on smart watches after having had one for a month. I got Shira a Pebble for her birthday, so she's had it for a little longer than a month. Her take on it goes like this:

When I'm wearing it, I love it.

OK, Smartphone watch creators, pay attention. That pithy little statement has a lot going on. Let's unpack it together.

First, a bit of good news: She likes the notifications capability of the Pebble. I keep nagging her to find more and more clever uses for the watch. Wouldn't it be cool if you could send a recipe to it, and then when cooking, the instructions would literately be at hand? No, that's a terrible idea, she informs me because your hands get messy while cooking and you wouldn't want to be fiddling with watch buttons. Or how about sending our shopping list to it, and as you walk through the isles, you can check off the items and see what's next? She then reminds me that she doesn't use shopping lists. I plead with her, at least let me setup PebbleTasker so we can program the buttons to do interesting stuff. At this point, she reminds me that it's her Pebble and to keep my hands off of it. For her, the notifications really are the killer app and making wearing the watch worth it. If her phone is buried in her purse and a call comes in, and she can glance at her wrist to see if she needs to bother digging it out, that's a huge win.

Now, the bad news: She's not always wearing it. There are two main reasons behind this: first, the watch is just plain bulky. There are times when fashion or function make wearing the watch an impossibility. The other reason: the watch isn't a true essential. If She's downstairs and the watch is upstairs, she's not going to bother retrieving it. After all, the watch just reports what's on the phone. The phone is the true required item here, not the watch.

Get all that watch makers? You're on to something and the product does work. But, and you know this already, it's needs to be about 10x smaller and a lot more fashion friendly. See this Wired article on the topic, as it explains this challenge well. As for making the watch essential? I'm not entirely sure that's necessary to do. But, if you want it to be, you've got to pack some additional sensors in there to start reporting information that the phone doesn't already have.

There, you're welcome.

The Joy of Discovered Slides

When we were finalizing my grandparent's estate I came across a big 'ol box of slides. Being the Chief Blogger of the family, I quickly volunteered to have them digitized and promised I would share the results with the rest of the fam. I shipped them off to photobin.com and more or less forgot about them. At the end of last week, it hit me that it had been quite some time since I'd shipped them off and I feared the worst. And then a box arrived over the weekend with the slides and a CD.

I tried to have my expectations set relatively low. I had no idea the story behind these slides; for all I knew they didn't even belong to my grandparents, or were filled with blurry pictures of people I wouldn't know. I figured that if I got just a couple of images out of the batch that were worth it, the whole project would be a success. I popped in the CD, copied the files locally and started browsing. What I found was absolutely fantastic.

First off, there are some wonderful pictures of my grandparents and other family. I'll be sharing those in other posts. But even the photos of vacations and general scenery are great.

Consider these vacation pics my Grandparents took:

They were real adventurers!

And how about this photo here:

It's clearly Chicago in the distance. But check out the cars on the roadway - everyone is driving the same tank-like vehicle. How cool is that?

And check out this photo:

It's nice and all, but compare it to this one:

I'm almost 100% certain that both those photos were taken in the same spot in Butchart Gardens. Imagine that, we were standing in the same location separated by perhaps 30 years? Amazing.

Even seemingly nebbish photos like this one are special:

For years, I'd heard my parents talk about how our home looked before the additional to the back. And there it is, the porch they always spoke of!

I'm telling you, one day your children's children will thank you for all those photos you post to Facebook. Keep snapping. Keep blogging. They will be a treasure.

Update My Mom reminded me of an important point. The batch of photos only contains pictures of my oldest Brother and Oldest cousin. That's not a result of of first-grandchild-syndrome (you know, lots of pictures of one kid, and not so many of the next). Instead, it's a result of them switching from slides to prints. Good point, Ma. I suppose my assumption of my older Brother was getting all the attention was just me suffering from middle-child-syndrome.

Monday, January 20, 2014

A Stroll Through History: Spotsylvania Battlefield Loop

This morning, Shira, David, Maryn and Myself took advantage of our day off from work to do a little exploring. We headed out to Fredericksburg to do a hike around the Spotsylvania Battlefield. The hike turned out to be more of a walk, but the history and weather did not disappoint in the least.

I knew zilch about the battle at Spotsylvania before we left our house, but I did some quick studying on the way. In short, the battle was absolutely gruesome, and even though Grant should have handily won, Lee managed to eek out a victory. (The old saying applies: he won the battle, but lost the war.)

While hiking, I noticed a curious looking plant which Maryn identified as Lambs Ear. Besides being super cuddly, the plant is apparently also a good improvised bandage and some even suggest you can make a tea from it. Who knew?

If you're in the DC area, this is definitely a hike worth taking. The loop is about 5 miles long, and there's not a lot of cover, so this one is best avoided on a hot summer day. Unless of course, you want to feel what soldiers of the Civil War felt. In which case, hike in the heat and of course, wear your wool everything.

View All Photos

Will Run For Pyrite, Trail Running Prince William Forest

Yesterday, we kept our trail running habit going by doing a 7 mile loop in Prince William Forest. The loop was inspired by this LocalHikes entry, though there's no official "Pyrite Mine Loop" as the trail title suggests. Instead, I handed the map to Shira, and had her navigate us through the woods.

It's been years since we've been to Prince William Forest, but it continues to be a real gem. The trails are well marked, and well maintained. It's hard to believe how close 'real hiking' is to DC.

Here are some photos I snapped along our run. The ones of the concrete foundation are of the "Pyrite Mine." Yeah, you need to use your imagination see that a mine was once there. The terrain was especially muddy in some places, but nothing we couldn't handle.


View Pyrite Mine Loop in a larger map

Sunday, January 19, 2014

A Hard Earned Fashion Accessory: Earning My Yellow Belt in Krav Maga

It's been a big weekend for my non-existent martial arts career: Shira and I earned our yellow belts (or level 1 in plain English) in Krav Maga! That's like passing Kindergarten for Ninjas.

It's been quite a wild ride going from knowing nothing to learning a whole smattering of punches, kicks, and other techniques. Choke me from the side? Yeah, I've got that covered. Put me in a headlock? Oh, I can defeat that. Of course, I'm just more humbled by how much more there is to learn, and more importantly, how hard all this is to execute under stress. So, if you plan to choke or headlock me, a little heads up, please?

Shira and I are so fortunate to have instructors who push us just enough to advance, yet not so far that we break (bruise, yes, break, no).

I really can't recommend Krav Maga enough. At NOVA MMA, the gym we attend, the classes are a nice mix of practical techniques, exercise, and for me comfort-zone busting drills. I regularly say "there's no way I can do that" and before I know it, I am (or at least trying!).

Thankfully, there are no photos from us taking our yellow belt test. But here's the after picture. We look tough, right?

Here's my top 10 takeaways of Krav:

  1. Keep your hands up
  2. Always face your attacker
  3. If you can't step out of the attack, step in
  4. Footwork, Footwork, Footwork
  5. Pivot
  6. Action is faster than reaction
  7. First, find the danger and neutralize it
  8. When possible, simultaneously defend and attack (and then, attack, attack, attack)
  9. Every attack should include at least one strike to the groin, if not many.
  10. Avoid a fight at all costs

What does all that mean? Take a few Krav classes and you'll know.

Thursday, January 16, 2014

Another Reason to love AutoHotKey: Internet Explorer Automation

I'm a big fan of AutoHotKey. I believe it's one of those Swiss Army Knife type tools that every developer (who uses Windows, anyway) should master. Heck, I think it's a great way to learn to program, too. But today I accomplished something with AutoHotKey that even I didn't think it could do: make Internet Explorer useful.

Today I learned that IE and AutoHotKey can be best of friends, making it possible to effectively script IE in just a few commands.

The magic that makes it happen is COM. COM is a technology I discover every few years that allows external programs to talk to the guts of Windows based apps. In theory, the same glue that lets AutoHotKey talk to IE, would allow it to talk to Word or Excel.

To get started, you need to have the latest version of AutoHotKey installed (named: AutoHotKey_L). And then you can check out these videos as well as this tutorial.

Here's a bit of code that was inspired by all that.

First, here's a utility function to find a current running instance of IE:

GetIeInstance()
{
  For pwb in ComObjCreate( "Shell.Application" ).Windows
  {
    If InStr(pwb.FullName, "iexplore.exe" )
    {
      Return pwb
    }
  }
  Return 0
}

Now, I can get that instance and operate on it:

 ie := GetIeInstance()
 MsgBox, % ie.readyState   ; Is the page loading?
 ie.Visible := false       ; Hide the browser
 ie.Visible := true        ; Show it again
 ie.FullScreen := true     ; Go Full screen
 ie.Navigate("http://www.blogbyben.com")   ; Go somewhere

Interesting, but not really anything to get too excited about, right? Now, watch this:

  firstInput := ie.document.getElementsByTagName("input")[0]            ; Access 'document' DOM element
  firstInput.focus()                                                    ; Grant the element focus
  MsgBox, % firstInput.name                                             ; Print the name

See what I did there? COM allows trivial access to the document section of the browser's DOM, and from there, I can traverse it like I would in JavaScript. This is huge, as it lets me interact with a web page in a remarkably clean and reliable way. If I set ie.Visible to false, I could do all this work without the user ever knowing about it.

And don't forget, along with access to the browser, AutoHotKey give you access to the rest of the OS. For example, the code below grabs the user's preferred home page from the registry, and opens up a browser full screen and points to it:

  RegRead, start, HKEY_CURRENT_USER, Software\Microsoft\Internet Explorer\Main, Start Page
  ie :=  ComObjCreate("InternetExplorer.Application")
  ie.Visible := True
  ie.Navigate(start)
  ie.FullScreen := true

You can find docs for the object model here.

I can't believe I'm excited to be working with IE. I suppose there's a first for everything.

Coming Soon To Your Camera Bag: A Drone

Picture Correct picked up on a story from National Geographic where a group used a remote control car to get especially close up photos of a tiger. It's a brilliant move because you're treated to a totally different perspective than usual. (See the bottom of this post for the video they shot)

But why stop at remote control cars? And better yet, why stop at assuming only professionals will have access to this type of equipment?

Personal drones are hardly new. And while there's a big DIY movement, you can buy the ready made products off of Amazon for about $400.

As the technology gets cheaper and smaller, it's not hard to imagine that one of the gadgets an amateur photographer will one day be schlepping along is his very own quadcopter drone.

Imagine the photos of the Niagara Falls, or the Eiffel Tower you could get if you had an on-demand aerial photography view. And just think about the selfies you could snap, if the camera was floating in front of you or your group. I can imagine a whole new set of rules and etiquette as photographers try to take their drones to places they aren't allowed (the Super Bowl? the city zoo?). Who knows, the "No Drones" sign may soon be as common as the no smoking sign.

I was totally ready to trade in my dream of a flying car for flying pizza delivery. But scratch that, I want a cheap, and portable flying camera setup.

In the mean time, I could cobble together a low cost setup using this recipe. Though, the quality and stability leave quite a bit to be desired. But what do you want for $40 or so?

Wednesday, January 15, 2014

Thanks to these Videos, I'm Totally Ready for the Winter Olympics

P&G's: Pick them back up:

Via Adrants.

Girls first Ski Jump:

Via Kottke.org.

Dang, I'm such a softie. How about a little love to one of my favorite sports, Biathlon:

Olympic Biathlon Shooting Technique

Oh, and of course, Morgan Freeman:

Political Sides: Choose at your own risk

Go ahead, take a side. Which of these two list of reforms are you behind?

List A.
  • End the long-term unemployment crisis
  • Tear down the welfare bureaucracy
  • Eliminate job-killing income, payroll, and corporate taxes
  • Have Social Security invest in the private sector, not the government
  • Help small businesses grow

Details found here.

List B.
  • Guaranteed Work for Everybody
  • Social Security for All
  • Take Back The Land
  • Make Everything Owned by Everybody
  • A Public Bank in Every State

Details found here.

Those bullet points don't give you much to go on, but chances are they at least trigger some reactions. I can hear my conservative friends freaking out: Guaranteed work for Everybody is Socialism, yuck! And my Democratic friends are turning up their noses at Help small businesses grow, yeah, right, that's just code for screwing workers.

Of course, you've probably guessed the catch by now: the above sets of polices are actually the same, they are just written using different language.

A bit of background. On Jan. 3, Jesse Myerson published an article in Rolling Stone with the innocuous title "Five Economic Reforms Millennials Should Be Fighting For." [that's list B above] Myerson frames his agenda as an effort to do away with unemployment, jobs, landlords, private capital ownership and Wall Street. Those last four, as you might expect, made conservatives' heads explode.
...
But the policies Myerson advocates are rather less radical. His agenda, at its core, calls for a work guarantee, a basic minimum income, a land-value tax, a sovereign wealth fund and a public banking option. As Dylan Matthews noticed, all these policies that Republicans were labeling as socialism have been endorsed by major conservatives. So he rewrote Myerson's piece from the conservative point of view, advocating all the same policies but changing those cited as authorities and those blamed for the state of the economy.
...
Two articles both advocating the exact same policies. But one of them thrilled liberals and infuriated conservatives. The other infuriated liberals and thrilled conservatives.

In many respects, this sort of thinking may be The Cause Of, and Solution To, Our political problems. It's no wonder we have gridlock when we can't even agree on the things we agree on.

I don't know what the fix is, but if we can find a way to untangle some of this nonsense, it would be huge.

Tuesday, January 14, 2014

Just Simple Enough It Might Work: OhLife Journaling Tool

Life whizzes by in a flash, but journaling helps keep it from all fading into oblivion. There are countless ways to keep a journal, from an old school book, to a public blog like this one. If you still haven't found your medium of choice, you should check out: ohlife.com. From a recent CoolTools review:

Oh Life is the tool that helped me successfully keep a journal for the first time. Thanks to it, I now have a record of my life that is richer and more meaningful than I ever expected. Oh life is where I wrote about the birth of my first son, my decision to quit a terrible job, and my excitement about starting a new, better job. It’s where I wrote about my brother’s cancer diagnosis and where I chronicled the daily milestone’s of my son’s infant and toddler years. Now I can look back on those events with a clarity that I never had before. In short, given me everything that I’d hoped for in a journal.

What makes Oh Life different is the medium. It is entirely email based. Every day, they send you an email, asking how your day went. All you do is respond to the email, and whatever you write is entered into your journal. The system is completely private so your entries are only accessible by you. As a bonus, each email contains an excerpt from a previous entry, which is a great way to get a daily glimpse into your own past.

E-mail is such a clever mechanism, because the facility for sending it (Gmail, Hotmail, Outlook, etc.) is one you're already familiar with and probably use everyday. There are no new tools to learn or master.

If the e-mail concept sounds good, but you've got privacy concerns, you could always rig up your own system. Just create a new e-mail address, say: ben.journal@gmail.com, and send e-mail to it regularly. Your inbox will soon be overflowing with journal entries. As a bonus, you can hand out the e-mail to those you are closest to (say, your parents, children or BFF) and give them an opportunity to add to your journal.

Both approaches should work for kids, as well.

Can't get your teen off the computer? Put them to work journaling, and then you won't mind (as much).

Whatever you do, start keeping a log today, your future self will thank you.

For more info, check out this book.

Appreciating Arlington's Path to Racial Desegregation

I finally got around to reading a wonderful piece published in Arlington Magazine last year: Crossing The Divide. This article covers the desegregation of Stratford Junior High, the first public school in Virginia to be desegregated. It also outlines a number of key Arlington specific milestones during the Civil Rights era.

Consider this: In 1950, 4 years before the Brown v. Board of Education ruling, a student from the school down the street from where we live brought her own segregation lawsuit. In Carter v. School Board of Arlington County, Constance Carter, alleged that Hoffman-Boston High lacked the same educational benefits of the all white Washington-Lee school. The US District Court Judge disagreed, and so Arlington public schools would stay segregated for another 9 years.

And how about this nugget:

Despite Jim Crow’s lingering presence in Arlington, many community members supported school desegregation. In January 1956, the Arlington School Board—acting on the assumption that the state would allow localities to determine their own positions on racial matters—announced that integration would begin in select county schools over the next two years.

State leaders responded by revoking Arlington’s right to an elected school board. At that point, the Arlington County Board took over the schools, appointing conservatives such as auto dealer Bob Peck and educator Helen Lane to a newly created school board, which overturned the former board’s motion to desegregate.

So much for local control, eh? That maneuver was apparently part of the Massive Resistance policy that Virgina undertook to keep the state segregated.

And consider this historic fact:

Similar laws banned African-Americans from dining at local restaurants, allowing them only to purchase carryout from the back or side door of the kitchen. (Lowe remembers following this protocol to get takeout from Bob & Edith’s Diner on Columbia Pike.)

On one hand, of course Bob & Edith's has been around forever so it would make sense that it had been part of the Jim Crow laws. But, on the other, it seems like such a bygone era that it's remarkable to consider that it's possible to sit down at a booth today that used to be off limits to blacks. Mind blown.

The article also makes reference to the Arlington lunch counter sit ins that took place in the 1960's. Check out this wonderful collection of photos to see the sit ins in action.

Finally, here's one particular photo from that sit in that just boggles the mind:

And here's what you're looking at:

An unidentified member of the American Nazi Party (with swastika armband) reads hate literature attacking the Jewish faith and African Americans to David Hartsough (left with glasses) and Laurence Henry (right) at the Drug Fair at 3815 Lee Highway in Arlington, Virginia on June 9, 1960.

Hartsough, with a small Bible in his hand, and Henry were part of an interracial group staging a sit-in to desegregate Arlington restaurants and lunch counters. Henry responded to the Nazi by reading passages from his Bible.

(Remember, the American Nazi Party had its headquarters in Arlington.)

Truly amazing history and amazing times.

Monday, January 13, 2014

First Trail Run of the Year: Burke Lake

The weather was finally warm and dry enough that I could coax Shira and Dawn out for a trail run. We did the 4.5 mile loop trail at Burke Lake.

Calling this 'trail running' is probably being a bit generous. Yes, there are parts of it that are not paved, but for the most part, it's a very well warn path. Perhaps it's a good trail to practice your off-road running skills on? For us, it was the perfect trail to get us back into the swing of things.

With fishing, boating, playgrounds and easy hiking access (and did I see mini golf and some sort of small railroad?), Burke Lake is definitely a winner. My brother has mentioned taking my parents there before, and now I can appreciate why. It's a terrific outdoorsy resource that's got something for everyone.

So Cheesy. So Nutty. So Yummy.

You know how has winter dinners figured out? The Swiss. I figured this out years ago, when we traveled to Switzerland. Of course, I'm referring to their love of cheese fondue. Any culture that considers a big 'ol hot pot of cheese and bread for dipping as a recommended main course, is a winner in my book. Since our travels (8+ years ago!) I've kept an eye out for cheese fondue that I could make at home. But alas, the various packaged options I saw were never marked as Kosher.

And then a few weeks back it hit me, surely the Internet has my answer to Kosher cheese fondue. Of course it does. Cabot cheeses are Kosher, and they have a fondue recipe on their website.

Over the weekend, I pestered Shira enough, and she actually made it for dinner Saturday night. The only pot I had that resembled a fondue pot was a Hershey Kiss Chocolate Fondue Pot, but it did the job.

Here's an action shot!

To true connoisseurs of cheese fondue, I'm sure that improvised Cabot version is less than impressive. But to me, it passed the Yum! test. The only thing that would have made it better would have been if I had just walked it from trekking through the Swiss Alps. Taste wise, it's a definite winner.

As if the cheese fondue wasn't a big enough experiment, Shira also made a batch of home made baklava:

It came out ridiculously good! But of course, with that much honey and nuts, I'm not sure how you could go wrong.

Yeah, so I was pretty much in culinary heaven this weekend.

Thursday, January 09, 2014

Using a PHP Shell to Simplify Database Migration

During a development cycle, as I make changes to the database, I log those changes in tweaks.sql. Some of these changes might be structural (adding a country column) and some of them might be data related (replacing all occurrences of USA with US.) When it comes time to do a deployment, I just need to walk through tweaks.sql and execute the various statements that are present. When I'm done, the database is essentially migrated for the release.

Simple enough, right?

This morning though, I ran into an annoying piece of database migration. I wanted to set a particular user property on every user that didn't already have one set. The tricky part comes into play that properties are stored as individual rows of a user_properties table, which has multiple rows relating back to a single users table.

I could have done some funky stored procedure work to detect if the property was set, and if not, do an insert of a row, but I thought there had to be a better way. After all, while this is clunky SQL to write, it's trivial PHP to write.

Which got me thinking: if I can sit at a MySQL prompt and execute statements to migrate the database, why can't I do the same thing at a PHP prompt? Surely someone has developed a PHP based shell, right?

After a few moments of searching, I learned that if you kick off PHP with -a you automagically get a shell. Unfortunately, my system didn't have PHP compiled with readline (or perhaps some other dependency was missing), so the built in version of PHP shell was pretty useless. Not to worry, another moment of poking around and I learned about phpsh.

After a couple minutes of fiddling with install, I was able to type:

 phpsh lib/config.php

And Bam! I had an interactive shell, or REPL, that made every function of my system available to me. This is amazing. How have I gone this long without investigating this option?!

Anyway, with phpsh running, I was trivially able to write some code that does the migration that I need. It's something like:

  foreach(all_users() as $u) {
    if(user_prop($u, 'editor.type')) {
      continue; // Don't set it, they've got a value
    }
    set_user_prop($u, 'editor.type', 'emacs');
  }

I dropped this code into tweaks.sql and I'm good to go. Next time I do the migration, when I get to this block, I'll know that I have to kick off phpsh and enter the code there instead of the MySQL prompt. Should be a piece of cake.

Personally, I prefer to manually execute the statements in tweaks.sql to be sure that the database is migrated properly. So this whole mixing of SQL and PHP works for me. If I had automated the execution of tweaks.sql, it would be fairly straightforward to put some tags around the PHP block, and have the migration script send this code to phpsh rather than mysql. Though, for my purposes, that be overkill.

Now that I've got my shiny new shell/REPL, I wonder how else I can put it to use? If there's one thing I'm sure of, it's that REPLs Rock!

Wednesday, January 08, 2014

The Half-Bake, Low Cost Alternative to an Emergency Generator

We all know the best time to buy a generator. It's not during a Polar Vortex, that's for sure. It's on a random, 70 degree afternoon, when power outages are the last thing on anyone's mind. And so a few months back, that's what I decided I'd do. I wasn't going to over-think this: I'd just buy a generator, stash it in my shed, and wait for the day to come when it paid dividends.

After a bit of research I quickly learned that my plan had a number of drawbacks. First off, assuming the generator runs on gas (which a cheap one would), I'd need to keep it a supply around. And of course, gas doesn't keep, so I'd need to worry about rotating out my supply. And then there's the whole matter of maintenance. It's recommended that you run a generator monthly, which if I was truly honest with myself, is something that I'd never (ever) do. I could already hear the little voice in my head ("they say once a month, but I'm sure once a year is fine...").

My half baked generator plan was looking less and less like a good idea. I needed a new half baked plan.

And then I came across this comment:

The best advice anyone ever gave me was to use your car as a generator in a short-term emergency. It won't run your refrigerator, it wont run your air conditioner, it won't run your electric heater, but it will provide you with light and communication and will long outlast the short-term disaster. You can pick up a little 750 watt inverter capable of running some CF or LED lights, maybe a TV, and a radio for $30 in some cases. With that and a $1 power strip, a $5 extension cord, and the things you already have you will be better off than the guy with a $200 generator that runs out of gas in two hours! You use high powered appliances with your car running at idle and use your car's battery for an adequate amount of light for cooking or reading. It will also run a electric blanket to keep you warm. When the inverter starts screaming, start your car! A useful add-on would be a $100 deep cycle marine battery and a $10 trickle-charger kept in your home for the same purpose. Thank you Steve Harris!

I live in an apartment. When the power goes out, I run my vacuum cleaner! I watch TV! My lights are the only ones on! Why? To start conversations with my neighbors on emergency preparedness and how it relates to them. Be the example! (and have a backup plan)

Never one to resist a clever hack, I did further poking around of this whole 'car as generator' concept. Turns out, it's a real thing. Here's a Consumer Reports test where they ran a car for 14 hours with "no apparent ill effects." The test has pretty solid results:

We found that inverters can keep at least some of your home’s essentials energized. But you’ll need to prioritize: Even the smaller, 900-watt PW900-12 was able to run a freezer, two refrigerators, two sump pumps, lights, and chargers for various electronics for our staffer at home—but not all at once. Fortunately for him, only one of two installed sump pumps needed to come on, and it could do so even when a refrigerator or freezer was also running.

So off I went to Amazon to find out what my power inverter options were. For about $140 I was able to pick up this Energizer 1500 Watt Inverter. Paired with a 100ft extension cable, I figured I was good to go.

Today, for the heck of it, I finally took the unit outside and hooked it up to the car via jumper cables. I was a little surprised when it all came on just fine.

The Energizer unit is a pretty slick, as it shows you both your wattage load as well as the current number of volts. It also shows a battery meter, which is handy if you use the setup without the car running. (Apparently an option, as long as you turn on your car when the "Inverter screams" -- that is, the alarm goes off saying you're almost out of juice.)

Now it's true, I haven't tried the next step of my plan which is to run the extension cord from the unit to some appliance inside, but all indications are that this scheme may just work.

I now have my worst case scenario power backup option. Yes, it's ridiculous to think that I'd want my car idling for hours on end. But, in a big enough emergency, that's probably the least of my woes. I figure if I truly need the power, I'm not going to be bothered that this is some klugy hack. And as a bonus, the Energizer unit is quite portable. Any place that has a car, I now have a set of 1500W outlets ready for use.

By the way, this is all Plan B. Plan A for the next time we lose power during a Polar Vortex is simple: use my car to drive us to a hotel that has power. Still, for $140 and 0 maintenance worries, my Inner Eagle Scout is satisfied.

Tuesday, January 07, 2014

Inside The Polar Vortex

I've been waiting my entire blogging life to create a blog that uses Polar Vortex in the title, today I was finally given that chance.

While they claim it hit -10°F with windchill nearby, right now Weather.com is reporting that it's a balmy 20°F out with a feels like of 20°. This is a Polar Vortex, shouldn't I get frostbite just opening my door?

I took my usual walk today and captured these photos:

More important than my little snapshots, there are deals to be had! For example, show up in shorts to Tropical Smoothie and get a free 24oz smoothie.

As long as I'm sharing shots from around the neighborhood, I captured this guy yesterday:

I'm thinking he's some species of hawk. Man, if I had been carrying my DSLR with telephoto lens, I could have really captured some amazing pictures. Alas, all I had was my cell phone and a healthy fear of birds, so I kept my distance.

Golf to the Rescue

I just accidentally stumbled over the story of 'Gene' Hambleton, an Air Force Navigator who was shot down and then rescued in during Vietnam. The rescue is the stuff of legends:

After the failed air-rescue attempts, it was decided that Navy SEAL Lt. Thomas R. Norris and a small team would infiltrate enemy lines and attempt to pick up Hambleton and Clark at the nearby Cam Lo River.

Aware that North Vietnamese radio monitors understood English, the radio message from a forward air controller in the area told Clark, an Idaho native: "Get to the Snake, make like Esther Williams and float to Boston" -- go to the river and swim east.

Hambleton, however, was much farther from the river than Clark and would have to maneuver around enemy-occupied villages and gun emplacements.

Rescue planners, who had discovered that Hambleton was one of the best golfers in the Air Force and had a vivid memory of the courses he had played, came up with a novel idea: guiding him to the river via a series of specific golf-course holes that had been provided by his golfing buddies.

As Hambleton recalled in a 2001 interview with Golf Digest, the planners told him, "You're going to play 18 holes and you're going to get in the Suwannee and make like Esther Williams and Charlie the Tuna. The round starts on No. 1 at Tucson National."

Hambleton said it took him awhile to figure out they were giving him distance and direction: "No. 1 at Tucson National is 408 yards running southeast. They wanted me to move southeast 400 yards. The 'course' would lead me to water."

You can read more about the rescue here and here.

And if reading isn't your thing, you can watch the movie.

Using Golf courses as a means of communicating navigation points? If that's not a brilliant hack, then I don't know what is.

Monday, January 06, 2014

The Most Fun You Can Have With a Pair of Paperclip

Imagine this scenario:

We walk into a room and the door slams and locks behind us. In front of us is a table that contains a cabinet. The cabinet is locked using a plain old Master Lock. The front of the cabinet is clear, shatterproof glass. We can see inside the cabinet there's a ticking *bomb* and a disarm switch. I reach into my pocket and pull out two paperclips. I've got 2 minutes to pick the lock and turn off the bomb. What happens?

Sorry, we almost certainly die in a fiery explosion.

But, if you change the scenario and give me a week to fiddle with the lock, trying to pick it when I get a few minutes here and there, we make actually make it out alive!

At least that's what I learned last week, as I finally managed to legitimately pick a Master Lock using nothing more than two paperclips:

Above is an improvised tension wrench and rake.

Anyone with even a modicum of lock picking skill is shaking their head at the above tools and the notion that it should take more than a minute to pick a Master Lock. But, as a beginner, I can tell you the process is easy in theory and tricky in practice.

But it's immensely gratifying to feel the lock click and open.

All you need are the most basic supplies: a lock, some improvised tools (Bobby Pins probably work better than paperclips), YouTube and patience. You can do it! And I promise, when you do, you'll feel a thrill!

For more info, you should pickup the book: How To Open Locks With Improvised Tools, it's filled with useful tips for getting past locks.

At Least One Topic The Internet Can Play Nice About

This Sunday afternoon we had a bit of free time. Did we hit a Smithsonian or visit the Corcoran Gallery? No, we did what any Rochester native would do, we trekked out to Wegmans. Sure, we have at least two grocery stores walking distance from home, but that's not the point.

But here's the part that really blows my mind: we aren't the only ones who feel this way. I give you the following Buzzfeed Post:

25 Reasons Wegmans Is The Greatest Supermarket The World Will Ever Know

And check out the comments. Usually, web comments are a nasty slurry of division and hate, but not on this article. It's almost universal praise for Weggies.

Scary.

Friday, January 03, 2014

Baby It's Cold Outside! And yet, I'm still trying to ride by bike

I've been biking to Morning Minyan for the last few months, and after freezing my butt off during a few 20°F'ish mornings, I've finally figured out a riding configuration that doesn't have me arriving as a Popsicle. Here's my current setup:

  • Base layers: nothing fancy; jeans, a Polo shirt and a fleece. Because I work form home, this is also known as "getting dressed up."
  • On top: 2 Windbreakers. I learned this trick from my Dad. Back in the day he'd head off into the freezing cold Rochester morning to run, and he'd be wearing a couple simple nylon windbreakers. This was way before the world of dry-fit, and back when Gore-tex cost a small fortune. The result was a setup that kept him warm, but not overheated. For me, I wear my high visibility windbreaker over my REI Ultra Lightweight Rain Jacket. It works.
  • On the bottom: a pair of soft shell pants. I've had them forever, and they aren't any particular brand or technology. But they keep the wind from trivially slicing through jeans, which is what happens when I don't bother to wear them. I wear high-visibility Velcro straps around my ankles to keep my pants from getting gunked up in the chain. This may also help with keeping the breeze from sneaking up my pant let, too.
  • On my hands: I recently picked up a pair of convertible glove-mitten things. I'm loving them for both running and biking. They are a basic lightweight glove with a a windproof covering you put over your fingers to make a mitten. And doing so makes the difference between arriving with chilly fingers and numb fingers. Riding a bike with mittens takes a bit of practice, so consider yourself warned.
  • On my head: I wear a boring old knit hat under my helmet, and most importantly a Buff to cover my face. The Buff is absolutely key, and again, means the difference between a chilly ride and an unbearable one.
  • On my back: I've been carrying my Sea to Summit backpack with a Nissan Thermos bottle filled with boiling hot tea. Bringing along a bottle of hot tea has turned out to be a wonderful little hack. When I get to shul, I can simply wrap my hands around the bottle and they quickly thaw. As I'm riding, the backpack provides yet another layer of wind protection and the bottle itself warms my lower back.

And that just about does it. I arrive to shul and need to spend 20 minutes taking off layers, but I do arrive relatively comfortably. The gloves are probably the item I'd upgrade first.

So what do you do to make riding in the winter bearable?

I've got to confess: I'm OK with riding in the cold and the dark (I know the route well by now), but on mornings when it's slick out, I pass, and take the car. That's probably cheating, I know.

Thursday, January 02, 2014

Let It Snow!

This evening my run turned out to be a bit more adventurous than I planned: there was snow! As I was running, I think there was probably a bit more than in inch of accumulation. That's practically a blizzard, around here. Part of my route included the Custis Trail, which I had nearly all to myself. I passed 3 insane bikers along the way. Other than that, I was jogging through a winter wonderland.

Of course, the pictures just don't do the scene justice. Still, I had to try.

Oy Vey, My Shul's Online Reputation Has Such Tsuris

A couple weeks back, I Google Mapped my shul to find out the mailing address. I then cringed when I saw there was a single 1 star review for the place. (I now see a second, 5 star review, but at the time, I saw just the one.)

The review, as 1 star reviews are apt to do, pretty much through the book at the place. Not only was it unfriendly, but even the board was corrupt (whoa, wait: if you've only been to services once, how would you know the internal workings of the board?).

I figured the right thing to do would be to pipe up and provide my own review. So here it is:

There's no doubt that the shul leans to the left, isn't particularly big, has a diverse membership and makes fairly heavy use of congregational volunteers (for example, we don't have a Cantor or official Torah reader, but instead rely on members of the congregation to step up perform these jobs).

I think this results in a friendly, welcoming shul that strives to get members involved. You aren't going to be an anonymous member here; you'll be part of what makes Etz Hayim successful.

And while we tend to be more liberal on nearly every topic and are fully egalitarian, we absolutely meet all the requirements set out by the Conservative Movement (USCJ).

I don't have kids in the Hebrew School, so while I've heard good things about it, I can't speak directly to it. I can report that children are always welcome and encouraged to attend services.

There, I feel better.

By the way: here's the definition of Tsuris, which is Yiddus for 'aggravation/trouble'.