Jonasfj.dk/Blog
A blog by Jonas Finnemann Jensen


April 8, 2007
Howto: Export Monodoc to GoogleCode Wiki
Filed under: Computer,English,Linux,TheLastRipper by jonasfj at 12:39 am

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:

  1. Download: monodocs2wiki
  2. Extract the
  3. Checkout the /wiki/ directory from your GoogleCode svn repository
  4. 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.

  5. 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
Filed under: Computer,Dansk,Linux by jonasfj at 12:39 am

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…