I had a coding attack this week and wrote a lot new stuff for Sofu:
And to satisfy my coding needs I implemented the long planned Binary Sofu file format. Which can be streamed over 7-Bit only streams or just written to a file. The reader even autodetects binary files and reads them as if they were normal ones. Maybe later I could implement something like XMLRPC (maybe SofuRPC).
Then I went a coded Sofu.Net in about 2 days, my first “real” C# project. I had used C# only for study so far, but I was quite happy with the language. I think I should test some other languages as well, maybe a JSofu or one for Phyton. Sofu is a nice task to implement, most time was consumed by the documentation anyway.
By the way: Anyone noticed how hard it is to extract the in-line documentation of .Net Projects to a simple browse-able HTML page?
It took me 3 hours, first I tried NDoc, but that only works for .Net 1.1, then NDoc 2005. which assumed some strange directory structure and always wanted to have its files in my personal folder (Users\Maluku\AppData\Documentor ???) and only says to work on 2.0 (Didn’t work at all for me, even after I ported my project to .Net 2.0).
Next up was Microsoft Sandcastle, which is quite good with the extracting, but someone has to be punished for that User-Interface. So I tried Sandcastle-Builder, which said all went fine but it produced no output. (Or one empty file after some tweaking).
I tried DocProject next, but the web-page was slow as hell and made no sense to me.
Finally I got it to work with Sandcastle Help File Builder (from the same website), which looks like NDoc but works and produced:
One .chm file.
Which I couldn’t use to put on the Internet, so I had to extract that one (with chm2web.) which looks quite nice now.
Suddenly I came to realize why I love Perl so much. You just include your documentation using POD in the file and then run pod2html or pod2latex or pod2wiki or whatever you like on the file and you are done. That’s why the documentation for Data::Sofu only took about 30 Minutes (including building a .css and some frames around the generated .html files).