Why don't we have Wayland yet?!
March 26th, 2018
Or: The state of Linux Graphics with Raspberry Pi and Rust
I have long wanted to create my own desktop operating system targeting the Raspberry Pi. I believe we should have a hackable desktop environment that is both powerful and lightweight, similar to BeOS and the Amiga. To build this desktop we really need full control over how apps draw to the screen, but still have hardware acceleration. That means we'll need to use real graphics drivers and real graphics APIs from existing Linux desktops. When I last looked at all things Linux graphics five years ago everything was a mess but with some promising signs. Over the past couple of days I've been researching the current state. Here is my report, with both good and bad news.
2017 Retrospective and a Ponderous List of Things Which Are Yet To Come
January 20th, 2018
A question for the ages.
Is there anything which uses the word nog that is not eggnog? Are there other types of nog? Where did the word even come from? Is it derived from grog or something else? And is there any connection with nogging?
Ideal OS: Rebooting the Desktop Operating System Experience
August 18th, 2017
Twitter user ekse has graciously translated this blog to Chinese. Thanks! TL;DR: By the end of this essay I hope to convince you of the following facts. First, that modern desktop operating systems are anything but. They are bloated, slow, and layered with legacy cruft that still functions only thanks to Moore's Law. Second, that innovation in desktop operating systems stopped about 15 years ago and the major players are unlikely to heavily invest in them again. And finally, I hope to convince you that we can and should start over from scratch, learning the lessons of the past.
Five Reasons Why You Should Hire an Old Programmer
July 2nd, 2017
You should hire an old programmer. It’s true! Sure.. older programmers are not going to work as many hours as someone fresh out of college. They have kids and spouses and mortgages and softball games to attend. They won't hang out at the office playing Xbox and ping-pong all night. They will not work 80 hour weeks and they will actually use their vacation time. And of course they cost more than young programmers. Despite all of those reasons not to hire an older programmer, you still should. For one simple reason: they are worth it. I know this, because I am one.
I am worried about AI, but not for the reason you think
May 30th, 2017
True high level Artificial Intelligence, the kind we read about in novels and hear crazy stories about from futurists, won't be like the movies. There won't be a Her that we fall in love with. There won't be a HAL 9000 who turns against us. When we finally build a true self-learning AI, it won't be anything at all like a human intelligence. This shouldn't be a surprise. We have half a century of results to show this is true.
On Uber, Gardens, and Why Corporate Culture Matters
February 21st, 2017
I’m mad this morning. I just read an article by a woman who spent a year at Uber facing sexual harassment. She had great courage to bring it up with HR multiple times, saw nothing was done as the situation got worse with a repeat offender, and finally quit to join a less offensive company. This is not an isolated incident. Uber has a corporate culture which enables this kind of behavior.
Why I'm No Longer a Republican
August 5th, 2016
It's true. It finally happened. I left the Republican Party. While I’ve voted independent or democratic for the past few elections I’ve maintained my Republican Party affiliation for the local elections. That all ended a month ago when I officially changed my party to Democrat. This blog is my attempt to explain why.
Pokémon Go: Why and Why Now?
July 19th, 2016
Wandering through campus we saw them everywhere. In small groups of two or three they walked slowly. Looking around. Pausing every few seconds to check their phones, then moving on a few more steps. Walk, check, walk, check. The mild summer weather and warm evening brought them out in larger numbers, so I wondered how many would come out to play in the rainy winter six months from now. Of course, it might not even still be a thing then. After all, it wasn’t a thing two weeks ago.
Programming Beyond Text: the Parsing Problem
June 13th, 2016
I’ve written many times about how programming is being held back by storing our code as ASCII text. My efforts garnered a dim reception. As strong as the arguments for other storage formats may be, text works extremely well with existing tools. Leaving text behind means leaving an entire ecosystem of practice and tooling, thus we are stuck in a local maxima.
Reflections Upon Turning 40
August 17th, 2015
Or: Now I Know Why Old Men Drink Scotch
Over 40 years, has Software Gotten Better or Worse?
July 13th, 2015
Is software getting better or worse? Some say we are making software ever more bloated. Some say we don’t care about quality anymore; that worse is better. Some say we haven’t changed how we write software in 40 years. It's still ASCII text on disk. (Yes that would be me, saying that). Certainly our programming languages haven’t improved. We still write billions of lines in glorified C code!
Samsung Should be Broken Up, I Have the Evidence
April 1st, 2015
As part of my research at Nokia I often test and analyze products from other companies. This gives us an awareness of the state of the industry, and helps us to focus our efforts. This week my target was the Samsung Gear S smartwatch. As of yet I have been unable to actually test it. This is my story. And the story of why Samsung should be broken up into smaller companies that can actually make good products.
Why You *Can* Build a Smartphone.
January 21st, 2015
In what was by far my most popular post of 2013, Why You Can’t Build A Smartphone, I explained why building a new smartphone platform was futile. Today, like any good author, I’m going completely contradict myself. Yes, it is possible to create a new smartphone platform. You just have to follow a few constraints.
Ideal OS Part III: User Attention Is Sacred
January 14th, 2015
In the first two (1, 2 ) installments of this essay I covered overall system design, the window manager, and applications. I talked about how the user will communicate with the system, but I haven’t discussed much about how the system communicates back to the user. This brings us to the next big problem of today’s operating systems: notifications and concentration.
How Microsoft can fix Windows. They have the Technology.
September 30th, 2014
Note: I’m a research at Nokia but this blog does not represent my employer. I didn’t move to Microsoft and I’ve never been on the Windows Phone team. These ill considered opinions are my own.
Where's The Data?
April 29th, 2014
The Web is amazing for answering questions. Suppose you want to answer a question like, "what does the .JPG file extension mean", then the answer is just an internet search away. Millions of answers. However, if you stray from the common path just a tiny bit things get hairy. What if you want to get a list of all file extensions? This is harder to find. Occasionally you might find a PDF listing them, but if you are asking for all file extensions then you probably want to do something with that list. This means you want the list in some computable form. A database or at least a JSON file. Now you are in the world of ‘public’ data. You are in a world of pain.
Why You Can't Build a Smartphone
December 2nd, 2013
Every day or so I read another blog post (or ranting comments) about how BlackBerry could be rehabilitated, or how Nokia could restart Maemo and build the ultimate smartphone again. Things came to a head after Jolla announced their first phone for sale. Surely this phone with an amazing user interface will vindicate the N9?! Amazing technology plus a killer UI? Marketshare is theirs for the taking!
Improved Easing Functions
March 1st, 2013
Animation is just moving something over time. The rate at which the something moves is defined by a function called an easing equation or interpolation function. It is these equations which make something move slowly at the start and speed up, or slow down near the end. These equations give animation a more life like feel. The most common set of easing equations come from Robert Penner's book and webpage.
Why should children learn math?
February 6th, 2013
In my hunt for what's next I've been reading a lot of books lately. A lot of books. As part of my search I decided to hunt down some of the classics in the computer science field that I'd missed over the years. First articles, then research papers, and some Alan Kay work. That led me to a book I'd always meant to read but never found the time: Mindstorms, by Seymour Papert.
Sacred Language Cows Part 2: we can rebuild it. We have the technology.
April 14th, 2012
An open letter to language designers: Kill your sacred cows.
April 9th, 2012
An open letter to language designers: please, for the good of humanity, kill your sacred cows. Yes, i know those calves look so cute with big brown eyes and soft leathery skin, but you know what? Veal is delicious!
IFRAME, you are dead to me
March 7th, 2012
I know IFRAME, I know. We've had a good run. You've tried hard and back in the day you were somethin' special. The way you could bring in content from any domain was nothing short of amazing, and you certainly took out the trash when you bumped off FRAMESET. But that was then and this is now. A lot has changed in the past few years. CSS and AJAX are really hitting their stride and you just can't hack it. I'm willing to overlook a few margin bugs, but this?! Well this is simply the last straw.
The Bathtub of Global Commerce and the Keystone Pipeline.
February 6th, 2012
I'm tired of hearing people talk about how we need a new pipeline to bring oil from Canada to Texas for processing. They say we need to do this for the US to have "energy independence". This is bullshit. Anyone who claims this has no idea how global commerce works. Oil is a fungible commodity so whether Canada sells their oil to the US, China, Brazil, or Switzerland makes no difference. Let me explain.
Genetic Programming: AI Opening Disappointment
January 25th, 2012
For some reason the concept of Genetic Programming got stuck in my head the other evening. At midnight, after spending about four hours reading up on the topic around the web, I came away disappointed. The concept of evolving code the way genes do is fascinating but the results in the field seem to be very narrow and limiting. Thus began this rant.
Flash is Dead. Long Live Adobe
November 14th, 2011
The twit-o-sphere came alive last week with the news that Adobe is canceling their Flash for Mobile products. I even briefly joined in. Many see this as evidence that the open web has won (it has), or a justified comeuppance for Adobe's historical slights to Apple (it might be), or perhaps vindication of Steve Jobs' rant anti-Flash (it was), and maybe even that Microsoft was really to blame (it's a stretch). Lost in all this, I wonder, is the effect this actually has on Adobe beyond their short term problems.
Why 2014 Won't Be Like 1984
February 22nd, 2011
I've heard a lot of noise recently about these new fangled smartphones and tablets not replacing 'real computers', especially since the announcement of many new tablet products, including the HP TouchPad. That they are just expensive FaceBook machines. I've also heard people say that there's no room in the market for more devices: iOS and Android will take up the market and leave nothing for anyone else. It'll be just like the PC wars again!
webOS, the OS built from the web
April 15th, 2010
There's been a ton of talk lately about several mobile operating systems and their problems, such as language restrictions, fragmentation, and anti-competitive practices. It's never a good idea to talk bad about your competition, so I'll take this opportunity to simply say a few things about the webOS (the OS that powers Palm's Pre and Pixi phones) that you might not know.
Why do Alarm Clocks Suck?
March 8th, 2010
It's been a month since I posted so I'd say it's time for a rant. I've been traveling a lot lately so the object of my wrath this week is alarm clocks. Most specifically the alarm clocks in hotel rooms, but home use clocks don't get off easy either.
The Success of MultiTouch is a Lie
November 27th, 2009
Listening to some podcasts about mobile devices I heard over and over statements like "iPhone changed the world with multi-touch" and "Android could compete with Apple if it had multi-touch." This simply isn't true. Okay, while perhaps not a lie, the success and value of of multitouch is extremely overrated. In fact, the iPhone barely uses multi-touch!
In Defense of Wires
October 19th, 2009
An essay in which I expound upon the benefits of the lowly wire and resist the temptation to wireless-ize the world of personal gadetry.
Microwaves Are Evil (at least mine)
November 24th, 2003
Yes, that's right microwaves are evil. More specifically, the microwave in my office. Or, to get right down to it, the interface on this microwave. You see, it's awful. Just plain awful. And yet, I've seen worse.