I'm blogging about programming, but ... hey look over there - it's something shiny!
Friday, January 23, 2009
Fun things to do with Google - Track UPS Packages
A little known feature of Google is that you can enter a tracking number for UPS packages and it will take you to the UPS site and show the package status. Google recognizes many forms of tracking numbers and tries to do the right thing.
Wednesday, January 21, 2009
Agile Boot Camp with Headspring Systems
Last week I attended Headsprings' Agile Boot Camp class taught by Matt Hinze.
Before the class I'd hear "Blah, Blah, Blah, Dependency Injection, Blah, Blah, Blah, Program to Abstractions, Blah, Blah, Blah, RhinoMocks, Blah, Blah, Blah, StructureMap, Blah, Blah, Blah, Inversion of Control. I had a vague idea of the concepts, but not how they fit together.
I struggled through the beginning of the course and then in the afternoon of the third day, the clouds parted, music swelled, and the pure sunshine of agile testing shone through and slapped my face.
I'll post another entry to give an overview of the concepts that struck me most. The labs were the perfect length, not too long as to be too time consuming, but technical enough to show the concept succinctly. I highly recommend the course if you are interested in bringing your skills to the next level.
Monday, December 15, 2008
TimeWarner Tuning Adapter hits Austin Texas
Last Friday I got the call from Time Warner that the Tivo Tuning Adapters (TA) had finally arrived. After work, I rushed to the TW office to get mine. After waiting an hour or so, I took it home, hooked it up, and nothing happened.
Searching the forums, I learned that the tuning adapter's green light should be solid, mine was blinking - a sign that all was not well. After rebooting the TA and my TiVo in various combinations, I gave up and called tech support. After sending two ill-fated reset signals to the TA, the rep scheduled a truck roll in the morning.
Not content, I tried various reboot combinations. Maddeningly after a while the TA would get a solid green light, but my TiVo did not know that the TA was ready. So I'd reboot the TA, the TiVo would see the TA there, try to test channels and fail since the green light was still flashing. When the green light stopped flashing, the TiVo didn't know it was there.
This combination finally worked:
1. Reboot the Tuning Adapter. Wait for the green light to stop flashing. 10 minutes?
2. Reboot the TiVo. The Tivo does not know that the TA is ready. (This step may be optional).
3. Unplug the USB connector from the TA to the TiVo, wait a few seconds and plug back in. This sends a signal to the TiVo that the TA is ready.
4. TiVo can now test the TA signal.
Worked for me.
Searching the forums, I learned that the tuning adapter's green light should be solid, mine was blinking - a sign that all was not well. After rebooting the TA and my TiVo in various combinations, I gave up and called tech support. After sending two ill-fated reset signals to the TA, the rep scheduled a truck roll in the morning.
Not content, I tried various reboot combinations. Maddeningly after a while the TA would get a solid green light, but my TiVo did not know that the TA was ready. So I'd reboot the TA, the TiVo would see the TA there, try to test channels and fail since the green light was still flashing. When the green light stopped flashing, the TiVo didn't know it was there.
This combination finally worked:
1. Reboot the Tuning Adapter. Wait for the green light to stop flashing. 10 minutes?
2. Reboot the TiVo. The Tivo does not know that the TA is ready. (This step may be optional).
3. Unplug the USB connector from the TA to the TiVo, wait a few seconds and plug back in. This sends a signal to the TiVo that the TA is ready.
4. TiVo can now test the TA signal.
Worked for me.
Wednesday, December 10, 2008
Major Version Upgrade with No User Downtime Using Virtuals Machines
This last week we upgraded our web-based software to a new major version without any downtime for our users. It was a great success. This only works if the databases backing the site are upwardly compatible. Here's the steps:
1. It all started last year when we hosted our application in a virtual machine (who doesn't these days anyway) even though our application was the only one running on the server.
2. On each of the production boxes we recently installed a parallel shadow virtual machine and loaded the new version of the software. We created test copies of the databases on our database server farm.
3. We created a shadow farm address (www.siteB.OurFarm.com instead of www.siteA.OurFarm.com) in our local router/load balancer and pointed the siteB domain to our shadow virtuals. Since all the nunit and functional tests were all done in our internal test farm, this round of testing was for configuration issues (can all the machines see all the databases? Can the farm machines see each other? Can outside users hit all the shadow boxes?).
4. We upgraded the databases on the live system by adding our new tables. The old system ran on the upgraded databases, but did not use all the tables. We incrementally pointed our shadow virtuals to the three live databases and tested them.
5. On the big transition day, we simply switched our domain address "SiteA" to point to our new shadow virtuals and all was golden.
PostScript: If any errors had occurred with the new version, we could back out by pointing "SiteA" back to the original servers (assuming no damage to the databases). We had made copies of the databases before had so we could switch back to them if something had corrupted the databases.
Tuesday, December 09, 2008
Austin .Net User's Group Meeting
Aaron Erickson talked about optimizing LINQ seach through customizing the "Where" clause with the Expression Tree feature of C#3.0. The talk on how i4o worked interesting, but as usual some of the more enlightening bits are revealed through side comments and questions. The audience agreed that LINQ-to-SQL is in it's death throes, to be replaced by, perhaps one day, the Entity Framework. For today, use NHibernate.
Out of sixty people, only two admitted to be VB programmers, everyone else was C#.
Out of sixty people, only two admitted to be VB programmers, everyone else was C#.
Wednesday, December 03, 2008
Let's Buy GM and Give It To the UAW
From our friend Michael Moore about the woes of the big three auto makers:
"Let me just state the obvious: Every single dollar Congress gives these three companies will be flushed right down the toilet."
I'd agree with Michael for once, but he recommends that the government buy all the outstanding shares of GM - currently at a bargain of $3 billion dollars and take over the company. Bad Idea. The government is really bad at running any business.
Instead of the $36 billion dollars bailout, let's spend $3 billion to buy the company and give it to the UAW. That way we don't have to hear the UAW whine about how all the problems of GM are the result of bad management. The UAW could show the world how it could build quality cars just like the Japanese.
"Let me just state the obvious: Every single dollar Congress gives these three companies will be flushed right down the toilet."
I'd agree with Michael for once, but he recommends that the government buy all the outstanding shares of GM - currently at a bargain of $3 billion dollars and take over the company. Bad Idea. The government is really bad at running any business.
Instead of the $36 billion dollars bailout, let's spend $3 billion to buy the company and give it to the UAW. That way we don't have to hear the UAW whine about how all the problems of GM are the result of bad management. The UAW could show the world how it could build quality cars just like the Japanese.
Tuesday, November 25, 2008
Oceans Ten Times More Acidic Than Thought
National Geographic has a curious article entitled, Oceans Ten Times More Acidic Than Thought" that contains so many errors it's difficult to know where to begin. For starters, the title implies that the ocean is ten times more acidic that previously thought, like it slipped from 6.5 to 5.5pH, catching researchers off guard. In reality, it's the increase in acidity that is ten times higher than some climate model predicted. Perhaps a better title would have been, "Global Warming Model Incorrect By an Order of Magnitude".
The word "Oceans" in the title implies many of our oceans have increased acidity, but the article cleanly states the research applies to the ocean around one island (or perhaps "Oceans" in the title needs a possessive apostrophe).
A whale of a contradiction in the article is "...carbon dioxide dissolves in the oceans it forms carbonic acid, which in turn has a negative impact on marine life.", but later the article claims, "Larger mussels and barnacles suffered, leaving smaller barnacles and some calcium-based seaweeds better off."
Increased acidity doesn't have a negative impact on all marine life. Under almost any change in environment, some species will do better and other will flounder.
The article ends with a stinging quote: "This is typical of so many climate studies—almost without exception things are turning out to be worse than we originally thought." This clearly is a call to the readers to do something about the tsunami of impending climate change. Although it could be argued from the article that there's something fishy with these climate models which can't make accurate predictions.
The whole article should be taken with a grain of salt.
Subscribe to:
Posts (Atom)