|
|
Jopsen.dk - A Personal website
At 7:22, the February 22, 2010 on twitter.
Twitter: Har lige vadet igennem en halv meter snedrive på cykelstien...
August 26, 2009 Working on Pwytter in Google Summe of Code
This summer I’ve been working on Pwytter as a part of Google Summer of Code. My project was to separate the backend from the frontend and make a new user interface with PyQt. In my original propsal, I also wanted to do a GTK frontend, however, this was dropped in exchange for a more polished Qt frontend (I do have the basics for a GTK frontend lying around, if anybody is interested, but it’s far from usable).
While writing a backend for Pwytter I also created some abstractions for micro-blogging services, so that Pwytter supports multiple accounts and multiple services (currently Twitter and Identi.ca). With this new backend all the messages are also cached in an sqlite database, enabling Pwytter for work while offline.

I also added theming support to the Qt frontend I wrote for Pwytter, above is a screenshot of Pwytter running the “Twitter-like” theme (as you can see have also be translated, so far only to Danish). Pwytter uses WebKit to display tweets, users and other types of content, thus themes can customize the GUI using HTML templates and Qt stylesheets. Documentation for writing such themes can be found in the project wiki, I plan to write an article on subject when this Pwytter branch is released. So far this Pwytter branch is still under development, and interested developers can find install instructions in the project wiki.
December 15, 2008 RaptorMail, an encrypting GMail client
Tomorrow, I’m finally turning in my P1 project, that’s the first semester project, at Aalborg University. The project is about RSA, and usability of encrypting email clients, and as a part of the project we’ve implemented an encrypting email client for GMail. In Python, with PyGTK and SQLite as backend, e.g. access mail while not online.
Anyway, I thought I’d publish the report here for anyone to stumble upon. Honestly it’s not that great, it’s written in English and is subject to some serious gramma issues, as we’ve been pretty busy actually getting it ready… For those who does not know what a P1 project at AAU is, it is a project conducted by a group of 4-7 students. Most of the education at AAU, happens through these kind of projects, which is kind of nice and gives a lot of freedom. But just for the record, I have not written the entire report myself, so do not blame me all the horror that may be found within it…
Enough about the report, during the project we also wrote an encrypting GMail client, called RaptorMail – don’t ask why. A GMail client is actually quite interesting, if I managed to find the time, it would be real nice to nail the last few bugs and integrate it with GPG… An application to access GMail through a non-webinterface while still maintaining the same feature set would be nice to have. And cacheing all mail for offline usage is an absolute killer-feature.
But I’m afraid I have a lot of other small projects on my mind too, so actually getting it out there is probably not going to happen. But if anybody is looking for a way to synchronize and interface GMail with a local database from Python the “gmail_cache” module I’ve written for this project is fairly comprehensive and well documented.
December 29, 2007 SimpleECDSA, a simple implementation of ECDSA in C
2 weeks ago I did a school project on ECDSA (Elliptic Curve Digital Signature Algorithm). At HTX we have to do a project that goes beyond the curriculum, we must combine two subjects and do an individual project about something we find interesting. I decided to combine mathematics and programming in a project about ECDSA. Personally I think it was great fun, but perhaps I have a twisted sense of humor
Anyway, I’ve publish my report here, it’s in Danish though. But I did also write an implementation of ECDSA in C. The implementation is called SimpleECDSA, though I must admit it not very Simple anymore. It uses GMP as integer library, and uses the standardized curves cryptographic operations.
The comments in my source is in English, though I did translate them to Danish, before delivering my paper. Anyway, I still have the source with English comments, so I thought I’d post the source here.
As I had a little spare time this holiday I’ve configured the source with the GNU build system. It my first tarball created with Autotools, and it’s mostly hacked together of snippets from the automake and autoconf manual. But it works and the package compiles, and “./configure” complains if GMP isn’t present. I did also manage to get “make check” to run my internal tests, so I think it’s pretty good, considering the fact that is my first package build with autotools.
If you’ve any comments, bug-reports or questions to my packaging or SimpleECDSA, feel free to leave a comment. SimpleECDSA is ofcourse released under GNU GPLv3, and can be downloaded here:
August 30, 2007 Volume normalization with Amarok
Some users of TheLastRipper has requested integrated volume nomalization (Issue 61). While I admit that I’ve noticed the volume changes between tracks, I’ve never really bordered to find a solution. But since others had similar issues, I decided to take a look at it. I ended up looking at ReplayGain, a project that aims to add a tag, containing volume information, to all songs. Then read the tag at playback and determine the volume. Though the value of the tag must be calculated first.
As this seams like a big feature, and as argued by Andreas in the issue tread, it’s probably not a feature for TheLastRipper. Nevertheless it doesn’t mean that the problem should be fixed, just that it should be done elsewhere. This is also good, since you entire music collection doesn’t necessarily origin from TheLastRipper. The solution is to implement this feature at playback level, meaning in your audio player.
For those of us running Ubuntu and using Amarok, this can be done easily. First open Amarok, choose “script-management”, Click download new scripts. This will open a dialog showing the newest, most popular and most downloaded script for Amarok. Just install the script called ReplayGain. Once this is installed you’ll have to install some dependencies with Synaptic. I’ll try to list those I think is needed: python-kde3, mp3gain, vorbisgain, flac, python-xml
If you enter the script-management in Amarok again, you can enable the ReplayGain script. Enable it, select it and click “Settings”, you can tweak the ReplayGain script a little here. Once your done with that leave the settings, and ReplayGain will print a small popup, telling you which optional dependencies you are missing. I’ve probably forgot to list some of them, you may find them in Synaptic if you think you need them. Though I haven’t found “aacgain” or “replaygain” in the Ubuntu repositories.
Well, you don’t need “replaygain” or “AACGain”, unless you, like me, have AAC music. Actually I’ve just bought my first AAC music from iTunes. I haven’t used iTunes before, but I thought I’d give it a try since they started releasing DRM-free content. So I installed iTunes in my virtual machine, and copied the AAC files back to my Ubuntu system after they were downloaded. First I must say, the quality of iTunes plus files are very good, and the files has ID3v2 tags (other mp3’s I’ve bought online did!). It’s sad that iTunes doesn’t run on Linux, Apple could at least offer a web interface for iTunes plus.
Well, if you have AAC encoded music, you’ll need AACGain, it’s not in Ubuntu or Debian repositories. Actually I couldn’t find any .deb packages for it anywhere. So I decided to make my own. You may download my ACCGain package here. Feel free to contact me if you want the source package.
Once you’re done installing dependencies, and have enabled the ReplayGain Amarok script, you can right click in your playlist and choose “Apply Replaygain tags”, I selected “To entire collection using album tags” it took a while but the volume was automatically determined by Amarok afterwards.
July 27, 2007 Min installation af Ubuntu 7.04 Feisty Fawn
Jeg ved godt at feisty fawn har været ude et stykke tid, men jeg ville ikke opgradere under mine eksamener og lige pludselig havde jeg sommerferie og sommer job… Derfor var det først her i weekenden at jeg fik installeret feisty fawn. Jeg valgte installation frem for opgradering, da jeg havde leget lidt mere med min edgy installation end hvad godt er.
Installationen var nem og hurtig, det hele gik meget smerte frit. Denne gang var network-manager allerede konfigureret lige efter installation. En lille sjov detalje:
Kort efter at have installeret Ubuntu kunne jeg læse på Newz.dk at toshiba havde tilbage kaldt flere batterier. Senere på aften havde Ubuntu opdaget at min laptop var en toshiba og den gav mig en fin advarsel om at mit batteri kunne være tilbage kaldt. Advarselen så sådan ud:

