I have long known that application development is an arduous process. I have also long suspected one of the reasons it's arduous is the developer. I should be more specific, I am one of the reasons.
That's because I don't know what I am doing, and I don't mean that in the "I am a lame programmer" sense (even if that's also true somewhat), but in the sense that I literally don't know what the app should look like, or what its feature set should be.
So, I have decided to embark on a series of experiments I will call 24-hour apps.
Here are the rules:
I shall create a neat application, stable, useful, usable and decent-looking.
I shall do it in no more than 24 hours. After that time, it should be at least good enough for a preview release, if not a beta.
Those 24 hours can be split in two or three sessions
Time spent doing icons, docs, etc, counts.
All development shall be public (I am using github)
I must have a use for the resulting application, and it should be at least an adequate solution for that problem.
So, what's the first project? I call it Die Schere (The Scissors in german) and it's a video editor.
It's not a kdenlive replacement, it's just the video editor I wish I had when I needed to glue a piece of one video with a piece of another.
In the old, pre-digital world, that was done using a cutter and scotch tape. I want Die Schere to be as useful and comprehensible as that was, but useful for clumsy people like myself.
Here is a video after today's session, which lasted 8 hours:
The basic functions are there, even if lots of work is still needed.
You can load clips to work with them
You can cut clips (like using a cutter!)
You can choose the cut points interactively or by editing a time
You can arrange them (like using scotch tape!)
You can generate the output video
As a backend it's using mencoder, but there's no reason it shouldn't work with ffmpeg or melt if someone writes 20 lines of code.
Most people nowadays have more than one computer. Often, you are using one, and would like to do something in another. In this video, I will explain how trivial it is to do that without leaving your seat in a modern Linux using KDE.
We will use the following:
Avahi, a zeroconf implementation to let you find your computers in your network without worrying about IP addresses, DNS, etc.
krfb, the KDE Remote Frame Buffer. This is a program to share your desktop over the network.
krdc, the KDE Remote Desktop Client, a VNC, RDP client, which is what you use to see a desktop shared via krfb.
I am sure users of other operating systems or desktop environments will say they can do it just as easily. In that case, feel free to do your own videos ;-)
Keep in mind that accessing remote desktops over the internet is a whole different beast, and this solution is not meant for that case.
As usual, this video was recorded using qt-recordmydesktop. There was minor editing using mencoder.
The computer used is the original Asus eee PC 701 4G, so you can see this is not exactly a hardware-intensive operation. I find the eee's small screen is great for this kind of full-screen demo, because it's not big enough to drown the important parts.
I just uploaded rst2pdf 0.12.2 to http://rst2pdf.googlecode.com Rst2pdf is a tool to generate PDF files directly from restructured text sources via reportlab.
This release fixes a major bug (incompatibility with reportlab 2.1) as well as several minor ones and adds a minor feature (better styling of list items).
For more details, you can see the changelog