Tuesday, April 30, 2013

Arlington County's 3 Minutes of Fame

I hope the county's ready for the Colbert Bump, because Stephen Colbert gave a shout out to Arlington County last night. One of our establishment's received an especially positive review on Yelp. The establishment? The County Jail:

Makes me proud to be an Arlingtonian.

Via ArlNow.com. My favorite comment:

The new Arlington Tour: the jail and the $1 million bus stop. All done on the pub crawl trolley.

I'm in.

From The Camera Phone

Here's a few random shots from my Galaxy S3 from the last few days:

One day I'm going to figure out a good way to display these panoramic photos. Trust me, this scene was far more gorgeous than this photo captured:

Before sunrise in New Hampshire:

Oh, how can I resist not posting one more CDT photo? I managed to get 2 out of 3 to smile, I'll take it!


Wheeeeee! Future gymnast here, no doubt.

Not a bad shot. Would have loved to get the lady bug just a tad bit sharper. But it was windy, and I'm happy I managed to capture this scene as well as I did. See, a walk in the rain can have real benefits.

Monday, April 29, 2013

Gear Notes - Travel and Snow Edition

I'm back from my surprise Day Hike through Franconia Notch State Park. Even though it was only a one day event, it was still quite educational. Here's some notes I scribbled down at the end of the day in my notebook:

  • Super glad we brought Shira's hiking poles. I figured if I wrapped them in bubble wrap I could just check them under the plane. Wrong. They wanted them boxed. I fished a box out of a maintenance man's garbage cart and used the Airline's packing tape to improvise a shipping box. TSA may have allowed them through, we'd need to talk to a supervisor, and the security line was long enough that we didn't want to chance it. On the way home, Shira realized we could separate the various lengths treking poll and they fit just fine in her carry on. See:
  • When the park ranger says there may be some "snow" on the trail, follow up with very specific questions. Find out if trail crampons or snow shoes might be required. The fellow we ran into on an icy section of trail was wearing Hillside Trail Crampons and said they turned him into "Spiderman." Even a cheap set of Yaktrax may have come in handy.
  • About a third of way through the trail my first camera battery died. I had a backup. But it reminded me that cold can wreak havoc on batteries. A super easy solution I need to try: tape a hand warmer to battery door on your camera. This idea was lifted from Intense Angler's: 10 unique uses for hand warmers.
  • I packed our boots in Tyvek Mailers (one pair of boots per mailer) and then put them in our carry on bags. The Tyvek held up great and kept the boots from making a mess. I was a bit concerned that I wasn't going to fit everything I needed to carry with me in my little day pack, so I confirmed that by attaching a loop of paracord over a folded mailer I was able to make a quick improvised messenger bag. In the end, I didn't need it.
  • I knew better than to try to bring HEET stove fuel on the plane. I brought an empty container and planned to fill it when we got off the plane. In the second gas station I checked I found a bottle of HEET for $2.00. Another option would have been to stop at one of the 3 AutoZones that we passed along the way.
  • My little Alcohol Stove worked great on the trail. Along with the stove and fuel I brought a couple of tea bags and a package of hot chocolate. I was pleased by how effortlessly the rig was to setup, light and be cooking with. I had hot tea in a few minutes. In the end, we didn't need the hot drink along the trail. Had there been some sort of emergency (say falling into one of the brooks we had to cross), it would have been a real life saver.
  • Shira was smart enough to bring an ankle brace, as after more than a few miles into the trek she really needed it. Still, I've ordered a bunch of ace bandages and plan to try wrapping her Ankle using some YouTube instructions. Given how frequently she has ankle issues, we shouldn't be going anywhere without a way to stabilize her ankle.
  • Even with the threat of cold weather, I'm glad I decided to wear my sun hat and Buff, rather than a knit hat. I think it provided the same warmth as a knit hat, and when it was just plain warm and sunny out I was ready for that weather, too.
  • Next frigid winter hike I think I'm going to leave my Adventure Medical Kits Bivvy at home and just bring along a cheap Mylar sleeping bag. Given that I'm only using this item in an emergency, I don't really need the durability of the reusable AMK version. The cheap Mylar version should be more compact and do more or less the same job.

Sunday, April 28, 2013

Birthday Surprise Trip - Day 2

Shira promised me that for my Birthday we'd be hiking in the mountains. Not only that, but the hike would be of such epic proportions that she wanted me to bring some serious gear along, including a sleeping bag and stove in case we needed to spend the night in frigid conditions. This all sounded delightful to me, but I couldn't imagine where she was going to find snow capped mountains near Northern Virginia this time of the year.

Part of the mystery was solved last Thursday night when she informed that we weren't hiking on Friday as planned, instead we were flying somewhere Friday and hiking on Saturday. That made a winter hike seem a lot more plausible.

The first leg of our trip took us to Boston, which provided us with a delightful stop to visit my nieces and nephew. But looking around, I didn't see any mountains surrounding Boston. So I was still clueless as to what Shira had planned.

We got in the car and drove for about 3 hours. Eventually we crossed the border from Massachusetts to New Hampshire. I racked my brain, yet I couldn't for the life of me figure out what epic hike was in New Hampshire. Finally we pulled into a cute little hotel in Lincoln, New Hampshire. We did a little unpacking and then walked down the road to a pizza place where I was eagerly awaiting Shira's explanation of how she picked this place for our hike.

Once seated, and with a pizza on the way, she refused to answer my question. Instead, she handed me a trail overview for Franconia Notch State Park and told me to read it. When I finally did, the trip became absolutely clear. To understand the relevance of the trip, you have to appreciate that one of the items on my Bucket List is to hike a section of the Appalachian Trail in every state that it runs through. So far I've checked off Virginia, West Virginia, Maryland and Pennsylvania. With this trip, I'd be getting to check off New Hampshire from my list. What a wonderful gift for my 37th birthday!

Shira pulled out a map of the area and we started planning the details of the next day's hike. The map represented only 6 x 8 miles, yet the trail descriptions made each trail sound more daunting than the next. Shira had also checked ahead of time, and the park said that some of the trails were probably covered with snow and mud. In a rare moment of sanity, I suggested we do a relatively short hike first, and then if we had time, we'd add on to it.

We planned to do the following: Start in Lafayette Campground, hike Lonesome Lake Trail to Cascade Brook Trail, then finish up the circuit with the Pemi Trail. On the map this trip looks to take up about 6-7 miles. A piece of cake.

