Older blog entries for redi (starting at number 71)

AlanHorkan, I've always been a fan of the Doctor and was very pleasantly surprised by the new series. They have got the mix of fun, silliness and cheese just right. The first episode had a moment of pure genius where Billie's boyfriend was replaced by a plastic automaton who (having had his head removed) turned his hands into huge shovels and flailed around blindly smashing the place up. Sounds stupid, but it was done really well so you couldn't help laughing - I couldn't anyway. Dr Who always had that element of childish fun and I'm glad to see they haven't tried to go all serious and grown up.

I want to kiss Julian Seward for Valgrind, but I want to marry David Rabson for making it work on FreeBSD (which I use for most development work.) I don't care that it doesn't seem to work on our servers with >1G RAM, he can get that working after our honeymoon!

This week I have been mostly causing Word2000 to hang and use vast quantities of virtual memory simply by misusing the \intbl RTF control word. What a stunningly good piece of software Word is. Abiword, takes-forever-to-OpenOffice, even WordPad and other RTF readers recover OK and display the document almost perfectly. I wonder how many more RTF writers I'll have to write in my lifetime. Today we launch, so this should be the end of working 16+ hours a day, 6 days a week. If not I'll be working frantically from the ACCU conf, which I'd like to avoid.

Re-created this account (again) to stop it being squatted.

It's interesting to note that when my account is deleted my certs are still present in the trust graph. This means that although no certs are visible on my account page, I'm still a Journeyer. This could be used to compromise the trust model: find a "deleted" account with the cert level you desire and create a new account in that name, then abuse the trust that "your" account has.

Even my previewed diary is retained when my account vanishes, it's just the account info page itself. Maybe the file lives in a rough neighbourhood.

Oooh, let's see ...

Recently I have ported boost::shared_ptr to libstdc++, adding various race conditions in the process. I've been learning about lock-free data structures, relaxed memory consistency models and all sorts.

But mostly I've been busy at work, and buying festival tickets.

oubiwann, <input> elements default to type=text, so advogato is not broken, your software is.

mchirico, is such a disorganised list of unrelated tips really very useful? I think once it reaches 300 items it will be impractical to skim read it hoping to pick up something useful. I guess it depends on your level of experience, personally I only found one useful thing I didn't know in the first 60 or so items, so got bored at that point. That wasn't because already knew everything, but the ones I didn't know aren't something I'll rush to use in the near future, so I ignored them. (If movement wasn't offline a.t.m he'd be amused to learn it was TIP 23 that I found useful, of course.) It might be more widely useful if you said what commands are Linux-specific and what are generally available on UNIX/POSIX systems.

31 Jan 2005 (updated 31 Jan 2005 at 15:20 UTC) »
tk, what would you expect to happen when a non-owning nice_ptr holds a dangling pointer? Consider this:
nice_ptr<int> p1(new int);
nice_ptr<int> p2(p1);
p1 = p2;

Does p1 destroy the object it owns, then store an unowned copy of the same address (which might now be invalid) ?

You can guard against the above problem by considering "self-assignment" to be assigment from a nice_ptr that shares ownership, but the general case is more difficult:

nice_ptr<int> p;
{
  nice_ptr<int> tmp(new int);
  p = tmp;
}
*p; // is this valid ?!?

Note that if p is not valid in the code above, you probably can't even do this safely:

nice_ptr<int> p = new int;

I think Boost's shared_ptr/weak_ptr combo solves the problem better than a class with optional ownership.

The Guardian newspaper wound up undecided voters in Ohio, eliciting hilarious and thoroughly frightening responses. I'm constantly watching out for those Navy Seals coming to get me now *shudder*

Included a nice little trick from slamb into PStreams. Got permission from everyone concerned to include Boost.SmartPtr code in libstdc++. Got a few ideas for simpifying mysqlcppapi, but better make a release before I start messing it all up.

18 Oct 2004 (updated 18 Oct 2004 at 13:31 UTC) »

Spent last week adapting boost::shared_ptr and boost::weak_ptr for inclusion in libstdc++ as tr1:shared_ptr and tr1::weak_ptr, which are part of the (Draft) Technical Report on Standard Library Extensions.

