Insufficiently Random

The lonely musings of a loosely connected software developer.

Wednesday, February 28, 2007

Git and Linux Repository Growth

I got curious about the growth rate for the git.git and linux-2.6.git repositories, so I wrote git-statplot to dump out object counts and sizes by earliest date entered. Plotting these with Gnuplot gave me some interesting results:



Sunday, January 21, 2007

git-gui Screenshots

niv on #git nudged me enough to create some screenshots of git-gui.

Saturday, September 23, 2006

MythTV's Deletion Logic

There must be a bug somewhere in MythTV's show deletion logic.

I hate to admit it but I find Stargate Atlantis to be entertaining, so I record the new episode every Friday night. Because I may not be able to get around to watching the show rigtht away I asked MythTV retain two copies of the show, deleting the oldest.

So right now my MythTV box has the episodes from Aug 25, Sept 18, Sept 16. But not last night's episode, Sept 22. First off, why do I have 3 episodes when I asked for 2? And secondly, why do I have an old episode but not the most recent?!?

Looking at the oldrecorded table in MySQL it shows that the Sept 22nd episode was in fact recorded. But it must have been deleted just a few minutes after it finished recording. :mad:

Sunday, September 3, 2006

On Sandwich Making

I have never seen a discussion on sandwich making which was as worth reading as this one. Nicely done.

Sunday, August 20, 2006

MySQL Recovery Blows

I'm running MythTV at home. Since May it has replaced our trustworthy ReplayTV in the living room as the primary TV viewing apparatus.

Thus far its worked rather well for us, despite some odd user interface quirks that probably have more to do with the way I designed my Pronto panels than with MythTV itself.

But its use of MySQL is another story...

pg version 0.1.7 Released

A little while ago I discovered pg 0.1.6 had some issues with more recent GIT versions, such as GIT 1.4.1 due to some changes in command line parameter handling.

Consequently pg 0.1.7 is now available. Here is the shortlog of changes:

* When backing up into a new directory GIT 1.3.1 won't copy
* Corrected diff-index usage for GIT 1.4.1.
* Add raw diff support to pg-files.
* Add --base=foo option to pg-new.

Wednesday, April 26, 2006

That's Legal?!

Today I found this gem on the GIT mailing list:


Timo Hirvonen wrote:
> Linus Torvalds wrote:
>
> > +void verify_filename(const char *prefix, const char *arg)
> > +{
> > + const char *name;
> > + struct stat st;
> > +
> > + if (*arg == '-')
> > + die("bad flag '%s' used after filename", arg);
> > + name = prefix ? prefix_filename(prefix, strlen(prefix), arg) : arg;
> > + if (!lstat(name, &st))
> > + return;
> > + if (errno == ENOENT);
>
> Extra semicolon.


Just what were the authors of C thinking when they decided to allow:


if (errno == ENOENT);


as a legal statement? It clearly has no real purpose as the "then-clause" of the if statement is completely empty.

What's really bad is this language feature is also available in C++, Objective-C, Java, Perl, etc. I'm so glad modern language designers have kept the warts intact.