« December 2007 | Main | February 2008 »

January 31, 2008

Starting a High Tech Business: The Rude Dog Demo and Working Code

Kynetx
Logo

I’m starting a new business called Kynetx. As I go through some of the things I do, I’m planning to blog them. The whole series will be here. This is the eighth installment. You may find my efforts instructive. Or you may know a better way—if so, please let me know!

I have a friend who has a way with words and has started his share of high-tech businesses. I asked him his advice on getting started and Dan said "Welp, you gotta get yourself a rude dog demo!"

What he meant is that you can't just start a business with an idea. You've got to have something to show people. The demo doesn't have to be too pretty (that's the "rude dog" part) but it does have to demonstrate your idea and your ability to execute it.

For some applications, you might get by with a PowerPoint mock-up of your UI, but I believe that to raise serious money for a high-tech company, you need to have working code. Nothing else will do.

Paul Alstrom, a friend of mine, who's also one of the managing partners of vSpring Capital talks about nailing and scaling. VCs don't won't give you money to "nail" your idea (although angels might). VCs want to put money into proven ideas that need capital to scale. The more you have that shows your idea is solid, the closer you are to securing capital.

Working code has heft. It turns ideas into action. Code makes ideas come alive. Try telling someone about your idea. Then show them a demo. Watch what happens to their eyes. I love how the lights go on when someone can see something work.

Working code also instills discipline in the founding team and forces you to "get real." Once you sit down, start cutting code, and making things work, you suddenly start finding holes in your original idea and ways to improve it even more.

This was written about open source projects, but I think it applies to start-ups as well:

The best way to start an open source project is with code. Working code. Hack away at home on weekends, maybe get a couple of friends to help you out, and don't go public until you have something to show people that does something interesting, and that other people can use to build more interesting stuff on top of. You need this for a bunch of different reasons: it establishes the original contributor's bona fides in the open-source meritocracy, it shortcuts all sorts of damaging debates about coding styles and architecture that can stop a project before it starts, and so on.

Most importantly, though: working code attracts people who want to code. Design documents attract people who want to talk about coding. I've seen what happens on projects that start with no code and a commitment to produce a design. Some of the procession of UML diagrams were really well put together, but that's about the extent of it.

From The Fishbowl: Finding Discord in Harmony
Referenced Thu Jan 31 2008 21:52:29 GMT-0700 (MST)

Working code gives the rest of the people on your team something to use for leverage in their thinking. Seeing things come to life is a sure way to spark ideas.

What if you don't know how to code? Then you need a founder who does. See my earlier post on why you need a CTO. If you don't have founders who can cut code, you have no business starting a high-tech business. That may sound harsh, but I believe it's true.

The hard part of producing "working code" is defining "working." How close to production does it need to be? For a "rude dog demo" not very. It's probably more important that the UI be pretty than the guts be complete. It may be running on your laptop and need a month of work to get ready for production. That's OK for the demo part.

Eventually you have two choices: throw it away and build the real thing or morph what you've got into the real thing. For Kynetx, I've designed the engine so that all the pieces are there, including a plug-in architecture, and the difference between the production version and the demo version is filling in the holes rather than rewriting what's already done. That took more work, but we wanted to progress from "rude dog demo" to "alpha customer ready" pretty quickly.

I'm here to tell you: nothing made Kynetx seem more real than having code we could call our own. Ideas are not assets, but code is. And assets are ultimately what you leverage to make any high-tech business work.

10:03 PM | Comments () | Recommend This | Print This

January 30, 2008

Arc Is Released

Paul Graham has released Arc, his new language.

Arc is still a work in progress. We've done little more than take a snapshot of the code and put it online. I spent a fews days cleaning up inconsistencies, but it's still in the semi-finished state most software is, full of hacks and note-to-self comments about fixing them.
From Arc's Out
Referenced Wed Jan 30 2008 16:21:31 GMT-0700 (MST)

Paul mentions Arc in a number of his essays:

Paul wrote HackerNews in Arc as a "big project" to shake out the bugs and design issues.

Arc runs on top of mzscheme and is decidedly Lispy. What did you expect from the guy who wrote two of the leading books on Lisp and is one of it's biggest champions.

I think it's very cool that programming languages continue to be developed and that new ideas keep popping out of the woodwork. Many people are surprised by this, but programming languages are not technologies. They are notations--notations that can come alive and animate bits and atoms. There will always be a need for new and better notations.

4:40 PM | Comments () | Recommend This | Print This

January 29, 2008

Ping vs Sun

A few days ago, someone at Sun made a video that poked some fun at Ping Identity (disclosure, I'm on their advisory board--I think--it's been a long time). Ping fired back with a humorous video of their own. Heck, if they both keep acting like this, the world's going to have to pay attention to federation, just for entertainment value alone!

1:55 PM | Comments () | Recommend This | Print This

Putting ICE on Your Cell

A great tip from David Stephenson: Keep ICE in Your Cell Phone! Basically the idea is simple, put "in case of emergency" contacts into your phone's contact list as ICE-1, ICE-2, etc. That way, emergency responders can look in your cell phone to find out who to contact. Of course, they have to know to do this, so we need to get a critical mass of people doing it and get a little traction. I'm in.

10:05 AM | Comments () | Recommend This | Print This

January 28, 2008

Time for Fry's in Utah

Now that CompUSA is closing, there are no decent places in Utah to buy electronics. Not that CompUSA was a dream store by any means, but at least it was something. There's BestBuy and Circuit City, but they're not the same--they just don't have a good assortment of disks, video cards, cases, memory, etc.

Scott Lemon has begun a campaign to convince Fry's Electronics to open a store in Utah. He's proposing we send them emails asking them to locate a store here. Here's the message:

To: feedback@frys.com; service@outpost.com; press@outpost.com
Subject: Open a Fry's Electronics in Utah

Body: I am writing to you to request that you consider opening a Fry's Electronic store here in Utah. I am part of a large and growing community of people who can appreciate the value that your store could bring to our state. With the closure of CompUSA, we are now left with no real source for electronic and technology products. The Utah population is continuing to grow, and many large retailers - like Ikea - are moving into the state. Please consider our state as a great location for the next Fry's Electronics store that you open, and feel free to contact me if there is anything I can do to support your efforts to open here.

