Sunday, November 29. 2009
Achieving maximum bliss on IRC: ... Posted by Mark Kretschmann
in markey at
17:38
Comments (8) Trackbacks (0) Achieving maximum bliss on IRC: Bouncers explained
Many of you have probably experienced this problem before: You're using an IRC client (in my case Konversation), but then your desktop crashes, or you have a power failure, and then of course the IRC client crashes too. Some time later you log into your desktop again, fire up the IRC program, but damn, you've lost a part of an important conversation. Worry about this no more!
Fortunately, there exists software that's generally called "Bouncer" (or BNC). A Bouncer is basically a proxy server that handles the IRC connection for you. Instead of talking directly to the IRC server, you talk to the Bouncer instead, which relays everything in realtime to the IRC server. Modern Bouncers even support SSL encryption for added safety (I would recommend to use this). The advantages of a Bouncer summed up: How to set up a Bouncer: Get access to a server somewhere that's always online. If you don't have your own, you could ask a friend. There you install the Bouncer software, e.g. shroudBNC or psyBNC (thanks to Kevin for doing this for me!), preferably with SSL support enabled. Then you configure your IRC client to connect to the Bouncer, exactly like you would connect to a normal IRC server. And voilà, you will now be able to enjoy IRC a lot more than before. Here's a tutorial that explains the concept in more detail: psyBNC Tutorial Enjoy PS: There exist IRC clients (Quassel is a prominent example) that have similar functionality built-in. However, Bouncers will work with any IRC clients, e.g. Konversation, Irssi, X-Chat, and others. Saturday, November 28. 2009
Let?s make identi.ca and Twitter a ... Posted by Lydia Pintscher
in Nightrose at
19:26
Comments (0) Trackbacks (0) Let?s make identi.ca and Twitter a little more KDE!It’s been bugging me for a while that most sites on identi.ca and Twitter look rather boring and I thought it would be nice to give them a little KDE touch. cosmonautirussi was so kind to do some cool backgrounds for KDE contributors, developers, translators and users as well as a generic one. You can just upload them to identi.ca (or any other StatusNet site) and Twitter, adjust the page background color a little to fit your taste and voila! You can grab them on community.kde.org. Wanna see what it looks like in action? Check out this, this, this and this. Friday, November 27. 2009
Free Beer - The Book Posted by Nikolaj Hald Nielsen
in freespirit at
15:55
Comment (1) Trackbacks (0) Free Beer - The Book
Last year I was invited to speak at the FSCONS conference in Göteborg, Sweden. FSCONS describes itself as "a meeting place for social change, focused on the future of free software and free society" and brings together many interesting speakers involved in Free Software, Free Culture and beyond.
After the conference, a number of the people who had given talks at the conference decided that if each of us wrote a text somehow related to what we had given a talk about, there might just be enough interesting material to self-publish a book with this material. The form of the text was left up to each speaker, it just had to somehow relate to the talk without just repeating what was already presented at the conference. I pretty quickly wrote a short essay based on the idea that the same kind of creativity that made me spend my childhood building fantastic projects with Lego bricks, is what motivates me and many others to participate in the development of Free/Open source Software, and many other similar activities and that the role of consumer is not a natural fit for many people. I called it "From Consumer to Creator - The Lego Generation in the Digital Age" Then nothing happened for a long time and I sort of forgot about the whole thing... And then in a mad dash of activity to get the project finished before this years FSCONS conference, all of a sudden the editing was completed and version 1.0 of "Free Beer" was published. (The name makes sense when you look at some of the contents). My essay made it in as the very first chapter, and serves quite well as an opener in my own humble only-ever-so-sightly-totally-biased opinion The book homepage is at freebeer.fscons.org Here is also the bug-tracker so that when enough bugs have been squashed we can release version 1.1. The book can be downloaded freely as a PDF under a Creative Commons Attribution-Share Alike licence, version 2.5. It is also possible to buy a hard-copy. Thanks to all the other people who wrote a piece for the book, and especially to Stian Rødven Eide for editing, getting all the practical stuff done and not least, keeping the project alive. Also, thanks to Amaroks very own Lydia Pintscher for reading through my early versions of the essay and giving feedback. Friday, November 27. 2009Application Naming
Just a short article about something that has concerned me lately: Please take some time for choosing an application name, and think hard about it before coming to a final decision. I know that you are already giving it a lot of thought, this is not meant as bashing. But please consider the following:
Now, before you start saying something like, "Yeah right, coming from the guy who named an application Amarok..." Yes, Amarok is an obscure name, but we were lucky to establish it as a brand. Also, we've been through some of the pain described above as well: Amarok was once officially called "amaroK". While we initially thought this looked cool, we did eventually realize that this kind of spelling gives you more trouble than anything, so we had to change it, which was painful. Don't repeat our mistakes Thursday, November 26. 2009
A reflection: How we made Amarok 2.2.1 Posted by Mark Kretschmann
in markey at
08:30
Comments (26) Trackbacks (0) A reflection: How we made Amarok 2.2.1
So, I'm writing this partly because of vanity (let's be honest here), partly because reflection helps managing past mistakes better in the future, and also because some of you (KDE community) have asked about our experiences with Git. With this out of the way, let's go in medias res:
With Amarok 2.2.1 we have tried a new approach in release management, which meant a rather radical departure for us: The whole release cycle of 2.2.1 was pretty exactly 6 weeks long. While six weeks can be a lot of time, or very little time, in our case it was very little time, as we had set a goal of achieving three things with this release: 1) Features 2) Bug Fixes 3) Doing it all without causing regressions. To give you an impression of what we have done in these 6 weeks, check this out: Amarok 2.2.1 ChangeLog As you can see, the list is pretty long, especially so if you consider the short time frame. All of this made us proud of this release, perhaps even more so than of the 2.2.0 release (which used an ordinary long release cycle). One thing that contributes to our happiness about it: This was pretty damn hard to do, but in the end we made it. Did it go completely smoothly? Hell no. A lot of things went wrong, but it was a good learning experience. We intend to continue working in this style (one release every six weeks) for the foreseeable future, while incorporating some of the things we have learned (the hard way) with 2.2.1. What went well:What went wrong:That's it for now. Thanks for reading, and maybe also take a quick look at our Amarok 2.2.2 ChangeLog (at the time of this writing, our cycle is just about 50% completed, so I think it's pretty impressive already). Tuesday, November 24. 2009What is KDE to you?For me KDE is:
Sunday, November 22. 2009
Let?s start small, Junior! Posted by Lydia Pintscher
in Nightrose at
22:05
Comments (0) Trackbacks (0) Let?s start small, Junior!When a new contributor comes to you and wants to start coding on KDE do you have a small task to hand him or her immediately? The moment they show up in your IRC channel, email inbox, identi.ca or wherever else they find you is the moment their motivation is incredibly high. They are willing to invest time and energy right there and they likely have a few free hours to dive into a simple task. This is the moment we need to get them hooked. If they have to wait a few days, a week or even longer for a task they might well have lost that initial motivation and will be gone never to be seen again. Now we all know that our time is limited and we can’t be there 24/7 and give out tasks to newbies. Thankfully we have a solution: Junior Jobs on bugs.kde.org. The sad thing: There are less than 50 of them at the time of writing this posting. Let’s improve this. Have a simple task you don’t have time for right now? File a bug right now (you can even skip the wizard), tag it with the keyword “junior-jobs” and be happy to have a list to give to a potential new coder next time someone approaches you. But having this list to point to is not the only benefit. It will also be used by people looking for something to do on their own. They might be too shy to approach you for the time being, but looking at a task-list on their own and maybe trying to fix one of the bugs is possible for them. Let’s get this list above 100 within the next two weeks together! Now say you don’t have a suitable Junior Job for someone. There are a few things you can do to keep them involved until you have something:
While Junior Jobs are used for coding tasks mainly it would be nice to have a similar system for promo for example. I am not sure Bugzilla is the best tool for that though. Are there better tools we could use for promo task scheduling? Sunday, November 22. 2009
Kubuntu "Karmic" Release ... Posted by Mark Kretschmann
in markey at
10:14
Comments (3) Trackbacks (0) Kubuntu "Karmic" Release Party @ Puzzle ITC
Yesterday Myriam and I attended the Kubuntu "Karmic Koala" release party in Berne, Switzerland, kindly hosted by Puzzle ITC in their very nice office. We did all sorts of funny things there, including a talk on Project Timelord (given by Myriam), some Amarok 2.2.1 goodness (presented by me), having pizza (including some very hot sauce), and... wait for it... beer!
All in all we had a jolly good time, made some new friends, and even talked about the possibility of having a Nokia N900 release event there in January (anyone interested in giving a presentation?) Saturday, November 21. 2009KDE Education Survey
The KDE-Edu team is looking for feedback from their users to improve their applications and to find out where to invest the limited time they have. If you are a student, teacher or just casual user of any of these applications we are looking for your feedback:
We created a short survey (1 page – about 5 minutes) where you can tell us about the 3 problems you have with any of the applications listed above as well as give some general feedback. Those 3 problems can be small or big. We want to know about them. This feedback is incredibly valuable to the team so if you know anyone who should take this survey but doesn’t read this blog please send them a link. PS: If you want to help with any of the programs listed above (by writing code, creating example content, documentation, promotion or anything else) please get in touch with me. Thursday, November 19. 2009
Micro-Options, Many-Options, ... Posted by Mark Kretschmann
in markey at
09:21
Comments (31) Trackbacks (0) Micro-Options, Many-Options, No-Options? A practical guide to help you decide.
Not very long ago, Aaron wrote an article about improving our user experience, stating that "Micro-Options Suck". Coincidentally, an article appeared on dot.kde.org only a few hours later, stating the following: "Choice Is Not A Usability Problem".
Ardent readers will notice that there is possibly a contradiction here. In this article I would like to explain why this is not really a contradiction, but rather a misunderstanding. To get us started, let's make a jump back in time (using Flux Capacitor technology): The year is 2004. It's cold. You are alone. There is a house in the north (called "KDE"), and a house in the south ("GNOME"). Press "n" or "s". > n You have entered the house of KDE. It's a big house, full of obscure items. The sheer number of items is highly impressive, but you get confused. It is too much. What is your next step? Press "n" or "s". > s You have entered the house of GNOME. This house is neat, clean, but also kind of empty. There are very few things to play with. You get confused. What is your next step? > I give up. User reboots into Windows. The gist of this little analogy: KDE was wrong. GNOME was wrong. Also - they both were right! This is quite obviously another contradiction. Obviously this means that Mark is not quite right in the head! Well, you're possibly right on both accounts, but let me explain why it actually makes sense: The truth is somewhere in between. KDE has historically been known for being "the nerd's desktop". Basically, we were so proud of having our own desktop that we quickly determined that giving everyone as much freedom as possible is ideal. After all, the competition (Windows) did not offer this. Developer A came along, going "Hey, I have this fancy idea. It's a bit weird, but let me show you!". Developer B was quick to reply: "Hell yeah, why not? After all this is our own desktop. We can make all of our dreams come true. Let's do it!" GNOME has historically been known for being very sparse with options. They did this for a good reason: Someone smart realized that KDE was totally going overboard with options. Too much is too much. Let me show you a classical example: ![]() Now let me show you an example of the Dolphin settings dialog: ![]() Dolphin has won 2009's Akademy Award for "Best Application". The above screenshot demonstrates one of our reasons for choosing it: Peter Penz realized what generations of GUI developers (both in KDE and GNOME) got wrong: The true secret to getting your settings right is choosing the essential ones, while making good choices for defaults that don't need micro-options. Unfortunately, this is not easy, and it separates the good GUI designer from the bad one. In fact making these choices is bloody damn hard, I kid you not. It requires a lot of thought, experience, and taste. But in the end, you, as a developer, are responsible for making these choices. Creating software is not about giving the user a LEGO blocks game. If options get too complex, the users might as well learn programming and do it all by themselves. That's because, if you think about it, choosing an option is programming: You make the program use one code path, or a different one. This is essentially the same as an "if() {}; else() {};" block wrapped in GUI sugar. To sum it up: That's it for this time, I hope you will be able to get something useful out of this blog. Remember, it's not meant as bashing, but rather as useful advice, stemming from many years of experience with these things (we Amarok developers have made our good share of mistakes as well, there is little doubt about that). Thanks for reading Tuesday, November 17. 2009Busy BeesAs you might have noticed from other blogs on PlanetKDE the KDE promo people have been quite the busy bees this weekend in Stuttgart. Getting together with great people, getting stuff done, having good beer and food -> great sprint. And of course a sprint with Jos and me has to include at least one proper group hug (fltr: Valerie, Kenny, Martin, Claudia, me, Rainer, Justin, Jos, Eckhart, Ingo, Stuart, Daniel, Luca, Cornelius, Frank, Troy, Frederik) It was a great weekend which got us a lot further to the 4.4 release announcement, the rebranding of KDE, a new KDE booklet to give out at events, a redesign of www.kde.org and more. It is amazing what you can get done if you get the right people together for 3 days. Most important for me though was finally getting to know Ingo, Stuart and Luca. It was their first KDE meeting. I hope we introduced them properly (including group hugs and old stories about KDE) Getting feedback on stuff like the rebranding discussion or the move to Git from the people who helped start KDE was very valuable. We should definitely make sure to keep this connection as long as possible. A simple “been there – done that – it was an incredibly stupid idea” can save everyone from quite some headache and bike shedding. I miss you all already… Damn. But the promo people were not the only busy bees. No the Amarokers decided it is time to release 2.2.1. It includes improvements to podcasts, collection scanning, automatic script updating and much more. Read the release notes and download it. Of course don’t forget it is Rokvember Saturday, November 14. 2009Const Correctness
What is const correctness?
It's a programming paradigm that helps writing correct code. In C++, const correctness comprises a set of different techniques, you can read up about them here. In this article however I only want to focus on one form of const correctness, that is object constness. Why should I care about const correctness? Because it increases type safety, makes your code more easy to understand, and it helps making your code correct. Const objects can be seen as invariants in mathematical terms, that is, objects that do not change, that do not vary. An example in code:
In this example, myNumber is a const object (an int is really a POD type, but let that not distract us). This indicates that I cannot change the object. And indeed, if I were to try that, the compiler would complain about it, which is a good thing. It helps preventing mistakes by accidentally changing this object later on. Additionally, it helps readability, because anyone can clearly see that myNumber is not meant to be changed. So you see, writing that "const" before it is a little bit of work, but it has a big pay-off. I think it's worth it, so I try to use it always in my code. PS: It's likely that somewhere in this article I made a slight mistake or a bad wording. With these things, you will always find a C++ expert who will point out something, because C++ is very pointoutable. So that might happen, but I'm fairly sure I got the gist right Friday, November 13. 2009Desiderata
In the spirit of Aaron's post, I also wanted to contribute something positive to Planet KDE. However, instead of writing it myself, I leave this to someone who could do it much better than me, Max Ehrmann (1872 – 1945). His work "Desiderata" is one of the most famous prose poems ever written. Famous as it may be, not everyone knows it, and I think that's a shame, as it has much to give.
Enjoy this little off-topic post, have a nice weekend, and maybe give some thought to Desiderata; it would make me happy, and maybe you as well. DesiderataGo placidly amid the noise and haste, and remember what peace there may be in silence. As far as possible without surrender be on good terms with all persons. Speak your truth quietly and clearly; and listen to others, even the dull and the ignorant; they too have their story. Avoid loud and aggressive persons, they are vexations to the spirit. If you compare yourself with others, you may become vain and bitter; for always there will be greater and lesser persons than yourself. Enjoy your achievements as well as your plans. Keep interested in your own career, however humble; it is a real possession in the changing fortunes of time. Exercise caution in your business affairs; for the world is full of trickery. But let this not blind you to what virtue there is; many persons strive for high ideals; and everywhere life is full of heroism. Be yourself. Especially, do not feign affection. Neither be cynical about love; for in the face of all aridity and disenchantment it is as perennial as the grass. Take kindly the counsel of the years, gracefully surrendering the things of youth. Nurture strength of spirit to shield you in sudden misfortune. But do not distress yourself with dark imaginings. Many fears are born of fatigue and loneliness. Beyond a wholesome discipline, be gentle with yourself. You are a child of the universe, no less than the trees and the stars; you have a right to be here. And whether or not it is clear to you, no doubt the universe is unfolding as it should. Therefore be at peace with God, whatever you conceive Him to be, and whatever your labors and aspirations, in the noisy confusion of life keep peace with your soul. With all its sham, drudgery, and broken dreams, it is still a beautiful world. Be cheerful. Strive to be happy. Max Ehrmann, Desiderata, Copyright 1952. Friday, November 13. 2009camping out for kde
many of you have probably seen in passing jeff's blog post announcing camp kde 2010. maybe some of you even remember what it is! well i'll refresh your memory anyway. campkde is the western hemisphere's response to akademy. it is like the little brother that can't stand being ignored so he decides to make things happen himself. it's quite probably analogous to the overlooked friend trying to make himself known.
well, this post is here to remind you. campkde 2009 was one of the best conferences i've ever attended, and I look forward to it happening again. even though a bunch of hackers descended upon some tropical beach resort, we were productive. had you come upon us at 10pm you would have seen a 20odd group of people sitting in chairs a few feet from the beach, drinks in hand, coding or writing or discussing away. the lure of the perfect beach was not enough to tear attendees away from the talks that happened during the day. this winter campkde 2010 will be held at UCSD in san diego, california. and I should really rephrase that, because january in san diego is not really winter in any real sense of the term. point is, campkde 2010 will be awesome. and you should be there. because a conference is really only as good as it's attendees, and without you, dear kde community, it just won't be the same. so think of the weather, think of the cool kde dudes you haven't seen in a few weeks/months/years, and register now! the homepage is here:camp kde homepage so, without further ado: ![]() campkde 2010 also, i had some spare time... so just in case you guys are going to forget about campkde, here's a nice little scripted plasmoid to tell you when it is: you can install that from here: kde-look plasmoid page or from ghns in plasma directly! Tuesday, November 10. 2009
Sansa Clip (or: How I learned to ... Posted by Mark Kretschmann
in markey at
13:35
Comments (25) Trackbacks (0) Sansa Clip (or: How I learned to love Skullcandy Chops)![]() So, long story short, or maybe long, we'll see after I've finished writing this: I had been looking for a new portable music player for a while. My old one was crappy, to say the least. Incidentally I had talked about this on IRC, and fellow KDE developer Will Stephenson said he was also on the look for a new player. So we googled a bit. I had some special wishes for my "ideal" device, and Will eventually found one that exactly fitted my needs. What I needed was this: As it turned out, the Sansa Clip is exactly the device I had dreamed of. Impatient as I (notoriously) am, I had to head out instantly and buy the thing (4GB version costs about 60 USD). Loaded some music on it, went on a jogging tour today, and what can I say: The thing rocks Additionally, I bought these sweet headphones, cause the bundled ones didn't really cut it for sports. They have a fancy name, "Skullcandy Chops", and their sound quality is fancy too. Also ideal for sports, as they are not classical earbuds, but instead they are worn close to the ear, which I like. With standard earbuds the things tend to fall out of my ears, apparently I have weird ears or something. ![]() Disclaimer: I do not work for Sandisk, nor do I work for Skullcandy. They did promise me a "really cool holiday" though for making some promotion. We'll see about that. |
Amarok LinksCalendarQuicksearchCategoriesSyndicate This BlogBlog Administration |

