Book Review: The Disappearing Spoon

"It's a book about the periodic table of elements" got me an odd look from my wife, when asked what I was reading on my kindle. Yes, I'm a geek.

But this isn't the dry kind of chemistry book that you might imagine. This is a series of tales of history and intrigue. The author goes through the periodic table in chunks, where elements are similar, and tells the tales unique to those elements. There is a chapter on the elements that give rise to life, with another look at why Silicon based life is really fantasy. It's followed up by a chapter called the poisoner's corner, showing how one column in the periodic table is so hostile to life, and has been known to assassins for years.

There are tales about how one of the battles of WWI was fought in Colorado over a German owned mine for an element that only the German scientists had figured out that the previously thought useless element Molybdenum made an excellent hardening agent for steel. You'll learn that once Aluminum was once more precious than Gold, and why the Brits insist on having another "i" in that word. And all throughout the book you are actually getting a feeling of what the periodic table really means, as the chapters are always written as clumps; be them columns in the table, or other logical groupings.

A really fun book, that I think anyone with a curiosity about the world will enjoy.

Arduino RGB Testing

Last night I managed to get some more time on the Arduino, getting a basic color rotate working. Youtube video below:

I'm now trying to figure out a reasonable algorithm for generating colors that would simulate the rayleigh scattering that you get at sunset. I think this is going to involve a lot of trial and error to just get something that looks cool. I also need a couple of good turnable pots for dialing in colors. I think I'm going to have to check out The Shack and see what they have.

Things I still need to figure out:

  • The right way to split the 12V in for both the Arduino power and the light power
  • I think I need to add a push button to change modes, and have been thinking about doing color flashes as an indicator of which mode you are in
  • Even with the bias, Green goes bright really quick. I think I need to do some low value analog tests for brightness and calibrate accordingly.
  • The LED strips get a bit hotter than I expected, which I don't think will be an issue, but is interesting

Overall I'm having a lot of fun with this, and get excited to get an hour or two on it when I get home at nights.

Arduino-palooza

The July MHVLUG meeting (aka Arduino-palooza) is something I'm really looking forward to, if nothing other than it has finally added the extra excuse to kick me into gear to start doing something with the Arduino and RGB led light strips I got last year. The burst of energy at the beginning of squidwrench got me back dusting off my electronics knowledge last year, but after fixing a few things with the new soldering iron, the energy ran out. I put things down, and there they sat.

I've got three projects in front of me using Arduino now. The first is this RGB color lamp, which is going to support "dial a color" as well as sunrise and sunset programs. This weekend I managed to figure out enough of the transistor circuit, that the rest is pretty much just programming, and building the right case. I should have that done by the meeting on July 6th.

There are two projects after that. The first is a doorbell project, which I still need to explore the possibilities. Once I know I'm not crazy there I'll share details. The last is tapping the electronics on my stationary bike at home so that I can get the distance data out of it. That's probably the most advanced, but something I can work towards.

If you are in the greater Poughkeepsie area on July 6th, you should stop by the Adriannce library auditorium and check out all the really cool Arduino projects people are working on. It should be a blast.

A Day of Service

When I got to the Poughkeepsie Farm Project at 6:40am on Wednesday, there were already two IBMers there ahead of me, eager to start the day. It was a crisp day, barely 55 degrees yet, but with few clouds in the sky we knew it would get hot by the time we were going to break for lunch at 11:30. It took me a few minutes to setup checkin station for the IBM crew, then I joined Ray and Duane just to chat about the day.

"That's a lot of roof..."

They had both gone down and looked at the Roof of the Coop, 100' long, 15' wide, which we were going to tear off and replace today. While the Roof was only one of 3 projects for the day, it was the only one that would cause problems if it wasn't done. The carpenters and gardeners had plenty of smaller logical stopping points, but a roof is a roof. And based on the experience the PFP had with taking off another section, the tear off might take a long time.

With some last minute drops and additions our volunteer count was going to be 12 on the roof, 12 in the gardens and fields, and 7 on carpentry projects. The crews were showing up at 7, 7:30, and 8 respectively. I had decided earlier in the week that we were going to just send all the carpenters up on the roof until Dave, our roofing foreman volunteer, felt like they had the tear off under control.

About 7:10 we had our roofers largely assembled, oriented, and sent on there way. As we checked in the gardeners and got them dispatched, it was an inspiring to see all those people up on the roof in the distance. 8am rolled around, and Ray, our carpentry lead, showed back up in the checkin area. I was seriously confused, and told Ray I was going to send any remaining carpenters up onto the roof.

"Oh, the roof is already off. It came up quick. Something like 12 minutes."  We were going to do it. We'd get the roof done today.

Ray peeled off a few folks on carpentry work, and I hung out up front until I got the last of the stragglers checked in at 9am. Given that my day was going to continue to get interrupted by organizational tasks, I found the carpenters in the field working on the hoop house. As those projects were probably the ones I could most easily come and go on without disrupting their flow. We replaced the rotting wood braces on one side with metal ones, strapping together metal braces in sections of 3, then putting them up on the hoop house.

