During an experiment, I needed to install Fedora 12. I made a few mistakes:
- I went with the netinstall. Unlike Debian's netinstall, Fedora's is
very slow.
- The installer was a bit sliggish under KVM, and so I accidentally
clicked though the window that let me unselect Gnome. So it's installing
the whole shebang.
- For whatever reason, it is installing CJK fonts. I do not speak either
of those languages, and therefore they are useless to me. Furthermore, I've
been told that something in the neighborhood of 20% of Fedora users make use
of CJK. That just sounds wrong. Why install a package by default
that only 20% of your userbase will benefit from? Aren't there more useful
packages?
Dear Flash,
You Suck.
Sincerely,
Josef 'Jeff' Sipek.
P.S. do I really have to justify this?
Earlier this year, I heard of a company that tried to make a product out of
dynamic binary translation of x86 code to
z/Architecture.
Recently, I decided to look at what they do.
The company is called Mantissa
Corporation, and their binary translation product is called z/VOS.
Much like VMWARE, they cache the translated code, in z/VOS's case it's
really a must otherwise I'd guess the cost of traslation would make the
result unusable. I like how they used VNC (see the demo mentioned below) to
give the virtual x86 box a display.
There is an official blog that
has some interesting bits of information. For example, they hint at how
they use multiple address spaces to give a the x86 code the illusion of
virtual memory. I am not quite sure why they list
Decimal
Floating Point facility as a requirement. Unfortunately, it has been a
few months since the last update.
Their website also happens to have a
demo
of a small x86 assembly operating system starting up and running under
z/VOS. I find this fascinating.
Dear Firefox,
You Suck.
Sincerely,
Josef 'Jeff' Sipek.
P.S. xulrunner-stub using 4% CPU when the window is not visible and 36% when
re-rendering parts of the page is a bit too excessive.
You might have already seen
this image,
but in case you haven't...
Microsoft tried to torpedo the success of the Japan Linux Symposium by
launching their Windows 7 product that same day. They even had setup a big
promotion booth across the street from the conference center.
During a break, we decided to make some fun of Microsoft and dragged Linus
over there. When we arrived there, Linus was sold immediately on the product
as you can see in the picture. At least that's what the sales guy thought.
He obviously had no idea who he was dealing with. But in the end Linus
surprisingly did not buy a copy. Wise man!
Few weeks ago, a new Stargate show started airing:
Stargate Universe.
So far, I'm undecided about it. Even though there were 4 episodes so far,
nothing really happened. The plot so far: a bunch of people get stuck on a
ship in the middle of nowhere with no hope of ever getting home. They
didn't encounter any aliens, visited only a single planet, and spend a whole
lot of time exploring & saving the ship they're on.
I hope it'll get better soon.
I commented a month ago about some statistics
that OkCupid has done. And they have done it again!
This time, they looked at how
your race affects whether people write you back.
Few days ago, a new company was created:
TurboHercules.
As the name implies, they package up
Hercules
(an IBM mainframe emulator), and provide support for it. They are
targetting the platform as a disaster recovery solution.
It shouldn't directly affect the open source project in a negative way (just
like Red Hat cannot prevent people from continuing their work on the Linux
Kernel). At the same time, it'll change the way people look at Hercules.
Recently, I wanted to figure out whether or not an application I was
analyzing was memory bound or not. While on this quest, I was introduced to
Performance Application Programming Interface (PAPI).
There is a rather good
HOWTO
that shows step-by-step instructions on getting it all running on Debian.
The text below is more or less just a short version of that HOWTO, with my
thoughts interspersed.
PAPI is a library that hooks into the hardware performance counters, and
presents them in a uniform way. Installation is rather simple if you pay
attention to the installation instructions.
- Get the kernel source
- Get the perfctr tarball
- Extract the sources, and run the update-kernel script. I really mean
this, if you try to be clever and apply the patch by hand, you'll have a
broken source tree. (The script runs patch to fixup some existing
kernel files, and then it copies a whole bunch of other files into kernel
tree.)
- Configure, build, install, and reboot into the new kernel
- You can modprobe perfctr and see spew in dmesg
That's it for perfctr. Now PAPI itself...
- Get & extract the source
- ./configure, make, make fulltest, make install-all
That's it for PAPI. The make fulltest will run the tests. Chances
are that they will all either pass or all fail. If they fail, then something
is wrong (probably with perfctr). If they pass, then you are all set.
There are some examples in the src/examples directory. Those should get you
started with using PAPI. It takes about 100 lines of C to get an arbitrary
counter going.
Some other time, I'll talk more about PAPI, and how I used it in my
experiments.