Roger Binkley, leader of Sun’s Mobile and Embedded community, interviewed me after my talk at OSCON. It went ok, given how tired I was:
http://today.java.net/pub/a/today/2007/08/20/javamobility-podcast16.html
Roger Binkley, leader of Sun’s Mobile and Embedded community, interviewed me after my talk at OSCON. It went ok, given how tired I was:
http://today.java.net/pub/a/today/2007/08/20/javamobility-podcast16.html
I had a pretty good week last week in terms of doing some open source work. I had the opportunity to do some consulting regarding Hecl, which was pretty cool. Some of the work was fed back into Hecl itself, including the beginnings of a “media” API (video streams, taking pictures with the camera), and some other fixes and updates. I’ve also been working on it a bit on my own time, adding a Canvas demo to the MIDP2.0 demo application (works in the emulator, haven’t tried it on a phone yet), and today I’m going to look at updating some of the documentation that’s been lagging the code. In the course of my work, I also happened on a cool idea to speed up the launch of Hecl applications: by creating the widgets as regular widgets in Java, right away, in the startApp MIDlet method, it’s possible to get them on the screen quickly. At that point, you can start loading Hecl, and create some Hecl objects to hold the already created Java widgets. It goes something like this:
Form mainform = new Form("Initial Form");
TextField search = new TextField("search:", "", 30, 0);
... load script ...
interp.setVar("mainform", ObjectThing.create(mainform));
interp.setVar("searchwidget", ObjectThing.create(search));
... evaluate script ...
This is a good tradeoff, because it gets something in front of the user right away, and it’s not a throwaway like a splash screen.
On another front, I’ve updated some of the code in DedaWiki, to enable email notifications in the comment system, which has percolated into the Linux Incompatibility List, and, with a bit of tweaking, into Squeezed Books. I don’t think the code is quite ready for a real release, but by running the incompatibility list on it, it’s a great way to give it a thorough shakedown, and I’ll attempt to release it sooner or later. Of course, in the meantime, interested parties can get the code out of subversion on rubyforge.
Growing up in Eugene, Oregon, which like Berkeley or Boulder could have the label “People’s Republic of” applied to it, I always thought of “business friendly”, as something along the lines of helping huge corporations avoid laws against pollution, or other antisocial behavior. Only after moving to Europe did I begin to get an idea of what the very positive side of “business friendly” is in the US.
Truth be told, all countries tend to protect their ‘big players’ to some degree, be it the US propping up creaking airlines after September 11th, Italy finding various clever ways to get around rules about funding Fiat and Alitalia, or France finding it in their ‘national interests’ to discourage a potential bid for Danone (yogurt!) by PepsiCo. Some are better or worse (the UK has been pretty good about not interfering), but there is a tendency to want to intervene.
Leaving be the discussion over whether those sorts of policies are good, bad, or ugly, the biggest difference between continental Europe and the US is the ease with which new companies – ‘startups’ can be created and enter a market.
As a first hand example, I decided this summer to create DedaSys as a real company in order to better separate my business and personal financial dealings. Were I to do that in Italy or Austria, we would be talking about fees upwards of 3000 Euros (about 4000 dollars at market rates), which is a great deal of money for something that is not making a lot of it at this point in time.
Contrast this with what it took to create a Limited Liability Company (LLC) in Oregon, my home state. To have things done up professionally, it’s certainly possible to lay down a bit of cash there too, but by trading my time for money, and with the assistance of some nolo.com books about the creation and maintenance of an LLC, I was able to register DedaSys with the state of Oregon for the grand total of 55 dollars, and was actually able to complete the process remotely from Austria prior to going home on vacation, where I did the only thing I needed to do in person: open a bank account.
So it costs 1% of what it costs in Italy or Austria to open a company that provides limited liability… a very impressive difference, especially to a small, new company that does not have the connections a Ford or a Fiat will likely have to enable it to deal with all the other paperwork, rules, and regulations to deal with.
Add to that a culture of greater risk taking (meaning also more acceptance of failure), better funding opportunities, and… one comes to the conclusion that Paul Graham is right. It’s a pity, because the people in Europe are top notch. In Italy alone, I know a bunch of really bright hackers. Granted, some of them aren’t interested, and are probably better off not starting a company or otherwise dealing with the business side of the equation, but it’s always nice to have that opportunity.
In closing, here is another example of bureaucracy in action, from my personal on line journal about life in Italy, and now Austria, which I recently revamped by moving it to the Typo platform:
Confronting the bureaucratic beast – registering an Italian domain
Two months to accomplish what can be done in ten minutes with a .com!
At some point in the past, Steve Yegge had his “drunken blog rants”, now sanitized to “Random whining and stuff“, so I guess after one beer I ought to be allowed to rant a bit about what is, according to him, the “Next Big Language”. He comes right out and says it in this video:
http://blip.tv/file/319044/ (skip to the end if you want to hear it from the horse’s mouth).
What he gets right in his talk is that Javascript does not have a good brand due to inconsistent and troublesome implementations in browsers. Actually he gets a lot of things right – more geeks should pay attention to having a basic knowledge of marketing, because it’s a reality that isn’t going to go away just because you don’t like it. Leaving that discussion for another time, though, what brought this to mind was this cleverly worded error message in an application I’m trying to stich together:
Object cannot be created in this context" code: "9
To borrow a line, “Note the consistent user interface and error reportage. EdJavascript is
generous enough to flag errors, yet prudent enough not to overwhelm
the novice with verbosity.” Indeed, I don’t have a clue as to what it’s complaining about. Naturally, I had a look on Google with the error message, and found a few other individuals suffering from the same symptoms, and checked, and rechecked that I was indeed including prototype.js prior to including the file causing the error, but all to no avail.
After an hour or so of googling and fiddling with firebug, and reloading, the problem seems to have “just gone away” (I wouldn’t believe me either, but there it is…).
Let’s hope that if Javascript does become ‘the next big thing’, that even more effort is put into making it a pleasant experience for developers.
Given my desire to see the community around Squeezed Books grow, I went ahead and added a creative commons ‘attribution/share alike’ license to it. I also did this in the spirit of reciprocity towards other people pursuing similar initiatives and using similar licensing. The goal really is to give people an idea of what some of these well known business books are about. Even though the book in question may present a unique and interesting idea, many of them can be summed up pretty quickly. As Phil Greenspun says:
This book illustrates a fault in the publishing industry. If you have
a 50-page idea it is too long for a magazine. But it is too short for
a book. So if you wanted to get it distributed before the Web came
along, you had to drop in words until you reached 200 pages.
I don’t really think the web has changed things that much, either. Who wants to simply put up a web page when they could publish a book?
The idea isn’t necessarily to avoid buying books, either – some of the good ones are really good reads, and a summary just isn’t the same thing as the book itself.
So, I’m stumped – maybe someone knows the answer to this one. I noticed that on my new Ubuntu system, if I ran ps every 5 seconds or so, the process number jumped significantly, by 5 or 6. Being a bit of a control freak, I want to know exactly what’s creating those processes, so I wrote a little Tcl script to try and catch any new [0-9]* directories in proc and read its cmdline file entry, but that seems to not be fast enough to catch the culprit in the act. I had a look at inotify, but that doesn’t seem to work with /proc. So at this point, I’m stumped, and am looking around for suggestions. I just want to have a record of newly created processes… seems like it ought to be possible.
After many months of few contributions, and lots of spam, I decided to shut down the Windows for Linux Users wiki, and transfer its contents to an article on my new personal web site:
http://www.welton.it/articles/windows_for_linux_users.html
I will still accept contributions, of course, but it’s more efficient to simply apply them myself rather than sort through a lot of spam on a relatively static wiki.
The content is based on my experiences with windows several years ago – I realized that I knew very little about using it productively, and so I attempted to share what I learned about turninig it into an environment I could be productive in. Since most people go from Windows to Linux, they’re not likely to face those problems, but for those who do, some of the listed tips and tricks are useful.
These days, I can happily report that I’m happily back to a windows-free life.
After an exhausting trip home from OSCON (Portland to Frankfurt 10 hours, then by car to Innsbruck, 6 hours), I caught something nasty and am taking it easy. So I took a little bit of time to work on updating the Linux Incompatibility List to use DedaWiki, to which I also added a search function. Hopefully this will allow me to manage spam just a little bit better, as it is becoming a serious problem for that site, due to its popularity.
I’m pretty used to working on my own, with my connection to the world of geekdom and the rest of the “outside world” (which really takes on meaning with the high mountains surrounding us in Innsbruck) being the internet line to our home, but it’s a lot of fun to be “in the middle of things” from time to time, and I’m enjoying OSCON so far. I’ve seen a few people I haven’t seen in a while, and hope to see more, so look for me before and after my talk about Hecl! I’m either wandering around or in the speaker’s room.
Tomorrow we’re headed back to Europe… sigh.
I’m writing this from the new Dell laptop I recently purchased which comes with Ubuntu preinstalled.
Overall, I’m impressed – it’s nice to get a laptop that “just works”, without spending a dime for Windows. Everything seems to work quite well out of the box. The machine arrived earlier than Dell’s web site promised, which is a good thing, because their promised date was a lot of time to have to wait. It’s certainly no beauty – it’s kind of thick, and a bit clunky, but hopefully it will be a good workhorse in the next few years. I need something reasonably fast, with a good screen, rather than something ultra-thin, flashy and super portable.
The nits to pick:
The beep. The default beep is VERY LOUD, and doesn’t follow the system volume settings. This is very annoying when trying to work quietly.
I added the nice screen upgrade, to have a WSXGA+ screen, at 1680×1050 pixels, but the default resolution is 1280×1024, so the out of the box aspect ratio isn’t quite right.
The touch screen mouse buttons are very sloppy feeling. I don’t expect super-tight engineering with a machine of this class, but they are not up to par.
But I expect I’ll get most of that figured out with a bit of fiddling, and the price was quite good, so overall I would highly recommend it to anyone else in my situation: wanting a Linux laptop that “just works” for a good price.