Jul
16th
Thu
permalink

Android is a step backwards (for now)

Let me start off by saying that I’ve done some recreational hacking on Android and I really like it. From a developer perspective it’s very much a step forward.

But the whole situation in mobile reminds me of the mess on the desktop when I was in college. Back then we had 16-bit windows, the new Win32 APIs, some Unix layer stuff. Then there were the native APIs, the MSVC libraries, the Borland OWL libraries, and more. On Unix there was Motif (in various flavors and implementations), the Sun NeWS (I forget the name) toolkit, the Andrew toolkits, the venerable Athena toolkits, and many many more. And of course there always was the Mac. I remember “cross-platrform” was a big buzzword those days, with companies popping up everywhere, promising the silver bullet to develop once and run everywhere.

Then Java, and mainy the web came along and the mess has subsided somewhat on the desktop.

But in mobile we have the Blackberry, Symbian, iPhone, JavaME and, now, Android and Palm’s WebOS. I like the idea of the latter (although I’ve only read marketing fluff so far) and in an earlier post I suggested that the mobile OS should be much more transparent. I guess Google sort of agrees, given that they’ve been pushing HTML5/Gears mobile versions of GMail, Tasks, Docs and, even, Google Wave. Many journalists and bloggers have expressed surprise at this and often drawn the wrong conclusions, but to me it just makes sense.

My best guess is the following: if you want to build middleware (i.e., Gears, AppEngine, etc) and apps that get used, you need leverage in the lower layers (i.e., the OS) and cannot rely on the goodwill of others (Microsoft, Apple, RIM, etc) to implement the standards and technologies you rely upon in their OSes and browsers. That’s what Android is for. It doesn’t have to be the next iPhone to be successful. It just has to be adopted enough so that everyone is compelled to implement the same technologies (such as HTML5) on their platforms.

But people have certain expectations from mobile OSes; it’s not wise to do something radically different right from the start. So in order to ensure that you eventually take the necessary steps forward (and furthermore, that everyone does the same), you have to take an occasional step backwards.

Jul
15th
Wed
permalink

Ubuntu, Vista, Cygwin and all that

I just purchased a new Acer Timeline, an ultra-thin and ultra-light laptop with amazing battery life. First impressions of the machine are fantastic, but I’m facing yet again the recurring dilemma: what O/S?

I’m generally a Unix person, and most of my time is spent either in a terminal, Emacs, a web browser and, sometimes, Eclipse and Matlab. For these things, Linux is fine. But I also use Quicken (and haven’t moved to Mint because of legacy issues), PowerPoint, and Skype. Even though I don’t spend that much time in these applications, I still need to use them on an almost-daily basis. Plus, I’ve gotten quite accustomed to Chrome these days, and the Linux version is not quite ready yet. Anyway, the performance of Firefox 3.5 looks good, so I could perhaps live with that (and there are already DEBs in the universe repositories).

Windows-ifying Ubuntu. I recently tried Ubuntu Jaunty on a semi-ancient Thinkpad and was overall very impressed! But then there were several annoying things, mostly small but some big. The latest version of Skype for Linux dates back to 2007 and neither audio nor video worked with that ancient version. I tried some voodoo with OSS/ALSA compatibility layer stuff, to no avail. A Linux version of Picasa is out there, but it kind of sucks. F-Spot is nice, but I really don’t want to have two applications for photos and retype some of the metadata.

The Atheros WiFi drivers worked, but did act strange sometimes. And it took forever to connect to the AP: Ubuntu booted in an impressive 25 seconds, but then I had to wait for a minute to get a WiFi connection. And after resuming from suspend, the driver would restart only when it liked.

Finally, getting Powerpoint and Quicken to run would require either a VM or dual-booting (and, no, unfortunately OpenOffice or GNUcash are not viable options). My old Brother laser printer did not like the default drivers, I finally managed to find a driver that worked (I think it was Gutenprint, with some additional configuration parameters). I don’t have spare Windows licenses for the former, and dual-booting is very inconvenient: I may not spend much time in those apps, but I use them daily.