Som det kan ses var den på dansk, og kom forholdvis kort tid efter nyheden om batterierne. Jeg synes det er en fed service fra Ubuntu. Jeg kan hilse og sige at min Windows partition ikke kan finde ud af at advarer mig, og det selvom den er fuld af bloatware fra Toshiba (Bruger den kun til legacy applikationer og end smule Windows udvikling). Det skal lige siges at mit batteri ikke var tilbage kaldt, men det var tæt på.
Det eneste problem jeg havde efter installation af Ubuntu Feisty Fawn var sove funktionen, eller det der hedder “afbryd” når man logger ud at gnome, når jeg kom tilbage efter en suspendering til ram virkede det trådløs netværk ikke. Jeg kunne ikke komme på trådløst netværk med min IPW2200. Jeg kiggede lidt på nettet og det vidste sig at hvis man tilføjer “ipw2200″ til modules i /etc/default/acpi-support, så bliver driveren reloaded efter suspendering. Altså ALT+F2 skriv “gksu gedit /etc/default/acpi-support” ENTER, find linjen MODULES=”" og ændre den til MODULES=”ipw2200″ og gem.
En anden lille ting man måske kunne tænke sig at gøre efter installationen af Ubuntu, er at installere pam-keyring. Gnome-Keyring spørger normalt om din hoved adgangskode til nøgleringen, hver eneste gang et program skal have fat i et password som er gemt. F.eks. network-manager der bruger gnome-keyring til at gemme passwords i. Ved installation af pam-keyring vil standart nøgleringen blive låst op ved login. Det er vigtigt at din nøglering har sammen password som det du bruger til at logge ind med. Derefter skal du installere pam-keyring med synaptic eller bare “sudo apt-get install pam-keyring”, og tilføje følgende linjer til filen /etc/pam.d/gdm :
auth optional pam_keyring.so try_first_pass
session optional pam_keyring.so
Hvis man går lidt op i hvordan systemet ser ud, kan man installere en thumbnailer til openoffice filer. Jeg fandt en god en i en tråd på ubuntuforums, den benytter et thumbnail af openoffice dokumentet og sætter et lille gennemsigtigt ikon hen over billedet, så man kan se om der er tale om et tekst dokument, en præsentation eller et regneark. Jeg har opsummeret tråden fra ubuntuforums til et lille arkiv med installation instrukser. Resultatet ser sådan ud:

Older Posts »
|
|