Or, if you're lazy, just click this link:

Click here for the Fry’s Electronics in Utah e-mail message!

You probably ought to personalize it a little. :-)

3:55 PM | Comments () | Recommend This | Print This

January 24, 2008

CTO Breakfast Report for January

Scott Lemon shows off his XO Laptop
Scott Lemon shows off his XO Laptop
(click to enlarge)

We started off this morning discussing AsteriskNow, an easy install of the Asterisk VoIP system. Scott Lemon and I talked to Jared Smith a while back on that. Apparently it's pretty easy to set up and get working. Scott claims 3 hours start to finish.

I brought up ProQuo, a service that aims to stop junk mail. I signed up on Halloween and I've got to say I've noticed a real drop in the amount of junk mail I get. Score one for us!

Scott brought his XO laptop and so did Bruce. This was the first time either one had had their laptop near another one. They found each other and established a mesh network that we could see from other Wi-Fi devices. We experimented with seeing whether they'd see each other or not. They're little, light, and pretty cute.

XO Laptop
XO Laptop
(click to enlarge)

There's a 1Gb solid state drive. The keyboard is too small for my large hands. The software seems a little crude. With software updates available, getting the hardware right seems like the highest priority.

We got into a discussion of the impact that putting lots of these into developing countries is likely to have. The Hole in the Wall PC has some lessons. I think it will pull gappers into the core. That's good.

I brought up my Christmas hacking project of building a family information center from an old iMac. It's gone well. The kids have taken to it and use it all the time. One of the things we like best on it is FlickrFan.

I'd asked Scott to give a short demo on writing Facebook applications. The whole thing is based on Facebook making Restful callbacks to an application you write. There are tons of configuration options and FBML (Facebook markup language) let's you give your applications a Facebook look and feel. The development libraries Facebook provides (in various language flavors) provide good interfaces to their data and services. It was a good demo and writing FB apps seems quite easy.

10:56 AM | Comments () | Recommend This | Print This

January 23, 2008

Utah Election and Caucus Information

UTCCapitol220
Utah Capitol Building
(click to enlarge)

Utah will participate in the Super Tuesday presidential primary on February 5th (as do 23 other states). Then on March 25th, we'll hold the regular statewide caucus meetings to elect delegates to the state conventions later in the year. I'm Republican Precinct Chair for Lindon 4. I'll let you know where the caucus meeting will be held when I have that information. In the meantime, here's some important dates:

  • Jan 29 - Last day for walk-in registration - Last minute voter registration is available for the new voter to register in person at the County Elections office located at 100 E Center, Suite 3100 in Provo. Hours: Monday - Friday, 8 a.m. - 5 p.m. If you're not registered yet, there's still a few days left.
  • Jan 22 - Feb 1 - Early Voting - There are two locations in Utah County (other counties call he Elections Office at 801-851-8128):

    • Utah County Building, 100 E Center St Rm. L900 (basement level), Provo Hours: Now - Feb 1st Weekdays 8 - 5 p.m.
    • American Fork Library, 64 S 100 E, American Fork Hours: Now - Jan 31st 3 -7 p.m. and Feb 1st 12 - 5 p.m.

    Any registered voter may vote at either of these locations during the Early Voting period. To be eligible to Early Vote you must show a picture ID. Having to show ID is stupid, but I don't make the rules.

  • Feb 5 - Presidential Primary - Click for election locations. If you have any questions you may call the Elections Office at 801-851-8128.

  • Mar 25 - Statewide Republican Party Caucuses - Statewide caucuses on Tuesday, March 25 at 7 p.m. The election of a delegate is the first step in the partisan election process in Utah.

    The delegates elected in a precinct will hold the power to vote on behalf of the approximately 1250 voters in their precinct at the statewide party conventions in May. If enough citizens don't turn out, a few "special interest" people end up controlling the vote for delegates -- if special interest people become the delegates, they won't represent the interests of the majority of the precinct. Please come.

    Precinct boundaries have changed in some areas, please check your registration cards sent to you to verify your new precinct information. If you have any questions about your precinct boundaries, call the Elections Office 801-851-8128 or check online.

In Utah, where the Republican candidate wins 80-90% of the time, participating in the process to choose the candidate is extremely important. If you just show up and vote in November, you're not really doing much. Be part of the process.

8:56 PM | Comments () | Recommend This | Print This

January 22, 2008

CTO Breakfast on Thursday!

This Thursday is the CTO Breakfast! We've got a few really cool things lined up:

  • Scott Lemon is going to give a short tutorial on writing Facebook applications
  • Scott also is going to bring his XO Laptop (one laptop per child)

OK, so basically, it's the Scott Lemon show. But I'm sure it will lead to plenty of good discussion. So come prepared to learn and to talk about the cool things you've seen since last we met.

The breakfast is at the Novell Cafeteria (Building G). It's not as far as you think! Really. I promise. Try it and see. You can find directions here.

The meetings begin at 8am and generally last until 9:30 or so. Here are the future dates:

  • Feb 28 (Thursday)
  • Mar 27 (Thursday)
  • Apr 17 (Thursday)
  • May 30 (Friday)

There's a Google calendar of the CTO Breakfast for your convenience.

9:45 PM | Comments () | Recommend This | Print This

Managing Spotlight and Memory Usage

Apple Logo

Over the weekend, I reloaded Leopard. If you remember, I was forced to upgrade to Leopard by a bad Tiger update a few months ago. My preferred method of upgrading is to wipe the disk, do a fresh install, and then restore my applications and personal files from backup. Due to the circumstances of the situation I was in, I didn't get to do that. I decided that the three day weekend presented the perfect opportunity.

The install and restore went fine and I was soon running a squeaky fresh copy of Leopard.

I'm in the habit of running Activity Monitor to see where the CPU and memory are being used and I noticed that mds, the utility that manages Spotlight, was taking almost 250Mb of RAM. Now, I don't use Spotlight enough to justify it taking one quarter of a Gig of memory, so I investigated. Here's what I did.

First, since I'd just reinstalled, I decided to blow away the old index and do a new one. I did this at the terminal:

bash> sudo mdutil -i off /Volumes/Windley

bash> sudo mdutil -E /Volumes/Windley

bash> sudo mdutil -i on /Volumes/Windley

