Skip to content

KDE Blogs 

Friday, 1 October 2004

QMake as a KDE Platform

Geiseri  | 
One of the largest problems we have in KDevelop is that people use our templates. The problem with templates is they are obsolete the second you install them on your project. You don't get bug fixes from new KDevelop releases, you don't get updates when autotools or something changes. So they do over time become a serious liability. Read More
Thursday, 30 September 2004

Ruboids Artificial Life

On today's ruby-talk there was a post by Michal 'hramrach' Suchanek entitled "ruboids (on mac os) - singleton instance() returns nil?". I thought he was refering to the rubyists as 'ruboids', which seemed slightly rude to me. Read More
Wednesday, 29 September 2004

The System of the World

Today I received The System of the World which makes my Neal Stephenson collection complete again and me a happy guy. I just have finished Quicksilver and am about to start to read The Confusion. It feels good to know that two and a half kilograms of words are still ahead.
Tuesday, 28 September 2004

Distributor KDE Patches Collection

Beineri  | 
Did you always want to know what patches the distributions apply against vanilla KDE source? Did you ever receive weird bug reports with 'impossible' behavior or stacktraces for your application? Or wanted to forward port this feature you saw in screenshots, read about in reviews or used on a machine with that other distribution? But you had not the time to search for the sources or the bandwidth to download the complete source package just to get the patches? Read More
Tuesday, 28 September 2004

Lypanov Announces Rubydium

It was a pleasure to work with Alex on QtRuby/Korundum. But I haven't heard much about what he was doing since aKademy. There he talked about how he'd made a start with speeding up the ruby runtime with JIT techniques. I just loved this announcement he made about his latest project on ruby-talk. What a stylish entrance! Go Lypanov, Go!
Tuesday, 28 September 2004

Meta-Programming Is Fun

Meta-Programming is becoming an increasingly important part of my life as a software developer. It's a fascinating way to take programming to a new and higher level. Ian has blogged some thoughts about Meta-Programming. I would like to respond to them: Read More
Tuesday, 28 September 2004

Qt Cryptographic Architecture moves into KDE

The Qt Crytographic Architecture (QCA) was originally written by Justin Karneges as part of the PSI instant messanger. After a little bit of discussion, and an agreement on how it will work out, he's agreed to move it into the kdesupport module (KDE already has two copies - one in kdenetwork, and another in kdenonbeta). Read More
Tuesday, 28 September 2004

So long autotools!

Geiseri  | 
So I am fed up with autotools. Its possibly the worst possible build system I have ever had the displeasure of being abused by. Its probably because I never got into m4 macros, or testing the size of an int of my machine every time I try to build a project. So finally with the arrival of Package Config and QMake I can rid myself of this horrible mess. Anyone looking at the QMake documentation might discount it immediately as a serious build system. Since its VERY simple. SOURCE += main.cpp CONFIG += application debug thread Is a very simple case. Even the "CONFIG" portion is optional though because it will use the current Qt configuration if none is specified. "So okay I can build Qt apps, what about KDE apps?" you might ask. Well this is where a neat application kde-config comes into play. This application will tell us all sorts of things about kde as long as the binary is in our path. kde-config --expandvars --install lib will return location of the KDE libraries live. To get a full list of all the path elements kde-config returns just issue a kde-config --types. Now with this handy program we can use the system( ) directive in QMake to populate things like our include paths. QMAKE_LIBDIR+=$$system(kde-config --expandvars --install lib) LIBS += -lkdecore -lkdeui Read More
Monday, 27 September 2004

Genericly doing generic things...

Geiseri  | 
So about 3 months ago I took a survey of some of the projects I have been using meta-programming techniques with and decided on two basic things: a) Meta-programming can make tedious error prone development faster, easier and more reliable. b) Maintaining meta-programming tools is not fun. I have 2 KDE projects Krafty and makekdewidgets, that both extensively simplify building a component via a processed template. They are awesome tools, and makekdewidets is so flexable it will even work with Qt only widgets. The problem is maintaining these tools is a liability. Maintaining code within code is nightmarishly complex, and involves quite a bit of madness with copying and pasting in and out of test programs. Worse, it seems that over time the code just flat out gets harder to read and organize. The other issue is the matter of input files. Believe it or not XML is not always the best solution, and same goes for flat csv files, or INI files. I also have yet to meet anyone who recreationally programs in lex and yacc so custom parsers are even more painful. Cornelius Schumacher has done some interesting stuff wrt to KConfigXT and meta-programming, as has Rich Moore in using XSLT to generate bindings for KJSEmbed. I quickly grew tired of XSLT though, its constant brain damages, and completely bizzare constructs made the templates as hard to maintain as just embedding code in C++. Also its reliance on using a xml file for input killed its usefulness for things like makekdewidgets or krafty. So with that in mind I have been trying to explore a tool that can solve my big problems: Read More
Monday, 27 September 2004

Logitech mouse support

I've finally started work on the special support for Logitech mice (eg 400cpi/800cpi switching, wireless status reporting). I'm integrating it into the Mouse KCM (kdebase/kcontrol/input), with a conditional build on libusb. Read More