Skip to content

KDE Blogs 

Sunday, 11 July 2004

Initialization

Startup of more complex c++ applications is a problem. As an application developer you often don't have the ability to fix a lot of the issues related to this problem but there's one thing that bothers me a lot, that you, as an application developer can fix, so I decided to write about it a little today. I'll talk a bit about "delayed initialization" today. Delayed initialization is one of those "unwritten rules" that you can read about on http://developer.kde.org/documentation/other/mistakes.html . In fact this entry should be added there. I don't have enough time but if you do, please try to format it as an entry there. So how does a typical startup routine in a KDE application looks like? Well, first of all we have some KMainWindow derived class. For the purpose of my brainfarts here, let it be : class MainWindow : public KMainWindow Read More
Saturday, 10 July 2004

ARGH, Linux IA64 sucks !

Bruggie  | 
Yesterday at work we found some problem with backtrace on linux ia32 when it was being called from a signal handler. So i said lets see if this works on Itanium or if it is a more genereic Linux problem. Guess what, on Linux IA64 there is no signal generated on a divide by zero, the result is 0 and the program terminates normally... WTF ??? Read More
Saturday, 10 July 2004

First Thoughts on Qt4

Rich  | 
Last night I downloaded the Qt 4 preview and had a play with it, so far I'm very happy. The new painter code seems great and the GL painting demo suggests a lot fun ideas. Read More
Friday, 9 July 2004

Configuration

I've been away for a few days with some of my friends. So here's a few pictures of your truly away from computer. I'm actually wearing glasses on those (gray shirt, blue jeans). Good shot of my crotch area : here, black and white photo : here . Read More
Friday, 9 July 2004

Konstruct

Jriddell  | 
No Debian CVS packages, my usual way of staying up to date, have turned up for KDE 3.3 so I turned to Konstruct for compiling beta 1 and it's very nice. It's even nicer after adding an extra 512Megs of memory. Read More
Friday, 9 July 2004

testing, 1, 0, 1, 0, test, test

Till  | 
Hm. So clee tells me the world wants to read my thoughts on KDE development. The thing is, I usually don't bother with thoughts of my own, I mostly just ask Zack, or David. :) Ok, I have one thought: It seems the progress handling infrastructure and dialogs David and I did for KMail are being adopted by some of the other pim apps, namely KOrganizer and KAddressbook, which is nice, because it means we can now show cross application progress info in Kontact, for example. If you are in the mail part and KOrganizer starts downloading calender data, you'll be able to see the progres of that as if it was an operation performed by KMail. Spiffy. Zack is using it in KConfigEditor as well now, apparently, so once 3.3 is out the door I'll likely add a few missing features and make it a bit more generic so it can go into kdelibs. KMail seems in pretty good shape for the release already, stable and all, so hopefully we'll be able to incorporate some of the usability input from the fine folks at OpenUsability.org and fix some of the remaining annoyances before the release as well. clee, is that enough thoughts for now? Read More
Wednesday, 7 July 2004

Systray fun with KJSembed...

Geiseri  | 
Someone a few days ago on IRC asked me about creating kde:KSystemTray apps with KJSEmbed. So I dug into it and found out how cool it really is... It seems there are two parts to building scripts that use the system tray. The first part is the tray itself. This is pretty easy to create you just new it, set the icon, and show it Example: var tray = new KSystemTray( this ); tray.setPixmap( StdIcons.SmallIcon( "news_subscribe" ) ); tray.show(); application.exec(); Read More
Saturday, 3 July 2004

Feeding my dislike for java...

Geiseri  | 
So it seemed like a good idea 3 months ago. We needed a utility that would create Palm data files, and embed images in them. We had a java pdb generator already so we figured hey, parse in the data file and images and we are home free. Sounds simple right? WONG! Read More
Friday, 2 July 2004

Checking out the Competition

Since I am somewhat new to C# and .net I decided to follow up on a thread I had read on Joel On Software about the new <a href="http://lab.msdn.microsoft.com/express/">Microsoft Visual Studio Express</a> product line which is targeted at enthusiasts and hobbyists. So I went, and sure enough, Visual C# Express Beta was a free download, and only 50mb. Note that they require that you give them a valid email address, and also, from what I've read, the evaulation expires next year. I find it interesting that Microsoft is releasing their tools like this. They probably feel forced to because they don't want to lose the hobbyist market completely to Open Source offerings. If people want to learn how to program, Microsoft has to do something to get them to try their tools, and this is what they are doing. I remember when I was first starting out programming and QBasic came free with DOS. Then if you wanted to compile executables and have more IDE features, you had to buy QuickBasic, which I ended up doing. Luckily I had just enough harddrive space free in my Windows partition for the Visual C# install. I must say that I was impressed by the simplicity and clarity of the setup. It even had a little check box at the very end saying that you could send your usage data to Microsoft to help improve the setup process (even though the setup process was already only a few clicks). Clicking on the details of that message opened a text file showing the click patterns through the various screens of the setup wizard, and generic info like the free space on the hard drive and the fact that the install was successful. I think such functionality would be great for KDE. We could have the apps completely control what got logged using a mechanism similar to kDebug. For example: kUsability << "Button 1 clicked!!" << endl; would log the "Button 1 clicked!!" message to a log file along with the time and the date (somewhat important for determining how long users are staring at the screen with a confused look on their face). Then something could trigger popping up a dialog to ask the user to send this anonymous data to KDE to help us with our usability. Sending the data could be accomplished via email as I believe we do for bug reports today. Does any KDE app do anything like this? The Visual C# IDE overall is very polished. I felt that the only Beta quality part of it was some missing help files. With the form editor it is very easy to create form layouts, including menu bars, tool bars, and status bars. And just double clicking a button takes you to the code that will run when the button is clicked. There was an example hello world type console program as well as a simple windows forms application with just one button. There is also a larger example program which is a screensaver that downloads an RSS fead and displays headlines. As someone who is relatively new to the C# programming language, it is nice to see what looks to be a simple and powerful language, as opposed to the C++ that I am used to. C# is type safe. It's not too complicated. It has easy to use pass by value and pass by reference. Everything is in one or more classes like in Java. It has namespaces. It has easy to use exceptions. It has a built in string type. It has a foreach statement. It has object properties and you can control the accessor methods and don't have to write a lot of code for them. And by virtue of running in the .net environment it has automatic memory management and can interoperate with code written in other languages. I used to not understand what they meant when they used the phrase "managed code." (They do use that phrase a lot.) But now it makes sense that the environment "manages" the memory, specifically the de-allocation. All of these things combine to make C# useful programming language. I know this may sound like a stupid Microsoft commercial, but it really isn't. Let's hope that C# on Mono with MonoDevelop can bring these same qualities to Linux development. Read More
Thursday, 1 July 2004

JuK-iness, the one tagging library to rule them all, annoying body parts and family visits

JuK Well, there are a number of new recent things in the JuK world. A couple weeks ago I finished a major rewrite of a lot of the internal components that's made a lot of things easier, plus it makes working with the code a lot more sane. I completely refactored some of the older classes, moved more towards some stripped down interfaces for use in internal APIs and other goodness. Read More