The first command turns indexing off for a given volume--in this case my boot volume. The last command turns it back on. The middle command erases the index for the named volume. As soon as I issued the last command, the system started rebuilding the index. That took a few hours.

Once the index was rebuilt, I restarted mds with the following commands:

bash> sudo launchctl unload \\
      /System/Library/LaunchDaemons/com.apple.metadata.mds.plist

bash> sudo launchctl load \\
      /System/Library/LaunchDaemons/com.apple.metadata.mds.plist

When mds restarted it didn't use much memory at all. Each call to Spotlight increased its memory usage, but it's no where near 250Mb. I've noticed that OSX applications tend to hold memory until another application needs it, so sometimes you can look full, but still have plenty of memory.

mds is fluctuating between 30 and 100Mb now. That's still a lot of memory for something I rarely use, but it's manageable. If you want to completely disable Spotlight in Leopard, add the -w switch to the launchctl unload command in the last code block to write the configuration back out to disk. Then don't run the launchctl load command. That turns off mds completely.

As an aside, the reason I don't use Spotlight much is because I love Quicksilver. Here's a brief tutorial on Quicksilver.

8:35 AM | Comments () | Recommend This | Print This

January 18, 2008

Perl Testing

I didn't grow up in an era where testing was as well though of as it is now. When I learned to program, you ran a few tests after the fact and threw it over the wall to the QA department. Not very politically correct in today's software engineering world.

As a result, I understand the value of testing and support the idea intellectually, but I don't have the discipline.

Recently I was faced with the problem of building code that translated a domain specific language (KRL) back and forth between three different representations:

KRL Representations and
Transformations

The textual representation is what people read and write. The JSON representation is what machines (other programs) will read and write. The abstract syntax (a Perl data structure) is what will be interpreted.

I quickly realized that getting this right--and convincing myself of that--would require something more than some ad hoc testing. So, I decided to mechanize.

I knew that Perl had testing facilities--anyone who's built a library has seen that. So, I had to figure out how they worked. I found these resources handy:

Here's what I did:

  • Wrote a collection of test programs in KRL. These can be expanded as needed, as I think of things to test.
  • Built a test script for running each of those programs through a round trip through the parser and pretty printer. If the text matches (modulo whitespace) it's OK
  • Built another test script for running each of these programs through a round trip all the way to the JSON representation and back.

I also added test scripts for each module in the system as well as a few scripts to check for developer issues--thanks to petdance (PDF).

I used the petdance smoke script to run all the tests in Test::Harness. I modified the petdance rule.t script to check for Perl programming best practices like always having use strict at the front of every Perl program in the collection.

I also wrote a use.t script that goes through the entire collection of Perl modules and programs, gathers a unique list of every library they use, and then checks for availability on the current machine.

Now, I can flesh out this framework with other tests as they come to me or I run into problems. It feels good.

3:21 PM | Comments () | Recommend This | Print This

January 17, 2008

Passing on the Macbook Air

A number of people have given various objections to the Macbook Air (MBA): small drive, no firewire, no ethernet port, and so on. I can live with all of those. I'd get one primarily for travel, so I don't mind the small drive. I've been using disks over 801.11N with my MBP for months and won't miss an ethernet or firewire port. Further, I'm intrigued by the solid state drive.

So, the MBA looks like the perfect travel machine with one exception: there's no 3G card. Huh!?! Further, because there's no Express/34 slot, I can't use the card I already have. I'd have to go get one of those USB soap-on-a-rope aircards. Ugh!

Now, if I could tether to my iPhone and use the network from there--I'd be OK. But, alas, you can't do that without jailbreaking the iPhone. So, for now, I'm passing on the MBA.

11:39 AM | Comments () | Recommend This | Print This

Kynetx Making Progress

Kynetx
Logo

I now have evidence that Kynetx is gaining momentum: I got my first call from an Indian "business process outsourcer" today asking if we had any programming work we wanted to outsource. They answer, by the way, is no.

While I do believe that there is a role for outsourced programming and many places where it works very well, I don't foresee Kynetx doing much because of how I like to work. I build "two-pizza" teams--a programming team that you can feed lunch to with only two pizzas and I like my programmers close by. I think there is much to be gained by building small, high-culture teams and I'm willing to pay for that.

8:34 AM | Comments () | Recommend This | Print This

January 16, 2008

Scheme and Ruby

Duane Johnson pointed me to a very interesting discussion on Y Combinator about the differences between Scheme and Ruby. This is an excellent discussion--not a flame war--that I found enlightening. The summary, if you don't want to read the discussion thread:

  • Ruby closures are more complex
  • Macros, macros, macros...

Can't say enough about macros. Every language besides Lisp and it's close relatives trade macros for complex syntax. Maybe that's a good trade-off, maybe not. Nevertheless, it is a trade-off. You can't have the full power of macros without simple (abstract) syntax that's exposed to the programmer.

Now, that I've said that, I wonder if IO's impressive reflection can do the same. Someone more enlightened than I tell me: what can't be done with reflection that can be done with macros?

I do believe that using reflection is more complex than using macros. It reminds me of poking a stick in a black box to flip a switch.

2:16 PM | Comments () | Recommend This | Print This

Colorado Abandoning Electronic Voting

Colorado will decide to abandon electronic voting in the upcoming election. I believe that ten years hence no state will support electronic voting--specifically, I think that direct-record voting machines (DRE) will be gone. The opportunities for undetectable fraud (even with reasonably large audits) in small elections are too large and cannot be solved by applying technology.

10:01 AM | Comments () | Recommend This | Print This

January 15, 2008

One Good Reason to Love the iPhone

Some people wonder why I love my iPhone. I'll give you one simple reason: In all the years I've owned mobile phones, not one ever got better as it aged. The iPhone has gotten better three times now and promises to do so in the future. Today's bump added pseudo-GPS capability (which seems to work surprisingly well), a user-manageable home page, and multiple SMS recipients.

As an aside, my update wasn't seamless. After it tried the first time, it told me I had to do a restore. That worked fine, restoring the software to the latest version and then syncing my contacts, music, and so on from iTunes. Be sure you sync before you upgrade. If you have, then a restore is no big deal--just takes a little longer.

7:18 PM | Comments () | Recommend This | Print This