On my old laptop I was using Cygwin and was generally doing ok. However, having set that up several years ago, I had forgotten all about the accumulated cruft; the Ubuntu set up experience was much more recent. To make matters worse, this laptop has 4GB RAM and a 64bit O/S (Vista Home-something-or-other).

Unix-ifying Vista So, I installed Cygwin and started trying to integrate things.

Eclipse CDT wanted a compiler. I installed GCC on Cygwin and ended up with two versions (cygwin also installs the mingw environment by default). Eclipse would refuse to see it, I found I had to modify the Windows path. After doing that, other apps that come bundled with their own Cygwin DLLs started acting weird. I proceeded to install MinGW outside Cygwin. So now I had three versions of GCC. I had to do some further fiddling with the path environment variables and write some startup .BAT wrapper scripts to set up the environment. Now I have two GNU toolchains, and have to try to keep them in sync.

Then I tried to install Python. I again ended up with two separate installations, one inside Cygwin and another outside. I have to install packages twice. And the Python versions are slightly different. Same with Java, where i have a 64bit JDK, a 32bit JDK, I have to juggle paths (with cygpath) if I want to use Java from cygwin. I got the 64bit version of Eclipse, but some plugins are not available. Not sure if I want two versions of Eclipse as well.

I also ended up with three versions of Gtk (one in Cygwin/X, one packaged with GIMP, and a separate installer for Pidgin, which Unison uses). Unison is installed twice, and the Windows version does not quite agree with the Cygwin version on file permissions. The Windows version also can’t see ssh. I proceeded to write more .BAT wrapper scripts to fix the path for these, without breaking other applications. And for some strange reason, bash shows some directories that mysteriously don’t show up in other applications (like an apparently fake “My Pictures” directory inside “Documents”, in addition to the sibling “Pictures” (without “My”) directory of “Documents”. Anyway, I now sync my work directories using the cygwin command-line version of Unison, and my photos and music using the Windows GTK version.

I also have several versions of ssh, I’m already tired of juggling keys around, and typing passphrases multiple times. I have TeTex in cygwin, had to manually install auctex, and MikTeX to be able to preview through explorer. But the DVI files are not entirely compatible.

I can keep going, but I think I’ve said enough. I think when Ubuntu 9.10 comes out, I’ll give it a spin (the Acer Timeline is too cutting-edge and I’ve seen some pain from people trying to get all drivers to work). But it seems whichever way I go, getting what I want won’t be entirely trivial, to say the least.

May
9th
Sat
permalink

Research… renowned robots?

I recently found out that all major [industrial] computer science labs have Twitter feeds. Here are some back-of-the envelope statistics.

Followers Time Linear Exp.
Google 2,736 <1 month 2,736 (100) 3.44 (100)
Microsoft 1,708 2 months 854 (31) 1.62 (47)
IBM 3,491 8 months 436 (16) 0.44 (13)
Yahoo! 1,469 13 months 113 (5) 0.24 (7)

Ranked purely by number of followers, IBM research is first. But factoring in the age of each Twitter account (rounded to the closest month), Google is way ahead: the last two columns show a number proportional to the growth rate, assuming that it’s linear (followers/age) or, more realistically, exponential (log(followers)/age).

Also ran the profiles through Twanalyst, just for fun (click links above). All four are “renowned”, “robots”. Both IBM and MS are “fair”, IBM is also a “spammer” and MS is “inquisitive”. Both Google and Yahoo are “sociopathic” (as myself… go figure) and “vain”. IBM has the most simplistic (readable) prose and Yahoo! the most complex.

[Update 5/9/2009] Just discovered TwitterCounter, and pulled the data with a Python script into Google docs to quickly create a timeseries plot (data is static). This should be a bit more illuminating than drawing conclusions based on a single data point. :)

Links to counter pages for Google, Microsoft, IBM, and Yahoo research.

[Update 6/9/2009] Re-ran Python script to refresh data.

Apr
23rd
Thu
permalink

Consular comedy

