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.

Patience and Power

“How often we wish that God would show himself stronger, that he would strike decisively, defeating evil and creating a better world. All ideologies of power justify themselves in exactly this way; they justify the destruction of whatever would stand in the way of progress and the liberation of humanity. We suffer on account of God’s patience. And yet, we need his patience.”

“The world is redeemed by the patience of God. It is destroyed by the impatience of human beings.”

–Pope Benedict XVI

Making Gaming 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.

Showers Rule

Evidently having made a tie-dye tee, having considered legalization of pot, and having gone to college is enough to make me 32% hippy.

I am 32% Hippie.
Wanna Be Hippie!

I need to step away from the tie-dye. I smell too good to be a hippie and my dad is probably a cop. Being a hippie is not a fashion craze, man. It was a way of life, in the 60’s, man.

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.”