Google Apps for the iPhone: Much Improved

Apple iPhone
Apple iPhone
(click to enlarge)

Since yesterday's announcement that Google had released an iPhone-ready look and feel for it's Google Apps, I've been playing with GMail and Google Reader quite a bit on the iPhone. This is a much improved experience. I'm impressed. The apps are responsive and function well on the reduced real estate of the iPhone screen.

Because GMail pre-loads recent messages, clicking on a message to read it brings it up nearly instantaneously. The address fields also auto-complete. I could see myself using GMail on the iPhone instead of the built in Mail application and getting along very nicely.

Reader still isn't my favorite way to read news. I've used NetNewsWire on the Mac for a long time and have a style of reading news that Reader just doesn't seem to support. Still, it's snappy and clean on the iPhone and that's a real plus.

8:36 AM | Comments () | Recommend This | Print This

Clips Are Back!

In the old days, you could reference a section of audio in an IT Conversations program using a handy tool that Doug Kaye created. Jon Udell was among the most frequent users of that service, but others, including yours truly, used it as well.

Then, IT Conversations started auto assembling so that the show always had fresh sponsorship promos in every show--even those from long ago. The problem is that this created variable length intros and so the excerpt, which was measured from the start of the MP3 file moved around. Not good.

Doug has fix that with a new technique: basing the excerpt timing on the start of the show body. Of course this means that the MP3 file has to care metadata about when the body starts. Doug's done that using EXTO frames inside the MP3 file. Doug's documented the process. Anyone who needs to tag variable length MP3 files will be interested.

For those not interested in the details, here's how you create a URL that points to a portion of an IT Conversations show:

  • Go to the show's detail page
  • Click the "excerpt" link
  • Enter the start and stop times

The start and stop times are relative to the beginning of the show body. You'll have to calculate that yourself just find the start and stop times on your player and then find the start of the body and subtract it. Enter the resulting times in the form and you're good. From then on, the excerpts will be right no matter how the intro changes. This excerpt FAQ will help with anything I've missed.

8:28 AM | Comments () | Recommend This | Print This

January 14, 2008

Some Major CS Conferences in Utah Coming Up

There are a number of major technical events coming up in Salt Lake City in February. It is not often that premier computer science research conferences come to Salt Lake City, as opposed to Boston, Austin, Seattle, or the Bay Area. John Carter am the General Chair of the HPCA conference and got the IEEE to locate it here. Also convinced PPoPP to co-locate their conference here. All of the events below, except the Organick Lectures, will be at the Marriott City Center in SLC (next to Gallivan Plaza downtown).

There are a number of interesting tutorials and workshops associated with HPCA or PPoPP:

There will be a joint luncheon of HPCA and PPoPP on Feb 20th at which Fran Allen will be speaking. At least for now, only people registered for the conference are invited.

1:25 PM | Comments () | Recommend This | Print This

Xen and Multiple Networks

Last Friday I asked a question about how to set up a network in Xen with a machine attached between a public and private network, like you might use in a firewall or load balancing situation. I want to be able to mimic real world networking situation in Xen for experimentation and modeling purposes.

There were numerous replies and I'm grateful for all the help. In the end, Steve Fulling (he's not as pointy haired as you though) came up with a pretty simple solution.

To use virt-install to create a bridged, public machine, you'd do something like this:

virt-install --paravirt --vcpus=1 --name $1 --ram 500 \\
             --file /var/lib/xen/images/${1}.img
             --network=bridge:eth0 \\
             --file-size 10 --nographics \\
             --location http://192.168.1.150/fedora8-i386

To use virt-install to create a private machine, you'd do something like this:

virt-install --paravirt --vcpus=1 --name $1 --ram 500 \\
             --file /var/lib/xen/images/${1}.img
             --network=network:default \\
             --file-size 10 --nographics \\
             --location http://192.168.1.150/fedora8-i386

The trick to getting a machine on both is to issue two --network commands:

virt-install --paravirt --vcpus=1 --name $1 --ram 500 \\
             --file /var/lib/xen/images/${1}.img  \\
             --network=bridge:eth0 --network=network:default \\
             --file-size 10 --nographics \\
             --location http://192.168.1.150/fedora8-i386

There are other, more complex scenarios. For example, you might want to create multiple VLANs, etc. I found these resources helpful:

10:55 AM | Comments () | Recommend This | Print This

January 11, 2008

Going to Beijing in April

I'm planning a trip to Beijing in April for WWW2008. I'm looking for other things (conferences, speaking engagements, etc.) I might combine it with in Asia to maximize the trip/time benefit. Any ideas?

2:41 PM | Comments () | Recommend This | Print This

Xen, VLANs, and Load Balancing

I want to create a setup on XEN that has one or more machines load balancing for a number of other machines on a private network. This diagram shows roughly what I'm thinking:

Xen VLAN setup

The idea is that some machines will be connected to both the public network and the private LAN and other machines will only be connected to the VLAN. This offers some security benefits and reduces the number of public IP numbers I need.

The catch is I want to do this all virtually. Does anyone know of the recommended way to do this with XEN? I can't seem to find a HOWTO guide with this kind of setup. Pointers welcome.

2:01 PM | Comments () | Recommend This | Print This

January 10, 2008

Phil's Pick of the Week: Dark Matter

My pick of the week on IT Conversations is Dark Matter: Are We Missing the Real Internet Economy? from Supernova 2007. The discussion, about money made on the Web--from exploiting inefficient ad networks using arbitrage to the downright illegal, offers a fascinating look at the dark underbelly of e-commerce.

8:21 PM | Comments () | Recommend This | Print This

Not All HD Programs Are Alike

1080i broadcast, KSL TV (local news) note: jaggies on collar
1080i broadcast, KSL TV (local news) note: jaggies on collar
(click to enlarge)

