Tuesday, November 30, 2004 |
|
|
I would have said “only in Marin” if I still lived there, but a Kona couple has received $30,000 in a wrongful arrest settlement for being busted for growing pot. They were held for 8 hours. Nice work if you can get it. |
Tuesday, November 30, 2004 1:52:51 PM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
|
I have never registered a piece of shareware faster than I did this morning after trying out Sciral Consistency. This is a to-do manager for repetitive tasks that can occur within a range of days (for instance, you need to do the bills twice a month, but an Outlook repetitive task scheduling them for “5 o'clock on the 15th and the 1st” is overly rigid. Or, you want to make sure that you keep in touch with old friends at least once a quarter.)
The interface couldn't be more intuitive: a matrix of days versus tasks, with task status color coded, and a simple dot indicating completion (and recalculating the task going forward from that day).
|
Tuesday, November 30, 2004 9:35:00 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
Wednesday, November 24, 2004 |
|
|
This is something I'd love to see running Tablet XP: a table whose surface is a touch-screen display running at 1600 x 1200. via Scoble. |
Wednesday, November 24, 2004 10:59:02 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
Tuesday, November 23, 2004 |
|
|
Reuters reports that a pod of dolphins protected swimmers from an attacking great white shark off the coast of New Zealand's North island:
Link Via [Boing Boing]
Nice story, but I’m not sure I believe it. |
Tuesday, November 23, 2004 9:43:24 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
|
Casey Chesnut, who’s my favorite Tablet PC programmer because he does all this stuff apparently without realizing that it’s supposed to be hard, has written a neural network based character recognizer for the Tablet PC (via [Tech Blender]). He normalizes an ink stroke in x,y,and t (time) (a technique I discussed in two recent DevX articles) and quantizes it into a discrete number of inputs (50) for the NN.
That's actually fairly close to my understanding of how Microsoft's recognizer uses neural nets as well, although for continuous writing you obviously have to deal with letter pairs or even triples (I would think) and use some kind of sliding window across the input.
Post-neural net, you have an activation level per character, which you can feed into a Markov model of letter pairs and triples (if the last letter was a 'q' then the odds of this being a 'u'...). You then feed your letter-based options into a dictionary, which in turn you feed to a language model (the simplest being Markov models again).
Or post-neural net, you move directly to a BNF-like grammar.
We gotta’ get Casey to Windows Anywhere...
|
Tuesday, November 23, 2004 8:24:24 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
|
Time magazine today named the Intel Centrino mobile technology wireless surfboard as one of the Coolest Inventions of 2004…

Via [Tablet PC hep!]
Lordy, lordy, lordy. When this counts as the coolest thing that done with a technology, we’re in trouble. BTW, I’m doing a surf report Konfabulator widget (For the logic impaired, it’s usually more important to get a weather and surf update when you’re not already at the beach.) |
Tuesday, November 23, 2004 7:59:00 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
|
There’s an early Simpsons where Mr. Burns somehow comes to believe that Homer is a fellow predatory capitalist. When he asks Homer how to improve the working environment, Homer says that he’d like the fish sticks in the cafeteria to come with more tartar sauce. Burns marvels at this Machiavellian way to buy the affection of the exploited.
My friend Fabian is consulting at Google and is dazzled by the tartar sauce:
This is my fourth day out at Google and I just have to comment on the cafeteria. Like Butthead used to say, "It is the coolest thing I've ever seen!" The menu is outstanding and the price? Free. That's right, after you load up on food there isn't a cash register in sight. It's amazing.
And if that isn't enough, they just don't serve lunch, they serve dinner too. Via [The Daily Nugget] |
Tuesday, November 23, 2004 7:53:33 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
Monday, November 22, 2004 |
|
|
Via [Lambda the Ultimate - Programming Languages Weblog] I found JetBrain’s Sergey Dimitriev’s very important whitepaper on "Language Oriented Programming: The Next Programming Paradigm"
This is the best brief explanation I’ve seen of the emerging consensus that the software development industry is finally poised to move beyond general-purpose languages. This echoes much of what Microsoft is saying about software factories and domain-specific languages (DSLs): in a recent discussion I had with Jack Greenfield of Microsoft I finally grokked that software factories don’t reduce to DSLs, but the rapid creation of DSLs by programming teams within vertical industries is absolutely key.
Dimitriev lays out the practicalities of what he nicely labels Language Oriented Programming (LOP). (I’ve said that I would die happy if there were no more “-Oriented Programming”s, but it’s better than the current fad of “-Driven Programming.”) This paper and JetBrains’ “Meta-Programming System” (MPS) are echoing what happened with refactoring: there was an emerging theoretical and evangelical consensus, JetBrains (then IntelliJ) produced a product that, while perhaps having implementation warts, was half-a-decade ahead of the industry.
I am fully convinced that this is the future of vertical-industry software development.
|
Monday, November 22, 2004 9:34:45 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
Sunday, November 21, 2004 |
|
|
…So here's some homework for the mighty tablet armada: sell me on the tablet platform…Given all that, convince me. Sell it to me. Design me a suitable demo. Explain to me exactly why I shouldn't go and get some cute little touch-screen sub-notebook, a ThinkPad with 7+ hour battery life, or a full-featured Media Center notebook with booming speakers and a gorgeous screen. Challenges [Peter on Tech]
The last thing that you should do when someone says “Convince me of X” is start talking. “Convince me of X” means “My skepticism of X has increased to the point where my emotions are telling me Not X.” And so when someone says “Convince me…” what you should really do is listen.
I will now ignore what I just said.
The thing about the Tablet PC is that The Medium Is The Message. The Tablet PC will only succeed when software developers:
· See the Tablet PC as a Medium separate from a Laptop; and
· Understand the "the change of scale or pace or pattern" that [the Tablet] "introduces into human affairs."
· Address that message in software
Clearly, the use of the pen coupled with the disuse of the keyboard is the most obvious change to pattern, but it’s become fashionable to ignore that since so there’s so little software that engages that message. So there’s lots of discussion about “mobility,” where the Tablet PC’s “message” is that “It’s fully functional even when cradled in the crook of your left arm.” But the Tablet PC’s “mobility” message is inconsistent, since most still have indoor screens and limited battery life, so it’s mobility message is “It’s fully functional when cradled in the crook of your left arm when you’re in a corridor of your workplace,” which is, not surprisingly, exactly what’s conjured up by the “Corridor warrior” persona which was the most-used reference for whom the Tablet PC would be targeted (the medium is the message!).
For me, mobility means outdoor screens, long battery life, instant-on, and rugged enough to be carried in a backpack on a hike or, ideally, used on a diveboat. If I had that, I could do location-aware field guides on the Tablet PC, which you can’t do with a laptop (the “crook of the left-arm” thing is important to field guides).
Another part of the message of the Tablet PC that we fans ignore is that it’s not nearly as non-disruptive as a notepad. I wish it were, but it ain’t. Pulling out a Tablet PC to take notes is insanely disruptive. Once it’s down on the surface and you start writing, it’s more discrete for note-taking than a laptop, but when you turn it on or take it out of the pack, fuhgeddaboutit. So part of the pattern of using a Tablet PC in meetings for me is firing up OneNote, putting the machine in standby, walking in with the Tablet in my hand and getting it down on the table and in note-taking mode as quickly as possible. It’s still disruptive.
Going back to the fundamentals, the disuse of the keyboard is as much a part of the Tablet PC medium as the use of the pen. I’ve had the experience of having both a Tablet and a traditional laptop in front of me in a technical seminar (actually, a slate and a convertible, but the experience was the same). Let me tell you: fantastic experience. Longer thoughts and code at the speed of typing (technical seminar: keyboard clicks acceptable), drawings, connections, short notes with the stylus. It was such a good experience that I could well imagine an external digitizer attached to a keyboarded laptop running Tablet XP as the best solution for the types of meetings I most often have. That would be a better solution than an external keyboard attached to a Tablet, because for reading a vertical screen is better, while for writing / drawing, a horizontal surface is needed. It’s difficult to use the stylus on a convertible in laptop mode, it’s difficult to use the screen on a slate lying flat.
Having said all this, why do I love the Tablet PC medium? Because I adore the stylus’ direct manipulation, gestures, and fast 2D pointing. Those, to me, are the parts of the Tablet PC message that are unappreciated in all software and are only beginning to be addressed in some art programs and OneNote. When I think of what I’d love to be able to create / do with a Tablet PC, it generally involves these things. For instance, I’m convinced that there’s a broad class of outlining-type facilities that can be created in 2D space (a virtual corkboard; code refactoring; etc.). Or, association by pointing -- this, not that; this, and that; this, in contrast to that – these are things we do on notepads and whiteboards with a line, but what if that line were semantically meaningful? And no physical space can be folded, stretched, duplicated, and restructured the way that computer coordinates can be.
So to me, when I think of the Tablet PC, I think of this product that provides me with everything that the laptop does (in convertible mode) and has an entirely new category of possible software that is unrealized. As an end-user, I can understand why that’s frustrating, but as a developer, it’s what I live for. |
Sunday, November 21, 2004 10:08:20 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
Friday, November 19, 2004 |
|
|
Seagate 100GB 2.5" IDE for $194: "Amazon.com offers the Seagate 100GB 2.5-inch IDE 5400 rpm drive for notebook computers, model no. 9W3277-556, for $193.99 with free shipping, as a reader found. Via [Tablog PC]
Without an optical drive to boot from, how would you get the Tablet OS onto the new drive? |
Friday, November 19, 2004 3:02:44 PM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
|
Julie points out that if it ain't got Intellisense, it ain't a productive programming environment. Now,
- Pynk doesn't even have cut-and-paste yet, so that comes first; and
- It should be possible to use reflection to get, not quite Intellisense, but something like a list of properties and methods that might be applicable to the current object; but
- We're back to the PIP dilemma: I would need events firing as the user enters individual characters (at least, when they enter a '.'). Which you don't get with the PIP, but which I might be able to get off the RecognizerContext object's Recognize event. But, I don't think I can actually get a reference to the PIP's RecognizerContext, so I can't use the PIP for input in this scenario. But I want to move towards free-form ink and/or syntax-directed UIs anyway...
P.S. I can't do something Intellisense-like within Shark itself, since it runs from static configuration files and Intellisense is inherently dynamic |
Friday, November 19, 2004 1:32:41 PM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
|
James Kendrick nailed it. You can edit the Shark keyboard to use full words:

Making a syntax-directed programming editor that much easier to contemplate. |
Friday, November 19, 2004 10:07:15 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
|
Tech Blender points to this rumor that Longhorn will require 64-bit hardware. You know, one of the fairly easy lessons to draw from the 16- to 32-bit change is that it happened too late, that there was a great deal of pain because everyone tried to live with side-by-side APIs and “sort of” 32-bit versions of Windows etc. So, while I’d not heard this rumor before, it’s not inconceivable that it’s true. |
Friday, November 19, 2004 8:50:33 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
Thursday, November 18, 2004 |
|
|
What would you do if you had more programmatic access to the Tablet PC TIP? Via [Incremental Blogger]
I think the general answer to this is that I want to be able to control the TIP via something awfully close to Backus-Naur Form. Here’s a classic example of how math equation input might be defined:
input ::= ws expr ws eoi;
expr ::= ws powterm [{ws '^' ws powterm}];
powterm ::= ws factor [{ws ('*'|'/') ws factor}];
factor ::= ws term [{ws ('+'|'-') ws term}];
term ::= '(' ws expr ws ')' | '-' ws expr | number;
number ::= {dgt} ['.' {dgt}] [('e'|'E') ['-'] {dgt}];
dgt ::= '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9';
ws ::= [{' '|'\t'|'\n'|'\r'}];
That’s really pretty darn comprehensible if you ask me. |
Thursday, November 18, 2004 12:23:38 PM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
|
Loren noted that what my video of Pynk programming really demonstrates is that it takes me 1:23 to handwrite “eval(io.Ink.Strokes.ToString())”. Too true. I've been thinking a lot about how to evolve Pynk and, although my first priority is making the “just plain text” interactive console fully functional, the ultimate goal is to make a viable ink-based programming environment, and that's going to take some “outside the box” thinking.
This is what occurred to me on my walk this morning. Shark is an impressive new input technique from IBM:

This image shows some of the important features (short travel between related keys, button density) but not the most striking when it's used: gesture-based recognition (:50 screencast).
I plan on training myself with Shark for several hours and then timing my input against the TabletPC TIP. We'll see.
But it got me thinking of a Shark-like syntax-directed input pad for Pynk, combining keywords, in-scope variables, and perhaps even namespace-available classnames:

What do you think?
P.S. Iggy's recent post that “It's not about text input” is also apropos |
Thursday, November 18, 2004 10:35:39 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
|
According to Steve Ballmer, Bill Gates receives 4,000,000 emails per day. (via Alice and Bill)
You know, somehow I think that after the fabulous spam-filtering technology of Microsoft Exchange and Outlook, there might, just might, be human eyes between billg@microsoft.com and the man himself. |
Thursday, November 18, 2004 10:08:48 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
|
If you've never tried dictation, you can get a sense of how it works by watching a video screencast I made shortly after I installed Version 8 of NaturallySpeaking. The out-of-the-box experience was dramatically better than before via [Jon's Radio]
Not long ago I had a chat with one of Microsoft’s recognition guys (J. Pittmann) and learned some interesting factoids about how voice recognition works. The most interesting is that they throw out tons of data and can’t take advantage of the added horsepower available in offline mode. You see, for me voice dictation would be much, much more useful if I could transcribe notes taken while driving or walking – when I’m at my computer in a quiet environment, I’d just as well use the keyboard or pen. The realtime aspect of recognition is not of much interest to me, but I would be thrilled if I could say “Take the next 18 hours to recognize what I babbled on my two-hour drive.”
Not with today’s algorithms. All speech recognizers began their lives several Moore’s generations ago and all use algorithms that began life in the pre-Pentium era, and were designed for very low sampling rates and bit size. (Today’s recognizers probably use higher-quality signals, but the point is that the algorithmic assumptions are what we’d today consider low-fidelity, low-memory, low-CPU.)
Basically, they quickly throw out everything to try to get to vectors representing sub-phonemes (“codes”) that they template-match to produce phonemes ( ). They try to match the stream of these to complete words and word-sequences, using probabilistic pattern matching and language models.
This bottom-up approach has gotten to the point where it works pretty well. But at every step up the abstraction chain, they abandon data (raw signal to code, code to phoneme, etc.) so that by the time they get to the language model, they don’t have the ability to revisit their initial data. For instance, if you use the words “C Plus Plus” in a document, what you’ll find is that you break the phrases used afterwards, because the phonemes of “++” are always screwing up the model. And once the language model is screwed up, you get this bizarre semi-phonetic mess that’s virtually impossible to work with. I’d probably prefer a pure phonetic output attached to the original note – the phonetic model would be indexable and searchable. It’s sort of like working with Ink – you learn that translating 100% of your handwriting into text is not necessary, so long as 99% of your handwriting is searchable.
By the way, one thing that really struck me about Jon’s screencast is how differently he approaches voice dictation. When composing text at my computer, words come out of me in a way that is entirely alien from my speech habits. My chief pitfall as a public speaker is that I talk fast. On the other hand, my professional writing comes out of me at the pace of about one phrase every 30 seconds, and that’s when I’m on a roll. One of the interesting things about Jon’s screencast is that he’s actually talking. When I’ve tried to use voice dictation, I’ve always basically voiced the word that I would otherwise type, which makes me sound like a robot with a run-down battery. “Voice dictation is…intriguing…to me…”
|
Thursday, November 18, 2004 8:34:41 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
Wednesday, November 17, 2004 |
|
|
|
Wednesday, November 17, 2004 7:13:42 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
|
Tuesday, November 16, 2004 |
|
|
When you're struck with writer's block, you're supposed to just write anything. This is what I just churned out instead of my next column:
I was awakened by my phone. You got used to that living on The Big Island. It's already noon on Wall Street by the time the rosy fingers of dawn touch the wine-dark seas of Kona. Plus I have narcolepsy, a disease which tends to kick in at particularly inopportune times, as if advancing a plot that otherwise would flounder over flimsy connections . Narcolepsy is a crippling disease, but one which involves no physical deformations and yet is exotic enough so that most people have heard of it; I find it lends me an air of vulnerability that causes men to underestimate me and women to swoon.
"How may I be of service?" I said, unconsciously forming the words by which Parsifal proved himself worthy of receiving the Holy Grail from Anfortas, the Fisher King. Or so you'd believe from a mere surface reading of the medieval poet Wolfram von Eschenbach.
"Mr. O'Brien? Mr. Lawrence O'Brien?" Came the breathy voice of a woman -- a voice that betrayed her as filled with worry and that further betrayed her as the owner of a cutting intellect that kept lesser men away. And that even further betrayed her as beautiful, a brunette, taller than average, with gray -- no, green -- eyes.
"Only my publisher calls me Lawrence," I said, rising from bed and noting that it was a little after 5AM by the position of 'Iwakeli'i, the male frigate bird, the W-shaped constellation known to the West as Casssiopeia, the queen whose insult of the Nereid sea nymphs dictates her constellation never touches the sea. Whose circumpolar orbit allows it, along with The Big Dipper, whose Hawaiian name is irrelevant but happens to be Na Hiku, to serve as utterly reliable timepieces for those who disdain -- or distrust -- the 32,768 oscillations per second of a quartz crystal exposed to an electrical current as well as for those whose quartz watches don't have Indiglo and thus are quite difficult to read in the dark. "Call me Larry."
"Well…Larry…I saw you on Larry King and--"
"Stop right there," I said. I was in no mood to let her go further, beautiful leggy brunette or no. Programming legends like myself and, say, Don Box, draw beautiful women to us like moths to flame, which are drawn, not because of the heat, but because they are genetically programmed to maintain a steady orientation to the brightest light in the night sky -- the moon, whose name is Luna and which is paired with Cassiopeia in the easily-confirmable-by-skeptical-readers Web site location http://www.pbase.com/image/33397294. Except with us programming legends it wasn't our simulacra of the reflection of the Sun to which beautiful women were compelled to maintain a steady orientation, but to our knowledge of esoterica, which is too close to an anagram of "eroticas" to be a coincidence.
Hmmm, 59,530 more words like that and you know Tom Hanks is on board. But maybe I should wait to see if National Treasure has legs...
I'm going to go for a swim... |
Tuesday, November 16, 2004 2:04:34 PM (Hawaiian Standard Time, UTC-10:00) | Disqus link |
|
|
|
| | |