Skip to content

KDE Blogs 

Tuesday, 20 January 2004

Thoughts on Umbrello 1.3

Jriddell  | 
Dearest Umbrello and KDE Developers, KDE has been branched for 3.2 and Umbrello UML Modeller 1.2 will soon be released with it. My impression of Umbrello 1.2 is that it is a good release with features that were defiantly lacking in the previous version. Developing as part of KDE has been a good thing, our release cycle has matched well and we get quite a bit of development, translation and packaging support as well as publicity with it although I hope it doesn't put off non-KDE users from using Umbrello. Two commercial UML tool have bought Google Adwords for 'Umbrello' which affirms in my mind that we compete with the commercial competition (and in many ways surpass it). We have gained a couple of top class developers in the last year and a few equally important beastie reporters. My most proud achievement is getting Americans to use the word 'beastie' :) Read More
Monday, 19 January 2004

ChangeLogs shall plague me no more

Mattr  | 
I've started working on a (currently small) app that will parse the ChangeLog files created by cvs2cl and display them in a KListView and allow me to edit them and produce a new ChangeLog file from that. The current code is pretty rough and is something I did this weekend to be more of a proof of concept just to see how hard it would be. Why was I worried about how hard it would be? Well, I wrote a somewhat similar program (it also parsed text output) in Windows w/o using QT and it's about 75 times bigger than the program that I just wrote this weekend. :) I love QT. Anyways, now that I'm off my soapbox about that crappy windows program, I had a few more things in mind for this ChangeLog parser thingie (currently, it's name is KChangeLogMaker, but well, names change :) ). Here are some of the ideas: Read More
Monday, 19 January 2004

Feeling bad after branching

Amantia  | 
We've reached an important point: branching the CVS for 3.2. After complaining a little that things didn't went as smooth as they could I've started to work again. Now that HEAD is open and we have a 3.2 branch, it was time to get rid of development branches. So let's merge them into HEAD. I've tried to do is carefully. Made a copy of my local HEAD checkout, merged (using CVS merge) the development branch into that. So far, so good. Compiled, committed that one. Great, it worked perfectly, I only had to fix minor issues. Committed also those ones. According to the kde-cvs mails they went to HEAD. Some minutes later I've changed the formatting of a file and, surprise, the mail to the kde-cvs indicated that it went to the 3.2 branch. I've become suspicious and verified my local copy. It looked that some files have the KDE_3_2_BRANCH tag and some other don't have. This also means that I committed some files to HEAD and some to branch. Great. Not that I break every freeze rule, but for sure it won't even compile. I've tried to figure out what has happened, and the only thing I can imagine is that the connection went down (by itself, or I canceled) while a cvs command was not completely finished, and this messed up the local copy. This may happen, as I usually connect->commit/update->disconnect. Many times I also download my mails during this time and sometimes I disconnect after the mails are downloaded (especially if there are lot of mails) and forget to check that the commit/update was finished. Or the merge itself caused the problem, I don't know... Or the cvs server had problems. After struggling a while and trying to figure out what can be done, I've decided to repair thing manually. Namely update my local branch copy (which wasn't easy either, as the updates were often interrupted (signal 9?), although the connection was up and running and I haven't killed cvs) to the place where cvs was branched and commit this code again to the branch. This wasn't so simple, but I could do: locally. I couldn't commit, now due to some locking problems. This was the point when I gave up. It was around 2 AM. Now it's morning: I couldn't even update from CVS. I get cvs [update aborted]: connect to cvs.kde.org(195.135.221.67):2401 failed: Connection refused Read More
Sunday, 18 January 2004

Release Fever

We are approaching the 3.2 release. That's exciting. I just collected what's new in KOrganizer for 3.2 and was impressed. I didn't remember that it was so much cool stuff we implemented in the year it took since KDE 3.1. Read More
Sunday, 18 January 2004

Second PIM Meeting and the life after KDE 3.2

Hmm, haven't written something in a while, but now that KDE 3.2 is tagged and branched, I think I should give an update. Cornelius has already described everything that comes into my mind these days (and yes, picturing Zack without dreads scares the hell out of me as well...). Read More
Saturday, 17 January 2004

Categorizing Classes without Namespaces or Packages

