Captured at Wegmans. It's a big 'ol Back To School sign over bags and bags and bags of candy.
Explain.
Captured at Wegmans. It's a big 'ol Back To School sign over bags and bags and bags of candy.
Explain.
Tonight, for desert, we tried Crumbs Bakery in Clarendon. And by "tried," I mean the 4 of us destroyed a sampler pack. It was quite delicious as you might imagine. As a bonus, I learned that Crumbs is certified Kosher, which is a nice bonus.
Here are some before and after pictures. To our credit, we didn't eat the paper wrappers, plastic container or ribbon. I'm proud of us.
I wanted a lightweight webserver to run on my netbook, and I wanted to download it while using my cell phone's data connection. Grabbing xampp was tempting, but overkill for my needs, and a bit of a tall order for my T-mobile connection.
I Googled around and quickly found Mongoose. I downloaded mongoose.exe, which was tiny at 128kb, and ran the following:
mongoose.exe -r . -p 80
To my amazement, I was able to visit http://localhost/ in my browser and instantly the files I wanted to server were available.
No installer to deal with. No configuration files to setup. Just Instant Workingness. I'm sold.
As a bonus, because I was using my Android's hotspot functionality to connect to the web, my cell phone was able to browse my netbook's mongoose server. I just needed to run ipconfig to find out what IP my cell phone had handed to my netbook, and then visit that IP in my phone's web browser. Surprisingly simple and effective.
The Waffle House Indicator is a litmus test that Craig Fuguate with FEMA uses to determine the severity of a natural disaster:
"The Waffle House," according to the Journal, "spends almost nothing on advertising, [and] has built a marketing strategy around the goodwill gained from being open when customers are most desperate."
...
"Green means the restaurant is serving a full menu, a signal that damage in an area is limited and the lights are on. Yellow means a limited menu, indicating power from a generator, at best, and low food supplies. Red means the restaurant is closed, a sign of severe damage in the area or unsafe conditions."
Brilliant and simple. I love it.
And you know that if The Wall Street Journal, NPR, SurvivalistBoards.com and Kottke.org all cover the story, it's got to be good.
Which neatly brings me to one indicator of my own: when I see the same topic, presented in a similar way, from the very-right-leaning SurivalistBoards.com and the very-left-leaning buzzfeed.com I know I should take note. Doesn't happen frequently, but when it does, you better as heck watch out.
Saw this and thought about my dad:
Two old men were fishing off of a bridge as they had done for many years. Suddenly a funeral procession came down the road. One old man reeled in his line,laid down his pole,faced the street and bowed his head until the procession had passed. He then picked up his pole and started fishing again. The other man was amazed and stated " I did not know you were that religious." The other said,"Its the Least I could do we've been married 42 years!!"
The other day, Shira I were out for a walk. We realized that our Android phones were disagreeing about the distance we were covering. Both of us had kicked off MyTracks at the same time. To add to the mix, Shira also had her pedometer on her, so we could compare that too.
After covering 1.5 miles, as marked by official looking signage on the Martha Custis Trail, here's where each of our devices stood:
| Device | Displayed Distance | % Off |
|---|---|---|
| Ben's G2: | 2.01 Miles | 34% |
| Shira's MyTouch 4G: | 3.18 Miles | 89% |
| Shira's Omron Go Smart Tri-Axis Pedometer: | 1.6 Miles | 6% |
The results here really surprised me. First, it never occurred to me that either GPS based device would be so far off, and that Shira's MyTouch would exhibit any different behavior than mine. Oh, it's probably worth mentioning that we've seen these odd results before, though never measured them. And there wasn't any tree cover or anything else blocking clean satellite reception.
Also, I'm quite impressed with Shira's pedometer. It's hard to believe that a compact, $30 device, would so smoke two Android phones. For many outdoor applications, the Omron appears to be a most excellent choice. Add a map and compass, and you'd really be in good shape.
I may try to troubleshoot this more. There must be an app out there that tells me how accurate the GPS thinks it is. Perhaps something is off?
I'm making my way through 6 Easy Pieces, a sort of Physics Sampler by Richard Feyman. Early in the first chapter he offers up a bit of a thought experiement:
If, in some cataclysm, all of scientific knowledge were to be destroyed, and only one sentence passed on to the next generations of creatures, what statement would contain the most information in the fewest words?
His answer:
I believe it is the atomic hypothesis (or the atomic fact, or whatever you wish to call it) that all things are made of atoms—little particles that move around in perpetual motion, attracting each other when they are a little distance apart, but repelling upon being squeezed into one another. In that one sentence, you will see, there is an enormous amount of information about the world, if just a little imagination and thinking are applied.
A little research shows that pondering this question isn't a new idea. With that said, shortly after I read the above quote, I started thinking what the one statement I'd want to pass on to programmers if such a cataclysm was upon us. After rolling this over in my head, here's what I've come up with:
A programmer's job is to create abstractions. An abstraction should have the following properties:
- It should be concise yet, expressive to use.
- The implementation should be hidden and irrelevant to the programmer using it.
- The implementation should built using abstractions.
Hardly one sentence. And of course, it doesn't explain what an abstraction is (it could be a function, class, macro, word, definition, etc. depending on the programming language you're using). Still, I think the above does capture what programmers strive to do - whether they are writing assembly code, or working with jQuery.
What would your one statement be to all programmer-kind?
I finally got around to reading up on Racket Places, one of the mechanisms the Racket team is now offering to support parallelism. It seems they followed the Erlang share-nothing, communicate by messaging passing, model. This is a good thing, because as Erlang has demonstrated, it provides a sane way of programming massively parallel systems.
After reading the Places paper though, I was initially a bit disappointed. I would have a preferred a Scheme'ier solution, one that was based on thunks and not modules; one that allowed for lexical scope and the arbitrary passing of types, not just immutable ones. On the other hand, though, these constraints do serve to simplify matters dramatically for the programmer. One essentially gets to think of a Place as a clean virtual machine running a specific module, which make for easier reasoning.
It also seems to me that the limitations setup by Places means that implementing a Remote-Places facility would be relatively easy. That is, instead of just providing a module and starting function, one could provide a hostname as well. This would setup the Place on the remote machine, and create communication channel between the hosts. In an Amazon EC2 context, where bringing up new servers is trivial, this sort of functionality could be absolutely key. I could even imagine a facility where Places are automatically distributed among hosts, depending on the load of the machine.
I suppose the biggest gotcha is that code to be run on the machine would need to be deployed ahead of time. But, theoretically, this could be worked around as well, having the system copy itself.
If I get some free time, I may have to give this concept a try, as it seems like the Racket team has done all the heavy lifting.
Finally, I'm not quite sure what to make of this statement which comes in the comparison section of the paper:
Erlang’s typical programming model has many more processes than CPU cores and extensive message exchange, while places are designed to be used one place per CPU core and with less message-passing traffic.
In a relatively small, single use program (say, running a benchmark), I can see how you would meet this recommendation. But when the program gets complex, how would one do this? Suppose I'm writing a module to query an Amazon Simple Database. Rather than say:
(for/list ([q queries])
(sdb-query q))
I'd like to say something like:
(for/list/parallel ([q queries]) (sdb-query q))
In my imaginary scenario, sdb-query gets run in its own Place. Depending on how many queries I'm processing and how often I'm processing them, I would imagine I'd definitely violate the 1-place-per-core recommendation. I suppose I'll to have to wait and see on this a bit, perhaps some real world examples of Places will be available to play with.
If there's one thing I took away from the Places effort it's that adding parallelism is tricky business. I suspect this is an evolving topic, and I'm excited to see where they take it. This is certainly a step in the right direction, and as usual, the Racket team really delivers.
Today, Shira and I did about 6 miles on the Cross Country Trail, a 40 mile trail that runs North to South through Fairfax. It's definitely a gem in the area. While it's 20 minutes from Arlington, you feel like your hiking in some distant wilderness. Definitely worth checking out.
It's always fun getting a chance to play dress up. Our good friends got married at National Harbor, where the weather kindly cooperated. We had an absolutely wonderful time. The pictures just don't do justice to how beautiful my wife was (not that she's not beautiful every day). What a thrill it was, standing next to such a gorgeous woman.
My favorite flashlight just became even more favoritier. The Photon X-Light Micro is my preferred flashlight for pretty much everything - from backpacking to every day carry. And it's easy to see why: it's tiny, lightweight, has a number of useful different modes (from simple dimming, to strobe modes useful when walking on bike trails in the evening) and most importantly - it's super bright.
While checking out the REI reviews, I learned about another cool feature:
In addition to all of its well-known features, there is an undocumented one that many users might like. It is a setting that forces the light to turn off after 2.5 minutes of use. The purpose is to save the battery in case it gets turned on accidentally. To engage this mode, you need to:
1) press the button rapidly 6 times, which puts the light into "signal mode."
2) Then press and hold the button for about 5 seconds until the light goes out (this takes the light back out of "signal mode").
3) Continue holding the button for another 5 seconds until there is a brief flash of light.
Now the light is in "auto off" mode.
While the auto off mode is cool, I've actually found that I prefer to keep the flashlight in signal mode. This functionality is actually documented in the manual (who reads the manual for a key-chain flashlight??). It means that now the light can't accidentally turn on in my pocket and burn out its batteries. At the same time, it's still just a button press away from being useful.
I'm definitely not a flashaholic, but I have tried a bunch of lights, and this one is definitely the winner so far (even compared to other Photon lights) .
Some glimpses from a walk we took yesterday near 4 Mile Run. Taken with my Android G2's fisheye lens.
I'm working on developing a custom map using Google's Map API, and finding ImageMagick's convert command to be invaluable.
Developing a custom map means generating a potentially thousands of scaled and tiled images. convert almost makes this too easy to do.
Here's a few recipes I've used so far:
# Convert a PDF to a PNG at a resolution given by 'density' convert.exe -density 7 base.pdf base_007.png # [1] convert.exe -density 100 base.pdf base_100.png # [2] convert.exe -density 800 base.pdf base_800.png # [3]
In each of the above cases, I'm generating a .png from the high quality PDF file. By varying the density, I can control the resulting PNG file. In my case, [1] generates a 256 pixel wide image, while [3] generates a 28,800 pixel image.
# Slice an image into 256x256 tiles convert -crop 256x256 map.png tiles/map.png
The above command may not look like much, but the result is a tiles directory filled with 256x256 images. The file name is map-N.png, which I'll no doubt write a script to convert to map-Tx-Ty.png, where Tx and Ty are the appropriate tile coordinates.
# Convert a rectangular image to a square one convert.exe map.png -background "#CCCCCC" \ -resize 256x256 -background "#CCCCCC" \ -compose Copy -gravity center -extent 256x256 \ map_square.png
In the Google Maps examples, the base map used is square. To make playing with those examples, I use the above convert command to pad my images with a gray background. The above incantation was inspired by this question.
Oh, and it's probably worth mentioning that all these commands work just fine at a cygwin prompt, which is where I've been executing them.
If you want to slice and dice images, you need to learn ImageMagick. Period.
We took a walk into DC yesterday, after Hurricane Tropical rain storm Irene passed us by. A few comments about the photos below:
I've known about the Portable Hotspot capability on my Android G2 for some time. But, today I received a phone update (I'm now running Android 2.3.4), and for the first time, the functionality works.
Using Portable Hotspot is easy. You go under:
Settings > Wirless & network settings > Tethering & portable hotspot
You can set the name of the hotspot, a password and then turn the sucker on.
To my amazement, I was able to switch over to my laptop, and discover a WiFi router with the name I put into my Android settings. I connected to it, provided the password, and after a minute of negotiation between the devices, I was connected.
Does this mean I won't need the "T-mobile stick" I use to give my netbook connectivity? Not sure yet, but it's looking that way. If this really works reliably, it's going to be one killer feature.
Is that a wireless hotspot in your pocket, or are you just happy to see me? Yes, it's a hotspot.
I so can't wait to use that line.
Seriously, next time things didn't go your way, read: What's it like to have your film flop at the box office?
By about 9 PM its clear when your "candidate" has lost by a startlingly wide margin, more than you or even the most pessimistic political observers could have predicted. With a movie its much the same: trade magazines like Variety and Hollywood Reporter call the weekend winners and losers based on projections. That's when the reality of the loss sinks in, and you don't sleep the rest of the night.
If it can happen to what must have been a multi-million dollar endeavor, it can happen to you. And, your next step is going to be the same one Sean took.
Movie night...canceled...Nooooooooooooooooo! Think of the children, the children I say.
Just back from Giant super market where I picked up the essentials: raisins, crackers and cheese, chocolate pudding and candles.
Seriously, having a non-refrigerated access to cheddar cheese is critical for these trying times.
(I'm only mostly kidding - single serving, non refrigerated items are key, as who knows how long a power outage may last. And yarhzeit candles are cheap and easy lighting.)
I agree with almost everything Seth Godin has to say. His ability to write pithy and powerful blog posts is unmatched. Though, I'm not quite sure I agree with his assessment about the recent earthquake:
2. Organizations are busy evacuating buildings, even national monuments. Even though experience indicates that the most dangerous thing you can do is have tens of thousands of people run down the stairs, cram into the elevators and stand in the streets, we do it anyway. Why? Because people like to do something. Action, even ineffective action, is something societies seek out during times of uncertainty.
From my very limited experience in this area, I can tell you that there are two dangers during an emergency:
So, I agree with Seth that running shrieking from the building is a bad idea. And yeah, cramming into an elevator is an excellent way to turn a non-disaster into a full blown one. But, taking no action is just as bad.
If you had gone back to your desk, how would you have known if the building was structurally damaged? How would you know if there was a gas leak in the basement, unless you wait for the building engineer to clear the facility?
Panic is bad. But taking no action, alas, is apparently just as common for people and the results can be as devastating.
My guess is that Seth and I probably agree on this: people and organizations, when faced with a emergency (the earth is shaking! the server is down! the monthly sales numbers were a disaster!) need to take calm, measured, action. Anything else, is a recipe for making the problem worse.
These days, I still prefer a command line mysql interface to anything else. And whlie I'm sure there's way more I can do with .my.cnf to make the session improved, the following has turned out to be pretty dang essential:
[mysql] prompt="\\u [\\d]> "
If you interact with mysql via the command line, take a minute to put the above in your ~/.my.cnf, I guarantee you'll thank me.
I haven't actually been to the memorial yet, but my brother David has and he sent me this photo:
He said that the memorial is quite impressive at night, and is larger than one would expect.
The MLK memorial site has as an impressive series of time lapse photos showing construction of the site. It's definitely worth checking out. Depending on the weather, your virtual tour could be a whole heck of a lot more pleasant than an actual one.
I'm sitting here hacking away when all of a sudden the house starts to shake a bit, like maybe a large truck is rumbling by the highway. And then it starts to rumble even more, and shake even more. Went on for what felt like 15 seconds?
I stepped onto the street, and met half a dozen other neighbors poking out their door. We all looked at each other with same confused looks. Earthquake? That seems to be the general agreement.
There was no damage to be seen.
Man, that was surreal.
So far, the only news of this appears on twitter.
Looks like this did happen.
And me, I've totally forgotten what the safest part of the house is in an earthquake. Time to go do a little research.
Update: Confirmed - we definitely had an earthquake. It was 5.8 - not too shabby. here's the map.
Update: And now it's 5.9. Oh, and the safest place indoors is right where you are:
Stay inside until the shaking stops and it is safe to go outside. Research has shown that most injuries occur when people inside buildings attempt to move to a different location inside the building or try to leave.The trick of finding a doorway is OK to follow, provided the doorway is load bearing and close by. The advice given suggests you want to protect yourself from glass and falling debris (like, say, the TV behind me). Apparently, there's not much you can do if your structure actually decides to collapse.
We all have our roles in this family: a few days back, David went apple picking. Then Shira turns around and bakes those apples into a most delicious apple cake. And then it's my turn: I eat it non-stop till it's all gone.
It's a tough job, but someone has to do it.
And the recipe that made this job possible: German Apple Cake. Shira added nuts on top of half the cake, which the recipe didn't call for, but I personally think only served to improve the taste further. Ice cream on top doesn't hurt either.
Seriously, this cake is a real winner. Go. Make it.