Politics, Programming and Possibilities
11 Jul
Intel CEO Andy Grove published an article at The American called, “Our Electric Future” in which he suggests energy independence is not only the wrong goal, but actually impossible to achieve in an increasingly global economy.
He suggests, rather, that our goal should be “energy resilience”—meaning we should be focused on shifting to electricity as our primary “energy source” since it is possible to create electricity from many different sources (e.g. wind, solar, diesel, oceans, etc.)
From a software engineering perspective, this makes a lot of sense—it’s like building a properly decoupled system where each layer can act on its own. For example, software engineers know that the “model, view, controller” paradigm is a useful one because it is important to be able to represent data in multiple ways—as charts, or as graphs, for instance, as well as in a spreadsheet or on printed paper. In Grove’s terms, this is “data resilience”, meaning that the data can be used to render multiple views without restructuring or re-writing the models.
Sounds good, Mr. Grove! Let’s work toward energy resilience (get your car converted to electric?
).
10 Jul
I hand-delivered the following letter to Senator Orrin Hatch’s office on July 4th last week:
Dear Senator Hatch:
Please reverse your position in defending bills of retroactive immunity for the telecommunication companies that broke the law while possibly helping in the fight against terrorism.
I understand the need for protection, and I can sympathize somewhat with your intentions, but I see more danger in the path you are pursuing than in the path laid out by our fore-bearers. Their path is a strict adherence to the laws of the land with no means of retroactively assigning guilt or innocence by changing the law.
I would like to focus for just a moment on Article 1, Section 9 of the Consitution which reads: “No … Ex Post Facto law shall be passed.” It is vital that our society retain its respect for the rule of law–and to do so, we must respect the highest law of the land, namely the Constitution which we celebrate this week. If you decide to continue to support this idea of retroactive immunity, you will succeed for a moment in the war against terror, at the price of undermining the principle of a free society in the long run.
Think about the consequences of this precedent. If an individual knows his rights, and defends them in front of a government agent such as the police, or the FBI, or the CIA, what can that individual do in response to the following? The agent could say, “The law you are familiar with is no longer valid. It will be changed next year.” Whether or not the statement is true, a precedent like this retroactive immunity for telecom companies will cloud justice and obscure our most sure rights. Or worse, a company or corporation that has sway with the legislative body could ask that its past transgressions be swept under the carpet. Where is justice then? To whom can we, as a people, look for an example of integrity and justice if not from our highest court, the representatives of the people, our lawmakers?
Senators everywhere are being asked to represent us, the people of America, in this decision. Will they be loyal to the President, or will they be loyal to our Constitution? I hope it is to the latter.
I hope our Senators are able to refuse or else filibuster this awful piece of legislation.
9 Jul
Scott Thorpe read my last post about my green wireless access point and we got to talking about wireless, self-healing “mesh” networks at the community level: it turns out that several open-source solutions are already around!
A website dedicated to supporting these free community wireless networks, cuwireless.net, has an interesting kit available to create a weather-proof outdoor access point.
I haven’t been able to find any Provo-based wifi networks based on this idea yet. Are there any Provo-ites out there who might be interested in building a network / mesh like this?
Update: Scott has posted a blog about our conversation too.
9 Jul
One of my projects over the last year has been to build a “green” server. The idea is that I can have an always-on file server and wireless network access point that relies 100% on solar energy.
I started by building a solar panel and battery charge system using a sealed 12 V deep-cycle battery. It’s one heavy sucker! I connected a Xantrex C35 Charge-Load controller to it, and then connected that via a long, heavy-duty electrical wire to a 60-watt solar panel outside our back door.
Finally, I have a 2000 watt Maxx SST power inverter that converts the 12 V power to 110 V AC (i.e. like a wall-socket). The total cost for the system came to about $500. It’s probably even cheaper now, since prices for solar components have been dropping.
Yesterday, I re-assembled all of the parts and mounted them to our office desk so that they aren’t lying all over the room. I’m pretty happy with the result! This allows us to plug in our wireless router and Qwest DSL modem into our now “green” power source…
As a somewhat unexpected boost to my ego, we had a power outage this morning that caused all of our neighbors’ wireless routers to go offline… meanwhile, our little wireless that could kept on chugging away. Since we have DSL, the phone company keeps us connected as long as we have an alternate power source. How cool is that?
8 Jul
My brother, Dan, and his fiancee Elizabeth came to Provo about a week and a half ago to hang out with us (ok, maybe not just for us… Elizabeth came down to attend a conference).
We went to a music festival in Salt Lake City, and ate at Carrabbas for dinner. We also saw a fire off of I-80 that we caught on video (I mentioned the fire in another blog post). Overall, a fun, fun time! Thanks guys!
Dan & Elizabeth Visit Provo from Duane Johnson on Vimeo.
P.S. Dan made most of the music video while he was here, and I finished it up. He used iMovie HD which, I must say, is soooo much better than the newer iMovie ‘08 (Apple, what the heck are you doing?)
8 Jul
Even though I like development in Rails, I’ve been frustrated at times with the whole Rails deployment rigamarole. The joy of Rails for me, however, comes primarily from its underlying language, Ruby, so I’ve been thinking about ways around Rails.
There are a number of up-and-coming solutions to the problem of deploying Rails, but one of the simplest has been around the longest: eRuby. Basically, this is a way to use Ruby like you would PHP… embedded in HTML files using <%= and %>. Another way to think of it is Rails without controllers.
I recently wrote an eRuby Howto at A Small Orange hosting. The “howto” describes how I set up my shared account.
If you’re interested in an inexpensive hosting solution for Ruby, or if you just want a reliable and friendly hosting solution, may I recommend
A Small Orange? I have had nothing but good experiences with their responsive support department, and I am quite happy with their shared hosting service. I also get a small referral credit if you sign up via one of the links in this blog entry.
I may be writing a little more about simple eRuby solutions to problems in the future.
3 Jul
I’m sure that something like this has made the rounds before, but I’ve recently started to think about what makes code “beautiful” in the same sense that prose can be beautiful. How do you capture another programmer’s attention? What should you avoid if you don’t want your coworkers’ eyes to glaze over when they see your code? In short, what guidelines should we, as programmers, follow if we want our code to be well-received by other programmers?
Here is a short list that I’ve thought of so far. Please feel free to add to or improve on these points. I will probably do the same by updating this list later.
2 Jul
Ok, it’s a little silly… but I really like Firefox.