At 10:30 we were winding to completion on that project, and started moving tools to where the wood working tasks would take place. As it neared 11 I realized I needed to make the lunch area something we could actually get 35 volunteers in and seated. Susan Grove, PFP Executive Director, helped me with that.

Even though the lunch arrived a little late, everyone seemed to enjoy it. I'm sure most IBMers were fed pizza or Sam's Club sandwiches, but not our crew. We had hummus, pita, greek salad, and sea salt fries from Kavos (a local greek restaurant), and tomales from Mole Mole (a local mexican restaurant). Lunch was the time for Susan to be able to introduce everyone there to what the PFP does, and what it means to create and just and sustainable food system. Eating great food from local restaurants help reinforce that, and help connect us to the food system that we were a part of. For the garden and farm crew, they were having a direct experience in that food system. For those of us on construction, we were doing things that had been on task lists for years, because there aren't a lot of days off when it comes to running a 10 acre farm. We were helping by taking those tasks of that list so the farm team could focus on farming.

Once the volunteers were all back on task, I had about an hour breaking down the lunch area. Organizing a good event is about making everything look invisible, spaces being ready for volunteers when they get there, and being returned to their original form. It makes all the difference. And then, at 2, all my organizational tasks were done, and I could spend the rest of the day getting my hands dirty.

Dave felt like he had plenty of roofers, so I joined Ray, Warren, and Yukiko in building a locking cabinet for storing sprayers and other items in the building that was being re-roofed. Ray brought furniture grade skills to this project, and I got to pick up plenty of tips from him along the way. As the cabinet came together over the next two hours, I could see the excitement in Angela's (head farm intern, and staff lead for the carpentry projects) eyes. She's been with the farm a couple years now, and these had been on her wish list to get the coop organized.

The gardeners got to their logical stopping point around 3:30, and Wendy (co-farm manager) sent them home with words of thanks from the fields. Around 4 our cabinet was done, as were the hoop racks on casters, being built in parallel by other carpentry volunteers. And as we looked up to the roof, they were putting down the final row of shingles before the capping shingles. There were only about 6 people up on the roof now, as you were now at the time when things had to happen in series. I watched in awe, the orchestration that occurred with 4 volunteers on the roof with the capping shingles as they cruised to completion with the last nail leaving the gun at around 4:30.

And we were done. We'd accomplished most of the clean up as the projects were closing up, extra scraps stored in the coop, tools sorted and back to volunteers. The last of the roofers cleaned up their tools and ladders and I headed up to the PFP office to bask in the day, and check in with the staff up there about how it went for them. Leaving the farm at 5:30 I was pumped (I still am). I'd been there for 11 hours, but didn't feel tired at all. I managed not to really get sun burned, and the soreness I'd feel the next day would feel really good.

It was a good day.

I feel a little sorry for the folks that didn't participate in service projects the day before the centennial. Today is going to bring a town hall, and an on site BBQ in Poughkeepsie. But for speeches people may not attend, and a free lunch, it's not much to walk away with. The experience we all had yesterday, showing what amazing people work at the company, that for me is our real centennial celebration. Our celebration of service.

What is computer programming?

As this blog post on needing a programming language for regular folks is making the rounds, I realized that most people don't really understand what computer programming is. Computer programming is about creating clear instructions. You would think that with 50,000 years of communication under our belts, we'd be pretty good at that. But, it turns out we aren't.

Think about the last time you tried to explain something to someone, like a cooking technique. You probably demonstrated it to the person, because as humans we learn very well by example. And we should, we have an entire class of brain cells dedicated to that. Computers don't learn by example.

You may also have tried to teach them by analogy, by explaining that this is like something else they've done before. Computers don't learn by analogy.

The thing you probably did not do is write down detailed step by step instructions and leave them to their own devices. And even if you did, that's still not quite computer programming, because computers don't have judgement. You can follow a simple recipe because there are many things that are understood, like cut out the bad parts of the tomato, or don't burn yourself when taking the dish out of the oven.

A computer is not a mind, even though we can make them intelligence of a sort. It takes very careful forethought to make a computer do something specific. Over time, like with any skill, it becomes second nature. But to people from the outside, it's not. It seems like magic and mysticism.

Plenty of people think they want programming to be in English, and I can assure you that you don't. We already have it, it's called the Legal Code. If you've ever glazed over 30 words in to a legal agreement it's because you ran head long into the challenge that English, like all natural languages, was never meant to stand on its own. Removing the ambiguities that make English a great spoken language, take a lot of care and craft, like defining the meaning of the word "is", and using terms like heretofore. And, even all of that, still doesn't provide something that really stands on it's own. Legal Code can only be understood in the context of Legal precedence, and anyone that thinks they can find a loop-hole in a license without knowing the case law, doesn't understand how the law works at all. This is why we have very specialized languages in computer programming that are very good at being explicit, and ensuring you don't hand ambiguities to the computer.

