# Older blog entries for bucky (starting at number 3)

Forgive me, icemonk, for I have sinned. It has been several days since my last diary entry... :)

Don't look now, but...

I scored one of those convex-rear-view-mirror doodads for my monitor (I lucked out, by walking into our marketing director's office at just the right time - thanks, 'ILOVEYOU'!), and it give me a nice angle of the world behind me.

Problem is, I haven't gotten used to it yet, so I think I hear something, and start turning around, and realize halfway there that I don't have to. ("Must... retrain... neck...")

Algorithms

andrei, I was just reading Programming Pearls this weekend, and Bentley was working on a very similar problem in chapter 12 (for generating random test examples, I think). Here's hoping I remember it correctly: (pseudo-code, of course)

```int num_needed, num_available; /* pre-initialized */
List NewList;
for (element = List->first;
element->next != NULL;
element = element->next) {
if (@random@number@ < (num_needed/num_available)) {
append(NewList, element); /* sort of - really just
the data */
num_needed--;
}
num_available--;
}
```

"@random@number@" and "append" are mostly hand-waving, of course. This should guarantee that you'll get exactly num_needed elements in the new list, and the order from the original list is maintained (I wasn't sure whether that was important, from your posts). And I believe the distribution is uniform, too.

I hope this matches the problem you're working on.

Connections

I think my ISP's having problems with e-mail. I mean, when was the last time I got absolutely *no* e-mail in an entire evening? What are the odds? It's like a ghost town in that mailbox - I keep getting the whistle from The Good, the Bad, and the Ugly every time I tab past that window.

My desktop got a lot cleaner when I discovered PowerShell. Well, my computer desktop, at least. My physical desktop's still beyond hope.

First diary entry

I must admit, the first time or two that I came to Advogato, I was a bit overwhelmed by the sheer volume of information. But I think I'm adapting. Browsing recent diary entries is cool!

I'm currently trying out the Hacker's Diet, because it makes sense to me, and because I really need to lose weight. I'm finding that being on a calorie restriction makes me pretty cranky, which is a switch from my usually quiet, laid-back demeanor. But, somewhat surprisingly, I'm finding that being cranky is kinda fun. (Well, for me, at least.) I find that I have to guard what I say more carefully, especially responding to webmaster e-mails and tech requests.

Boy, there's so many cool open source projects out there that I'd love to be involved in, but absolutely no time to do them! Sometimes, having a wide range of interests sucks.

That's it for me. I hope everybody's doing okay.

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!