|
Jonasfj.dk/Blog
A blog by Jonas Finnemann Jensen
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…
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.
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 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.
December 22, 2006 New P2PChat website
It’s been a long time since I’ve been officially active on P2PChat, but there’s been something coming. And now I’ve finally released the new P2PChat website, considering my designing skills it very beautiful, the sad part is that it properly says more about my designing skills, than the new website. As of this moment the website almost empty, but there will be new screenshots and download links as soon as release 1.0 is done.
I’ve also just committed the a complete rewrite of libP2PChat, the library behind P2PChat. The new implementation is actually my third rewrite, the others were never released and was never finished. Currently it’s only committed to the SVN repository and it haven’t been tested yet. So there’s properly a few bugs to fix before final release. I’m also doing a complete rewrite of the frontend, becuase the new backed isn’t backwards compatible; and I’ve discovered that the auto-opacity feature makes P2PChat crash on most systems. I’ve heard that Mono have native opacity through a compositing engine, perhaps the linux client could have some opacity feature. But I’m sad to say that I don’t think my WM can run the opacity effects.
Anyway, the new backend (libP2PChat) is going to rock. Because this time I’ve more or less removed the limitations. I’ve done that by allow different message types, and all messages are handled by a protocol extension. Making both the library and frontend implementation much more flexible.
December 1, 2006 Implementating a WebDAV server in PHP
As programming project in my Programming C lessons me and one of my mates (Ismail) have been developing a WebDAV server in PHP. The project was called MySQL2WebDAV, the idea was to write a WebDAV server using MySQL as data storage. As some sort of virtual file system abstraction of a MySQL database. We started of with HTTP_WebDAV_Server, an abstract base class that handles most of the WebDAV specific features.
The WebDAV server was probably one of the most difficult things I’ve ever debugged. If you ever plan to write a WebDAV server remember to check out Litmus, a WebDAV server protocol compliance test suite. Very useful stuff if you want to debug a remote WebDAV server.
Anyway, almost all platforms are shipping with WebDAV browsers, it’s definitively an interesting protocol. Just imagine a WebDAV representation of the post in your blog or content management system.
I don’t think my source can be of much use, if you want to play with WebDAV implementations in PHP. My source is both buggy, very ogly and half done, anyway I’ve it made available here (Some comments and documentation in Danish, sorry).
October 13, 2006 WikiPlot stable release (1.0.0)
Today, we have released WikiPlot 1.0.0, we consider it relatively stable. As you might know WikiPlot is a part of a project me and some of my mates have been doing in our programming lessons. Well today, it was quiet stable and we had to hand in our project, so it was hard to find a better day to call it final release π
To someone this might seem like we pushed a little early release, because of our deadline. Well it’s most likely true, perhaps it should just have been a beta release. But when Novel van call OpenSuSE 10.1 a final release, then why can’t we π
Anyway, we will of couse be bug fixing, but I don’t expect to find at lot of them… If you find any please report to our issue tracker…
October 12, 2006 On-the-fly plotting with PlotClass
In the development of WikiPlot, which is getting really close to a release, we have written some classe for plotting mathematical expressions using php. Now I have finally be able to relase a public test version of the plotting class:
Jopsen.dk/plot/expression
Where expression is a mathematical expression, like 2x^2+4sin(3x) or what ever sick expression you may find π
Anyway it’s the internal plotting class for WikiPlot, and you can try out…
September 11, 2006 MonoDevelop 0.12 Released
A few days ago I saw that, the new MonoDevelop 0.12 has been released. It features many new features most amazing one of those is deployments system, to generate tarballs with autotools support. And ofcause improvments on the GTK# designer…
Perhaps I don’t have to install a virtual Windows machine as development platform, it seams as MonoDevelop might replace SharpDevelop. But it’ll properbly be some time before I’ll find time to install and try it… Maybe there’s some future P2PChat here π I’ve been doing some development on P2PChat in the summer, but they never became stable and I never commited them.
But autotools intergration is definitively nice, and will help me push some more beautiful releases…
read more | digg story
September 1, 2006 WikiPlot Import to SVN
Today I imported WikiPlot to Google Code‘s SVN repository, and there by officially started the project. WikiPlot is a plotting extension for MediaWiki, written in php. It isn’t all done yet, but the php plotting class is getting stable. After that the plan is to write an interface to MediaWiki and catching functionality. The project is hosted at Google Code hosting, because they offer a simple solution with SVN. I experience with SourceForge and it is indeed a good hosting solution. But I thought our project was too small and would fit better in at Google Code.
It all started, this year when I started having lessons in programming at school, since me and some other “geeks” knows a “little” more about php/programming, then they were teaching, the teacher wouldn’t force us follow their basic programming course, which is what they are doing in the start. Anyway the teacher didn’t care about what we were doing as long as it was in php. And since I kind of need a plotting feature for my wiki, I thought it would be a nice project. So me and some of the other guy’s started developing WikiPlot.
Since I haven’t had time to create a homepage for WikiPlot, you can follow the development from this blog (See categories). I’m properly going to make the WikiPlot homepage a part of my homepage once it’s implemented and stable. Feel free to contact me if you have any questions.
« Newer Posts — Older Posts »
|
|