Older blog entries for lloydwood (starting at number 37)

The results of SourceForge's new, more accurate, project statistics system are bemusing.

A look at the weekly statistics shows SaVi ranking 1250th in weekly project activity. That is, barely more than a thousand open-source projects are more popular than SaVi; all the big-name SourceForge projects you've heard of, and more than a thousand you haven't -- while more than 98,000 SourceForge projects are less popular. The figures show that SaVi is consistently in the 99th percentile of project popularity for weekly activity -- in other words, that SaVi is more popular than 99% of all currently registered SourceForge projects (or more popular than 97% of all such projects, if you're going on 'all time' figures).

As SaVi's sole registered developer and the only person I know still running it on a regular basis, I know this is ludicrous; I barely do any work to maintain it, it could be more portable, I see daily download figures but hardly ever receive comments or feedback about its use, so can safely presume that any random user trying to compile it winds up trashing it. SaVi is, to put it mildly, something of a minority interest, for a minor community consisting of me. But it's committed to public CVS, and there are announced file releases for download by users; since it's graphical (with state-of-the-art 3D... circa 1990 or so), there are pretty screenshots on webpages to look at, resulting in hit traffic. You are, at least, given the opportunity to choose to try out SaVi and decide for yourself that you have no interest in it. The lack of barriers to entry is not much by any measure, but those simple steps in making it available for use seem to be sufficient to rank it above almost all the nearly 100,000 currently registered SourceForge projects by their metrics.

The SourceForge home page currently claims 103,936 registered projects and 1,115,296 registered users. The SourceForge stats currently claim 99,256 visible projects out of a total of 137,420 ever registered; there was a widely-trumpeted cleanup of 'truly empty' projects a while back. Of those almost 100,000 'active' projects, I'd estimate 50,000 or so projects as vapour evanescing from good intentions that have never released files or committed changes to SourceForge CVS. Once you're beyond around the 50,000th SourceForge project, it's pretty hard to find a project that has ever released files for download, and public CVS commits are increasingly rare. Some projects have file downloads but no SourceForge CVS use, which seems to miss the collaborative-development point of using SourceForge. After all, you can make files available for download anywhere on the web.

All of this makes the May 2005 SourceForge press release, claiming that SourceForge passes 100,000 projects hosted on the site, sound a little hollow. I'd expect hosting to include CVS use and some visible record of active development, or at least a single file release if the project is described as stable. A thousand flowers may be blooming in SourceForge, but over a hundred thousand have withered on the vine. SourceForge project activity appears to be a very long tail indeed, and little of that tail is available as open source.

My apparently being a successful SourceForge developer is a compelling argument for commercial, closed, software written by people who are skilled programmers and who know what their users want, as opposed to people who simply talk a lot about how proud they are of their work (be that work SaVi or, say, Fetchmail). But it's true that success is based on perseverence, that all metrics are ultimately perverse, and that there are lies, damn lies, and statistics.

I released SaVi 1.2.7 today, making the new spherical projection available in a release. That projection still has a few rough edges: calculation of selected point longitude for fisheye use is incomplete, and the bitmap maps could be captured from rendering in Geomview itself and much improved. But available time and lack of inclination are currently against me; I think I've exhausted myself on SaVi until the Christmas holiday.

Update: Despite my previous expectations, Cory Doctorow, member of the BoingBoing editorial team, remains unable to recognise a ludicrous article when he sees one. This is despite his previous acknowledgement of Phil Gyford's entirely valid criticisms of BoingBoing, where neither the acknowledgement nor the original criticisms go far enough. The generation of BoingBoing articles in their entirety from quoted material in a transparent attempt to avoid responsibility for editorial accuracy is entirely underwhelming. (Thanks, Leo!)

On 24 March 2005, nutella wrote:

I don't believe Tk is available for Cygwin so my Perl and Python scripts that rely on Tk will have to wait for a while.

Insight Tcl/Tk can be installed easily as an option in the Cygwin setup installer. It's a bit unusual, in that Tk windows live in Windows windows outside the main X window. The net result of this is that if you mix Tk and X calls for the same window, you crash. On the other hand, you don't have to launch the X server just to run a pure Tk application under Cygwin and Insight.

I'm doing all my development work on SaVi on Cygwin these days for convenience. And the fisheye view there is disabled under Cygwin, because it tries to draw with X inside an Insight Tcl Tk window that isn't in X...

You could, of course, build the usual Tcl/Tk from source.

Cory Doctorow described Robert McHenry's The Faith-Based Encyclopedia, a view of Wikipedia from the perspective of a Britannica encyclopedia editor, as "ludicrous, pejorative, and childish".

Well, Doctorow should recognise a ludicrous, pejorative or childish article when he sees one, after having authored so many. His voice is shrill, strident and sophomoric even at the best of times.

McHenry's central thesis -- that accurate Wikipedia articles written by knowledgeable experts are ground down to mediocrity by well-meaning dilettantes with peripheral knowledge of the subject matter -- is borne out by my own observations from a very minor role in editing some Wikipedia articles in which I can claim to have interest and expertise. Any passionate defence of the Wikipedia editing process and whether that process is self-sustaining and reinforcing is an aside; it's the outcome of that process that is of concern here.

I don't believe the Wikipedia editing process is collaborative; in many cases, it's adversarial, until the outnumbered expert simply gives up.

(I've finally gotten the new equatorial orthographic spherical projection in SaVi development working properly, and added crude Earth outline maps for it to CVS.)

Today I released SaVi 1.2.6, which is a considerable improvement in polish and performance on all previous releases. After a lot of head-scratching on a new spherical Earth projection, that's still buggy, so only available in development snapshots.

I'm also submitting abstracts for papers to a variety of places. I'd like to think I'm creative, productive and busy -- or raising my standards, at least.

Today I released SaVi 1.2.5; given the improvements, I thought about calling this 1.3 -- but didn't. The improved 3D texturemapping is almost as cool as the near-infinite choice of map colours. Which is incredibly cool -- by my low standards, anyway.

I was surprised and very pleased to find versions of SaVi texturemapping at a variety of map sizes; something that hadn't happened before. An OpenGL library update that had passed me by? I don't think it's due to a change I made in the SaVi code, and I haven't recompiled Geomview, but without testing on a wider variety of machines I just can't tell.

What with finishing and submitting a paper today as well, this has been quite a creative and productive week -- by my low standards, anyway.

After an epiphany, I spent a couple of hours improving texturemapping with SaVi and Geomview. Before, I mindlessly copied the satellite coverage bitmap to Geomview's Earth sphere, including its blocky bitmap map of the Earth, which looked terrible, especially around the poles where the texture was most stretched. Now I composite the bitmap Earthmap onto coverage only after writing out an Earthmap-free scratchfile, and let Geomview use its vector Earth over the featureless coverage sphere instead. This means Geomview takes more cycles, but I think the results are worth it -- and if you think otherwise, well, there's optional fallback to the old behaviour.

Procrastination is a wonderful thing. Now, if I could figure out how to make Geomview accept any size coverage bitmap, I'd be in heaven.

Doing work on improving the launch script for SaVi isn't much help when people try to run the binary directly. If you presume that SaVi is just a C program, and make in the C src/ directory and then run the binary directly, you'll get exposed to a lot of errors as Tcl and Tk get puzzled, and diagnostics in the launch script you didn't think to run that's in the same directory as the top-level Makefile you didn't think to run either really don't help with that.

So I finally added some simple environment variable checking and error reporting in main.c in latest SaVi development code, to provide hints on what should have been done. Speaking of what should have been done, this code should have been written years ago.

Today I released a new version of SaVi. I did a lot of work on the launch script that starts SaVi, so that it can diagnose errors, from the program not being compiled correctly to the program not being compiled at all. I hope that this will decrease the number of questions I get about installing the program from people who just don't read or understand the installation instructions.

In other news, I also rewrote parts of the installation instructions.

Added a simulation of Draim's minimal tetrahedral four-satellite constellation to SaVi.

Draim's work on coordinated elliptical-orbit coverage is simple and elegant; he played a large part in the design of the orbits in the Ellipso constellation -- which can also be simulated by SaVi. I think it's double-plus good.

28 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!