Computer programming is a skill, like any advanced skill, that takes a long time to develop. I have friends who have deep and wondrous skills in woodworking, which amaze me. But just like computer programming, their skills were not learned in a few weekends, it was a life long love of a medium that made them the master craftsmen they are today. If you are diving into this space, rejoice, as you'll be able to do amazing things. But just don't throw up your hands early and complain that this is too hard. That "feeling stupid" moment means you a learning, and that your brain is expanding. And, in the 21st century, computer programming is a skill that will take you far.

Update (6/14): My friend Nick has a good complementary piece to this over on his blog.

IBM's Day of Service at the Poughkeepsie Farm Project

Thursday is the IBM Centennial, when IBM as a company turns 100 years old. It's a pretty amazing thing. I've got my own set of reflections on that which will come later, because my brain is currently entirely focussed on what comes first: the IBM Day of Service.

This year all IBMers were asked to pledge at least 8 hours of service to their communities, and if possible, to do that service on June 15th, the last day of the first century of IBM. Through a series of fortuitous happenings I got involved as a service leader for this day, organizing 3 projects at the Poughkeepsie Farm Project. On Wednesday we'll have 30 volunteers at the farm starting at 7am. I've already interacted quite a bit with some amazing volunteers who are helping in the planning to make this possible, and it just puts me in awe at how many truly talented and giving people work at the company. We are seriously going to kick ass and take names on Wednesday, and do a lot of great work for a great organization.

I'm also really happy to be introducing so many new IBMers to the PFP. When I signed up for leading these projects I assumed I'd largely be picking up IBMers already associated with the farm. But, much to my surprise, the ranks are filled with people not associated with the farm at all. Many have never been to the location, and didn't even know it existed. The folks that have gotten involved early have really gotten invested in the organization already, and it's my hope that at least a few of them will become long term volunteers as part of the organization once they see the work the PFP does in the community.

We're going to kick off this great day of service on Wednesday with a Walkway event on Tuesday afternoon, so starting about 2:30 tomorrow, I'm full time service volunteer until Thursday rolls around, and we celebrate 100 years on site in Poughkeepsie.

Pictures will be forthcoming, as well as more reflections once my brain can switch gears again. Now just a few last minute things to take care of in preparation of the day...

CMS vs. Wiki

This past week we had the second meeting of the Hudson Valley Drupalers, over at Marist College, which was really impressive. Vonn gave an overview of some of the really amazing things you can do with Taxonomy in Drupal, which I'd not even thought about. It was incredibly inspiring, and making me think about how I've created content types in all my sites, and how to do it better. And it's really gotten me thinking.

At work we largely work with Wikis. Over the years I've been really a big supporter of wikis (heck, the wiki that our division uses is one that I started for our department years ago that got successful enough for our infrastructure folks to take over), but as I watch a current effort to organize some information on an internal wiki, I see how tough it really is. Wiki is largely a write only medium. Yes, with lots of effort, you can create something like Wikipedia. But you have to remember that 100x more effort goes into editing to keep it consistent then the initial content creation. Content Management Systems are really read mostly media. You only get to change a small amount of the page, then that content is sliced and diced in many ways throughout the system. This may seem like a trivial distinction, but when it comes to organizing information, the power of that slicing and dicing is huge. There doesn't need to be only one way to see the data, there can be many ways in, and many ways through.

Maybe it's time to try to introduce the CMS model in our area, and see if it would help productivity. I might make that a "Think Friday" activity once the Day of Service is over. The wiki experiment from 2004 took this path, and eventually got adopted on a broader scale.

Spirit of Dutchess Awards

Last month I was nominated for a Spirit of Dutchess Award for the effort that I've done with the Poughkeepsie Farm Project. It's something I'm very honored by. There are nearly 30 nominees, and all are quite impressive. In a field as good as that I finally understand the phrase "it's an honor just to be nominated". This letter to the editor (skip past the Harold Camping one) in the Poughkeepsie Journal drove that point home even more.

Tomorrow is the luncheon for the awards, which I'm really looking forward to. I've got no allusions that I'll be one of the few winners from this field, but I am looking forward to participating in such a celebration of service in our county.

Happiness is a clear dark night

Tonight I got in the first real night of observing since a series of equipment upgrades this April. Yes, it took until June to actually get in a clear dark night. The views of Saturn don't really count, as I was doing those with plenty of moon. There were lots of really great views tonight from off my deck, but the thing that blew my socks off was the 2 Globular Clusters in Hercules (M13 and M92). The combination of a laser alignment tool for my optics, light baffling inside my scope, and a new focuser that lets me really dial in a tight focus, made these objects just amaze me.

You are looking at a cloud of stars, hundreds of thousands, that are the core of a galaxy eaten up by the milky way billions of years ago. But with all the improvements the number of individual stars you can make out in that cloud goes way up. They shine like jewel boxes in the sky. I just sat there in awe, and took in the night.