We started our hike at Lafayette Campground and I made sure to snap a photo of a small patch of snow still on the ground. How cute, I thought, that there was still some snow around. The trail started climbing pretty quickly, but we were eager and fresh, so this hardly bothered us.

After a bit of hiking we found ourselves dodging patches of snow and ice. Then a bit further up, we found that we had run out of dirt to walk on, and were exclusively climbing up snow, ice and the occasional rock. Shira found herself heavily relying on her hiking poles, and I found myself grabbing on to roots and trees; anything to steady myself.

The snow had officially turned from a novelty into an icy hazard.

After about a 1000ft climb in elevation we found ourselves on flatter trail. The ice had been replaced with packed snow and the going was easier. It was then that we met a hearty New Hampshire Hiker, trudging through the snow in shorts and a t-shirt. We said our hellos and he looked at our feet. Yeah, he explained, without snow shoes, the trail up ahead may be impassible. He was also wearing a pair of trail crampons (spikes attached to his boots). I suddenly felt completely unprepared. We pushed on.

As we walked along the packed snow I wondered how many inches deep it was. And then I took a step and sunk 2 feet into the snow. Oh, that's how deep it was. Holy crap. We made our way down the Cascade Brook trail, and thankfully the trail was a relatively gentle grade. And other than the occasional misstep into knee high snow, it was actually outstanding hiking.

As we descended into lower elevations the snow thinned out, and my fears of needing crampons and an ice ax to get off this mountain passed. Well, I figured, we were through the tricky part of the hike and it would be easy going from here. Yeah, not quite.

All along the trail we'd seen signs mentioning that the Cascade Bridge was out and that crossing the brook may not be possible. We finally arrived at the brook, which looked a whole lot more like a raging river than a brook, and started figuring out how we were going to get to the other side. There were quite a number of boulders to hop on, but none of them seemed to be a straight line to the other side. Finally, after 20 minutes of planning we figured out a route. And sure enough, a few hops later, we were on the other side.

Whew. We had survived the ice which required crampons, the snow which called for snowshoes and crossed a raging river with the bridge out. I was feeling pretty good. It was time to just relax and enjoy this leisurely hike.

With about .2 miles to go to the Pemi Trail turn off we encountered Whitehouse Brook. Again, think fast moving river, not gentle brook. Surely we weren't expected to cross this sucker, were we? Then Shira spotted a tree in the middle of the brook with white water flowing around it that had a white AT trail blaze. We were going across. From a distance, crossing these brooks looks fairly easy. But as you approach the perfect place to cross you realize that the rocks are just a little too far apart, or perhaps they're wet and slippery. Finding the right path across is like chasing down mirage after mirage. And when you do decide on a place to cross the secret is to do so with absolute confidence. If you pause or over think the crossing process, you're just asking to lose your balance and take a swim.

In the end we crossed the Whitehouse Brook with relative ease. We were just a fraction of a mile from the Pemi trail, which promised a nice flat 2 mile walk back to our car. Easy, right?

And the Pemi trail did start off easy enough. It hugged the river, which made for some terrific views. The trail was muddy thanks to all the snow run off, but in the scheme of things, mud was the least of our concerns. And then we lost site of the trail. Where did it go?

As I scouted around I realized that the next blue blaze was on the opposite side of Whitehouse Brook, yes the very same brook we had just crossed. The water looked to be about 5 feet deep at the point at which the trail met the brook. That wasn't a trail crossing, that was a swimming hole. So we started our long trek up the bank of the river looking for a place where we could cross. We found various possibilities, but none of them looked like they were going to be remotely safe. Finally we found a spot where the water was relatively shallow, about 3-4 inches deep. Shira and I linked arms and stepped into the fast moving water. As we expected, the current was using all its effort to get us down stream, but we managed to make it across. Our feet soaked were with 33 degree water, but we were safely on the other side.

We continued on our way.

For the rest of the hike, the Pemi trail behaved itself. It was relatively flat, and to our shock, provided a few small bridges to traverse some tiny little streams. Someone had their priorities a little out of whack.

Further up the Pemi Trail we found "The Basin" where we stood in the same spot Henry David Thoreau had. I wonder if his boots were soaked from a stream crossing, too?

After about 10 hours of hiking, we finally made it back to our car. What an absolutely thrilling hike. I felt that I could confidently check off "New Hampshire" from my AT checklist. And Shira earned a Wife-Of-The-Year Award for enduring this trip with such skill and confidence, complaining not a single time.

Birthday Surprise Trip - Day 1

Quick recap: a week ago Shira tells me she's going to take me on a super long hike on Friday for my Birthday, so clear my schedule. Then, Thursday night she tells me Surpise!, we are taking a hike, but doing so out of town. Pack a bag for a flight we're taking on Friday.

We arrived at the airport, walked to the furthest gate, and the first part of trip was revealed: we were heading to Boston.

Now I'm no Sherlock Holmes, but even I know that no trip to Boston is going to happen without some serious quality time with my nieces and nephew. And sure enough, that was the case. We arrived and met DCT (AKA Dovid, Chana and Tzipora, AKA The Twinners and Tzipora) for lunch along with their parents and their au pair.

From there we took the kids to the Boston Public Gardens, and left the adults safely back home. The day was absolutely perfect park weather; a little crisp and sunny. It was nice seeing Boston in a care free state after the turmoil of the previous weeks. We saw a couple signs announcing "Boston Strong," but other than that, you'd never know that we were in a city that had been rocked by the events of the last few weeks.

We took the kids on the swan boats, and we walked through the park. Chana managed to finagle a balloon shaped like a flower from a Mom who said her kid also had one of a sword. Later on, we picked one up one for Dovid that was in the shape of an airplane, and a cute pink swan for Tzipora.

The kids were beyond adorable. At one point Tzipora was looking at Shira's necklace, and Shira explained that Uncle Ben had bought it for her. At which point she looks up and says, "You did great Uncle Ben."

Dovid, at lunch, carefully picked up his knife and fork and like a perfect gentleman, cut a piece of chicken from his Chicken Lo Mein. He then, just as carefully, put the knife and fork back to their original location next to his plate, and shoveled food into his mouse using his hands. It was the cutest attempt at table manners I've ever seen.

Chana displayed amazing tact as she took the balloon she managed to rustle up and shared it with her Brother and Sister. She'd announce, "you can hold the balloon now." And then a few minutes later, she'd say, "I want to hold the balloon now." It was all very lady like. This makes sense, as she announced to us that she was going to be a "Big Girl at Playgroup."

