I am by no means a hardcore GUI programmer. The best I've done is a couple of quick hacks written in Tcl/Tk. And even that somehow left me with an uneasy
feeling that "things could have been better". One area that's always bothered me is how monolithic GUI components tend to be. This is especially
problematic in the day and age of mobile, decentralized computing (why can't my A/V remote "jump" back and forth between my cell phone and my PDA?). This
is a tough problem to tackle and the best attempt at resolving this seems to be a research project from Laboratorio de Sistemas
Universidad Rey Juan Carlos Omero: Ubiquitous User Interface.
The next biggest issue is how difficult it tends to be when it comes to specifying the desired visual style of the GUI layout. Especially
under dynamic constraints such as changing window sized and DPIs. Regardless of toolkits and platforms, the layout managers always end up either
too simplistic and dumb or
downright esoteric. There's got to be a better way!
And there is.
Don't mind its scary title, the idea behind
the approach is pure elegance: the layout is all about virtual grids (to which all object align) and the user defined constraints for
how the grid cells related to each other. Of course, with the typical constraint being X is supposed to be twice as large as Y these constraints
are of a nice, linear kind. Once the user is done specifying the constraints the solution actually comes from the computer (ain't it what
computers are good for?). What's even better it can be easily recalculated under changing conditions without *any* feedback from the application.
The Auckland Layout Model just works. Their
example page is pretty convincing, even if
the syntax desperately needs sweetening. Definitely this stuff is worth keeping an eye on!
Roman Shaposhnik's
26 May · Mon 2008
Deconstructing OpenSolaris LiveCD
I still remember the coolness factor that the first fully functional and user friendly LiveCD with Linux had.
From a technical stand point it wasn't really that much of a novel concept (all major Linux distributors
had a capability of booting into a function Linux kernel for the installation and troubleshooting purposes)
but as everything with Linux -- it had some significant social implications. What
Klaus Knopper singlehandlely changed was
not what Linux was capable of, but rather how it presented itself for the first time. All of a sudden just about anybody
could take it for a spin. It got friendlier, it got less intrusive and even if you didn't like it -- hey, at least it
hadn't made you slave away for a day installing it (and trashing your Windows partition along the way). Fast forward
to 2008 and you can see that one of the most prevalent Linux distributions, Ubuntu, still uses ideas from Knoppix
to advance Linux adoption. Life is good, if only... boring. Yep, that's right -- there's nothing exciting about
a Linux LiveCD from major vendors anymore. It is polished, mature and leaves nothing to blog about. Not to worry
though, with the Project Indiana debuting its live CD
of OpenSolaris a couple of weeks ago we now have a brand new frog to dissect and marvel at.[Read More]
11 May · Sun 2008
How many kernel engineers does it take to solve one differential equation?
Now, before you can answer this fundamental questions, lets take care of
some basics first. Do you really know what does "load average" (as reported by
getloadavg()
or by various utilities such as
uptime and
w) really tell
you? Or even what does it actually mean? Out of 10 random folks informally surveyed in
the hallways of Sun Quentin:
- 2 said "Duh?"
- 7 said "Load average measures an average number of processes over 1 minute; 5 minutes and 15 minutes respectively"
- 1 said "Load average numbers represent a simple moving average of the number of process in a scheduler's run queue with a window of 1 minute, 5 minutes and 15 minutes respectively