Got a mail saying someone's packaging PStreams for Debian, which prompted me to make a new release so he can work with recent code.

I need to get spend some time on mysqlcppapi and MyMySQL too, especially if there's interest on the Boost list in database connection libraries and people might look at them. Exposing myself here is bad enough, no need to invite even more embarassment by releasing MyMySQL ;-)

Idea for advogato: on recentlog.html include an "id" attribute on the username anchor, so you can jump to a user's last diary with recentlog.html#redi Since each user can only occur on the recentlog once there's no problem with duplicate IDs. Some usernames would not be legal ID attributes, but this could (possibly) be circumvented by prefixing it with "user_", at a small cost of having to say recentlog.html#user_redi. No, this is a stupid idea. Forget it.

6 Oct 2004 (updated 7 Oct 2004 at 10:28 UTC) »

shlomif, I've had to look those options up in the wget manual a dozen times or more, and have found them every time. You'd think I'd remember them by now, but as I know I can RTFM why should I waste memory on it? The only thing I'd add to async's reply is that "read the manual" is a perfectly good response. The 'F' in RTFM is an unfortunate consequence of people having to say "RTM" so many times it gets tedious, and they get annoyed, and they become rude. That is unfortunate, and a newbie who asks his first question doesn't deserve to be chastised for previous questions asked by other newbies. However, you should know better than to act like a newbie and should RTFM.

Update: AlanHorkan, I agree that RTFM is rude and is unhelpful if your manual is no good, which is true for many projects. But if you've spent considerable time writing or improving the documentation then you have no desire to paraphrase it over and over for the rest of the project's lifetime because someone is too lazy to read the man page or to search the mailing list for themselves. I wrote it carefully and accurately once, why do so again? I say this as a documenter and someone who does take time to explain things to users, on my own projects and on others'. I don't think I've ever said "RTFM" but I have frequently said "Have you read the manual/FAQ? See this <link>" rather than repeat myself. Often I'll search the mailing list to find my previous responses and give them URLs to those responses, because I know from experience that trying to find answers on mailing lists can be hard if you don't know the words or phrases to search for. I do this because I realise that newbie number 23 is not to blame for the previous 22 newbies, so I won't be rude to them, but I will still refer them to the canonical docs rather than reiterate. This is even more relevant if answering the question directly would involve checking the docs myself to confirm the answer!

I stand by my statement that "RTM" is a reasonable response, and believe it does the questioner no harm to learn how to find their own answers.

4 Oct 2004 (updated 4 Oct 2004 at 11:15 UTC) »

Oops, posted by accident. Better think of something to say now.

AlanHorkan, since I never plan on seeing it, ever, you might be able to tell me whether Wimbledon (the film) is at all realistic. Does Wimbledon town centre feature in the film and are there drunk and aggressive south africans vomiting and urinating in every doorway, alley and even underground station ? Somehow I suspect the producers will have omitted that detail of my home town.

30 Sep 2004 (updated 30 Sep 2004 at 09:01 UTC) »
mslicker, I was not trying to argue and certainly don't want to enter your latest pissing contest, so I'll reply here rather than cluttering up chalst's (or maybe it's davidw's) interesting article. I said that "you seem to say that as though it's a bad thing" (emphasis added) and tried to make a serious point about community being important. I apologise if I misinterpreted you. I didn't say anything about whether C++ should (or should not) be more popular than C, I was simply justifying the use of popularity as a metric in this comparison. I also didn't say popularity is essential for a lively community around a language, only that it can help (check your logic, not all Frenchmen are Parisians).
29 Sep 2004 (updated 29 Sep 2004 at 14:17 UTC) »

Poor jrwrestling, from my position on the trust graph he has a diary rating of one, so doesn't appear on recentlog.html?thresh=3 and is an extra click away from the front page. Nevermind - that's what you get for trying to exploit a system designed to resist such attacks.

Advogato works. Search Engine Optimisation doesn't. Fried Gold.

This week I are mostly locking myself out of the PStreams repository on SourceForge by playing with the cvs_acls file, and messing it up. Cock it.

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