After a couple hours at the park, it was time to return the kids to their parents and for us to be on our way to the next stage of our adventure (which I still didn't have any ideas what that was). What a wonderful birthday treat it was, getting to see DCT and spending time with family. Birthdays can be a time filled with lots of emotions, but all I was feeling was a nice mix of joy from seeing the kids, and exhaustion from playing with them.

Friday, April 26, 2013

And we are off to... Uh, I don't know

A week ago Shira informed me that we would be doing a super long hike this Friday as a treat for my birthday. I was psyched. She was acting a little odd, emphasizing the need to get our gear together with a bit more zeal than usual.

Then last night she updated the story: yes, we would be going for an epic hike, but we would be going over the weekend and a plane flight would be involved. I'd need to pack up my hiking gear as well as the usual travel goodies.

I was up at 4am, like a kid who couldn't sleep the night before a big trip. We went to the airport all the while me clueless about our itinerary and destination.

Finally we made it to the gate (the farthest in the terminal, of course) and I learned the first piece in the puzzle, we would be flying to Boston.

And that's all I know as I type this post out at 30,000 feet. And I'm good with that. I love a good adventure surprise.

I'll tell you the rest if the story when I learn it myself.

Minimalism Powered Resilience

I thought Seth Godin's latest thoughts on Resilience had an interesting connection to minimalism:

Most of the time, we build our jobs and our organizations and our lives around today, assuming that tomorrow will be a lot like now. Resilience, the ability to shift and respond to change, comes way down the list of the things we often consider.
Here are four approaches to resilience, in ascending order, from brave to stupid:
  • Don't need it
  • Invest in a network
  • Create backups
  • Build a moat
Don't need it is the shortcut to living in crazy times. If you don't have an office, it won't flood. If you have sixteen clients, losing one won't wipe you out.* If your cost of living is low, it's far less exposed to a loss in income. If there are no stairs in your house, a broken hip doesn't mean you have to move. Intentionally stripping away dependencies on things you can no longer depend on is the single best preparation to change.

What a powerful point: simply by having less, you've got less exposure. The concept applies equally well to crap I have lying around the house, as it does to how I build software. If I don't have a "middle tier" of software that exists solely so I can be buzzword compliant, I've got a lot less code to maintain.

By the way, I'm not really in love with the word minimalism in the headline of this post. It's a fairly overloaded word, that can often be taken to less than helpful extremes (Look at me, I only own 100 items!). I'm talking more about striving for simplicity and looking for opportunities to embrace using less.

Read the rest of Seth's article to get more ideas about resilience.

Thursday, April 25, 2013

Crafting A Customized-By-Admin Mobile AIR App

One of my customers is having me develop a Tablet app for use in a sort of enterprise context. The app needs to be customized by my client, then handed off to their customer which will further distribute the tablets. It's essential that the end users aren't able to muck with the configuration of the app.

What I wanted was some way to parameterize the app at distribution or run time. That is, have a standard app that gets deployed to every enterprise, but when it's installed, provide something resembling command line arguments to the app so that it can be tweaked on the fly. From the little research I've done, I've come to the conclusion this isn't possible.

This left me with two other options:

1. I could make each Enteprise's app their own apk file. I already build my apk files using GNU make, so it would actually be fairly trivial to write some rules that build custom binaries on the fly. But, the thought of having to manage one binary for each organization my client sells it to makes me awfully nervous. That's got maintenance nightmare written all over it.

2. I could make a back door admin section. In this scenario, I'd build a single app for all organizations, but have some super secret menu that only my customer would know how to access. They could then use the facility to configure the app and send it on its way. This gets me the single app I want to manage, but I'm not in love with building in a back door. I don't want to give end user something they can fiddle with, and I'd rather not invest a whole bunch of time into an admin tool set that will only be used once.

After further analysis I came up with option 3. I rigged the app so that the first time it starts up it detects if its ever been run. If it is the first execution, a series of questions are shown to the admin allowing for them to configure it. Once the questions are answered the app exits. After that, when the app is started up it detects its configuration and goes right into end user mode. There's no other entry point to get back to the configuration screen, so there's nothing the end user can do. If the admin ever needs to reset the configuration, they need only re-install the app and reconfigure it.

I've got my single app instance to maintain and no backdoor control panel waiting to be knocked on.

The Adobe AIR implementation of this model is surprisingly easy. I used the EncryptedLocalStore as a mechanism for storing whether I've ever been run/configured before. To make this object easier, I wrapped it in a utility class: LocalConfigurationOps:

In the activation code of my first View I say something along the lines of:

 var cfg:Object = LocalConfigurationOps.get();
 if(cfg == null) {
 } else {
   appCtx.localConfiguration = cfg;

ConfigurationView then becomes the panel admins use to customize the application the first go around. In the click handler for the Save and Exit button I have something resembling the following:

  function onSave():void {
    var cfg:Object = collectConfiguration();

Time will tell how well this solution works out. But given the simplicity, ease of implementation and promise of maintainability, I've got high hopes.

A Little Mountain Biking First Aid

First Aid resources are tricky: I find they are usually either way too vague, or too detailed. I found this particular page to be a good compromise: Health: First aid treatment on the trail.

The article covers a few key first aid techniques that a typical mountain biker would run into. I would assume hikers and road bikers would have many of the same injuries.

Also presented is a recommended First Aid Kit, which is wonderfully concise:

I do love anything in kit form, so I'll have to see what I can do to put the above together.

Update: This is handy: 56 Uses for a triangular bandage

Wednesday, April 24, 2013

Spared and Alive

It's hard to tell from these photos, but the strip of grass between the sidewalk and the perimeter fence of Arlington Cemetery was recently mowed. The person who do this, however, has a soul. He or she managed to perfectly trim around these wild flowers (or are they weeds?) leaving them intact for the world to enjoy.


The photo below is of the same plants as above, though shot in the relatively early morning (around 6:20am). I love how the flowers have closed up for the night. It's a wonderful reminder that these plants are truly alive and react to the weather like you and I; they are not merely inanimate objects.

Tuesday, April 23, 2013

What do these cabbies know that I don't?

Seriously, every car in the parking lot is a cab. That has to mean something, doesn't it?

Google killing stuff I love, Picasaweb Edition

Why must Google kill things I love? Today's casualty: Picasaweb.

Years ago I switched from flickr to Picasaweb because Picasaweb provided a more sane experience. Flickr, at the time anyway, emphasized a reverse chronological stream of your photos. While I cool concept, it meant that every event/trip I'd upload would be browsed in reverse. Picasaweb had basic albums and no confusing stream, so I went with it. After a while I discovered a key feature: it provides an easy way to embed a slideshow on my blog.

Picasaweb has since been absorbed into Google Plus. I don't exactly know how I feel about this. I've yet to warm to Google Plus (argh, more ways to feel guilty about ignoring my "friends!"), yet I do like the improved Blogger features which I gained when I became a Plus member.

Regardless, when I finally enabled Google Plus (accidentally, of course), I lost access to the standard Picasaweb page. Not a big deal, I initially thought. But then I tried to embed a slideshow into my blog and realized I've lost that capability.

This was agitating. Very agitating. I got a whole new Google Plus Pictures UI that I didn't need and lost one of the main features I actually use.

Luckily, there's a work around. By visiting the following URL you are taken to your original Picasaweb page, minus any hint of Google Plus:


I'm happy. But I'm also wary; I wonder when that work-around will continue to function?

What This Bag States

Also: I'm not a fan of capitalization and punctuation.

On a more serious note, does Giant really expect to me to pay them so I can be walking advertisement for them? And worse yet, I'd be forced to embrace the hipster theme, which I just don't think I could personally pull off. Ugh.

I want to save the Earth as bad as the next guy, but this just makes me want to use plastic bags. Lots of them.

Monday, April 22, 2013

New Laptop v2.0: Dell Inspiron 15z

For the most part, I liked my Lenovo, but was frustrated by connectivity issues and found the hardware touch pad annoying. I also very much enjoyed my Best Buy shopping experience, so I ended up returning the laptop back to the store (and appreciated the no questions asked, hassle free return policy) and shopped around for a replacement. I knew I wanted an i7 processor, 8 gig of RAM and a touch screen. I preferred a 14" screen, but I knew that the farthest I'd be traveling with this laptop is down to the kitchen is for a snack, so weight and size weren't essentials.

There weren't a whole lot of choices, which perhaps made my life easier, and I finally walked away with a Dell Inspiron 15z. Here's some feedback after having owned it for a couple of weeks:

  • With no mention (much less hard sell) of an extended warranty, fast service and knowledgeable staff, I was again happy I bought at Best Buy. My only disappointment: Best Buy has reduced the money back guarantee span from 30 days to 14. 30 days was awesome, 14 will do.
  • In the store, I worried that the computer was going to be an unwieldy beast. At home, it hasn't seemed especially large or clunky. It's relatively thin, and takes a up reasonable footprint on my desk.
  • The touchpad and keyboard are top notch. Whooo! Finally, no more posts ranting about how the touch feels or works. I still continue to use the hack I put in place that maps caps lock to the left mouse key. Also, the fact that the backlit keyboard light comes on automatically is a nice touch.
  • I continue to see promise in the touch screen on the laptop. I haven't found an especially good use case for it yet, but I can tell that if I come across the right kind of app that's truly touch friendly, it's going to be fun to whiz around the screen like I'm a CNN anchor.
  • The cNet review for the laptop which was positive matches up well to my actual experience with the device. They do lament the relatively low resolution of the screen, but I haven't found that to be a problem.
  • One gotcha I did have: the laptop doesn't come with a built in VGA port. To utilize my external monitor, I needed to purchase an HDMI cable and a DVI-D adapter (the HDMI port on my monitor is already in use) to make the setup work. Not particularly cheap, but when it was all said and done, it works as well as the VGA setup I'm used to.
  • Over the last two weeks I've run into the dreaded Windows 8 Limited Connectivity issue a couple of times. I'm not amused. Though given that this has happened on both my laptops, I'm thinking it is indeed a Windows 8 issue and will hopefully be solved by Microsoft. In the mean time, I took the following advice from a comment on my Lenovo post:
    Go into Device Manager (search start menu for "device manager" then click Settings on the right), find the wireless network device, right click it, go to power management, and make sure it is UNchecked to allow the computer to turn it off. This is the problem!!! You're welcome!!!!
    Time will tell if that's my fix.

Stats wise the Lenovo seems more impressive than the Dell (larger drive, smaller footprint). However, from a feel perspective, I'm glad I ended up going with the Dell.

Fact of the matter is, you really can't go wrong with either laptop.

Sunday, April 21, 2013

The Baltimore Museum of Art

After a wonderfully delicious brunch at One World Cafe (among the best steak-less cheese-steaks I've ever had!), my brother, sister-in-law, niece and nephew all took a trip to the Baltimore Art Museum.

You might think that it would be like pulling teeth getting two kids to enjoy the art museum, but in the case of my niece and nephew you couldn't be more wrong. My nephew especially has a remarkable knowledge of the various painters and styles we found in the museum. They were teaching me far more than I could hope to teach them.

I was impressed by the number of artists and pieces that I recognized, ranging from work by Picasso and Andy Warhol to the Thinker by Rodin. I found what I'd consider the classic European art to be my favorite, but I really did enjoy the whole museum. The sculpture garden was a nice bonus, and I enjoyed the little of the cell phone tour I was able to take.

What a blast it was to spend the day with my Brother and his family. And to come away more cultured no less?!

View Photos

Friday, April 19, 2013

Monitoring The Boston Manhunt

As I write up this blog post, there's a massive manhunt going on in Boston. I usually use Twitter to track breaking news like this, but for this event and the original Boston Marathon bombing I've found myself glued to the Boston Police Radio Scanner (or listen here).

I'm certainly not the only one who's had this idea, as there are 84,000+ people listening to the feed.

On my mobile device, I use Scanner Radio to listen in.

The chatter on the radio has been terrifically interesting; there have been calls for bomb dogs, swat teams, EOD teams and other curious requests. But mostly I like the sense of calm being broadcast, these guys are professionals and they are on the case. It also sure beats hitting refresh on CNN to see the same story over and over again.

Listen Now

Holy crap, they just announced over the radio that given what they found on the first suspect the outstanding suspect may be wearing a suicide vest. Man, this stuff is real.

Update: and the feed is offline. The explanation given:

Status: The feed has been temporarily been brought down to protect the security of officers involved in this incident

Thursday, April 18, 2013

One Trick for Taming My RSS Feedlist

Back when the Internet was having a cow about Google Reader shutting down I read this article in support of the action. And while I disagreed with much of the article, the author did have me at one point:

About a year ago, I stopped bothering with RSS entirely .... By that time, though, my Google Reader inbox was a mess of barely relevant, from countless blogs and sites that I'd discovered and with which I wanted to keep up. There was too much to read, too little time, and much of what rolled under my cursor had little to do with my interests for any given week, let alone a particular day.

What Chris was describing wasn't all that far off from what was going on in my own beloved RSS stream. While I started off organizing the feeds into folders, I soon ended up with a big 'ol mess. I found that I always had something of interest to read, but the noise from a few feeds were drowning out smaller sites.

Organizing by subject, I decided, wasn't the way to go.

After reading the above quote and thinking it through, I decided it was time to try something different. I broke my feeds down into only two groups: Low Volume and High Volume. Low Volume feeds are ones that publish once a day or less, and often correspond to individuals or relatively small communities. High Volume feeds are ones like Buzzfeed or Surivalist Boards that can be interesting, but can also rack up dozes and dozens of posts in a single day.

With the new partition in place, I find that my Low Volume folder often has 10-20 posts in it. It's easy to zip through, and I can give attention to the little guys that I might miss.

When I've got time to kill, I can always flip over to the High Volume folder and see the latest cat pictures or conspiracy theory on the web.

This one approach to organization has definitely made RSS more useful. I now get an easy way to monitor low volume but high quality sites, and a nearly endless stream of content ready for me to peruse when I'd like.

If your feed list is out of control, you may want to give it a try.

Sorry, I couldn't resist riffing on the 1 Tip theme. It's an absolutely evil advertising technique.

Hurray! It's Cargo Shorts Weather - A Summer Pocket Dump

Not terribly much has changed in the little over a year since I posted the winter version of my typical pocket contents. But, like any good edc'er I've fine tuned things.

So, in honor of the fact that it's warm enough to wear cargo shorts again, here's what I had in my pockets as I stepped out of the house yesterday for a walk:

  • Galaxy S3 with $20 taped to the back of my case
  • Sea to Summit Ultrasil Daypack - one of my most used items, as we inevitably end up at CVS or the Grocery story, and it works great as a shopping bag. Every time I fill this bag I'm amazed at how strong it is.
  • Altoids Tin (aka: Urban Survival Kit) - for the contents, see below
  • A CPR mask and gloves smooshed and taped between two business cards
  • Wallet - stashed inside are: two small safety pins, two bobby pins, two paper clips and a paper Ikea tape measure. The tape measure gets lots of use, actually.
  • Key chain filled with handy tools, including: mini Fox 40 whistle, REI mini compass, P-51 can opener, Derma Safe razor blade, pill container with some emergency meds, USB thumb drive / card reader, Photon X-light and a large safety pin. More details can be found here.
  • Key chain with actual keys on it and a Res-Q-Me glass breaking / seat belt cutting cool.
  • Shrade Tactical Pen
  • Pilot G2 Pen
  • Notepad with $20 and a poem in it
  • Plain white handkerchief

And because cargo shorts have enough room, I'm able to grab my little Altoids Tins of goodies:

  • Silicone bracelet, which surprisingly is a perfect fit for keeping the tin closed
  • Lightload Towel
  • Spool of dental. floss - just busted this out to repair a broken mirror on Shira's bike helmet. I'm still amazed at how strong this stuff is.
  • Few inches of Gorilla tape wrapped around an old gift card
  • Small sheet of heavy duty tin foil
  • Sheet of of Lego stickers
  • A few index cards cut to fit
  • Blister treatment
  • 2 band aids
  • $20 bill
  • Headphones
  • 4 waterproof matches and a striker. I can't, in good faith, call this a Survival Kit without some way to make fire.
  • Sort length of wire
  • Dose of migraine medication
  • 4 quarters held together by a binder clip
  • Cotton ball, mainly used to keep the items from making noise
  • Itty-bitty write anywhere pencil

There you have it. And here's how what I carry has evolved: 3/2011 and 12/2011.

So nu, what's in your pockets today? Do share.

Wednesday, April 17, 2013

Flowers, Flowers Everywhere

Spring has sprung. Good golly, I can't walk anywhere in our neighborhood without being bombarded with trees bursting with flowers. How awesome is that?

Try as I might, I can't come close to capturing how gorgeous it is. Still, I can't resist giving it my best shot.

All photos taken with my Galaxy S3 cell phone.

Review: Call of the Mild

Apparently I'm on a bit of an life-as-experiment kick in books recently. A few weeks ago it was home schooling and now it's hunting your own food. Specifically Lily McCaulou's Call of the Mild: Learning to Hunt My Own Dinner.

Call of the Mild started off predictably enough: New York City girl has an adventure by moving out to the country. While there she falls in love with both her future husband as well as hunting and fishing. She decides to take on the personal challenge of hunting her own food. Much of the beginning part of the book wasn't especially challenging to me: I have fond memories of summer camp with fun times at the rifle range, and my Dad the fisherman gave me a healthy appreciation for that "sport" (sorry Dad). Not only that, but I suppose I've been around enough deer hunters to know the inherent hypocrisy of being outraged at people who hunt and kill animals for food, all while you're eating a Big Mac without giving it a second thought.

To my pleasant surprise though, I found that McCaulou's story got more and more sophisticated as I read into it. Where my last book held my attention mainly using humor, this one pulled me in with real heart and depth. I've always thought hunting was for the most part a Good Thing, but after reading this book I'm quite a bit more appreciative about it. Don't get me wrong, I'm fairly certain I don't have the stomach to field dress a squirrel, much less an Elk, but I can respect those who do.

The most surprising connection I made from the book was to that of the ritual animal sacrifice we read so much about in the Torah. Part of me has always had a nagging sensation that sacrificing animals was a sort of naive and barbaric ritual. Was the equation really that simple to my ancestors? Trade a cow or bird for a bit of good will? But McCaulou has given me a fresh perspective on this. The experience she has in killing and eating animals is at a much higher level of awareness and appreciation than say your typical consumer who walks in and grabs a package of meat from the shelves. Perhaps the biblical ritual of slaughtering and eating an animal had the same sort of connection for my people? After all, the animals slaughtered were most likely going to be consumed anyway, they certainly weren't be raised as pets. The intentional aspect of it all, be it hunting or ritual sacrifice, seems like it may have formed a connection with nature and G-d that's truly unique. Perhaps we're the barbaric ones for being able to consume life without giving it much thought at all?

Even if my theory is complete junk, the book I can assure is not. I found it touching, educational and one that I'm ever so glad I read.

Your Daily Dose of: How'd he do that?!

Holy. Smokes. Need I say more?

Via: PictureCorrect.com

Tuesday, April 16, 2013

Gotcha of the Day: Adobe AIR's ipa-app-store packaging produces a corrupt IPA file

A few weeks back I got a request from one of my clients to generate an iOS version of their app for use on the iPhone and iPad. No problem, I figured, as I built the original app using Adobe AIR. I figured I'd need to issue a new adt command and I'd be all set. OK, the process wasn't exactly that easy; I needed to generate a provisioning file, a certificate and jump through half a dozen other hoops on developer.apple.com, but in the end, I did indeed get the app to be packaged.

There are a number of packaging targets available, including: ipa-test, ipa-app-store and ipa-test-interpreter.

I was in test mode, so I figured I'd try ipa-test. The result was an application that would install on my iPad, yet when executed would bring up a black screen and hang there. Looking for other options I tried using ipa-test-interpreter. Whoo! This option worked perfectly on my iPad. I was able to compile, install and debug my app on iOS. I was happy.

Then it came time to submit my App to Apple. I packaged up the app using ipa-app-store and sent it on over. Within a day or two I got back a rejection notice, the app didn't start up (whoops!). In testing when I tried ipa-app-store I got the Black Screen of Death, but I just assumed that was because mere mortals weren't supposed to try to execute app-store files. This logic was totally wrong.

I fiddled with everything I could. I removed the native extension I was using. I simplified the program. No matter what I did, -target ipa-test-interpreter worked great and -target ipa-app-store resulted in an IPA that brought up a black screen and died.

Finally I reached out to Adobe support. For what seemed like weeks we went around and around on this issue. I'd explain the issue, they came back and explained it was a packing and provisioning problem. I explained that it worked fine when built using -target ipa-test-interpreter and so it couldn't be a provisioning problem. Every communication we had seemed to start of with me re-explaining the problem.

Finally, at Adobe's Request, I tried using Flash Builder instead of the low level adt commands. It worked! I proved that I could somehow produce a ipa-app-store file that functioned. But I didn't want to use Flash Builder, I wanted to use my finely crafted Makefile which utilized adt.bat.

After my Flash Builder success, the Adobe technician had me try building this example using command line tools. Again, to my shock, it worked just fine.

Looking at the example provided I realized that I was using mxml / Flex code, whereas the working code was pure ActionScript. Maybe that was the problem? I started rewriting my app in pure ActionScript. Still, when I packaged my app using ipa-app-store it failed to run. Another dead end.

Finally, I noticed a difference in the way I was building my project and the way the demo from Adobe was built. Here was my command line:

adt.bat -package -target ipa-app-store \
        -keystore cert.p12 \
        -storetype pkcs12 -storepass XXXXXXXXXXXX \
        -provisioning-profile HelloWorld.mobileprovision \
        HelloWorld.ipa HelloWorld-app.xml src/HelloWorld.swf \
        -C src icons 

And here was the version provided by the Adobe technical support rep:

adt.bat -package -target ipa-app-store \
        -keystore cert.p12 \
        -storetype pkcs12 -storepass XXXXXXXXXXXX \
        -provisioning-profile HelloWorld.mobileprovision \
        HelloWorld.ipa HelloWorld-app.xml HelloWorld.swf \

The difference? In my attempt to organize my source code I stored the HelloWorld.swf in a sub directory named src and I utilized -C to have adt properly pick it up.

To my utter amazement, if I reorganized my source code so the -C option wasn't required, it built a perfectly valid ipa-app-store IPA file. This just about blew my mind: my complex app was failing, and it was doing so all because -C was utilized in the command line arguments of the packager.

I've checked and rechecked this a number of times. I usually invoke adt.bat from Cygwin, but have gotten the exact same results with cmd.exe. I've installed the latest version of Flex and AIR and confirmed the problem.

Unfortunately, the Adobe Support Rep isn't able to recreate the issue on his side. He did say, however, he would dig into and see what he could learn.

Me, I'm happy. A few days ago I submitted a version of the app to the App Store and today it was accepted.

Monday, April 15, 2013

9 to 5, What a way to spend an evening

This past weekend we saw The Arlington Players put on 9 to 5 the musical. We did so not because we're cultured people, but for a more practical reason: one of Shira's friend's was singing in it, and we wanted to hear her.

Regardless of what got us to the show, I'm very glad we went. It was magnificent. The singing, the acting, the technical aspects, they all seemed high quality. Of course, I have no idea what I'm talking about, but I know what I like; and this I liked.

The timing of the show couldn't have been better. One of the blogs I follow recently published a piece praising Dolly Parton, the creator of the musical and the the singer of the song that started it all. With a new found respect for Parton, how could I not enjoy getting in on her production?

I'm going to have to keep an eye on future Arlington Player productions, as they're a gem in my own back yard.

And for your viewing and toe tapping pleasure, here's a mashup of the song and the movie (which inspired the musical). Ahhh, the 80's. Good times.

Eating Suishi Like A Boss

Or is that with a boss?

Either way, my cousin Andy is such an absolute cutie.

And here's a few more, because your day could use some additional cuteness.

Friday, April 12, 2013

When It's Too Nice To Stay Inside

Earlier this week it was absolutely gorgeous in the morning. The day would turn out to be 90 degrees and sunny. Hot enough that I could kvetch about the weather.

Anyway, it was too nice to stay inside and wait for my alarm to go off telling us it was time to walk to the bus. So instead, we headed out early and stopped at the Air Force Memorial. Besides the beautiful sunrise, we also got to see an Air Force drill team practicing for an upcoming ceremony, which was a special treat for our 8 year old.

This morning, by the way, the weather was back to normal, with 50 degrees and rain. Easy come, easy go.

A Poetry Inspired Mystery and Some Poem Favorites

I swiped Gary Snyder's poem Avocado out of Poem in Your Pocket and it really got me thinking. What does the inside of an Avocado pit look like, and why haven't I ever thought to cut it open before?

Here's Snyder's poem, tell me you too aren't interested in this little mystery?

The Dharma is like an Avocado!
Some parts so ripe you can’t believe it.
But it’s good.
And other parts hard and green
Without much flavor,
Pleasing those who like their eggs well-cooked.

And the skin is thin,
The great big round seed
In the middle,
Is your own Original Nature -
Pure and smooth,
Almost nobody ever splits it open
Or tries to see
If it will grow.

Hard and slippery,
It looks like
You should plant it – but then
It shoots out thru the
fingers -

gets away.

And the answer:

My first thought: awwww shucks, that's not as impressive as I'd hoped. And my second thought, I wonder if I can eat it? The answer is yes. In fact, some say it's quite healthy for you.

Speaking of poetry, two favorites that I've recently listened to from Poem of the Day are If We Were Honest by Albert Goldbarth and All You Did by Kay Ryan. Both deliciously surprising; If We Were Honest is too true, and All You Did has absolutely wonderful imagery.

Thursday, April 11, 2013

Review: The Year of Learning Dangerously: Adventures in Homeschooling

I pretty much knew the story arc of The Year of Learning Dangerously: Adventures in Homeschooling by Quinn Cummings after scanning the first two pages of the book. Cummings, for reasons I wasn't quite sure of yet, was going to need to home school her child, I'd get an education in the world of homeschooling and all would turn out just fine. And even with the predictable nature of the book, I found it absolutely riveting. Cummings, it turns out, is a hilarious author. I just couldn't put the book down; not in the library after I picked it up, and not at home once I started to reading it in earnest.

I'm definitely a sucker for a good expirementation book. What better way to turn both the good and bad parts of an experience into something useful? Most of the experiences outlined in the book were both humorous and educational. Cummings lost me a bit when she attended (snuck into?) a number of fundamentalist Christian events, as that seemed like she was gathering fodder for her book and not genuinely interested in adopting their practices. Still, this gave me another view into the homeschooling world, so I'm appreciative.

It's actually only fairly recently (within a few years) that I learned how controversial homeschooling can be. Perhaps that's because I've known so few (if any?) people who were homeschooled, so it was almost other-world concept. Cummings does a fairly good job of laying out some common concerns people raise and providing sane responses to them. She also gives us a peek at the dark side of home schooling where kids can be deprived of information, and it can be used for downright evil purposes. She also does a solid job of not bashing traditional school, and lays out a strong case for frustrated teachers who feel like they don't actually get to teach.

Without giving away the ending of the book, I will mention that I very much like Cummings' prescription for eduction. To her, it's not about whether homeschooling is better than the traditional classroom, it's about combining the best that each environment has to offer. "School" may be 2 days spent in a standard classroom, a couple of days at home working on math and weekends attending an an online French course taught by a teacher in Paris. This trend matches up to our work environments, where being at the office all the time doesn't always make sense (unless you work at Yahoo!, of course). The challenge with this vision, of course, is scalability. We have enough to juggle with our 8 year old, I can't imagine also adding "craft and execute educational curriculum" to the list.

I have to admit, Cummings vision does tickle the entrepreneurial side of my brain. She confirms a hunch I've had for a long time which is that eduction doesn't have to be considered and solved solely on a massive state or federal level. If one mom can make a difference with one child, then one smart entrepreneur should be able to do the same thing. If our educational system is broken, we don't need to wait for someone else to solve the problem, any one person can start on it today.

Wednesday, April 10, 2013

Launching an Android App from an Adobe AIR App

A while back I figured out how to setup an Adobe AIR app as an Android Device's launcher. Surprisingly, the tricky part of that project was figuring out how I can allow my customer to remove the app as launcher when they are done testing. I'm able to use adb to install and uninstall the app at will, but as tools go, that is way too complicated for my client to figure out.

While rocking out last night it hit me: if I could convince my AIR app to launch the Android Package Manager app, then my client could trivially uninstall our launcher app. After all, installing a new launcher doesn't take away any functionality, it just removes access to it. One hitch: to my knowledge the AIR SDK doesn't offer an API call I could invoke to kick off the package manager. But, as the music was blaring, I had my second epiphany: I bet I could use some magic URL convention to kick off the specific app I had in mind.

I spent the morning Googling around looking for Android specific URI prefixes. After all, if tel: would kick off the dialer, maybe there's some similar convention for apps themselves?

My first clue came with this comment:

Alternatively, there is the "intent:" scheme. This allows you to describe nearly any Intent as a URI, which the browser will try to launch when clicked. To build such a scheme, the best way is to just write the code to construct the Intent you want launched, and then print the result of intent.toUri(Intent.URI_INTENT_SCHEME).

Aha! There is a magic URI structure, it seems, and it starts with intent:. As I continued to Google around, I had no luck finding the syntax for this seemingly useful URI structure.

And then I found my second clue. Buried in this answer was the following snippet:

 <a href="intent:#Intent;action=android.intent.action.VIEW;category=android.intent.c‌​ategory.DEFAULT;category=android.intent.category.BROWSABLE;package=com.test.proje‌​ct;end">Click link to launch</a>

It wasn't much to go on, but at least gave me hope and clue what a intent: URI looked like.

After much experimentation I finally arrived at:

var url:String = ("intent:#Intent;" +
                  "action=android.intent.action.MAIN;" +
                  "category=android.intent.category.LAUNCHER;" +
                  "component=com.android.settings/.Settings;" +
navigateToURL(new URLRequest(url));

To my shock, it worked flawlessly!

I found the values to set for action, category and component by watching the log output of adb.exe logcat while pressing the "Settings" icon on my tablet.

The above syntax should be extensible to invoke pretty much any intent you want. I'm really surprised I wasn't able to find any documentation on this, as it seems hugely powerful.

By the way, Plan B was to examine this native extension, and expand on it to add in invocation or uninstall capabilities. Though, it looks like that won't be necessary.

Rock'n It Out With Fleetwood Mac

Last night we were able to attend the Fleetwood Mac concert at the Verizon Center. Here's a few thoughts on it:

  • Wow, I had no idea the range of the band! From classic rock and roll to the folksy / country music, they definitely expanded my view of what they can play.
  • Wow, they are impossibly old. And of course, more power to them! Seriously, the the drummer and bass player looked like they were filming an AARP or ED commercial. Still, they put on a rocking show with real heart.
  • I think the Verizon Center is shrinking. When we attended a U2 concert back in 2005 the venue seemed absolutely massive. Even though we were in the upper deck last night, it still felt like we had a fine view of the stage.
  • About 15 minutes into the concert I found myself thinking: Hmmmm, man this is loud, I should really have brought earplugs. That's not good. I can still picture the sign in Mr. McBean's classroom in high school: "If it's too loud, you're too old."
  • Recording technology has really improved. My toy little MP3 player barely captured U2, while the soundcloud app last night was able to do a much better job. There are some audio clips below.
  • They played some new music. Good for them stepping out of their comfort zones to make something new.
  • Stevie Nicks sings like an angel. And true to the stereotype, the male members of the band look like seniors, while she looks like she's actively waging war against the aging process. And for the most part, winning. Man, it's nice to be a guy sometimes.

We really did have a good time and I got a fresh appreciation for this band.

Here are some pics and some sound caps. Enjoy!

Tuesday, April 09, 2013

Two Lovers, Just Hanging Around

Sure, it's not as impressive as Rossyln getting Yarn Bombed, but these two lovers (or brother and sister?) dangling from a tree have their own appeal:

Who put them there and why? What do they mean? Are they culturally significant, or just an attempt to pass the time and beautiful the neighborhood?

I suppose I'll never know the answers to these questions. I just appreciate random visual gifts like this as we walk through our neighborhood. It's like you get a little bonus for paying extra close attention to your surroundings.

What's your explanation for these figures dangling from a tree branch?

If I Had A $1,000,000

....I could buy this bus stop:

I give you the 1 Million Dollar Bus Stop. Apparently many Arlingtonians are not impressed. So unimpressed that they've paused development on building future super stops like this one.

Apparently the bus stop is such a symbol of waste and poor execution that it's been picked up by the national media. Whoops.

Personally, I don't know enough about the project to be outraged. I'm just curious if I can get internet access on the video screens?

Oh, and if I had a $1,000,000 I'd Be Rich. Obviously.

Monday, April 08, 2013

Around Arlington, First Sunny Weekend In Forever Edition

Remnants of the Separate but Equal philosophy? Apparently, I'm not the first to notice this.

The Clarendon War Memorial - boom!

Mmmmm...spoon, yummy!

Spring has sprung!

Us soaking up some much needed rays!

Arlington Cemetery, Some Assembly Still Required

As we were out and about this weekend, I thought it would be a good idea to capture a few more "before" photos of the Navy Annex being torn down and the adjacent parking lot being turned into cemetery space. It's hard to believe that all this concrete and mud is one day going to be lush, green sacred ground. But that's what they tell us.

Hopefully these will make for some impressive before and after shots. I've just got to be patient to capture the after photos.

Friday, April 05, 2013

Gotch of the Day: fcsh fails to execute

It's been years, but I'm still using fcsh to compile my ActionScript related apps, be they Flex or AIR based. And usually, fcsh just works. Except for recently, it has stopped executing properly.

At first I thought it must be some sort of emacs glitch, where I usually run fcsh. But, opening up a generic cmd.exe gave me the following error:

Error loading: c:\tools\java\jre7\bin\server\jvm.dll

I checked the usual suspects:

  • The DLL above exists and I have permission to read it
  • My JAVA_HOME variable is set properly
  • I tried setting my JAVA_HOME variable to both the JDK and JRE I have installed on my computer

Finally I fired up ProcMon to try to get a sense of what fcsh.exe was actually doing. I noticed that it was accessing a jvm.config file in the same directory as the fcsh.exe binary. That got me thinking: what if my own JAVA_HOME setting was somehow conflicting with something in there.

I went ahead and unset JAVA_HOME in my system environment. To my shock, fcsh.exe went back to working.

I think that's the first time in my life where having a sane value for JAVA_HOME was actually causing problems, not fixing them.

By the way, I did some checking: my hypothesis about jvm.config conflicting with JAVA_HOME is totally false. I can move that file out of the way, and as long as I've got JAVA_HOME set, the fcsh doesn't work. While the hypothesis was wrong, it was indeed enough to get me to the right answer (or to a work around). I'll take it!

Thursday, April 04, 2013

Behold! The Power of Googly Eyes!

I said I liked Concrete Crickets because they were a simple and clever project with big impact. Well, here's an even simpler little public art stunt: Eye Bombing. All you need is a package of Googly Eyes and some serious imagination.

Given the right context (say, putting up Googly Eyes around the house), I think this would make for a really fun kids activity.

Makes me want order a set of eyes and see where I can place them...

Via: Web Urbanist

Two Sound Ideas: Auralization and Audio Graffiti

Exploriment pointed me to this "song" of the day: Uranus: NASA - Voyager Space Sounds . The idea is to map electromagnetic waves gathered by the Voyager 1 & 2 probes and convert them to music. It's eerie stuff, give it a listen.

From there, I found this playlist which has 16 or so examples of mapping data collected in space to music. One of those videos, however, talks about this process of "visualizing" data using sound and it's definitely worth 4 minutes of your time:

Using the right visualization, or in this case, auralization can make simplify understanding data, recognizing patterns and discovering trends. The classic example of mapping data to sound is the Geiger counter. Though my favorite auralization has to be the now defunct Unix Peep Networking Monitoring Tool. While I never managed to fully set this system up, the concept was brilliant. The application would map network events to sounds you hear in the great outdoors. For example:

Peep represents discrete events by playing a single natural sound every time the event occurs, such as a bird chirp or a woodpecker's peck. The sounds we chose are short and staccato in nature and easily distinguishable by the listener. Additionally, we noted that certain events tend to occur together and found it convenient to assign them complementary sounds. While monitoring incoming and outgoing email on our network, we noticed that the two events were often grouped together, since both types of email were usually transferred in a single session between mail servers. To better represent this coupling between incoming and outgoing email events and make the representation sound more natural, we used the sounds of two conversing birds. Thus, a flood of incoming and outgoing email sounds like a sequence of call and response, making the sound `imagery' both more faithful to our network's behavior, as well as more pleasing to the ear.

Just think: you walk into your office and hear a gentle stream running, and the cicadas chirping away and you know your webserver is running fine. When you start hearing a downpour and bursts of thunder you know you better investigate to see if the mail server is getting slammed by traffic.

It's a shame peep never took off. With the computer processing power we have now, just imagine what kind of eco system you could create and tasks you could monitor?

On a related note, I just recently caught this story on PRX about Concrete Crickets. And what's a Concrete Cricket? Glad you asked:

New Yorkers are hearing things these days — and it is coming from the bushes.

It is the sound of concrete crickets, little devices created by artist Michael Dory that play bits of music and make cricket-like sounds. Dory hides small sound devices in containers around the city, similar to the way graffiti artists spray paint their art on walls without asking anyone's consent.

The crickets are just loud enough for passersby to hear. And like their namesake, the crickets stop chirping when the curious draw too close — thanks to motion sensors Dory installed in them.

It's almost like reverse geocaching: the cache invites people to search for it, rather than the other way around. As art projects go, part of me likes it very much. It's low tech, clever, and simple. A little burst of audio in the right context is going to have a huge impact. On the other hand, I could see how this sort of thing could turn into a nuisance in a hurry. Graffiti, I can be beautiful, inspiring and meaningful, or just plain corrosive. The same could apply to aural graffiti, I suppose.

Now, if you'll excuse me, I need to go listen to Uranus. (Oy, middle school potty humor - sorry, I simply couldn't resist.)