What I’ve done this week:
- split the language-support-cpp-java plugin in an indentation-c-style plugin and a language-support-cpp-java plugin without the indentation part
- read the documentation about the plugin system of anjuta
Splitting the plugin took more time and was more challenging than expected. The main problem was to understand what each method does. So I had to read much documentation. I’m not already done with this work, but I’m on a good way…
I’m accepted with my proposal on Google Summer of Code for this year. My mission is to bring clang magic to Anjuta. “Anjuta? What is Anjuta?”, maybe you wonder yourself now. Anjuta is a IDE just like Eclipse.
Clang is a compiler front-end for the LLVM compiler. With this compiler front-end for C, C++, Objective C and Objective C++ code we can get better results in Anjuta. For example if you make a simple mistake by writing code Anjuta will warn you. This can save a lot worse.
The first major obstacle is to make thoughts about the future architecture of the language support interface, so that you’ll be simple load plugins for a language feature like autocompletion or indentation. To support this purposes I’ll split up already available language plugins in an indentation part and the support part.
Since version 11.10 Ubuntu has a feature called Global Menu. This means, that window menus don’t appear in the window itself anymore but on the very top of the screen in the so called panel. Have a look at the video to see it in action:
I have the impression that Ubuntu’s UX designers are trying to mimic Mac OS X here. However, there are several problems with the solution they came up with. The Mac shares some of them, but some are specific to Unity.
The Global Menu wants to give more vertical screen real-estate to the running applications by having only one menu bar taking up space for all windows together. On netbooks this may be a usefull thing, but on computers with HD everywhere nowadays this actually makes usability worse. The Global Menu makes you “travel” large distances with the mouse from the window to the upper border, which can contribute to repetive strain injury.
Another problem is that the menus are not visually connected to the window or application they belong to. For first time users it can be hard to grasp that the menu even belongs to the window or application that is currently in focus. On first sight it looks as if the menu contains global functions. OS X and Ubuntu both try to fix this problem by showing the name of the application at the left most position.
However, Ubuntu has another big usability issue adding to the previous point. It hides the menu and only shows it when the user hovers over it with the mouse. First time users will probably have a *very* hard time even finding the menu at all. In my opinion this is the biggest glitch of them, because you can’t find the menu, without knowing that it is there in the first place and moving the mouse up there. I think this is called a vicious cycle.
To make things worse, I don’t even see *any* reason why one would hide the menu, as there is oviously enough space to display it all the time.
Apparently someone is trying to make money with an Android application that I wrote a month ago. At first I was really mad about people ripping off others by making money of other people’s work. But today I actually feel it is a bit of a compliment. At least this guy thinks, my little app is worth some money.
But seriously, of course I complained about it to Google with their DMCA form.
Regarding the GPL and selling software: this is actually possible, as long as you respect the terms of the license. Paragraph 4 of the GPL says:
You may convey verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
Update: Google removed the App. And it seems to me that they removed the vendor’s account all together.
Update 2: After Google removed it the first time, the guy created a new merchant account and uploaded my app again. I filed a DMCA complain again and Google took down the app and his account a second time. But this guy is really persistent: On August 16th he uploaded the app AGAIN. Remember: He has to pay 25 US$ everytime he creates a new account. And he does this to try selling an app (of about 50 LoC) for 2$, that I give away for free. How stupid can one single person be? I would have thought you’d need at least ten *really* stupid people to gather that amount of idiocy.

Because I couldn’t find any info on how to use sub-projects (that is sub folders in a project) as libraries within the ADT in Eclipse, here’s a short how-to:
Use submodules as you normally would, e.g. when cloning a project with sub-projects use this:
git submodule init
git submodule update
Then in Eclipse you can create a new Android project with the wizard from the existing source (and pointing the location to the sub directory).
When you reference the sub-project as a library for the main project, it will magically point to the correct directory inside the main project.
The yaxim Jabber client for Android for example uses this to depend on the MemorizingTrustManager (see the screenshot).
I wrote a litte plugin for WordPress that removes certain tags from the blogs feed. I needed this, because some tags were redundant and made the feed bad looking in some feed readers. Maybe someone can use this.
The plugin can be found on github: https://github.com/elm/clean-feed
Feel free to fork and customize.
If your SuperDrive is broken and spits out every disk you would like to feed it, it might be possible that your drive just needs a little love on the inside. In some cases the laser lens is dirty and that is the reason, the drive does not detect any disk. To clean the lens you can use a cleaning CD or you can open your super drive and clean the lens manually. A guide how to get to your SuperDrive out of your Mac can be found at iFixit.
When you have your SuperDrive in your hands you need to open it carefully (like we ever do anything
) and clean the lens, e.g. with a cotton bud. If the dust on the lens is the problem you should clearly see a difference between the lens covered in dust and after you cleaned it. Anyways, you might give it a try as your drive failed and if you read this you are probably out of warranty.
Today, I tried to install Windows 7 Professional 64bit and Ubuntu 10.10 Alternate amd64 on my MacBook. Here are the results:
First windows:

The keyboard is not working. The internet says it’s a bug in the Windows 7 efi boot loader.
Now Ubuntu:

Did not search for solutions. Both are not working. Glory new world. Dreck.

MATLAB R2010a uses different encodings on different systems. It seems to use the system setting on Linux. So if locale is set to en_US.UTF-8, Matlab will use this. But on Mac OS X, Matlab seems to ignore this setting. It will use ISO-8859-1 for no obvious reason. That is very annoying if you want to share your Matlab files with other systems.
To make UTF-8 the default encoding for Matlab, you can create a start script that will set the encoding. The startup script is called startup.m and needs to be placed in the directory that is opened in the Matlab workspace by default. For me this was /Users/elm/Documents/MATLAB. So the way to go is: just start Matlab and create a new file called startup.m. In that file you place the command slCharacterEncoding('UTF-8').
This command will tell you which encoding you are using if no argument is supplied.
ServerStatus is a little sysop helper for Mac OS X to monitor your (or someone others) servers. ServerStatus periodically pings the servers you specified and reports back their status. It resides in the menu bar so you can always see the current status of all servers in the list.
Some features are planned in future updates but there is no schedule. The source code will also be released to the public but I’m not planning to do so in the next days. This release is something like an alpha or beta version or I don’t know. I have no idea how many bugs you will find and how many updates are required to make it work actually.


The ServerStatus icon is from Artua Design Studio. They were very kind and allowed me to use it.
This is the first Mac application from me so don’t expect it to be perfect. I would love to get some feedback.
You can get the first official (beta-) release here:
Release notes are available here.
You can ask questions or give feedback in the comments or send me an email serverstatus at skweez.net.