It’s a certificate that says I successfully downloaded Firefox 3 on Jun 17, 2008, thus helping set a Guinness record for most downloads in a 24 hour period ![]()
The total for the day came to 8,002,530!
29 Jun
While traveling to AA Calister’s (which turned out to be closed on Saturday evenings) Kelty and my brother Dan and I saw a huge fire off of I-80 in Salt Lake City. Since we weren’t actually on the freeway, we had the opportunity to get up close and catch it on camera. Here are some photos. I have some video, too, which I will post soon.

27 Jun
After winning the Republican primary last month, B. J. Lawson is now up against his Democratic rival, Mr. Price, in the general election. We need to give him the resources to win this, and bring another voice of steadfast constitutional government to Congress.
Please join me in supporting B. J.’s bid by donating this Sunday (Jun. 29th) to the Lawson Liberty Fund (i.e. donate via his Lawson for Congress website).
Imagine what power we the people wield if you and I (who have nothing to do with North Carolina) are yet willing to fund this campaign because we know that Liberty upheld over there will affect our own liberty here—in other words, if we are willing to support good women and men unilaterally on principle, rather than on location.
The lobbyists have been unilaterally supporting congressional seats for years—but for profit, not on principle. And now, it’s possible to do something about that, via the internet. We can make a difference, and maybe even reverse the lobbying trend by collectively supporting educated and principled people who know and believe in the constitution. I say, let’s do it!
If you’d like to get to know Lawson and Price a bit, watch the fourth video on the site to see Mr. Price fail to answer the question, “Did you read the bills (Patriot Act, HR 1955 etc.) before you voted in favor of them?” It’s awesome!
Liberty is Priceless!