KExtProcess: Part 1

kconfigure, my KDE build management tool, uses KProcess for its handling of automake, qmake, and checkinstall functionality. It does this because fundamentally these tools are command-line driven tools without a library interface for C++ to work with. The problem with KProcess is that, while it is probably the most powerful command-line processing library available, it is still very limited. Evidently I am not the only one with this problem as Martijn Klingens has released his updated KProcess-like tool KExtProcess.

The beauty of KExtProcess is that it not only handles command-line communication processing (i.e. STDIN, STDOUT, STDERR, etc..) but that it is network transparent. It also supports the concept of “profiles” that allow you to string together commands into a single “profile” that is loaded before the process is started. This allows things like: ssh’ing from one machine, to another, to a third before running a command locally on that third machine; or remotely accessing a machine as a one user, and then su’ing to root before beginning your process as root. While KExtProcess is still in its early stages, it will, no doubt, quickly achieve its place alongside KIO and DCOP as one of the powerful *nix desktop technologies in existence.

Making Gaming

Developer.com has a nice high level overview post on available gaming libraries for cross platform C++ development. If you are in the mood to create the next version of Half-Life go check it out. Libraries covered include SDML, ALLEGRO, ClanLib, and the Irrlicht Engine. Each of these libraries supports Linux, Win32, and MacOS.

Start-ups, technology, and youth

I have quoted or linked to Paul Graham a few times previously in this blog. But his recent speech at OSCON struck a code with me recently. Checking out his web site I found this little gem on start-ups and the place they hold in the future of technology innovation. If you get the chance read some of this other posts. Paul consistently presents a clarity with technology that is all to uncommon in writers today. As an example let me give you a couple of his quotes from OSCON:

“Blogs and open source software are made by people working at home. The average office is a miserable place to get work done. What makes them done are the very qualities we equate with professionalism. The average office environment is to productivity what flames painted on the side of a car are to speed. Start-up environments are more like home work environments. This is probably the most productive the company is ever going to be.”

“The bigger problem is that the people pretending to work interrupt the people who are actually working. With so much time on their hands, they have to take up the slack with meetings. Meetings count for work, just like programming, but they’re so much easier.”

“Open source (and blogging) has a Darwinian approach to enforcing quality. The audience can communicate with each other and the bad stuff gets ignored.”

“Business can learn about open source in the same way that the gene pool learns about new conditions: the dumb ones will die.

“The reasons companies have fixed hours is that they can’t measure productivity. The idea is that if you can’t make people work, you can at least prevent them from having fun. If they’re not having fun, they must be working! If you could measure what people really did, you wouldn’t care when people worked.”

And my all-time favorite:

“Someone who proposes to run Windows on servers ought to be prepared to explain what they know about servers that Google and Yahoo don’t know.”

HOWTO: unsermake

unsermake is a replacement build tool for KDE. Some of unsermakes advanced features are multi system compile support, simplified makefile syntax (using KDE’s custom Makefile.am files), build progress indicators, full Qt moc file support, cleaner build output and much faster build times.

Modernizing with QT

There are a number of Linux application available using the outdated Motif framework. This legacy Unix framework provides a functional, if archaic, GUI environment that many applications used in the early days of Linux. Some of these applications are still useful, but because of Motif, lack modern GUI functionality and advanced programming paradigms. Trolltech has created a solution for those looking to update their GUI application interface while retaining old Motif application functionality in a Qt Extemsion called QMotif.

Desktop Linux Debate

Family has kept me from blogging the last few weeks, but a couple links drew my attention today. The Linux Desktop Distribution of the Future is a blog post by akaimbatman at blogspot. In it he lists (his perceptions of) some of Linux’s problems mastering the desktop. In a total 180 from most posts of this type, he also lists solutions. Now several of his “thoughts” are re-occurring theories that pop-up from know-it-all new-to-Linux types from time-to-time (sorry about this sentence, I have been reading a great deal of Joyce lately.) It does, however, provoke some good thought on selected topics.

This post is a rant of the perceived shortcomings of the RPM package format. The author demonstrates a distinct lack of understanding about RPM and its design decisions. A technically solid (if less then totally coherent) rebuttal can be found here. The whole DKPG/RPM debate is one of the quickest ways to spot a Linux zealot. Technically speaking RPM is superior to DKPG in every perceivable way, yet DKPG defenders will routinely throw arguments like “RPM is a steaming pile of crap” in defense of thier package of choice.

I don’t like Redhat, I don’t use Redhat (anymore) but one thing they did RIGHT… was RPM.