Yesterday I went to the Greek consulate in NY to get a certified copy of my degree. The level of absurdity seems to increase each time I visit them.

I brought in color photocopies and, of course, the original (a big thing, with raised seals etc, in a leather case). The officer helping me suggested I instead ask for a “true copy” from CMU, which they will notarize and subsequently send to Harrisburg for an APOSTILLE stamp from the PA government. Then he added that “if I were [a government office in Greece], I wouldn’t accept this copy [that I’m giving you]”. Anyway, since I was there, I decided to get a copy certified by the consulate. When I asked him where the copies from the consulate are legally acceptable, he just shrugged and added “come on, you’re CS, you know that anyone can make a degree like this with Photoshop”, waving the photocopy I gave him!!

Anyway, I finally got the photocopies stamped and was done in 15 minutes (that’s amazingly fast, by the way), so all ended well this time. However, let me translate for you what the consular officer seems to have told me: the consulate can put an “accurate copy” stamp but (i) he doesn’t know why anyone would want that, (ii) he himself wouldn’t trust it, and (iii) he’d be happy to approve any random Photoshop job!! Can’t help but wonder why they don’t just disband the NYC consulate…

Apr
17th
Fri
permalink

Less is definitely more

After suffering through a big, steaming pile of (mostly) poo of 18-page(!!) paper submissions for a conference I shall not name, I was ecstatic to discover that my next batch of reviews consisted of 3-page papers. A bit on the other extreme but overall I think that, at least in data mining / machine learning, lower page limits are appropriate for conference submissions (journals are another story).

Say, one page for a short and to-the-point introduction and motivation, one page for the model and equations, and a couple of pages for main experiments and plots. This should be sufficient to get at least the main idea across, without distractions. Anything more than that risks diluting the message, unless the authors are very skilled and careful writers. Further details do have value, but they could be an extended appendix or, even better, an online demo.

Apr
16th
Thu
permalink

On data ownership, again

When I went through the identity verification process for a Cyworld account, I didn’t think much of it. But the recent news about Google and S. Korean laws (WSJ and RRW coverage — oddly, NYT coverage seems to have disappeared) got me thinking about that and also about what I wrote on data ownership. The problem seems to be one of dual standards: revealing some information (true identity) is potential leverage for suppressing other information or opinion. I still think that what I argued for before, which is essentially a single standard (everything open, including what governments do) is right in principle, but I’m less sure about how it can be practically implemented to avoid misuse.

Apr
12th
Sun
permalink

Super-nodes!

Someone recently told me that, in a Chinese online forum dataset, a few very popular posts are commented by everyone and claimed that they may have up to hundreds of millions (!!) of distinct commenters! Generally, I’d find that hard to believe (number of commenters on a single post is at least an order of magnitude larger than the whole population of Greece, and about equal to the population of the US or Japan), but it may just be true in this case.

Apr
3rd
Fri
permalink
Imprez-zed: Seen at a newstand in Narita; in Japanese, for Y1,500.

Imprez-zed: Seen at a newstand in Narita; in Japanese, for Y1,500.

Mar
20th
Fri
permalink
One of the things he told me was that wait long enough and people will surprise and impress you. He said, when you’re pissed off at somebody and you’re angry at them, you just haven’t given them enough time. Just give them a little more time and they’ll almost always impress you. And that really stuck with me.
— Randy Pausch, in “The Last Lecture”; at the time I didn’t realize it, but this requires at least as much guts as kindness.
Mar
19th
Thu
permalink

Medical recordkeeping

A bit sore from what is now becoming my annual [sic] Td vaccine (FYI, normally it’s once every decade). My records always seem to be with some previous doctor, not me. This must be at least the second redundant dose since arriving in the US. So I decided to start manually entering this information in Google Health. That can’t be worse than the good old “paper PHRs” (personal health records), as today’s jargon goes at least in the US. It might at least save me a few hundred dollars in the next few years (hint: I’d be happy to pay for a decent recordkeeping service).

Next »
Powered by Tumblr