« January 2008 | Main | March 2008 »
February 27, 2008
CTO Breakfast Tomorrow
We'll have the CTO breakfast tomorrow morning (Feb 28) at 8am in the Novell cafeteria (Provo Campus). Follow the link for directions.
Despite it's name, you don't have to be a CTO to attend--just interested in technology, where it's headed, and the problems of starting and building a high-tech business in Utah.
Here are future dates for your calendar:
- Mar 27 (Thursday)
- Apr 17 (Thursday)
- May 30 (Friday)
11:25 AM | Comments () | Recommend This | Print This
February 26, 2008
Starting a High Tech Business: Outsource Everything
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 tenth 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 business he's been working on for a while. I was helping him with email, domain names, and so on. Not long ago he called me and said "I've hired a CTO; he'll be calling you about email." I figured he was going to call me so I could set up an address for him. Not so; he was calling to get the domain names changed to a new exchange server he was standing up.
Now, I've never met the guy, maybe he's a brilliant CTO and will be just what my friend needs, but this raised some red flags for me. If you hire a new CTO and the most important thing on his plate is getting an Exchange server running, you've made a bad choice. A CTO's job ought to be adding the most value possible to the company's products. The type of email server you're using is way down on the product value creation index.
I mentioned this because I've been contemplating things I could do to offload as many of the non-code tasks as possible--not to someone else inside my organization, but to people outside my organization. Here's one example.
Did you know you can out source everything about having employees except the direct management tasks (which are where you can derive real value)? I'm not just talking about outsourcing payroll--I'm talking about everything associated with having employees: hiring, benefits, payroll, worker's compensation--the works. The companies that do this are called professional employment organizations or PEOs.
Essentially the PEO hires the employees and then lease them to you. The PEO takes on certain responsibilities and employer risks. The company manages the employee. I know some companies that use a PEO and the employees don't seem to mind since they get a professional employment arrangement and great employee benefits from the PEO and at the same time get the upside and fun of working at a small start-up. The costs are surprisingly reasonable.
The rule of thumb for a start up ought to be: Keep anything that adds competitive advantage in-house and close by. Shed everything else as quickly as you can.
8:40 PM | Comments () | Recommend This | Print This
February 22, 2008
A New Voice on IT Conversations
I'm sick and after lecturing for two hours this morning, I had no voice left. Unfortunately, when I recorded the program intros this week, Jon Udell's latest show wasn't ready so I needed to record it today before I published it. I came home tonight and tried to record an intro, but it sounded awful--just think "frog." My wife, Lynne, said "let me do it." You can hear the result in the intro to Jon's interview with Valdis Krebs. My fear is that now that you've heard her, you won't want to hear me anymore!
6:58 PM | Comments () | Recommend This | Print This
Inside the MacBook Air
Have you wondered what it takes to take a MacBook Air apart and what it looks like when you do? Look no further. Here's a step-by-step with high-res photos from iFixIt. The battery isn't trivial to replace, but it's definitely easier than replacing the hard drive on an iMac. I'd do it.
Unfortunately, the 80Gb drive is the largest one that will fit. I wondered about that because often Apple's top choice is one size smaller than the current leader in terms of space. I regularly crack open my new MacBook Pros before I've even turned them on to replace the drive. Looks like Apple had to go state-of-the-art here to save the 3mm that the larger drives would have cost.
10:48 AM | Comments () | Recommend This | Print This
February 21, 2008
The Value of Engineering
As I listened to Udi Manber, the head of core search team at Google, I was impressed by something that most of us understand in a different sense: engineering matters at Google. Most of us think about this in terms of the other things we know about Google; like the one day a week people get to work on their own project, or the fact that they build their own custom servers.
Manber talked about making search queries meaningful--understanding intent rather than just doing text matching. He outlines a number of upgrades to Google search that I've noticed over the years but never thought much about. These all require a commitment to engineering and constant product development.
A simple example of this that I thought of while he was talking is internationalization, or i18n. Google has deployed search engines in myriad languages and countries. Anyone who's done i18n knows it's not glamorous, it's not easy, and there's little you can do in the way of innovation to leverage technology. It just comes down to a commitment to good, solid engineering and working it out.
Of course Google isn't alone in doing i18n. Lots of companies do it. But plenty of companies put it off because they can't afford or don't want to afford the commitment that it takes. In general, no one's giving Google press over the increased utility of their search. Lots of stuff gets the media attention before that. But it's core to Google's business and it's clear it gets the engineering attention it deserves.
7:42 PM | Comments () | Recommend This | Print This
Fran Allen: Compilers and Parallel Computing Systems
Fran Allen delivers Organick Lecture (click to enlarge) |
Fran Allen was the Turing Award winner for 2006. This afternoon she's giving the University of Utah's Organick Memorial Lecture. I've reported on some of these in the past few years:
- Jim Gray on Distributed Computing Economics
- Vint Cerf on Internet Challenges
- Alan Kay: Is Computer Science an Oxymoron?
- Alan Kay: The 100 Dollar Laptop and Powerful Ideas
- Jeannette Wing on Computational Thinking
I try to come every year. I find it's something I'm inspired by each time.
The grand goal of high performance computers right now is a 1 petaflop machine. This requires 1,000,000 gigaflop processors. Wow. She shows a semilog plot of peak speed vs year introduced that is a linear line (Moore's law at work).
Much of Allen's work in the 80's and early 90's was around the PTRAN system of analysis for parallelism. The techniques are used, for example in the optimization stage of IBM's XL family of compilers.
Because more and more transistors are being placed on chips, they're using more and more energy--getting hotter. Part of the solution--which we're seeing play out--is multi-core chips. This requires parallelism to achieve the performance users expect. But making use of multi-codes requires that tasks be organized by either users or software to run in parallel.
By 2021, there will be chips with 1024 cores on them. Is parallelism the tool that will make al these ores useful? John Hennessey has called it the biggest challenge Computer Science has every faced. He has credentials that might make you believe him. Allen says that it's also the best opportunity that Computer Science has to improve user productivity, application performance and system integrity.
For parallel (superscalar, etc.) architectures, compilers--software--have been used to automatically manage scheduling tasks so that they can operate in parallel. What about those techniques will be useful in this new world of multi-cores?
Allen says we need to get rid of C--soon. C, as a language, doesn't provide enough information to the compiler for it to figure out interdependencies--making it hard to parallelize. Another way to look at it is that pointers allow programmers to build programs that can't be easily analyzed to find out which parts of the program can be executed at the same time.
Another factor that makes parallelization hard is data movement. Allen offers no silver bullet. The latency of data movement inhibits high performance.
The key is the right high level language that can effectively take advantage of the many good scheduling and pipelining algorithms that exist. If we don't start with the right high level language, those techniques will have limited impact.
She presents some research from Vivek Sarkar on compiling for parallelism. Only a small fraction of application developers are experts in parallelism. Expecting them to become such is unreasonable. The software is too complex and the primary bottleneck in the usage of parallel systems. X10 is an example of a language (object oriented) that tries to maximize the amount of automatic parallel optimization that can be done.
Major themes include cross-procedure parallelization, data dependency analysis, control dependency analysis, and then using those analyses to satisfy the dependencies while maximizing parallelism.
Useful parallelism depends on the run time behavior of the program (i.e. loop frequency, branch prediction, and node run times) and the parameters of the target multiprocessor. Finding the maximal parallelism isn't enough because it probably can't be efficiently mapped on the multiple cores or processors. There is a trade off between the partition cost and the run time. Finding the intersection gives the right level of parallelism--the level that is the most efficient use of available resources. Interprocedural analysis is the key to whole program parallelism.
One of the PTRAN analysis techniques was the transform the program into a functional equivalent that used static single assignment. This, of course, is what functional programming enthusiasts have been saying for years: one of functional programming's biggest advantages is that functional programs--those without mutation--are much more easily parallelized than imperative programs (including imperative-based object oriented languages).
There's a long list of transformations that can be done--everything from array padding to get easily handled dimensions to loop unrolling and interleaving. Doing most of these transformations well requires detailed knowledge of the machine--making it a better job for compilers than humans. Even then, the speedup is less than the number of additional processors applied o the job. That is, applying 4 processors doesn't get you a speedup of 4--more like 2.2. The speed up--at present--is asymptotic.
4:55 PM | Comments () | Recommend This | Print This
Tiny Planet Likes IT Conversations
Tommy Weir of Tiny Planet wrote a nice review of IT Conversations. In particular he enjoyed the interview with Billy Hoffman about AJAX security. He says:
If I had to pick one tech podcast and discard the rest it would be the originator of the species, IT Conversations. This blend of different shows has a wide-ranging remit from biotechnology to web development. They have a number of presenters who interview innovators and leading technologists, and they also put out recorded presentations from top conferences, which can be especially valuable. They're all free and available via iTunes.
I listen to them regularly, good meaty discussions which can be satisfying in the midst of the other more newsy, gossipy fluff that fills the tech podcast world. Sure, a lot of it is not for me, I usually have my thumb poised, ready to click through to the next one, there's a lot in the feed so you have to be selective.
But quite frequently you hear something that's well informed, interesting and current, covering an aspect of technology that you don't really see discussed anywhere. So I thought I'd point out ones that have ticked those boxes as I come across one. So, that's why I have a #1 up there in the title, it's going to be the first in a series.
From IT Conversations - pick #1: Ajax Security : TinyPlanet.eu
Referenced Thu Feb 21 2008 11:21:06 GMT-0700 (MST)
11:27 AM | Comments () | Recommend This | Print This
Unmounting Time Machine Drives
I love Time Machine. I've been in the habit of doing full disk backups, but that won't save me from accidentally deleting a file unless I notice before the full disk backup is made. With time machine I'm protected. I still do a full disk back up from time to time so that I have something to boot from and then restore from Time Machine on if my main drive goes belly up.
One thing I've noticed: most mornings when I close up my laptop and take it with me for the day, the Time Machine backup disk won't eject. I get the standard "this disk is in use and cannot be ejected" warning. I'm confident the only thing using the disk is Time Machine. It seems that Time Machine makes it hard to eject disks.
This wouldn't be so bad on a desktop, but on a laptop, it's a pain. I hate just unplugging and getting the red stop sign warning about damaging the disk. Maybe more my paranoia than anything, but I like to avoid it.
I've found that forcing an unmount after trying the regular eject always works:
sudo umount -f /Volume/Phil\ Backup
Obviously your volume name is probably different and no, I didn't forget the "n" in "umount". Note that name of my backup drive is "Phil Backup". Why it doesn't work before an eject, I'm not sure. Still, it avoids the warning.
To make this easier, I made an alias for it in my .bashrc file:
alias u="sudo umount -f /Volume/Phil\ Backup"
Now, just typing "u" at the command prompt (which I've almost always got ready) will unmount the disk. Anyone have a better solution or am I the only one dealing with this problem?
10:32 AM | Comments () | Recommend This | Print This
February 20, 2008
IIW 2008 Happening May 12-14
The announcement and registration pages for IIW 2008 are now live. Please take minute and do three things:
- Register so we know you're coming. Having a good count early makes the whole thing go smoother.
- Help us spread the word by blogging about it.
- Put a badge for IIW on your Web site if you can. Here's the code
for the badge you see on the right hand side of my blog:
We expect that IIW2008 will be every bit as productive and fun as past IIWs have been I hope you can make it.
12:01 PM | Comments () | Recommend This | Print This
Utah May Reject REAL ID
Yesterday, the Government Operations Committee of the Utah House of Representatives voted unanimously for a bill (HB449) that would bar the Utah Driver's License Division from implementing the REAL ID act of 2005. Utah isn't alone, a number of other states have opted out of REAL ID by statute, have passed legislation opposing it, or have legislation pending.
REAL ID would standardize the identity documents required to get a driver's license across the US, standardize some of the information on the driver's license itself, and introduce a common machine readable technology for driver's licenses nationwide. In addition, REAL ID mandates that states share driver's license data with each other.
There are fiscal concerns--the Dept. of Homeland Security estimated that the cost of compliance with the federal legislation would be $17 billion. If you read the fiscal note on HB449, it only discusses the impact of not implementing REAL ID. I'm more concerned with what the legislature thought the impact of complying would be.
The minutes aren't online from yesterday's meeting yet, but the audio is. HB449 is discussed about half way through.
Jim Harper who spoke in Utah on REAL ID in 2006 and testified before the GOC last year was referenced in the testimony. also read testimony from legislators from two other states.
Beyond the fiscal impact there are significant privacy concerns.
Overall there is tremendous pushback against a national ID card, even one by proxy as REAL ID attempts to create. If Congress is serious, they'll tie it to highway funding. I don't think that there's much support in Congress for that given the rebellion that's happening with the current implementation.
The impact of not complying is that Utah driver's licenses might not be usable as identification when flying and entering federal buildings. I doubt any state will be ready by the May 1st deadline and DHS has allowed for extensions. I think you could read HB449 as even prohibiting that. Even so, Nanette Rolfe, director of the Utah Driver License Division, said she's already filed for an extension until Dec. 31, 2009.
After that will Utahns still be able to fly? Yeah, there's enough angst about this that I doubt DHS will put the restrictions into effect. This one's headed back to DC for a rework, I'm guessing.
11:24 AM | Comments () | Recommend This | Print This
February 19, 2008
Undersea Cables, Connectivity, and the Gap
I'm a fan of Thomas Barnett's gap-core lens for understanding world events. My simple paraphrase goes something like this: states that are part of the core (and that's a lot of them) don't make war on each other, don't sponsor state terrorism, and are, in general, predictable players on the world stage. Those who are not connected economically and culturally to the core are the trouble makers. (Tom, if I got it wrong or simplified it to much, forgive me.)
Radical Islam, when viewed through this lens, is an attempt to stall and hopefully stop the integration of Islamic states into the core. In their worldview, the core is secular, godless, and will destroy their culture. They're probably right in many respects. Other religions, including my own, have had times where their efforts to avoid integration caused lots of folks considerable heartache. Most have realized that getting past the pain requires being able to live in the world as it exists without giving up your fundamental values. We continue to have that argument on all kinds of fronts in the US, but without the overt violence.
This story about recent undersea cable damage not being an accident fits the Core-Gap model pretty well (more here). After all, the Internet is the prime tool that the Core has for connecting more of the Gap. If Barnett's theory is right, then the result will be decreased violence worldwide. Surely one can't doubt the effect of such connectivity on Eastern Europe in the 80's and on China now.
Gizmodo is dubious:
I don't know how a saboteur gets that deep to cut cables in the first place, let alone five of them, so I'm highly skeptical. I mean, come on, aren't we giving the terrorists a bit too much credit here? This isn't a James Bond movie.From Terra: International Telecommunication Union Claims Cut Cables Were Sabotage
Referenced Tue Feb 19 2008 14:47:11 GMT-0700 (MST)
I don't think we have to imagine this being the work of run-of-the-mill terrorists. Most of the leaders of Gap states are personally motivated to restrict and resist connectivity. They're power depends on it. I don't know enough about these states to know if one or several is capable of deep sea operations sufficient to cut a cable, but it's more plausible than imagining a rogue Al Queda cell in Baghdad doing it.
I'll be interested to see what future inspections turn up here.
2:57 PM | Comments () | Recommend This | Print This
February 12, 2008
On Static Types and Language Choice
I caught a little flack in response to my post calling attention to
Steve Yegge's recent essay "
"People who approach programming differently than I do are insecure n00bs"
That's a great attitude for a professor to endorse in a public forum. Steve's rant is nothing more than hot air attempting to justify his personal preferences at the expense of others. It makes you feel good because his preferences are the same as yours. The fact remains, however, that there's no real meat; it's just the evisceration of a straw man.
Dynamic languages and agile methodologies (whatever those vague terms mean today) are great, but so are modeling tools and static program analysis. Different tools for different jobs, etc. No one needs to be called insecure or a 'n00b'.
From Phil Windley's Technometria | Types as Comments
Referenced Tue Feb 12 2008 08:37:20 GMT-0700 (MST)
We're not talking about your taste in clothes or furniture. We're talking about a way of working that can be right or wrong. This isn't simply a matter of personal preference. We like to wave it all away with "depends on the situation" kinds of comments, but that's a cop out for the most part.
I believe that there are styles of programing and of organizing large programming projects that are better than others--not simply a matter of style. Businesses, particularly small ones can gain significant advantages by choosing one language or style over another. This is not simple a matter of taste.
That said, circumstances often dictate choices. I'm in the middle of a project right now, for example, where the right architectural choice was to use the Apache Web server as the application server. That requires writing Apache modules and that means C or Perl. No other languages offer complete solutions in that space. (I chose Perl.)
A few specific comments on the Yegge article
- You need to read Yegge's entire article--or at least skim it--not just read the pull quote I used which is the most inflammatory part of an otherwise long article. Maybe you did...
- Yegge makes some interesting and useful points about static analysis and it's sometimes dubious value (yes, I'm now stating my opinion).
- Static type analysis is taken by so many people as "the right way" and dynamic type analysis as "the lazy way." I see part of my role as an educator to challenge that assumption.
- No matter what kind of type system you use, you need to think about types. That's part of programming. What level of tool support is appropriate depends in large part on what the programmer is comfortable with.
- That said, for large programming projects (which I am also leery of), static modeling allows the automation of large parts of the refactoring code and other tasks. More power to them.
So, in summary, I do think that Yegge's post (and many of his others) is delightful read that challenges many preconceived notions about types and forces exactly the discussion we're having now. "It worked!", I think Steve would say.
8:46 AM | Comments () | Recommend This | Print This
February 11, 2008
Types as Comments
Steve Yegge is at it again. This time he's taking on modeling:
Well, we also know that static types are just metadata. They're a specialized kind of comment targeted at two kinds of readers: programmers and compilers. Static types tell a story about the computation, presumably to help both reader groups understand the intent of the program. But the static types can be thrown away at runtime, because in the end they're just stylized comments. They're like pedigree paperwork: it might make a certain insecure personality type happier about their dog, but the dog certainly doesn't care.
If static types are comments, then I think we can conclude that people who rely too much on static types, people who really love the static modeling process, are n00bs.From Stevey's Blog Rants: Portrait of a N00b
Referenced Mon Feb 11 2008 17:02:45 GMT-0700 (MST)
Yeah, it's a long one--but it's worth the read if you're interested in programming language design, programming language choice, types, or modeling. It's especially nice if you're a dynamic language aficionado since it will make you feel vindicated!
5:08 PM | Comments () | Recommend This | Print This
Unit Testing in Scheme
I put together a mini-lecture on unit testing in Scheme for my CS330 class. It's not a complete introduction, just a tutorial on getting started. If you have suggestions on using SchemeUnit, I'd love to hear them.
Students in CS330 submit their assignments to an autograder. They sometimes try to use the autograder as a test harness with bad results.
I think there are some distinct advantages to students using unit testing in preparing their assignments:
- Unit tests separate tests from the code. It's cleaner and easier to manage.
- They can write tests before they code. This forces them to think about the functionality and boundary conditions before they begin
- Tests are easier to share. Unless the assignment were specifically about testing, I encourage students to share their tests for assignments as an aid to communal understanding of the problem.
On the last point, while I'm happy to have them share tests, I don't want to provide them. I want them to get experience in writing tests. Discussing tests with other students is a great way for them to learn.
12:08 PM | Comments () | Recommend This | Print This
February 8, 2008
Universal Housing Anyone?
Dave says:
But there are some things we can change, and if you have a heart, and think about it, I don't see how anyone could be against universal health care and still sleep at night.From Debating health care in 2008 (Scripting News)
Referenced Fri Feb 08 2008 19:26:56 GMT-0700 (MST)
I respect Dave, but it's precisely this kind of partisan debate that's lead to stalemate for decades on this and other important issues. The implication of this statement is that if you're not for universal health care, then you're not compassionate. If we give you the benefit of the doubt, you're just not thinking about it.
Sorry, that's just not true. The truth of the matter is that it's not a matter of compassion, but a matter of what you believe the right approach to solving the problem is.
I could change the statement slightly and say:
But there are some things we can change, and if you have a heart, and think about it, I don't see how anyone could be against universal housing and still sleep at night.
Do you buy it? Does everyone have the right to a certain level of housing regardless of choices they've made? How many square feet? Two bathrooms? What about a cable connection? Maybe you do believe this, but we aren't having a debate about it. Why?
Because it's not nearly as broken as the health care system. I wholeheartedly acknowledge that the current health care system has some huge problems. But I also believe that it does a lot of things right. Solving the problems without breaking what's good is a task that has stumped the best that we've been able to throw at it.
Some people believe that the answer is to make it a universal right and have the government pay for it. I see a few problems with this:
- I don't think it will solve the problems, just treat the symptom of inadequate access
- I don't believe that getting the government involved in anything as complex as health care can be good for society
Conservative philosophy tends to hold property rights in higher regard than liberal philosophy. I'm not being pejorative--I think that's an accurate assessment. Liberal solutions to problems tend to sacrifice property rights for a future utopia (give us your tax dollars now and health care will be better in the future--we promise).
Interestingly, if we change the debate, you see that there are rights liberals hold more dearly than conservatives--like the right to free speech. Conservatives are more likely to be willing to sacrifice speech rights for social good (witness the debate over Internet pornography). There is no social ill sufficient to trump the right to free speech for a true liberal.
The problem is that liberals label conservatives "greedy" because they value property rights. Conservatives label liberals "immoral" because they want to protect free speech. These kinds of Rovean (I like that word) tricks of taking a strength and turning it into a weakness through misdirection and misinformation don't solve problems. If we're going to solve knotty problems like health care, then we need to get past tricks and discuss solutions we can all support.
So, it's not that I'm not empathethic to the plight of people who can't get health care. It's that I don't believe in the promised future Utopia that the code word "universal health care" represents anymore than I believe in the "universal housing" or even "universal access" to the extent those concepts are defined by government programs. In short, I'm unwilling to take a multi-billion dollar gamble. Thanks just the same.
7:53 PM | Comments () | Recommend This | Print This
Starting a High Tech Business: Getting Started
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 ninth installment. You may find my efforts instructive. Or you may know a better way—if so, please let me know!
Today I got a cold call at my office that essentially went like this: "I read you blog and would like to tell you my business idea and get your opinion on it." I said that I had a few minutes to listen and so the guy launched into a description.
Actually, that's not quite accurate. The first thing he did was say that he didn't think that I'd want to sign an NDA and that he wasn't inclined to ask for one. Good thing. When people ask me to sign an NDA, I always say "no." Like I'm going to keep track of dozens, even hundreds of NDAs and who said what when. There's not enough time in the world. So, he was right and scored points with me right off.
His idea was an interesting one, if I'm being honest and I told him a few places where it intersected with some other trends I saw and thought were important. He then asked "how do I get started?"
My first instinct was to tell him to build a demo, but then I remembered something even more fundamental than that.
I asked what his background was. "Media," he says. Uh oh. Not that there's anything with media types, but how's he going to build a demo. I told him he needed a CTO and why.
"Can you recommend some people who might be my CTO?" he asked. Nope. I can't. I asked him if he thought he'd see much action from a list of folks I recommended he call and asked for money. He understood that this wasn't the best way to raise money; when you're asking people for an investment, they need to trust you--especially at this stage. That's why friends and family are the most likely investors in your early stage start up (if you don't have a plane to sell).
I explained that anyone he asks to work with him on his idea will be making a huge investment of time and commitment--especially on the margin. They need to trust you. They need to feel your passion for the idea. They need to believe that spending the next three to six years with you 14 hours a day will be fun.
This is why successful founding teams have usually worked with each in the past, gone to school with each other, or are otherwise friends. That's not always the case, but it often is. Collaborations among strangers just aren't likely to happen without a pretty significant bonding first.
Every founding team needs to have a technical member. I've seen more ideas killed by ignorance of this fact than I care to remember. I told my newfound friend to look to his friends, co-workers, and old classmates to see if he couldn't find someone to be the technical yang to his marketing yin.
Once he's got the technical founder, he can get a demo working--that will make people believe it's real. After that, you're on your way.
5:01 PM | Comments () | Recommend This | Print This
Idaho Kicks Utah's Butt
Wow! Thanks to Roland Smith for pointing me at Idaho's road reports site. It's built on Google Maps and totally kicks Utah's butt. Lots more information on almost every road in the state. Very nice.
7:40 AM | Comments () | Recommend This | Print This
February 7, 2008
CommuterLink Is Looking Pretty Tired
My daughter called me from Heber this afternoon to tell me she'd be late getting home because Highway 189 through Provo Canyon was closed. I went out to the Internet to try and find out what was going on and was pretty disappointed.
The primary site for road conditions is CommuterLink, run by the Utah Department of Transportation. When this site launched with much fanfare in 2001, just in time for the Olympics, it was state of the art. Now it's looking pretty tired. I found my self wishing they'd just used Google maps. In fact, for traffic information, that's what I do since Google maps gets the traffic data, but they don't show road closures.
I tried googling provo canyon avalanche and found this nice little news article from news.utah.gov. Only one small problem--can you tell which day this is for? I can't. It's not even encoded in the URL. Argh.
The CommuterLink site is a good example of why it's hard for government to build Web applications. Web applications are products and as such they require constant update in a world where there's no reward for doing the work. A better option for government is to be the provider of data and let the private sector build the applications.
As for my daughter, I sent her home through Parley's canyon and Salt Lake. She was headed to Draper anyway tonight, so no lost time and a certain outcome on the road. Provo Canyon's still closed as far as I can tell from clicking the Emergency Alerts button (which for some strange reason returns PDF...huh?!?)
9:13 PM | Comments () | Recommend This | Print This
February 6, 2008
MacBook Air SSD - Uncertain Performance Gain
One of the things that interested me about the Mac Book Air with the solid state drive was the hope that it might give better performance than a standard HDD and even better battery life.
According to this review from Ars Technica, the performance gains mixed:
[T]he summary is: the SSD does worse in sequential disk tests and writing in general, but spanks the HDD in random disk tests and reading from the disk.From No spin: Ars reviews the MacBook Air with solid state drive
Referenced Wed Feb 06 2008 20:58:53 GMT-0700 (MST)
What does that translate into?
- Booting is no faster
- Exporting a Quicktime movie is slower
- Building software is faster
- Unzipping an archive is faster
Most applications won't seem much different. In short: don't spend the $1300 in hopes of getting increased performance. You won't see much.
9:06 PM | Comments () | Recommend This | Print This
February 5, 2008
Change, Motherhood, and Apple Pie
When I worked at Naval Reactors, we had a shorthand for statements no one could argue with. Someone would say something and someone else would just say "motherhood." Everyone understood the shorthand: what you just said is like motherhood and apple pie. Everyone's for it.
If you haven't seen it, this video will make you laugh (and serve as an intro for this post):
Change is an easy thing for a politician to sell because we all want change. Hardly anyone you meet is satisfied with the government. We all want it to be different and so, saying your for change is like saying your for motherhood and apple pie. Who isn't?
There's only one catch. We all want a different kind of change. Not just Demos and Repubs, but every single person wants something different changed. Next time your favorite candidate says "change" try to double click on what kind of change they're talking about. Chances are you won't get very far. None of the major candidates are being specific about "change."
"But what about Iraq?", you might ask. Certainly, lots of folks are for getting out of Iraq and at least some of the candidates are for that kind of change, aren't they. Yeah, they're saying it, but it's a red herring. Mark my words--none of the candidates in the running, even Obama--will pull out of Iraq once they're responsible for the mess that will be left. They'll all stay and try to clean it up. They don't want that train wreck to be part of their legacy. Hopefully they'll have better ideas than the current administration about what to do.
Change is the pablum of political discourse. Easy to promise and no one can call you one it when you don't deliver. What matters are real proposals. Where are they?
5:47 PM | Comments () | Recommend This | Print This
February 4, 2008
Top Ten IT Conversations Shows for January 2008
Here are the top ten shows (ordered by number of downloads) on IT Conversations for January 2008.
- Billy Hoffman - Technometria: Ajax Security (No rating yet)
More and more Web sites are being rewritten as Ajax applications and traditional desktop software is rapidly moving to the Web via Ajax. But, often, this transition is being made with reckless disregard for security. Ajax developers desperately need guidance on securing their applications. Billy Hoffman, co-author of Ajax Security, joins Phil and Scott to discuss the book.
- CTO Panel - Technometria (No rating yet)
Phil regularly holds a meeting that he calls the CTO Breakfast. It is an opportunity for people who work in technology to discuss current issues. In this episode, Phil holds an online version of the meeting. The group review such topics as the recently released Amazon SimpleDB, MIT's open courseware project, and how LinkedIn just open their site to developers. They also discuss the status of open source social networking and the problems of monetization. The group finishes with their predictions for early 2008.
- Neil Giarratana - Jon Udell's Interviews with Innovators (No rating yet)
Neil Giarratana, president of a small web software firm called Lucidus, is bucking a demographic trend. According to the United Nations, 2007 was the tipping point for world urbanization, and migration to big cities is expected to be a huge continuing trend in the 21st century. But Neil moved from Fairfax, VA to Keene, NH to combine high-tech business with small-town New England life.
- Brian Murray - Retooling HarperCollins for the 21st Century (No rating yet)
In a keynote presentation from the 2007 O'Reilly Tools of Change for Publishing Conference, Brian Murray, Group President for HarperCollins Publishers, provides a textbook business strategy analysis of dealing with rapid change. During his presentation, Murray provides details of the 6 step process HarperCollins used to react to the dramatic changes in the publishing industry.
- Jyri Engestrom - Ambient Storytelling (No rating yet)
From the start, phones have been a point-to-point communication method: pick up the receiver, dial a number, hope for an answer. Jyri Engestrom's microblogging app, Jaiku, changes all that by interfacing your mobile phone with pervasive internet connectivity. What we get is a handset that is used increasingly less for calling and more for sharing what you're doing, where you're going, who you're with, and the photo you just took. These microposts broadcast a river of rich presence information about you: from one-on-one to many-to-many.
- John Kao - Tech Nation (Rating: 5.00)
Dr. Moira Gunn speaks with John Kao, the former Harvard Business School professor who believes America is losing its innovative edge.
- Stuart Smolkin - Business Preparedness Lessons from Katrina (No rating yet)
When Hurricane Katrina hit New Orleans, Stuart Smolkin's conveyor belt manufacturing company, Intralox, had no disaster plan in place. Although central operations weren't decimated, the company had to deal with the disruption of electricity, phones, and computer systems in order to organize evacuated employees into recovery teams. How did Intralox handle this challenge and get running in a mere 30 days? Smolkin offers lessons on preparedness for businesses faced with disruption.
- Tim O'Reilly - Open Source on the O'Reilly Radar (Rating: 3.25)
The O'Reilly Media founder and CEO presents one of his regular Radar updates, with the focus this time squarely on open source software. The world in which open source now operates is very different from the world in which it started. O'Reilly believes that the problems of scaling caused by the growth of the web and large on-line applications means we need to examine the freedoms we associate with open source in a new light. It's more important than ever that we rediscover the freedoms we care about and learn how to protect them in new and more relevant ways.
- Giovanni Gallucci - Conversations on ROI ideas Social Media and Social Networking Systems (No rating yet)
In this talk, Giovanni Gallucci, a search engine optimization and social media expert, a speaker, blogger and co-founder of Dexterity Media, spills out the secrets of a successful online marketing philosophy that leverages the communal strength of social networks such as MySpace, Facebook, etc. He contrasts social media against traditional marketing by providing case studies of companies that succeeded as well as those that've failed at it.
- Scott Kveton - Technometria: OpenIDDevCamp (Rating: 4.50)
OpenIDDevCamp was a gathering to develop web-based applications that use OpenID. Attendees included web designers, developers and testers all working together over the weekend to enable OpenID on their sites or just learn more about this technology. Scott joined Phil to discus the event as well as the OpenID concept.
3:14 PM | Comments () | Recommend This | Print This
February 1, 2008
ActionStreams: Follow Me Around the Net
Adding your IT Conversations profile to Action Streams (click to enlarge) |
The more you use sites on the Web for keeping track of our online lives and sharing things with friends, the more you'd like to have a place on your blog to gather them all together. I've had my del.icio.us feeds on my blog for a long time. I also used to put my tweets on my blog. I experimented with a Flickr widget and gave it up.
Now Mark Paschal has released a plugin for Movable Type called Action Streams that does that all nicely. There are dozens of services that you can add. I've included all that I use. You can see the result on the right side of this page under the "What I'm Doing" heading.
I also created a page about what I'm doing around the net that's an expanded version of the sidebar.
Mark has made it easy to add services. I created a plugin to add my personal program queue from IT Conversations in about 15 minutes. If you'd like to do the same, I've made a tarball and some instructions. Now whenever I add a program to my personal program queue, it will show up on my homepage automatically. I like automatic.
9:12 PM | Comments () | Recommend This | Print This
TripIt Is My New Best Friend!
If you travel and haven't yet heard of TripIt, you're going to be sooo excited! TripIt is a site that keeps track of your travel. But unlike many other sites that promise to help you with your travel, this one is so easy and useful, you'll actually use it.
Here's what you do: when you get an itinerary from the airline or a hotel, just email it to plans@tripit.com. You're done.
When you email your first item to TripIt, they'll create an account for you and send you a confirmation email. Click the link and you're in. I was amazed to find the hotel and airline reservations for my upcoming trip to San Diego were there, cataloged and turned into a very nice looking itinerary that included Google maps, addresses, click able links and anything else I'd need.
TripIt didn't understand the conference registration email I sent, but they stored it as a note and I moved it to the San Diego trip with two clicks. Easy as can be and now it's all together.
TripIt includes some social features so you can collaborate on a trip with others. I played around with that a bit and also logged in from my iPhone since that's where I'd be wanting most to get to it from when I'm on the road. I was a little disappointed with that. There doesn't seem to be any special support for mobile devices. Another feature I'd love to see is an iCalendar view of the trips so they can be added to Google Calendar, iCal, etc.
Even with those missing features, this is a very cool application. Believe me, your assistant doesn't make itineraries this nice.
Update: Jay informs me via a comment that there is an iCal link. I was looking on the itinerary page, but it's on the page that lists your itinerary. That's so cool. I subscribed to my TripIt calendar and now all that stuff shows up on my calendar just because I forwarded the emails to TripIt. Nice. Very nice.
5:33 PM | Comments () | Recommend This | Print This
I'm on Interviews with Innovators
A while back Jon Udell interviewed me for his Interviews with Innovators podcast. We talked about reputation.
10:32 AM | Comments () | Recommend This | Print This
Emacs and Butterflies
This xkcd cartoon on what real programmers use to edit is the funniest thing I've seen in a long time. Of course, I use emacs--always have and always will.



