Older blog entries for fzort (starting at number 86)

StevenRainwater, thanks so much for all your hard work!

Released a new version of vulcan, sporting an improved user interface (screenshot).

I was going to add an impromptu rant on the suckiness of Java generics, but what's the point.

25 Oct 2007 (updated 25 Oct 2007 at 17:21 UTC) »

Released version 0.5 of vulcan. There was a lot of new things I wanted to add, but it was taking too long, and it's almost a month since the previous release, so I just removed some stuff and packaged.

Here' s an interesting paper by Oleg Kiselyov. From the abstract:

The present examples as well as available theoretical and experimental results pose a question if OOP is conducive to software development at all.

He shows that you can't enforce the Lyskov substitution principle using standard OOP tools, and proposes a strict, group-theoretic definition of subclassing. Interesting read, but I can't help feeling that the whole thing is an excuse for Oleg to show off his wickedly clever Set-as-subclass-of-Bag C++ code. :)

After more than a year, a new release of vulcan.

I shall release earlier and more often from now on.

Looks like Linus has something to say about C++.

22 Sep 2007 (updated 22 Sep 2007 at 12:53 UTC) »

My dead tree copy of The Tao of Programming arrived the other day. It's pretty cool.

Pages alternate between English and pseudo-Chinese. Unfortunately, that's just a gimmick to make it look like so many English translations of the Tao Te Ching - bi tells me that the pseudo-Chinese doesn't mean anything.

17 Sep 2007 (updated 2 Oct 2007 at 11:57 UTC) »
Omnifarious: event-driven makes sense if all your code is I/O bound, but it's a mistake to generalize. Consider a streaming video server. One possible design has an I/O bound thread talking to the network, and another CPU-intensive thread doing the encoding (an actual example). Making the video encoding thread event-driven would be very hard.
12 Sep 2007 (updated 17 Sep 2007 at 13:30 UTC) »
IT USES INHERITANCE, THEREFORE IT MUST BE WELL DESIGNED

Those N queens again, in C++: code.

Update: ncm, thanks. That makes sense.

11 Sep 2007 (updated 11 Sep 2007 at 10:37 UTC) »

Interesting problem (ps). I wonder if it's possible to do better than O(n^2).

On other news, rewriting a pet project.

3 Sep 2007 (updated 4 Sep 2007 at 13:03 UTC) »

Back from a vacation of two weeks. I forgot how to type.

acs : you don't need to write a program to solve that problem. The prime numbers that appear between 1 and 20 are 2, 3, 5, 7, 11, 13, 17 and 19, so they must appear in the prime factorization of the number you're looking for. The maximum powers of those primes that appear between 1 and 20 are 2^4, 3^2, 5^1, 7^1, 11^1, 13^1, 17^1, 19^1. Multiply all those together, and voilá.

Update for completeness: in case you really want to write a program, you can write one to solve the more general problem of finding the least common multiple of a bunch of numbers. Euclid gave an algorithm for that a few thousand years ago. In Perl:


sub gcd {
        my ($a, $b) = @_;
        ($a, $b) = ($b % $a, $a) while $a;
        return $b;
}
sub lcm { my ($a, $b) = @_; return $a*$b/gcd($a, $b); }
sub multi_lcm { my $a = shift; return @_ ? lcm($a, multi_lcm(@_)) : $a; }

And, to solve the original problem:


print multi_lcm(1 .. 20);

robogato / StevenRainwater: another Advogato HTML bug - check out the <a> tag right at the beginning of the latest entry in ncm's journal; the entry is not visible on *cough* certain web browsers *cough* *cough*.

77 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!