Sebastian\’s Coding Blog

  • Categories

  • Advertisements

Archive for May, 2007

The Blog Effect

Posted by randomz on May 30, 2007

Interesting how much effect this blog has on the download rates of Sofu. They go up every time I publish a post here. You’d think that an obscure, unknown library written for an almost as unknown language wouldn’t find many people stopping by just because they saw the post on the “most recent posts” list on But there seem to be some: Observe this statistics page, which claims I had some 50 page views within about two hours just when I published my last blog post.

I just finished the new system for building the source code documentation for Sofud. It now works without bud (if you haven’t noticed, bud is “out” in the D community), but first uses rebuild to generate a modules.ddoc file for use with candydoc, and then uses dmd to build the actual docs. Yes, this means the whole source code is processed twice… so maybe I should just build the modules.ddoc from my own code instead of letting rebuild do it. But still, dmd is fast enough, so I don’t see the point in optimizing.


Posted in Sofu, Tangential | Leave a Comment »

Case problems, DSSS

Posted by randomz on May 26, 2007

I recently took it on me to convert all the module names in Sofud to lower case, following a small remark in the D documentation: “By convention, package and module names are all lower case. This is because those names have a one-to-one correspondence with the operating system’s directory and file names, and many file systems are not case sensitive. All lower case package and module names will minimize problems moving projects between dissimilar file systems.”

Actually, I never had any problems with this, but to prevent any problems that might occur, I decided to do the conversion.

As had to be expected, it was a pain. The procedure was pretty straightforward: Change all the file names, then change all imports of all files, and then sift through the remaining compiler errors. But even though Sofud is still not huge in code size, there were a *lot* of compiler errors. So the whole procedure cost me some 4 hours I could have better invested if I had used lower case module names from the start, but you never stop learning.

I also started switching the Sofud build process to DSSS. DSSS looks pretty promising in that, if Sofud was to reside on the DSSS server, other DSSS packages could automatically pull it if they needed it. Also, a standardized way to distribute libraries and such is probably a good thing.

Using rebuild (an advancement of Bud which is part of the DSSS project) for the parts of my coding where I can’t apply DSSS has mysteriously solved all the troubles I ever had with bud, i.e. with using derelict under Linux. It just works. I like it. 🙂

The 1.0alpha1 release of Sofud could be drawing nearer. There are only a couple of points on my release todo list left:

  • Produce more usable error messages, i.e. improve the exception classes.
  • Make it work on Linux.
  • Find a (preferably automated) way to create the documentation without using Bud.
  • Complete 90% of source code documentation.
  • Write at least one or two chapters of the manual.

Posted in Sofu | 4 Comments »