Roman Shaposhnik's
11 Jun · Wed 2008
Mapping cultural references using subtitles and PAL to NTSC conversion.
I'm a visual junkie. Not only that, a significant percentage
of the visual culture I grew up in is
completely alien
to my non-Russian friends. Which means, more often than
not I find myself in the middle of a conversation making
obscure references without much hope of getting through.
Although Tarkovsky is a safe bet and so is
Bekmambetov
these days, the rest needs to be localized into Americana.
This means two things: subtitles and PAL to NTSC conversion.
And even though there are a couple of end-to-end applications
for acomplishing that I always end up doing bits and pieces of this
work in a variety of simple (even command-line!) tools: FFmpeg,
mjpeg_tools, dvdauthor, mkisofs and, above all, awk and sed.[Read More]
30 May · Fri 2008
GridBagLayout for the Computer Scientists
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!
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!
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
11 Mar · Tue 2008
How to get the most out of your CPU with Sun Studio 12
There used to be a time when hardware (especially CPUs) had a much longer release cycle
compared to software. Not anymore. The silicon industry has joined the "frenetic squirrel"
squad and cranks up updates of architectures at a pretty alarming pace. Of course, for C, C++
and Fortran developers it means only one thing -- your compilers have to stay ahead of the
game, otherwise you might as well program that shiny new CPU in an assembly language.
The good news for Sun Studio 12 users is that the only thing that separates you from the kick ass performance on the latest contraptions from AMD and Intel is this set of patches. So, if you are planning to deploy on Intel's Woodcrest and Clovertown or AMD's Barcelona chips, just download the patches, install them and don't forget to tell the compiler what you want:
The good news for Sun Studio 12 users is that the only thing that separates you from the kick ass performance on the latest contraptions from AMD and Intel is this set of patches. So, if you are planning to deploy on Intel's Woodcrest and Clovertown or AMD's Barcelona chips, just download the patches, install them and don't forget to tell the compiler what you want:
- if your development and deployment boxes are the same:
-xtarget=native - same as above, but forcing 64bit code generation:
-xtarget=native64 - if your target is Intel's Woodcrest and Clovertown in 32bit mode:
-xtarget=woodcrest -m32 - if your target is Intel's Woodcrest and Clovertown in 64bit mode:
-xtarget=woodcrest -m64 - if your target is AMD's Barcelona in 32bit mode:
-xtarget=barcelona -m32 - if your target is AMD's Barcelona in 64bit mode:
-xtarget=barcelona -m64
15 Feb · Fri 2008
Mommy, where does money come from?
I don't think the following two videos answer that question, but the way they
challenge ones presumptions about economy, society and money is alone worth its
weight in gold. Make sure you watch them in exactly the order they appear, though:
Money as debt, by Paul Grignon:
Zeitgeist, The Movie:
P.S. I would be very interested in getting pointers to anything even remotely resembling mathematical theory behind money-as-debt concept. Any suggestions?
Zeitgeist, The Movie:
P.S. I would be very interested in getting pointers to anything even remotely resembling mathematical theory behind money-as-debt concept. Any suggestions?
13 Feb · Wed 2008
Sun Studio for Linux on the eve of Oscars
It is no secret (in fact, at this point I probably bored everyone to death with this) that Sun Studio for Linux
was a very personal project for me. For a movie freak, this was the closest experience to subverting
a major studio into making an independent movie. Of course, seeing Sun Studio
nominated by Linux Journal for a "favorite Linux software
development tool" seems like the closest I can ever get to being part of Oscars. Unlike Oscars, though,
there's no Academy Members who vote, it is you. And since today is the last day for casting your vote
my pledge is very simple -- if you like Sun Studio on Linux, don't be shy to scroll to the question #22, if
you don't like Sun Studio on Linux don't be shy to shoot me an email and above all if you haven't even
tried Sun Studio on Linux now would be the best time.
14 Jan · Mon 2008
Cuckoo hashing: reinventing the wheel?
It is now a well accepted fact that not quite everything
has yet been invented. But sure
some thing have: the wheel, the internet search
and hashing algorithm being just a few examples.
At least I used to be of that opinion until a friend of mine
pointed me to the
radically new hashing method called Cuckoo hashing.
I guess next thing on the list to be reinvented is the wheel, the internet search --
I'm not so much worried about.
07 Jan · Mon 2008
What legal things can be done with illegal content?
Indirection is a wonderful thing. It is said that there is no problem in computer science that cannot be
solved by adding an extra level of it. It is even more exciting when it gets applied to our societal
common sense. For example, we all know that selling stolen goods is, in itself, illegal. But what about
renting property for vendors selling all sorts of goods (some stolen and some not)? Or what about
promoting such "fairs"? Is it legal, is it not? I'm not a lawyer but I know for a fact that when
goods themselves are virtual the situation gets even more complicated.
In the business of media distribution there is probably no issue hotter than the legality of P2P downloads, trackers and networks. I do have my own take on all of it, as I am sure do guys at a very special Movie Database. But lets not get into this discussion right now. Lets apply indirection. Pretend that all content traveling through the P2P filesharing networks is illegal. I know that for any reasonable human being this should be as hard to imagine as the world where all software is commercial, but we will try very hard. Ok. Now, the next question is: to what extent secondary information derived from such a content would be legal? Well, that's a difficult question and precisely the one that 0xdb.org is trying to explore. I wish them luck!
In the business of media distribution there is probably no issue hotter than the legality of P2P downloads, trackers and networks. I do have my own take on all of it, as I am sure do guys at a very special Movie Database. But lets not get into this discussion right now. Lets apply indirection. Pretend that all content traveling through the P2P filesharing networks is illegal. I know that for any reasonable human being this should be as hard to imagine as the world where all software is commercial, but we will try very hard. Ok. Now, the next question is: to what extent secondary information derived from such a content would be legal? Well, that's a difficult question and precisely the one that 0xdb.org is trying to explore. I wish them luck!
07 Dec · Fri 2007
Silicon Valley: the state of mind
Sometimes when I have a question I go to Google, sometimes directly to wikipedia, but
sometimes the answer is on
YouTube^H^H^H^H^H^H^H dailymotion.com. So for all of you who have ever asked me what
life in Silicon Valley is all about here you go (and if you're curious what all the ^H are all about dive into comments):
26 Nov · Mon 2007
OpenMP 3.0 tasking model: as smooth as Cilk?
There are 3 reasons behind this blog entry: first of all, the
OpenMP 3.0 specification is now available for public comment. That in turn, made OpenMP ARB's CEO Larry Meadows proclaim
The Birth of OpenMP 3.0 and introduce the most anticipate new
feature: the tasking model. Finally, I've just got back from Super Computing '07 in Reno where
OpenMP BOF took place and clearly
showed that the OpenMP 3.0 tasking model is not well understood and, worse yet, it seems to be missing a number of important
capabilities. Before I jump to my critique, let me just point out one thing. There is no doubt in my mind, that OpenMP 3.0 represents
a step in the right direction, yet I can't help but notice its slow pace of development. If it took us 10 years to get to
the point where explicit tasks are possible how long would it take us to make them actually useful? And in the meantime, wouldn't
programmers be better off sticking to something like Cilk or
Rapid Minds frameworks?
[Read More]
13 Nov · Tue 2007
Living a dream in a -fast lane
I guess it is time to confess: I've recently had one of my childhood dreams granted.
Of course, as always with dreams, I've hesitated to tell anybody but the close friends.
I had to make sure I wasn't hallucinating. Now it is time.
The cat is out of the bag:
Linux Journal published my
first-ever printed article
in their
November issue (#163, dedicated to
High Performance Computing). And if that wasn't enough they are distributing
that very issue at the Supercomputing conference in Reno!
With all the attendees carrying those issues around (anybody can get one for free from the
Linux Journal booth or from the press shelf at the entrance) it almost feels like I am
on a book signing tour. It feels really great and a bit scary (what if somebody walks
up to me and points out a bug?) at the same time. But it all would have not happened
it it wasn't for one person. A person whom I'm lucky enough to call a friend
and a teacher: Jon "maddog" Hall. Thank you, Maddog, for the advice and most
of all for babysitting me through my first publishing experience.
That said, I would like to ask all the readers of the article to be gentle with me. All the typos, errors and bloopers in it are mine and mine only and I don't have any good excuse except for it being my first foray into printed media. I'll do better next time. I promise. So be gentle, but please feel free to leave your comments at the end of this blog entry, since I don't think that the comments section on the Linux Journal's web site is open yet. Besides, even if it was open you would have to be a subscriber of LJ (it is really worth the money, though) to get to it.
And finally: if you happen to be in Reno attending SC|07 consider dropping by the Sun's booth. Just remember: you can always make my day if you behave and ask for the autograph. Easy stuff. See you!
That said, I would like to ask all the readers of the article to be gentle with me. All the typos, errors and bloopers in it are mine and mine only and I don't have any good excuse except for it being my first foray into printed media. I'll do better next time. I promise. So be gentle, but please feel free to leave your comments at the end of this blog entry, since I don't think that the comments section on the Linux Journal's web site is open yet. Besides, even if it was open you would have to be a subscriber of LJ (it is really worth the money, though) to get to it.
And finally: if you happen to be in Reno attending SC|07 consider dropping by the Sun's booth. Just remember: you can always make my day if you behave and ask for the autograph. Easy stuff. See you!
11 Oct · Thu 2007
Transistor overproduction crisis
With every single IT publication now explaining the difficulty of parallelism
and multithreaded programming, one has to wonder why do we have to
go to all this trouble of managing multicore in software. Isn't it all just a
manifestation of a desperate hardware industry trying to ram surplus of
transistors down developer's throats much the same way industrial
agriculture rams the surplus of crops? Are multicore chips going to be as
much a damage to your brain as soft drinks (AKA liquid corn) are a damage
to your stomach? And finally, is there a better way? In other words, what is
the
ethanol revolution
of the hardware industry?[Read More]
09 Oct · Tue 2007
Why Sun is Fun
I've just got back from a conference dubbed by most of my friends
as Russian
Super Computing
and I must say that it was quite an event. Lots of people
asking lots of really good technical questions on what Sun is doing about
HPC in Russia and what is our
strategy in general. The most curious question, however, happened to
be non-technical at all. A guy asked me what's the best thing about Sun
and what's the worst thing about Sun. And you know what, the answer
to both parts of this question happens to be the
same one. You can't
beat the euphoria feeling you get from being able to work
with the guys who could crank up something like that in 1992. That's the
best part. The worst one? Well, how about sales/marketing/etc who
couldn't sell something like that till iPhone happened to be announced some
15 years later. But hey -- I'm an engineer and Sun is my eternal playground.
Why, I can even forgive the sales guys -- at least they didn't turn Duke
into something like Bob.