Wednesday Jun 11, 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]

Friday May 30, 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!

Monday May 26, 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]

Sunday May 11, 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:
  1. 2 said "Duh?"
  2. 7 said "Load average measures an average number of processes over 1 minute; 5 minutes and 15 minutes respectively"
  3. 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
Now, unless your name is Neil Gunther something is telling me you'd be among one of these folks yourself. I certainly used to be. That is, before I came across a series of articles by Dr. Gunther. The rest chronicles my personal journey of realizing just how deep the rabbit hole goes.[Read More]

Tuesday Mar 11, 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:
  1. if your development and deployment boxes are the same:-xtarget=native
  2. same as above, but forcing 64bit code generation:-xtarget=native64
  3. if your target is Intel's Woodcrest and Clovertown in 32bit mode:-xtarget=woodcrest -m32
  4. if your target is Intel's Woodcrest and Clovertown in 64bit mode:-xtarget=woodcrest -m64
  5. if your target is AMD's Barcelona in 32bit mode:-xtarget=barcelona -m32
  6. if your target is AMD's Barcelona in 64bit mode:-xtarget=barcelona -m64

Friday Feb 15, 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?

Wednesday Feb 13, 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.

Monday Jan 14, 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.

Monday Jan 07, 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 is trying to explore. I wish them luck!

Friday Dec 07, 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 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):

Sunday Nov 25, 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]

Tuesday Nov 13, 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!

Thursday Oct 11, 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]

Tuesday Oct 09, 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.



Top Tags
« July 2016