|
Jonasfj.dk/Blog
A blog by Jonas Finnemann Jensen
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:

July 14, 2007 “Der var engang” – Børnesommerlejr 2007
“Der var engang” da jeg kom hjem fra børnesommerlejr, hvor jeg lovede at komme igen året efter, som sagt så gjort. Jeg er nemlig lige kommet hjem fra Kfum-kfuk distrikt midt-jyllands børnesommerlejr, der i 2007 stod i eventyrets tegn. Jeg har tidligere været med som både deltager, ung-leder og leder, år var jeg så med som leder igen.
Jeg deltog selvfølgelig i planlægningen af hike for 5-6 kl. igen. I år var vi noget bedre forberedt, så der var ikke så meget der skulle besluttes natten forinden. Det gik også meget godt, selvom vi havde en smule regnvejr. Jeg stod på post ved landevejspiraternes certificerings kontor, her havde jeg et bord med 2 baljer fyldt med beskidt vand (havregrun, tapetklister og madkulør). Ungerne skulle så gætte. hvilke ting der lå i baljerne ved at stikke hånden derned. I den første balje var der bl.a. sten, halv opløste vingummier, et anhængertræk, et internationalt studiekort, mønter og selvfølgelig en kfum-kfuk tandbørste. I den anden balje havde vi monteret en dyrlæge handske i bunden, og under bordet lå der så en ungleder med hånden oppe i baljen. Og der var ikke en der ikke skreg da de fik fat i hånden 🙂 Hele piratcertificerings processen blev selvfølgelig dokumenteret på video, og jeg regner med at de komme på nettet, sammen med resten af video klippene fra lejren, når engang det er redigeret færdigt.
I år var jeg sammen med to andre leder for nogle 5-6 kl. piger og to 5-6 kl. drenge, faktisk havde jeg haft 2 af pigerne året før så det var meget hyggeligt. Ungerne (se billedet) opførte sig meget pænt og vandt faktisk lejrens pris for pæneste telte. Og hvis en af dem tilfældigvis skulle finde frem til denne post, kan jeg da også godt offentliggøre at de fik fleste point på hike; i hvert fald hvis jeg suverænt bestemmer hvordan man udregner gennemsnittet 🙂
Når ja, men det ender jo sikkert med at jeg tager på børnesommerlejr igen næste år… Ellers var der i hvert fald engang…
May 26, 2007 CMS3 – Mit afsluttende projekt i Programming C
Nu er jeg snart færdig med mit andet år på HTX, og afslutter dermed programmering C, altså som fag på HTX. Vi kunne skrive vores afsluttende projekt i enten php eller delphi, og da delphi i mine øjne er noget forældet Windows orienteret skidt, valgte jeg selvfølgelig at arbejde med php. Da jeg ikke lige stod med idéen til en genial web applikation bestemte jeg mig for at lave et simpelt CMS system.
   
   
   
  
Dette blev til CMS3 med en web 2.0 backend, hvor alle features skal installere som plugins. Plugins installeres fra pakker, som kan verificeres med digital signatur både før og efter installation (Til dette formål benyttede jeg GPG). CMS3 er overordnet set færdigt, der er nogle små ting som kunne virke bedre og laves mere fornuftigt, f.eks. er der ingen forhindringer mod SQL injections. Oprindeligt var det meningen af systemet også skulle have en web 3.0 frontend. Men dette blev for komplekst og havde ikke ret meget med programmering i php at gøre, så jeg valgte at nøjes med en XML/XSL template, ved siden af HTML templaten.
Det har været et rimeligt omfattende projekt, som dog er blevet nogenlunde veldokumenteret og har fået en fin rapport. Selvom rapporten formentlig består af en masse ævl, stave fejl og dårlige formuleringer. Men da jeg ikke rigtigt har noget at bruge systemet til, kan jeg jo ligeså godt frigive det, under GNU GPL. Hvilket jeg hermed vil gøre: download kildekode, dokumentation og rapport. Så ved jeg ikke om der findes nogen som kan bruge det til noget. Hvis du vil vide mere, kan du finde en lidt grundigere synopsis i docs biblioteket på den tarball, du kan downloade. Det skal lige siges at systemet ikke er under udvikling mere, så denne release er kun for folk som vil lege lidt. Alt leg med systemet er på eget ansvar, men man er selvfølgelig velkommen til at sende mig en mail hvis man får problemer, det kan ske jeg kan hjælpe…
April 8, 2007 Howto: Export Monodoc to GoogleCode Wiki
Lately I’ve been working on a small project called TheLastRipper, hosted on Code.google.com. A few days ago I started wondering about how to document a Mono/.Net application, not because there’s much to document in TheLastRipper or worth documenting for that matter. Anyway I ended up looking at some pages in the Mono wiki, it seams the best way of generating documentation, wasn’t by using documentations comments handled by the C# compilers /doc argument. This is the method most (former) Windows developers are familiar with, once documentation comments have been exported to Xml by the C# compiler, it can be generate into a CHM file using programs like ndoc. Instead the Mono project generates documentation from binaries, which gives them Xml files containing all methods, classes etc. Later on you’ll then be able to fill out the empty comments. This way documentation of code development have been completely separated.
You can read the discussion between the two different documentation formats in Mono wiki. I’ve chosen a middle path, by exporting my current documentation comments to monodoc. I won’t discuss the process of documenting an application using monodoc, the process is already well documented in the Mono wiki article I’ve linked to a few times. What I will discuss is how to parse you monodoc Xml to WikiMarkup that can be hosted on GoogleCode. Mono already comes with an application to parse monodoc to plain html, called monodocs2html. I’ve made a modification of the application, resulting in monodocs2wiki. If you have your documentation as monodoc Xml you can parse it to WikiMarkup, by doing following:
- Download: monodocs2wiki
- Extract the
- Checkout the /wiki/ directory from your GoogleCode svn repository
- Run: ./monodocs2wiki -source:./docs/ -dest:./wiki/
Where ./docs/ is the base path of your monodoc xml files (Containing an index.xml file). And ./wiki/ is the /wiki/ directory you checked out of svn.
- Commit your /wiki/ directory to svn, and view you documentation in you GoogleCode wiki.
The /wiki/ directory of your GoogleCode svn repository, contains all the pages in your GoogleCode wiki. You may wish to change a few things in the template, perhaps using a different label than just Documentation. Take a look in the README file if you what to know more about customization. The current template in the monodocs2wiki application, uses the markup used in the wikies at Google Code. You may modify it, I think it would be easy to port it to another WikiMarkup. Any questions, feel free to leave a comment or mail me…
April 7, 2007 Digital signering med GPG
For et stykke tid siden byggede jeg min første deb pakke med TheLastRipper. Sådan nogle pakker skal altid underskrives digitalt, derfor legede jeg lige lidt med GPG (GNU Privacy Guard). Men jeg fik ikke rigtigt offentliggjort min public key, så det hele var lidt nytteløst. I dag har jeg så endelig fået tid til at lege lidt med GPG.
Måske jeg skulle starte helt ved bunden, GPG og/eller PGP som er den kommercielle implementering, er et system til at digitalt underskrive og/eller kryptere ting. Det virker ved at man genererer et nøgle sæt. En offentlig nøgle og en private nøgle. Data der er krypteret med den private nøgle kan kun dekrypteres med den offentlige nøgle og omvendt. Dette kaldes asynkron kryptering. Hvis jeg så kryptere en besked med min private nøgle, kan den kun dekrypteres med min offentlige nøgle. På den måde kan man verificere signaturen (normalt kryptere man ikke hele beskeden, men kun en hashsum af den). Omvendt kan en anden person også kryptere en besked med min offentlige nøgle, hvorefter beskeden kun kan dekrypteres med min private nøgle. Hvilket sikre at det kun er mig der kan læse beskeden.
Når, men jeg startede med at installere SeaHorse, en grafisk brugerflade til GPG. Derefter var det forholdvist enkelt at genererer et nøgle sæt. Man kan også tilføje et billede af sig selv til signaturen. Problemet kom da jeg ville offentliggøre min offentlige nøgle, dette gør man ved at synkronisere sin(e) nøgle(r) med en offentlig nøgle server. Men jeg kunne ikke få SeaHorse til at synkronisere med nogle af serverne, jeg fandt også en bug rapport på dette på Gnome’s BugZilla. Løsningen var faktisk ret enkel, højre klik på din nøgle og vælg “export public key”, derefter skal man blot uploade filen til f.eks. keyserver.pgp.com. Så venter man et par timer og pludselig er alle keyservere i verden blevet synkroniseret.
Et lille tip, man kan installere et plugin til Firefox der hedder FireGPG. Så kan man verificere mail i Gmail, og alle andre hjemmesider hvor man skulle støde på nogle. Du kan f.eks. prøve om du kan verificere dette blog indlæg, du kan finde min offentlige nøgle på keyserver.pgp.com, bare søg efter jopsen@gmail.com. Du kan verificer min blog post med følgende .txt fil: Digital_signering_med_GPG.txt, du skal blot åbne filen i Firefox med FireGPG installeret: Marker alt, højre klik og vælg FireGPG > Verify. Hvis denne ikke vil verificere så tjek at du har importeret min offentlige signatur og at du benytte tegnsætningen: ISO-8859-15…
March 22, 2007 2 bugfixes, closer to stable…
It’s been a while since release 1.0.0, well short while at least. About a weeks ago we released a bugfix version 1.0.1 (Mac version 0.2), this was a rather big bugfix. Before 1.0.1 there was a lot of theading issues, that made the program practically broken on dual core Windows systems. We’ve fixed most of these issues, and now both the Windows and Linux versions have become more stable. The issues fixed in version 1.0.1 was those listed on our known issues pages.
Well, today we’ve released a Linux version 1.0.2 and a Mac version 0.2.1, those are not very critical. Well the Mac release might be, since I discovered that the Mac version 0.2 didn’t start when the application was launched. It seams there was a typo in the packaging process, I fixed the typo and we’ve released Mac version 0.2.1. Which should be running now, requiring X11 and Mono. The problem with the Linux version was that the menu entry for playlist generation was dead, we’ve fixed, and the Linux version should now be capable of generating playlists. That’s the story behind the latest bugfixes, the Windows version 1.0.1 is still good.
March 10, 2007 Zurück aus Berlin
Den sidste uges tid har jeg været i Berlin, med skolen på studietur. Jeg ellers regnet med at jeg var færdig med tysk efter 10’ende klasse. Men nej, selvfølge skal studieturen gå til Berlin; det skal vist lige siges at vi ikke selv valgte. Når men bort set fra at tyskerne stadig snakker tysk, så var det faktisk en god tur. Selvom det var min tredje tur til Berlin, jeg har tidligere været der med både forældre og med efterskolen i 10’ende klasse.
Vi var selvfølgelig rundt og se nogle af de obligatoriske ting, som f.eks. Rigsdagen, Sachsenhausen osv. Dem havde jeg vist nok set et par gange før, selvom det selvfølgelig aldrig er det samme, kan det godt være en anelse kedeligt. Men vi havde en 3 timer tur med guide i bus, hvilket faktisk var meget godt. Fordi man hørte en masse man normalt ikke ville kende til.
February 17, 2007 TheLastRipper release 1.0.0 RC
The last week I’ve been working a lot on TheLastRipper, an audo stream ripper for Last.fm. first I got the project hosted at google code. Later I ported the code to Windows using Windows.Forms. And as of yesterday the code was finally stable enough to be released. There’s still some inexplainable issues, which I’ll post later on the known issues page of each platform. The releases can be found at the project page: http://code.google.com/p/thelastripper
I’m still not done with the OS X client, hopefully I’ll manage to get an .app ready. Either using Windows.Forms or Cocoa#. I’ve had some success using Windows.Forms under X11, but the macpack utils won’t pack it correctly. Porting to Cocoa is kind of on hold currently, since none of the cocoa samples found can be compiled and no documentation of the C# bindings is available.
Personally I’m pretty proved of the artwork, not because I want to take all the credit for it. The rest of TheLastRipper developer team, have done a lot here. They are also the guys I’m doing the school project with, they’re not much into programming, but they do know a thing or two about artwork. Well all the artwork was done in Inkscape 0.45, the new blur effect is just a little too nice. Some clipart has been “stolen” from public domain ressources at Wikipedia or OpenClipArt.org.
February 7, 2007 Delphi BlogReader
Så er jeg blevet færdigt med endnu et programmerings projekt, denne gang i delphi. Ikke fordi jeg bryder mig om delphi, faktisk synes jeg det er et forfærdeligt sprog. Syntaksen i delphi er værre en VB(.Net), at nogle mennesker overhovedet kan overskue en sådan kode går over min forstand. Desuden ligger det langt fra min tankegang et benytte et ikke standardiseret sprog, med kun en leverandør som oven i købet ikke frigiver kildekode. Den “nye” genoplivning af delphi (explorer edition), som vi har benyttet i skolen er da slet heller ikke noget at råbe hurra for.
Men nok om delphi’s elendigheder, jeg kunne jo komme til at fornærme nogle borland fans. Som projekt i delphi har jeg udviklet en BlogReader til at læse RSS feeds med. I modsætningen til nogle af de andre programmerings projekter jeg har lavet i programmering C, vil jeg mene at dette projekt er fuldstændig uden potentiale. Ikke mindst fordi det er skrevet i delphi, men også fordi det ikke er skyggen af innovation i projektet. Alligevel vil jeg da for traditions skyld frigive kildekoden, projekt filer og rapport. Hvis det da skulle være til nogens interesse. Du kan finde de distribuerede filer her.
February 4, 2007 TheLastRipper-0.1.2
The last few weeks I’ve been working on a project called TheLastRipper, an audio stream ripper for Last.fm. It’s not all done yet, but it’s getting close. It’s written in C# and I’m planing to port it to both Windows and OS X using both MS .Net Framework and Mono. Currently there’s only a Mono/Linux client, it should be possible to port it to gtk#/Mono/Windows pretty fast, but I think I’m going to create a native Windows.Forms interface instead.
Anyway, I’m here by making the first alpha version available for testing. Now I’ve never packaged anything before, so there’s no guaranties on the package. But it’s probably better than the tarball, since the tarball only installs two .Net assemblies, and no mono wrapper script in /usr/bin/ or menu entries.
If you know anything about debian/ubuntu packaging please give me some feedback on the packaging:
By the way, the project is part of a school project I’m doing in technology about copyright, music and luxury. This is relevant because in Danish copyright law, it’s legal to rip unencrypted audio streams, like Last.fm, but please don’t take my word for it, I’m not done with the project and I’ll look more into the Danish copyright laws later. The Danish Ministry of culture has a piece on copyright and audio stream ripping.
« Newer Posts — Older Posts »
|
|