Tjansen  | 
This time it started with a a thread on kde-core-devel: I wrote about using classes for organizing functions and later wondered why I am using static class methods - that's what C++ has namespaces for. I think the answer lies somewhere between the way I am using namespaces and the way tools like Doxygen organize the documentation. I am using namespaces in a Java-package-like way. They are a coarse categorization for classes, with 5-50 classes per namespace. That's what I am used to from Java, and it makes a lot of sense for classes. It would be possible to collect functions in namespaces instead of classes, but then you would have to browse through both the classes and the namespaces in Doxygen-generated documentation. Having two kinds of categorization is just too much, it makes documentation too hard to read and code too hard to find. The C++ syntax does not really help you with organizing your code or reading other people's code, especially if you are not using an IDE. It's hard to find out in which file a symbol is declared, and even more difficult to find out where it is implemented. Functions and global variables are the worst, unlike classes they usually do not have their own header. Avoiding these problems requires quite a lot of discipline, you need to keep a consistent naming scheme for all files. This does not help when you work with someone else's sources though. Another part of C++ that I don't like is the separation of declarations/headers and implementation. I hate typing more than necessary, syncing headers with the implementation can be annoying and the stupid #ifdef protectors that you need to write in every header are just braindead. Two features in Java that work really well are packages and the source file layout. When you have a class My.Library.Helper you are required to write both implementation and declaration into a file My/Library/Helper.java. This makes it easy to locate the implementation. As everything in Java is in a class there are no problems with locating functions. They are static methods and can only be invoked by specifying the class name (e.g. Math.round()). This is annoying to type, but makes reading someone else's source code much easier. Unfortunately Sun recommends to use a reverse DNS name as package name, and when you follow it you will have to hide your source code somewhere in a deep directory hierarchy. Unless you are writing a library I would suggest you to ignore Sun's advice and use a short one-step package name. Read More
Saturday, 17 January 2004

Changes

Winter is the time of changes. It is because I made it so. Some of you might have been taught that it's a different season, but for the sake of my argument we'll assume that I'm correct and all the others are wrong. It's like going out naked and people questioning that. Good, I'm glad you're with me on that. I was bored two days ago so I shaved my dreads. Actually I shaved my head, but I figured that it'll sound much cooler if I'll say "dreads" instead of "head". Looking back I might have decided to do pushups or something more productive like fingerpainting, but it happened. I'd post some pictures but because my cleaning lady is sick (I think she's real sick because I haven't even seen her once. They do come with the apartments, right?) I can't find my bluetooth connector to upload some pics from my phone. I took half an hour off today and created a homepage at my automatix.de location. On Tuesday I'm leaving for LinuxWorld Expo. Six of us is going out on Tuesday, which is rather scarry, because I have a new vector quantization algorithm for images, Geiseri his connector and kjsembed, Matthias is the ultimate source on Qt news, Mathieu is Mathieu and that's scarry in itself, Jason can't eat almost anything and Nadeem doesn't eat the stuff that Jason can eat. So we're pretty much covered on the conversation and food front. It's going to be a lot worse on Wednesday when all of us are meeting. Currently George counted 14-20 (for those less fortunate: it's not -6 in total) people. I'd write more but I remembered that I haven't eaten anything today. The friend that used to be feeding me quit that position and I have more important things to do than eating. Read More
Thursday, 15 January 2004

http://linux.conf.au

I'm at http://linux.conf.au in Adelaide. Yesterday I went to two tutorials - Keith Packard's talk on cairo ( http://www.cairographics.org ) and Malcolm Treddnick's talk on the Gnome Libraries. Cairo is a really interesting concept - lots of possibilities for 2D graphics rendering. I'll have to blog on that seperately. Read More
Monday, 12 January 2004

Linuxworld banner art is FINALLY finished

Geiseri  | 
I never thought this day would ever come, but finally I got enough together so I could get the banner for linux world ordered. Its only been on hold for 3 weeks now as I've tried to extract useable artwork out of various KDE people. Finally after some sincere and direct prodding tackat was able to produce a pdf file that was able to scale to the size needed for the banner. Read More
Sunday, 11 January 2004

3.2, PR

Aseigo  | 
more fun in the world of hacking on odds and ends for 3.2 ... just finished up a kfiledialog patch. fun stuff. on the other side of life, just got through listening to the Linux Show this week where ESR and Dennis Powell slag KDE with all sorts of stupidity. i'll be happy to remind those two dolts of their empty headed predictions in a year or two. heck, i'd be happy to school them in public discussion today. they apparently lack good grasp of the facts, but i suppose that's never stopped people (especially those two) from opening their mouths. so be it... time to send a patch for perusal to kde-core-devel. Read More