The picture to the right shows a close-up of the anchor in a local newscast from KSL-TV (channel 5 in Utah). The broadcast is advertised as 1080i (e.g. my TV claims it's a 1080i signal based on the info in the signal). If you look closely, you'll see that the collar (a nice, high-contrast diagonal line) has jaggies--stair-steps in the collar instead of a smooth line. You can see them very clearly.

1080i broadcast, KSL TV (national news) note: collar is smooth
1080i broadcast, KSL TV (national news) note: collar is smooth
(click to enlarge)

The second picture shows another broadcast on KSL-TV a few minutes later. This broadcast, of the news anchor on the Today Show (NBC's national morning show) is also allegedly 1080i as reported by my TV. If you look closely at the collar on the anchor in that broadcast, you'll notice that there are no jaggies. In fact, the national broadcast is clear as a bell.

In both cases, I was viewing the program from an over-the-air HD signal directly into the back of the TV. Also, this isn't an artifact of the camera. These pictures accurately represent what can be seen with the naked eye.

This behavior is consistent. I can view any KSL local news cast and see the jaggies. I can view any NBC national news program on the same channel and they aren't present. The TV reports 1080i programming in both instances.

Here's my question: why? Is the local broadcast not really a 1080i signal or is the signal 1080i, but something in how it was captured or processed not as high definition as the broadcast itself? I'm leaning toward the latter explanation, but I don't know anything about it. For example, maybe they're shooting with lower resolution cameras? I'm just guessing. Anyone from KSL want to comment?

I guess the third possibility is that my TV is messed up, but I don't think so. Steve Fulling has a 52 inch version of the same TV and reports the exact same phenomenon.

5:11 PM | Comments () | Recommend This | Print This

How the iPhone is Changing the Wireless Industry

Apple iPhone
Apple iPhone
(click to enlarge)

The latest issue of Wired Magazine has a great article on the iPhone: The Untold Story: How the iPhone Blew Up the Wireless Industry. Very interesting behind the scenes details and analysis. Here's the summary:

The hosannas greeting the iPhone were so overwhelming it was easy to ignore its imperfections. The initial price of $599 was too high (it has been lowered to $399). The phone runs on AT&T's poky EDGE network. Users can't perform email searches or record video. The browser won't run programs written in Java or Flash.

But none of that mattered. The iPhone cracked open the carrier-centric structure of the wireless industry and unlocked a host of benefits for consumers, developers, manufacturers --- and potentially the carriers themselves. Consumers get an easy-to-use handheld computer. And, as with the advent of the PC, the iPhone is sparking a wave of development that will make it even more powerful. In February, Jobs will release a developer's kit so that anyone can write programs for the device.

From The Untold Story: How the iPhone Blew Up the Wireless Industry
Referenced Thu Jan 10 2008 08:53:16 GMT-0700 (MST)

Last month a Net Applications survey put iPhone browsing share--that is, how many pageviews on the 'Net are from an iPhone--is at 0.09%. That may seem like a small number, but keep in mind that that means that almost one our of every thousand pages viewed on the 'Net is seen on an iPhone. That's 50% more than all Windows CE devices combined--which have been on sale for a decade.

A ComputerWorld blog by Seth Weintraub put it this way:

Obviously this doesn't translate to handset marketshare. We know there are much more than 20 million Windows Mobile devices out there. The reason that Apple's browser marketshare is higher while its unit sales are much lower is explained easily by the oft-touted Mobile Safari browser and unlimited AT&T data plan. No guilt, pleasurable, full-browser surfing.

It's not just just Windows Mobile that is getting killed by iPhone. PSP, Playstation and WebTV combined don't even come close. The Sidekick, also, only has 1/5 of the browser marketshare. Symbian? About 1/10th.

And it doesn't stop there. Desktop platforms are starting to come into the iPhone's blast radius. Windows 95 has less than a quarter of the marketshare of the iPhone. And all of the Linux variants combined, just over five times (.57%) the market. Broken out over Red Hat, Novel, Ubuntu, etc, someone is losing to the iPhone right now. At this rate, the iPhone/iPod platform should be the third largest computing platform by the end of next year. Remember, the iPod touch is only three months old. Oh, and it is Christmas.

Not a bad first five months for Apple's new handheld OSX devices.

From iPhone browsing marketshare closes in on .1% | Computerworld Blogs
Referenced Thu Jan 10 2008 08:42:30 GMT-0700 (MST)

I'll say. These numbers are evidence of the fact that the iPhone is a better mobile browser than anything that's come before. This despite the slow network (and, frankly, the slow browser).

Imagine what these numbers would look like if the iPhone were a business device!

8:46 AM | Comments () | Recommend This | Print This

January 9, 2008

Ten Four Reasons Businesses Shouldn't Use the iPhone

Apple iPhone
Apple iPhone
(click to enlarge)

CIO magazine has a piece on the 10 Reasons IT Should Not Support the Apple iPhone from Forrester Research. I realize we all like lists with numbers and ten is our favorite since we have ten fingers, but only the first four in this list are real reason. The rest are stupid. Let's look at them.

  1. The iPhone Doesn't Allow Data on the Device to be Encrypted - with all the problems businesses have with corporate data ending up on stolen or lost devices, I'd have to agree with this. Still, I'd bet the number of businesses using this feature effectively and consistently on Blackberrys and Treos is less than 20%. Maybe single digits.
  2. The iPhone Does Not Natively Support "Push" Corporate E-mail or Wireless Calendar Syncing - This one I'll give to Forrester--even though to me, and most users, I suspect it's less important than people make it out to be. Push email ought to be SMS.
  3. The iPhone Does Not Run Third-Party Applications Without Voiding Its Warranty - This one is a big one for some businesses who need to put special apps on the mobile device to enable proprietary business functions. This one won' go away with Apple's announced third party app strategy either.
  4. The iPhone Cannot be Locked or Wiped Remotely - See (1)
  5. The iPhone Lacks a Physical Keyboard - So? As I've mentioned earlier, this is a trade-off that many users might be willing to take: more screen real estate for a virtual keoyboards.
  6. The iPhone Has Limited Carrier Support Outside the United States, It's Locked Into Carriers - Again, this isn't a universal problem but one that's likely to be business and even user specific. Most users never use their phones outside their own country.
  7. The iPhone is (Very) Expensive - If I've got the budget why is it the CIO's business if I want an iPhone? I'm better qualified than the IT department to determine the best use of funds for me and my team.
  8. The iPhone Is a First-Generation Device - Again, so? It's actually been updated twice already with another expected next week. I wager that the first-gen iPhone will seem pretty nice even a few years from now while most other mobile devices are dated 3 months after you get them. Caveat: 3G support won't be a software update and that is something worth having.
  9. Apple Doesn't Offer Replacement Batteries for the iPhone - another red herring. Most users never change the battery on their phones. Ever.
  10. There's No Proof That iPhones Are Suitable Business Devices - Huh? What would constitute proof? Lots of business users using them, I guess. But Forrester says IT Departments should resist even the CEO getting one. Anyone sense some circular logic here?

Apple really doesn't care, from what I can tell, whether businesses consider their products "business devices" or not. They're not aiming for that market. The very fact that business users are begging IT departments for them in testament to the power of their design. Supporting businesses is an ugly, expensive game. I hope Apple stays away and concentrates on me.

Anyone else sense that most of these reasons smack of unreasonable and unrealistic control of the business by IT departments. No wonder business users hate the IT department. If you listen to Forrester, don't complain when other divisions hate you. There are legitimate areas of control with legitimate business purposes (data security). Mandating physical keyboards (as an example) because "we know what will make you most productive--and you don't" is pure hubris.

10:30 AM | Comments () | Recommend This | Print This

January 8, 2008

Google's Hardware Initiatives

Here's a couple of very interesting articles about Google's home grown 10Gb Ethernet switches and how it builds it's own servers.

2:05 PM | Comments () | Recommend This | Print This

January 7, 2008

Bill Gate's Last Day

This video of Bill Gate's last date, from his real last CES keynote is quite funny.

I think it's awesome that Billy G can make fun of himself like this. There are so many parts of this that just make me smile.

9:24 PM | Comments () | Recommend This | Print This

The IO Programming Language

One of my students, Duane Johnson, asked me this morning if I'd heard of the IO programming language. I hadn't. Looking around, it looks like a fun little language.

IO is a "pure" object oriented programming language with a simple syntax. IO is a prototype-based OO language. Consequently, Javascript programmers will find the sample code pretty easy to follow. IO's reflective capabilities are very impressive.

IO isn't, as far as I can tell, ready for your next programming project--yet. It's still experimental. Still, it's good to see new languages spring up. There are good ideas to be had and the best way to propagate them is by making them work.

5:10 PM | Comments () | Recommend This | Print This

Getting Free HD TV Programming

As I mentioned before, I bought a new HD TV for Christmas (a Sony 40 inch XBR4). That put me on the hunt for good sources of HD programming.

Something I overlooked for a while, and I'm sure I'm not alone, is over-the-air, free programming from local TV stations. We're so used to the "antenna == bad" school of thought that the cablecos dished out for the last twenty years that we don't even consider it.

There's no doubt that for analog television antennas almost always produced worse results than satellite or cable, but for digital, that's no longer true. In fact, I think the digital TV programming over an antenna is actually superior to the programming you get, for clarity anyway, over cable or satellite. Of course, you can't get ESPN or Discover, but that's another issue.

You might think you need a special antenna for HD programming, but that's not usually the case. It's just UHF TV. When I built my house, I had an antenna installed in the attic and a cable run down to my machine room. Turns out, that works fine. I get 30 digital channels or something with that.

Thirty is a little misleading since stations have decided to use their bandwidth differently. KSL, the local NBC affiliate, for example has one HD channel and two SD channels (all digital). KBYU, BYU's PBS affiliate, has four SD channels and no HD channel. KUED, Utah's PBS affiliate, has one HD channel and one with Spanish programming. It's all over the map.

I found one channel (30.1 if you live in Utah) that seemed to exercise some bug in my TV and caused the whole thing to lock up and turn unresponsive. I had to unplug the coax to get it back to block the channel. Now that you TV is a computer, you get bugs like that I suppose.

That said, the clarity is good and when you get a good 1080i signal, it's as good or better than anything else you can get. One thing's for sure, as more people buy TVs with higher resolution, the demand for more HD programming is going to go through the roof.

I bought an HD Tivo to decode and record digital over-the-air signals. My old Series 2 Tivo just didn't cut it anymore. The new Tivo works great for recording over-the-air programming although that's not something you'd understand very well from reading the Tivo Website. I got it 15% off at CompUSA, which is closing, if you're in the market.

One thing to keep in mind when you're shopping for an HD TV--something else I'd failed to appreciate until recently--is that just looking at the resolution (e.g. 1080p) isn't enough. Keep in mind that you're not just buying a display, you're also buying the computer that renders the picture. They are not all alike and the rendering engine makes a big difference in overall quality of the picture. Also, be sure to check out the contrast ration--higher is better--if you won't be watching it in a darkened room all the time.

As an aside, what's with Best Buy and Circuit City carrying $100 Monster HDMI cables exclusively? You can get perfectly good cables for a third of that or less other places. When I think of all the people who've been snookered by expensive HDMI cables, I cringe.

At any rate, if you haven't done it, hook a good UHF antenna up to your HD TV or Tivo and give it a go. I was pleasantly surprised.

2:19 PM | Comments () | Recommend This | Print This

Is Intuitive Always Good?

Here's a good, short artcile from Raganwald on the trade-off between intuitiveness and programming languagge expressiveness. Most of the article is a few quotes. The meat is at the bottom.

Is Ruby's for loop an improvement over Java? By how much? Ruby's big win over Java in that regard is the ease with which you can use Enumerable's collect, select, detect, and inject methods. Which, of course, are not familiar to the programmer with a grounding in for loops. They require study to understand. But once understood, they make code easier to read thereafter.

When you're building a new notation, power doesn't come from replicating the familiar. Another way to look at this: if learning a new language isn't uncomfortable or a little painful--if there's no learning curve to speak of--you aren't gaining much.

1:54 PM | Comments () | Recommend This | Print This

January 5, 2008

PodcampSLC Date has Been Moved

The podcamp scheduled in Salt Lake for January 26th has been changed to March 29th. The location, Neumont University, is the same. I'm planning on going.

1:41 PM | Comments () | Recommend This | Print This

January 4, 2008

Working With Millenials

Robert Merrill, one of the regulars at the CTO Breakfast has a great post on working with Millenials, keying off yesterday's firing of Tiffany Fallon instead of Omarosa on Celebrity Apprentice. Good stuff! That's one of the things I like about the apprentice--you can learn real lessons watching it---something I can't say for American Idol.

1:28 PM | Comments () | Recommend This | Print This

Starting a High Tech Business: Talent

Kynetx
Logo

I’m starting a new business called Kynetx. As I go through some of the things I do, I'm planning to blog them. The whole series will be here. This is the seventh installment. You may find my efforts instructive. Or you may know a better way--if so, please let me know!

Yesterday we held the first of what we call Kynetx Jam Sessions at the clubhouse. These are the meetings with some close friends and advisors who are helping us chart the initial course for Kynetx. I expect that as we get funding and ramp up, many of these folks will join us as senior management.

The discussion was incredible and we came away from the day with a much better understanding of short term directions and long term goals. Focus is the mother's milk of every startup, where every direction can seem open and inviting. We got focus in spades yesterday.

I'm grateful that there is large pool of very talented folks who I've worked with in the past who are willing, even excited, to help me flesh out this new venture. One of the best things about starting a company is that you get to pick the folks you work with. There's something about a startup that attracts talent of a very specific and useful type.

Kevin Fox announced today that he's leaving Google after 4.5 years to join a startup. Here's what he says:

Leaving Google is different than any other job I've left. Joining Google in 2003, it was the first time I took a job without knowing at the outset the reason I'd eventually leave the job (even if my employer didn't), and so it's strange to have found success there and yet feel a need for greater fulfillment sufficient to pull you away from what's generally recognized as the best workplace in America.
From Today is My Last Day at Google - Fox @ Fury
Referenced Fri Jan 04 2008 08:21:47 GMT-0700 (MST)

Kevin loves Google and yet he's willing to leave for a startup. A good idea with a go-to-market plan is a powerful elixir. It has the power to bring talented folks together to create something together.

VC's frequently say that the quality of the management team is one of the most important factors in evaluating a startups potential. As much as building a product, a good founder has to build a team.

You may be concerned about how you'll pay them. Likely the only thing you've got in abundance is equity and you may be loathe to give that up. Don't be. Good talent is worth it. Also, your passion for the project will attract folks and get them excited. Be upfront about where you are and what you expect.

Many people think the chief attraction of a startup is getting rich. Certainly people see that upside, but my experience is that people are much more excited by the shear fun of creating something new and seeing it succeed.

The moral of the story: don't go it alone. If you've got a good idea, start talking it up with people you'd like to work on it with you. Get them together and ask for their advice. You'll find that you'll get good ideas that you'd never have come up with on your own.

One last piece of advice: pay special attention to the advice you least want to hear. That's often the most valuable.

8:38 AM | Comments () | Recommend This | Print This

January 2, 2008

Top Ten IT Conversations Shows for 2007

Here's the list of the top ten shows on IT Conversations (by number of downloads) for all of 2007:

  1. Bruce Johnson - Technometria: Google Web Toolkit (Rating: 4.15)

    Recently, Google released from beta its Google Web Toolkit. Google Web Toolkit (GWT) is an open source Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers who don't speak browser quirks as a second language. Phil and Scott talk to Bruce Johnson, one if its co-creators. In addition to discussing its development, Bruce gives a number of examples of projects that took advantage of GWT.

  2. Robert Trivers - What Do We Know (Rating: 4.18)

    People lie. We lie to each other, we lie to ourselves, and these deceptions cause no end of problems for human society. In this talk from Pop!Tech 2005, biologist Robert Trivers discusses the biological basis for deception in humans and other species. He shares the evolutionary imperatives that created the skills necessary to deceive others and also explains why self-deception has a biological basis.

  3. Maryanne Wolf - Tech Nation (Rating: 3.33)

    Dr. Moira Gunn speaks with author Maryanne Wolf about how human brains have adapted since we invented writing and along with it reading.

  4. Eben Moglen - Freedom Businesses Protect Privacy (Rating: 4.54)

    Rich in linguistic play and delivered with both wit and panache, Eben Moglen's talk is an intellectual delight. Beginning with a look at the history of memory from the public recording of England's 11th century Domesday Book, Moglen leads us through the private memory palaces of 14th and 15th centuries to the problems of privacy that started with photographic technology. Convincing us that we have willingly given away our data and that those who now possess it have the right to use it, Moglen proposes voluntary data collectives as the answer.

  5. Jared Smith - Technometria: Open Source Telephony (Rating: 4.17)

    For many years, only very large businesses could afford to create and deploy innovative voice applications, such as looking up account balances or tying voice applications into their existing business applications. Now, with Asterisk and other open-source applications, the field is wide open for businesses of all different sizes. Jared Smith, Community Relations Manager of Digium, the creator and primary developer of Asterisk, the industry's first open source telephony platform, joins Phil and Scott to discuss the present and future of open source telephony.

  6. Beth Kanter - Jon Udell's Interviews with Innovators (Rating: 4.18)

    On this episode of Interviews with Innovators, Beth Kanter describes the strategies she uses to teach digital immigrants in non-profit organizations how to use Web 2.0 strategies to communicate and collaborate more effectively.

  7. Guy Kawasaki - The Art of Innovation (Rating: 4.68)

    Guy Kawasaki has a long history working in technology, both in established companies and as an entrepreneur. He worked for Apple at the time of the development of the Macintosh and later returned as an Apple Fellow. In this keynote speech, he gives what he believes are the important stages towards successful innovation. He presents the steps in both a humorous and intelligent way, showing what companies must do to be successful.

  8. Rob Levy - Tech Nation (Rating: 3.57)

    Some technology companies founded and headquartered in the United States aren't outsourcing to India and China, but are spreading technology centers around the world instead. Rob Levy, CTO of BEA Systems Inc., explains to Dr. Moira Gunn how BEA is making things work when their staff works in wildly different time zones.

  9. Vint Cerf on Technology & Digital Culture - IEEE Spectrum Radio (Rating: 3.80)

    On this edition of IEEE Spectrum Radio listen to Google's Chief Internet Evangelist Vinton Cerf speak about his favorite work of fiction. Also, hear about Spectrum's Senior Editor Tekla Perry's cell phone shopping experience , and why an old shoe box might be better storage than your hard drive. Finally, Spectrum interviews the Swedish mobile technology engineer Stig Nordqvist on his vision of future news reading.

  10. Dick Hardt - Jon Udell's Interviews with Innovators (Rating: 4.75)

    Dick Hardt, founder and CEO of Sxip Identity, has been working with the Canadian government on a new virtual ID card that will streamline online interaction among government agencies, public-sector organizations, and citizens. In this conversation with Jon Udell, Hardt explains how this new program will work, and offers perspectives on a variety of online identity issues.

I was pleased that one of my shows made the number one slot. There's a lot of interest in the Google Web Toolkit and this was a fun show to do and Bruce was a great guest.

While I don't release actual download counts, you wouldn't be surprised to know that it's a power law distribution. After the top ten or so, the rest aren't that much more popular that most shows.

9:54 AM | Comments () | Recommend This | Print This

Top IT Conversations Shows for December 2007

Here are the top ten shows on IT Conversations (by number of downloads) for December 2007:

  1. Trust Online Panel 1 - Technical and Regulatory Issues (No rating yet)

    While the Internet is quickly becoming an indispensable part of our lives and business, it still remains a challenging environment to achieve a secure and private experience. In this moderated panel from the Trust Online Conference, Lise Buyer leads an insightful discussion of trust with the help of an extremely qualified panel. Scott Charney, Mozelle Thompson, and Dr. James Ransome share their experience while addressing some of the fundamental challenges of managing risk on the Internet.

  2. Matt MacLaurin - Jon Udell's Interviews with Innovators (No rating yet)

    Matt MacLaurin, who works for Microsoft's Creative Systems Group, is developing a game -- and game-development platform -- called Boku. On this episode of Interviews with Innovators, host Jon Udell asks Matt about his own early experiences writing software for systems that invited hacking.

  3. Bob Drogin - Tech Nation (Rating: 3.33)

    Pulitzer Prize winning journalist Bob Drogin talks with Dr. Moira Gunn about the person and the sham perpetrated by the source, presciently code-named "Curveball." The result? The idea that Iraq had weapons of mass destruction.

  4. Eliezer Yudkowsky - Introducing the "Singularity": Three Major Schools of Thought (Rating: 4.75)

    Has artificial intelligence failed? Eliezer Yudkowsky, from the Singularity Institute for Artificial Intelligence, humorously examines the three leading schools of thought concerning the singularity and considers AI's successes, failures, and ways to actually judge artificial intelligence.

  5. Dan Lulich - Technometria: Device Reputation (Rating: 3.40)

    As online fraud continues to grow as a major issue, enterprises are trying to come up with new ways to reduce the problem. Unfortunately, we have traded convenience for strong authentication, so other methods must be used. Dan Lulich, Vice President of Technology for iovation, joins Phil and Scott to discuss the concept of end-user machine reputation as a way to establish identity. He talks about how authenticating the device is a better method to identify users.

  6. Avi Bryant - Keynote (Rating: 5.00)

    Avi Bryant is a Smalltalk developer who joined the Ruby community in its earliest days. He is the author of Seaside, a web-application development framework for Smalltalk, and of Dabble DB, a user-friendly web-based database developed with Smalltalk. In this address, he weighs Ruby against Smalltalk, pleading similarities between the languages and arguing that Smalltalk provides lessons that the Ruby community can learn.

  7. Gigi Sage - "Hello Tarzan" - How to Connect with Your Man (Rating: 4.00)

    What started out as a search for different quality experiences for Gigi Sage, has become a life long pursuit to create harmony in all area of her's life and how to make all kinds of relationships work. In this interview, Sage pulls from over twenty years of teaching and working with women to offer help for men and women everywhere who are looking to build harmonious personal and professional relationships.

  8. Internet Records & Home-brew Cellphones - IEEE Spectrum Radio (No rating yet)

    Everyone is leaving an electronic slime trail behind them on the internet, according to Bob Lucky. On this edition of IEEE Spectrum Radio, Bob Lucky shares his thoughts on the records we're all creating on the internet, and Spectrum takes a look at the Homebrew Computer Club's illegitimate child: the Homebrew Cellphone Club.

  9. Gary McGraw - Technometria: Exploiting Online Games (Rating: 4.67)

    Exploiting Online Games takes a frank look at controversial security issues surrounding MMORPGs, such as World of Warcraft and Second Life. The book comes fully loaded with code examples, debuggers, bots, and hacks. Co-author Gary McGraw joins Phil and Scott to discuss this important topic. Of interest to gamers, developers, and security professionals, Gary talks about how gamers cheat, as well as why software companies are slow to combat the problem.

  10. William McDonough - Cradle to Cradle Design (Rating: 4.62)

    How many buildings do you know that can produce oxygen? William McDonough, the man Time magazine recognized in 1999 as a "Hero for the Planet," has designed buildings for clients such as Ford and Gap that can do just that. McDonough -- architect, industrial systems designer, and proponent of eco-effectiveness -- urges his audience of business school students to set goals not toward an efficient bottom line of doing the wrong thing less badly, but rather toward the effective top line of doing the right thing.

Interestingly, the top two shows show "No rating yet." Actually, that's not quite accurate. They've been rated but not by enough people that I consider it credible. I have a threshold that has to be met before I report a rating.

9:49 AM | Comments () | Recommend This | Print This

Cheap Computer Microscopes

salt 200x
salt 200x
(click to enlarge)

Celestron will supposedly announce a sub-$300 dollar microscope with a built-in screen and a 2 megapixel camera. That's pretty cool, but it that's out of your price range, you can pick up an used IntelPlay QX3 microscope on eBay for $35. The specs aren't quite a sweet (200x, 1 megapixel), but it does hook to a USB port.

I've had one for many years. I found an OS X software package called macam that works with it pretty well. My son and I took some pictures with it a while back.

If you're looking for a little microscope fun and don't want to blow $300, this set up will suit you just fine.

9:30 AM | Comments () | Recommend This | Print This

Good News and Bad News: Office 2008

Gizmondo has a hands on report about Office 2008 for the Mac. The good news: it's Intel native, as you'd expect. The bad news: they've "updated" the user interface, as you'd expect.

The old Office running under Rosetta is definitely a pig, but having used Office 2007 on Windows, I shudder at what's going to change in the interface. Office 2004 is by no means perfect, but it's the devil I know. Fortunately the screenshots for O'08 don't seem to be as radical a departure from the old scheme as O'07 was. I'm crossing my fingers.

8:35 AM | Comments () | Recommend This | Print This