Saturday, April 19, 2008

Watching TV on Your PC via Hulu.com



I spent a few minutes with Hulu this Saturday. Hulu is easy to use and has a wealth of old and new TV shows. I appreciate the Firefly and Babylon5 reruns there. Commercials adorn the front of the show, which isn't bad, but clickable banner ads appear at the bottom of the running show which is annoying.
Now if I could just pipe the hulu stream to my Tivos.

Free Web Filtering with OpenDNS

Since I have young kids at home I've used web filtering software, but it's been very slow to load. When a browser opened for the first time, the nanny software would load a bunch of restricted sites and this would take a long time.
I've been using OpenDNS for a few months at home and it's very zippy. OpenDNS works on a different principle. You set the DNS server for your machine (the computer which converts urls like "www.fincher.org" to "208.97.191.221") to be the OpenDNS server. OpenDNS then does filtering based on the categories you have set.

The URLs in the blocked categories are from a public project that votes on how sites should be categorized.
Other niceties:
1. OpenDNS is advertised as being faster than your ISPs domain name server
2. It corrects typos in urls ("cnn.co" is mapped to "cnn.com")
3. You can create your own shortcuts ("go" is "google.com")
4. Reports are available on DNS usage

Check it out at OpenDNS.com

Tuesday, April 08, 2008

Biogasoline Breakthrough Using Cellulose Feedstock

Researchers have made a breakthrough in creating biogasoline from renewable cellulose like switchgrass and trees. The final product is almost indistinguishable from gasoline made from crude oil. Most energy research has been focused on converting corn and cellulose to ethanol, but ethanol has several problems:
1. By volume ethanol only has 70% of gasoline's energy, so cars will only go 70% as far on a tank
2. Ethanol cannot be transported by pipelines since it collects water in the pipelines so this makes distribution more expensive
3. Pure ethanol cannot be used in cold climates
4. Cars must be modified to use ethanol
Using biogasoline gets around all these problems.

We don't need to produce all our gasoline this way, but even if we could make 10-15% it would take pressure off the price of gasoline.
This new biogasoline could tide us over until eestor's "batteries" are available in the Chevy Volt and we go all electric.

Monday, April 07, 2008

Using IntelliSense with Nant Files in Visual Studio 2005

I've been hacking at some build files to integrate with CruiseControl.Net lately. I finally took the time to research how to have intellisense with the build files in Visual Studio 2005. It's easy - really.

1. Copy the Nant.xsd file into Visual Studio's Schema directory:

copy C:\opt\nant\nant-0.85\schema\nant.xsd "C:\Program Files\Microsoft Visual Studio 8\Xml\Schemas"


2. Look at the Nant.xsd to copy the namespace into your build files.
Inside my version of Nant.xsd the second line was:

<xs:schema xmlns:nant="http://nant.sf.net/release/0.85/nant.xsd" elementFormDefault="qualified" targetNamespace="http://nant.sf.net/release/0.85/nant.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">

So I added the namespace to the "project" element of my build file.

<project name="Scythe" basedir="." xmlns="http://nant.sf.net/release/0.85/nant.xsd">

If you haven't already set your build file to be XML you need to right-click on the build file, select "Open With...", and use "XML Editor".
Now intellisense gives me hints on what I can put in the nant file.
Enjoy.

Tuesday, March 25, 2008

A Complaint is a Gift



One of the great faults of software groups is that we assume if we don't hear from our customers, they are happy. This is a lie from hell.

How happy are you with Windows? Have you ever called Bill Gates? I rest my case.

We need to strive to improve feedback with our software customers. I uninstalled Skype from my work machine today (something about corporate policy and security). I was pleasantly surprised to see in my firefox browser a page from Skype entitled, "We're really sorry to see you go. Did you have problems? We can help." This shows a great attitude that Skype really cares about its customers and improving their product.
A complaint really is a gift, and we need to accept these gifts graciously and learn from them.
One of the new things in our application I put in this release is a link to a wiki for suggestions and feedback. Now instead of steaming that a page didn't remember previous settings a user can go to the wiki and document their needs while fresh in their mind. It's an easy thing to do and a great way to get feedback, although actually talking with your customers is the best idea.

Tuesday, March 11, 2008

Creating Favicons Online

http://www.MayanPeriodic.com
I recently found a wonderful site for creating favicons, you know, those cute itsy-bitsy images that appear to the left of your tab uhm, you are using tabs?.
It's www.favicon.cc. I uploaded a graphic like this one to the site and it converted it to a tiny little favicon. Check it out at http://www.MayanPeriodic.com.

Friday, March 07, 2008

Butterflies and Stored Procedures

butterfly
The Monarch caterpillar eats the poisonous milkweed plant so as an adult the butterfly is quite toxic to birds. A young bird will eat the butterfly and be so repulsed by the taste will not try to eat another in its lifetime. Some other species of butterflys mimic the color of the Monarch even though they are not poisonous, but quite tasty to birds. But a young bird after tasting the dreadful Monarch will not eat its counterfeit.
I'm like that with stored procedures. In one of my early projects stored procedures left a bad taste in my mouth. Stored procedures were cumbersome to code, difficult to synchronize across multiple databases and they always seemed to be out of sync with version control. Looking back all those issues could have be averted with better build management, but stored procedures left a bad taste in my mouth.
Today, one of my programmers came up with a good case for a stored procedure. He is working on one program that interfaces with a database, but many other programs are constantly changing the database. Currently they all issue a series of sql commands to affect a change in the database, but if one of the programs fails to get all the sql commands for a change correct, the database will be in an unsteady state.
Better to use a stored procedure to ensure consistency across the applications.
Maybe that first butterfly was a fluke.