Sunday, June 13, 2010


This is just an entry so the Chinese spammers I keep getting with random links to probably viruses and malware can all focus here, until I write a real blog later. I'm getting sick of deleting the comments.


Wednesday, March 31, 2010

Amarok on Windows (Work In Progress)

The last few days I've spent with Amarok on Windows XP, and I've managed to fix one heavily annoying thing:

- non-ascii paths to music in the collection are now scanned

It was actually a trivial fix, but took a bit of hunting down. So for any of you with non-ascii file paths (e.g. Chinese, Hebrew, Japanese, Korean) you can now have all of your wonderful tracks be picked up.

I recently installed Windows XP on my machine as a secondary OS for a very valiant purpose (I got into the Starcraft 2 beta) and decided to give KDE on Windows a whirl. Overall I have to say I'm very impressed at how almost everything compiles, and runs quite snappily. The wiki on techbase for installing things with emerge needs a little bit of love, but overall proved to be a great resource. Hopefully I can fix things up there when I have some free time.

With respect to Amarok, the following things need to be addressed, and some of them I will be working on in the weeks to come, time permitting:

  • liblastfm will not compile on Windows with the msvc (free as in beer) compiler, need to replace a class or two with a free (as in beer) version provided within the msvc libraries
  • phonon-vlc for some odd reason, while kcm recognizes it and lists it, cannot be loaded, claiming that vlc cannot be found (mplayer for its part, does work, but not with non-ascii filenames, grrrrr)
  • Solid's WMI backend for hardware detection on Windows is rather far from completion, so no media devices until that gets implemented
  • libgpod needs a few more things before it will work on Windows
The first two are of utmost priority, as I have grown accustomed to having all of my plays scrobbled, and am averse to playing music and not having it scrobbled, forcing me to use iTunes (far from the optimal music player) to play music. Imagine, also, not being able to play part of your library simply because your current backend doesn't support non-ascii filenames. I could rename my files using some bizarre romanization scheme, but why should I have to?

I have other impressions of KDE on Windows, but that will be addressed in another post. In closing, so far so good, but there's still a long way to go.

Big Bang Theory

So I was watching Big Bang Theory the other day, and a recurring thought I had had, came back to me. Am I totally crazy, or does somebody else see this?

Tuesday, December 29, 2009

Amarok Bugfix and Documentation

Documentation is important/useful. I don't mean just comments in the code, I'm talking UML and perhaps written-English documentation walking through a large amount of classes. I've started to, in my free time, document things related to the Media Device Framework of Amarok, with the double purpose of helping to ease in new device developers, as well as to spark discussion about the framework to make it better. I'm well aware of many of its flaws, but the more eyes the better of course, especially when I have nearly no time to work on it.

One helpful thing the UML has helped to do, in particular sequence diagrams, is to spot where bottlenecks occur (where things can lock up the GUI) and thread them. One such big one with parsing device metadata has become threaded, so some of you with rather large collections on your devices may notice that the GUI no longer locks up during the parse. This applies to iPods, MTP, and UMS devices. So yay.

Hopefully as I do more diagramming, this will make it easier for me to work on Amarok when my brain/body are otherwise quite occupied with other things.


Off-topic: to the KDE person I ran into in downtown Mountain View coffee shop, please leave a comment so that I may remember your name.

Thursday, November 19, 2009

Open Source Coding Hiatus

Where have you been?

So lately I've been occupied by a few things:
  • Family issues
  • Working for a startup company
  • University bureaucracy
  • Jobhunting
Which is not to say I've been without free time. What have I been using my free time for?
  • Studying natural languages more in-depth
  • Reading technical books, and inspiring books
  • Being with friends, having fun and discussing the near and long-term future
So where does this leave open-source coding, for which I've even been given the honor of being listed as author for a great project like Amarok? After all, I have a vested interest in continuing to improve something I spent so much time on. I'll explain a few factors of the times that I've tried to get back into coding for it.

Have you been coding in secret?

The nice thing about using git for development is that I can continue to work on a feature or large fix on the side, and then deploy it when ready. That said, this is the cycle I usually go through when I feel I'm going to have enough time and effort to code on Amarok:

  1. git pull
  2. make install
  3. Check out new stuff
  4. Figure out what I want to fix/add/work on
  5. Start working on it in a git branch
  6. Realize after a few hours, that this is going to take 1-2 weeks of dedicated coding, and stop.
I then may come back in a week or two, delete the old branch because I feel I was going about things the wrong way, and repeat this cycle. This is by no means productive, but is something I end up getting caught in lately.

Clearly this doesn't work, so what now?

So this time around I'm trying something new. I'm fully-documenting the issues I want fixed and how to go about them, and sitting on them a bit to see if I can mature them before coding. Also I'm trying to break them up into doable smaller pieces, so I can at least get checkpoints in progress, otherwise this isn't going to work at all.

And in the immediate future?

I am now entering my last two trimesters of undergraduate studies before graduation. Between work, school and family, I highly doubt I'll have the motivation to work on open source on the side. I'm aware there are others who can do this, and have that motivation, and I look up to and respect them, but I lack that. I hope that this next summer, I'll find myself more motivated and free.

Sunday, November 15, 2009

Go Qt Bindings Worth It?

So there's this language called Go from Google now, whose first impression to a programmer is "this is some odd-looking C" code. I do notice that the compile and link time is blazing fast, but let's take a look at the binary size of a simple hello world program, compared to C and C++ equivalents.



int main( void )
printf("Hello World\n");
return 0;



int main( void )
std::cout << "Hello World!" <<>}


package main

import "fmt"

func main() {
fmt.Printf("Hello World\n")

.... and the output sizes?

628K 6.out
16K helloc
16K hellocpp

Hmmm... speedy compile, strange-looking code, obscenely fat 39.25 times as large binary for a hello world file. Maybe as the programs grow larger, the overhead gets less and less, I'd need to test that or read an article about it, but from my first impression? Yikes... maybe not yet ready for Qt. But I'll definitely have fun playing with it anyway! =D

Monday, November 9, 2009

Yakuake For Clipboard

Yakuake is a great drop-down terminal, but often I find the need to store several things on my clipboard, and was thinking a yakuake-like program that has tabbed sessions of kate/kwrite would be really useful as well.

I'm not sure if there exists an application that already does this, but would anybody be interested in this kind of program?