Search Results: "ana"

2 December 2006

David Welton: The limits of weak typing

Hecl is a weakly typed programming language, which, for a scripting language is often an advantage. Instead of cluttering your code with lots of (casts) or performing.to_s all the time, things "just work" depending on the context (and assuming that you've verified your data or have error handling for when things go wrong). I've been pondering a weakness of this model that Tcl doesn't adequately solve, discussed here: http://sourceforge.net/mailarchive/message.php?msg_id=37354848 The summary is that if anything can and will be converted to a string at some point in its lifetime, GC'ing "complex objects" (things that can't be represented by a string) gets difficult. In order to be able to go back to an object from a string, you have to maintain a hash table with string handles that point at the actual objects in whatever language you are using, and that in turn requires that you somehow keep track of the lifetime of those objects. Doing GC in Hecl itself is something I'd hoped to avoid - up until now, we have managed to get by ok with Java's GC. The 'best' solution seems to be Salvatore's, discussed here: http://wiki.tcl.tk/13847 But even that is relatively complex, and at least initially, involves a couple of tours through the entire string-space of the running program. Unfortunately, I don't think there's really a clever way around the problem, though... what the weak typing giveth, the weak typing taketh away (or something along those lines). I am not sure what this means for Hecl at this point, whether we simply say "clean up after your own objects", introduce some sort of string typing, or something else entirely...

David Welton: EveryDNS being harassed

It seems that EveryDNS.net is being harassed with a DDoS attack. I've found them a convenient way to manage my DNS records over the years, so I went ahead and chipped in some money via their donation link.

1 December 2006

Pierre Habouzit: I hate closed-minded people ...

Edit: to be fair to the GCC crew, it seems the guy who closed me the bug to the face was not very representative of'em. Thanks to them to their very good compilation suite btw ! a bit of history I've been bitten today by a problem due to the fact that I use the gcc __attribute__((nonull(...))) as a hint in my C headers to say to the programmer that it's up to him to check if what it pass to my function is NULL, or not. I had written (erouneously) that bit of code:
/* in the .h */
__attribute__((nonnull(1)))
char *m_strrtrim(char *s);
/* in the .c */
char *m_strrtrim(char *s)
 
    ssize_t len = s ? strlen(s) : 0;
    while (len > 1 && isspace((unsigned char)s[len - 1]))
        len--;
    return s + len;
 
I've added the __attribute__((nonnull)) by mistake, and indeed sometimes used m_strrtrim on strings that I knew to be NULL. The point is, gcc is able to use the nonnull attribute to optimize code, and that's very legitimate. In my case, it optimized the s ? strlen(s) : 0 into strlen(s). And without surprise, it caused segfaults. I had a hard time finding that bug, because I've never thought that it could come from the header. As it could not come from the m_strrtrim function, I've looked very hard for stack overwrite and so on in the caller, but even valgrind did not catched anything interesting (except an invalid read size of 1 in strlen). It's when (in order to see if it was a gcc optimization bug) I've generated the preprocessed source that I saw the damn prototype in the preprocessor output, and that was suddently obvious to me why it segfaulted. the wishlist bug Since it was quite an unusual problem, that can make you loose a lot of time, because the bug lies very far from where it's revealed, I've opened a wishlist bug in gcc to ask for a warning when you test some pointer against NULL that you should already know to be non-NULL. like the warning about always true (or always false) comparisons for e.g.:
size_t len;
// ...
if (len >= 0)   ... // always true
if (len < 0)   ... // always false
That's gcc bug#30043. Or I should say was. My bugreport has indeed be closed a first time as INVALID, because the reader thought I said the gcc optimization was not legitimate (*sigh*). I reopened it explaining more precisely that I only begged for a warning, not for anything else, and that YES I DID READ THE DOC. The bug has just been closed as WONTFIX this time, with an explanation that still makes me stare at it with a blank look:
I don't think a warning is the right thing in this case because the developer should have read the documention [ ]
WTF !? If reading the documentation can make you a perfect programmer that never do any mistake, then god, I must be a super-mega-coder that always write perfect code ! Sadly, reading the doc do not prevent you to avoid cuts (aka segfaults) when you juggle with razorblades (aka code in C). I can understand that it's hard to do in the present state of GCC, and that's it's not an urgent feature, given how peculiar that request is. But I'm completely stunned to see that a guy that is in the compiler business just consider that a warning is useless, and that the documentation is the key answer. I use an over-long compilation line in my projects [1] [2] especially because a compiler is really better than me to catch many kind of errors. And it's vital to do so. I've seen too many people that only compile with gcc -g -O2 and optionnally with -Wall when they don't forget it. But from a guy in the compiler business, well, that's just yet-another-illusion that collapses.
Notes [1] -g -pipe -O2 -funsigned-char -fstrict-aliasing -Wall -Wextra -Wchar-subscripts -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wsign-compare -Wunused -Wno-unused-value -Wuninitialized -Wpointer-arith -Wredundant-decls -Wmissing-prototypes [2] I usually also add some format string checks, to forbid to pass a non immediate format string, and also -Werror because a warning is in 90% of the cases an error, in 9% of the cases tasteless programming style, and in 0.9% trivial to workaround.

Clint Adams: Bisufenoru A

This looks like the perfect beginning of a tribute to Kondom des Grauens, starring a killer Nalgene bottle.

Joachim Breitner: Personal Podcast Charts

I don t have a TV here in Ghana (and I don t miss it at all), but some audio-visual content consumption from time to time is nice. Therefore, I started to subscribe to various Podcasts, using the comfortable Democracy Player. Here are my regulars , also see my list of German podcasts.BrickfilmsSome like lego. Some like stop motion animation. I like both. Therefore, I am a big fan of lego movies, and the brickfilms blogcast delivers the best ones directly to me. Unfortunately, does not get posted to very often.Olde EnglishMy sense of humer is not every one else s. Therefore, I guess not everyone will enjoy the sketches of the Olde English comedy group. I could try to list some of my favorites episodes, like One picture every day , but discover that for yourself.BSODInteresting, highly technical hour-long podcast covering interesting topics such as how the telefone system works (and what funny things you can do with it), bulding a infra-red remote control gun that will control your (or anyone s) TV from quite a distance and similar topics. It could cover a bit more software topics, and less Windows based things and personally, I think the Bastard Sons of Dial-Up put slightly too much emphasize on bad language and underground-activists-like appearance. But that might be genuine, and the content is of good quality, so it is worth watching.The Tech JunkiesOnly three episodes so far, but these two guy are doing great and funny things with electronics (such as testing what happens when you plug a speaker into the power outlet). They also have covered lock picking, and I especially enjoyed seeing a bump key in action, as so far I only read about that technique.Player 1 vs. Player 2A two-guy talk show about computer games. Slightly oriented towards old and console games, but still interesting for most gamers, I d say. They have not released a new episode for almost a year now, I hope that they will start sending again some day.

Joachim Breitner: Personal Videocast Charts

I don t have a TV here in Ghana (and I don t miss it at all), but some audio-visual content consumption from time to time is nice. Therefore, I started to subscribe to various Videocasts, using the comfortable Democracy Player. Here are my regulars , also see my list of German podcasts.BrickfilmsSome like lego. Some like stop motion animation. I like both. Therefore, I am a big fan of lego movies, and the brickfilms bodcast delivers the best ones directly to me. Unfortunately, does not get posted to very often.Olde EnglishMy sense of humer is not every one else s. Therefore, I guess not everyone will enjoy the sketches of the Olde English comedy group. I could try to list some of my favorites episodes, like One picture every day , but discover that for yourself.BSODInteresting, highly technical hour-long videocast covering interesting topics such as how the telefone system works (and what funny things you can do with it), bulding a infra-red remote control gun that will control your (or anyone s) TV from quite a distance and similar topics. It could cover a bit more software topics, and less Windows based things and personally, I think the Bastard Sons of Dial-Up put slightly too much emphasize on bad language and underground-activists-like appearance. But that might be genuine, and the content is of good quality, so it is worth watching.The Tech JunkiesOnly three episodes so far, but these two guy are doing great and funny things with electronics (such as testing what happens when you plug a speaker into the power outlet). They also have covered lock picking, and I especially enjoyed seeing a bump key in action, as so far I only read about that technique.Player 1 vs. Player 2A two-guy talk show about computer games. Slightly oriented towards old and console games, but still interesting for most gamers, I d say. They have not released a new episode for almost a year now, I hope that they will start sending again some day.

30 November 2006

Jorge Salamero Sanz: Blog Voyage

Blog Voyage is a game begun by bashflyng with the following rules: you have to travel along the world and along the blogs. You choose a place: a city, a town, a building, a river, a mountain ... The only clue is a picture of the place from Google Earth. The first person to guess the answer gets to choose the following voyage in his blog. This is the current roadmap: Well, here we go: blog voyage UPDATE: george wins. It's New Zealand, the Mount Ruapehu.

29 November 2006

Adam Rosi-Kessel: Meme Propagation Experiment

Via Steve via Chris Young, an experiment entitled Measuring The Speed of Meme: An Experiment in which You Will Participate, Or Else…. Sure, I’ll bite. What’s to lose?

Paul van Tilburg: Bachelor of Science

The Bachelor of Science certificate After finishing Hypermedia and History of Computing in October I was ready to meet the requirements of the bachelor’s exam. I passed it on November 14 and received my Bachelor of Science in Computer Science last Monday. While before the BaMa (Bachelor Master) system was introduced this 3-year milestone might have meant nothing at all, so it feels kind of odd that I have finished a study now. I’ve updated my CV. I hope I can do this again soon, namely when I’ll finish my Master of Science…

Clint Adams: Then he went home to play WoW

I was in a line on launch day and I didn't get one, he said. Did you camp out 64 days beforehand? I asked. Do I weigh 400 pounds and survive off grape soda? he demanded. No, I didn't camp out.

Adam Rosi-Kessel: Funny, That's What I Was Thinking Too

In the “what will they think of next to do with Flash” category: this curiously addictive yet slovakian slovenian Comic Strip Generator: (The strip generator automatically removed the apostrophe in the title of this strip I made.) No explanation as far as I can tell on who owns the copyright in the source material or the derivative works.

28 November 2006

Daniel Burrows: Digging for Conspiracies?

While I appreciate the research and legal commentary over at Groklaw, the tendency of PJ and the regular posters to imagine vast conspiracies makes me more than a little uneasy. Yesterday I came across a truly jaw-dropping example that would be offensive if it wasn't so laughable; and since I happen to know more about the situation, I felt I should comment on it:


I have some questions about this group, BELUG, who did the article, I gather. There is no info on the site to be more informed. Anyone in the Seattle LUG know anything about this new group in Bellevue, 5 mins. from Bill Gates' house?

...

I don't like to be a cynic, and maybe they are a Linux user group, but if so, maybe the Seattle LUG can give them a hand.


Of course, we all know that the Microsoft corporate campus has an enormous mind-control ray mounted on Building 1 that turns everyone living on the Eastside of Seattle into mindless Gates-worshipping zombies. Part of Bill's personal security plan, dontchaknow. That's why BELUG starts every meeting with a round of "All Hail Gates, Lord of All That Is Electrified".


She goes on to complain about "major confusion" in their description of free software. At a quick read, I can only see two glaring problems with this page: first, they describe free software as being both "free in a monetary sense" and able to be sold (which is actually true but sounds like a contradiction without more explanation that they don't provide); later, there's some weird wooly-headed stuff about revolutionizing entire economies and societies. I don't know what they're talking about, but they certainly can't be accused of lacking enthusiasm.

Finally, she quotes a section of the FAQ that suggests that Microsoft professionals should learn Linux and vice versa, since the world is heterogenous and getting more so. I don't think that's controversial, so I think she must be referring to this question:


Q: Why does BELUG dislike Microsoft?

A: That is a complete misunderstanding. BELUG does not dislike Microsoft. Microsoft is our neighbor, and many of our friends and relatives work there. Both Microsoft's headquarters and Bill Gates' house are located just minutes away, and Microsoft's world sales headquarters is currently under construction nearly adjacent to BELUG's meeting location. BELUG merely believes in friendly competition and that competition can benefit everyone, including Microsoft. This is what a free market economy and the American system is (supposed to be) all about, and this is what has helped make the U.S. a great country.


The statement that Microsoft is nearby is nothing but geographical fact (I could walk about fifteen minutes from my apartment and be on the MS campus; does that make me an MS mole?).

As for the rest, I really don't see anything to complain about. I know some people like to rhetorically shred Microsoft at every opportunity, but if you're trying to attract members in Microsoft's hometown, it's wise to keep your comments polite. It's also true that Microsoft benefits from competition (even if they don't see it that way); I don't think it's a coincidence that their products started sucking drastically less as OSX and Linux became reasonable alternatives to Windows. And the fact that we can have friendly competition (as opposed to the cut-throat, take-no-prisoners style that's popular in some quarters) is exactly one of things I like about Linux. You will notice, however, that the Q&A carefully doesn't mention what sort of competition Microsoft engages in. I think anyone who knows anything about the company knows the answer to that one.


Here's the kicker, though: I actually attended a BELUG meeting a few months ago. It seemed pretty much like what I'd expect from a small group of volunteers: one guy gave a talk about hooking ALSA up to a digital audio receiver, another guy showed off a Unix kernel he had written for classic MacOS (it ran as a user process and presented a Unix-like interface to the Mac), someone passed around cookies, and people talked a bit about using Linux and so on.

The poor quality of the Web site and the lack of a mailing list probably reflect the fact that there are a handful of people organizing the thing who all have day jobs and other committments, not some vast Microsoft conspiracy to undermine Linux from the inside by setting up fake LUGs. PJ never said they were fakes outright, but it was a clear subtext of her comment, and the Groklaw regulars who replied knew exactly what she was getting at. If she really thinks they might be fakes, then I think she needs to take a break from watching SCO (which could make anyone paranoid and suspicious) and enjoy the holiday season instead.

Antti-Juhani Kaijanaho: Upgrading WordPress the sane way

I finally got around to upgrading the bunch of WordPress blogs that I administer. I do not use the the Debian package, instead each blog is a separate copy, some with customizations. The official instructions make it a pain to upgrade customized WordPresses, so I have used another technique for a while now. This technique assumes a Unix-style system with all the usual goodies installed and command-line access, as well as Unix competence of the person performing this operation. I leave it to others to write step-by-step instructions for people lacking such competence (feel free to leave a comment). Step 0: Back up all your WordPress installations! Step 1: Make sure that you have a copy of the vanilla WordPress directory (unpacked from the zip or tarball and not changed afterward) for the version that you are currently running. I have it (in this case version 2.0.4) as the directory wp-2.0.4. Step 2: Download the new version, unpack it and rename the unpacked directory to include the version number (in this case, wp-2.0.5). Step 3: Create a patch file for this upgrade by running diff -Naur wp-2.0.4 wp-2.0.5 > ~/wp-2.0.4-2.0.5.diff. Step 4: Eyeball the patch to see if it looks sane. (I have on one occasion created a patch that deletes the whole WordPress installation. That is not fun. So check that the diff is sane!) Step 5: Apply the patch to your WordPress installation by changing to the WordPress installation’s directory and running patch -p1 -i ~/wp-2.0.4-2.0.5.diff. Step 6: If patch rejected some hunks, eyeball the .rej files to see if you need to manually merge the changes in. This should only happen if you have customized the installation. Step 7: Run the database upgrade script by going to the admin page and following the instructions. Step 8: Verify that it all works. *** It is also possible to manage the installations in darcs or in other version control systems. I haven’t bothered with that yet.

Clint Adams: Darling, refrain

David, my employer does not claim to give back to Debian, and, as far as I am aware, no one claims that Debian should strive to cooperate with my employer.

Clint Adams: Smoke between sixth and seventh

Minextel pace Michael bah villes, I muttered. He says with pride, she scoffed. Il bastardo, he insisted. The white dog stared, eyes blazing.

Benjamin Mako Hill: Bring the Bling?

I'm been perplexed by the recent fracas around the possibility of Ubuntu shipping non-free drivers by default as part of the feisty release goal to bring the bling. The issue has been discussed by many people, most recently and eloquently in a blog post by Scott James Remnant. I have never been 100% comfortable with our (Ubuntu's) decision to ship proprietary drivers. The Ubuntu philosophy document -- which Mark Shuttleworth and I drafted originally -- says quite unambiguously:
Every computer user should have the freedom to run, copy, distribute, study, share, change and improve their software for any purpose, without paying licensing fees.
I believe this deeply. Consequently, I feel that binary drivers in Ubuntu are, and always have been, a failure to live up to our principles. If our philosophy document is still representative, most people in our community should be a little uncomfortable with them -- even if they think, as most of us do, that shipping them is the correct thing to do. Early on Ubuntu decided that binary firmware and hardware drivers would be distributed and quasi-supported in restricted. While not completely comfortable with the move, I could understand and defend it for three reasons:
  1. The drivers were easily removable and not enabled by default unless necessary to achieve functioning hardware.
  2. As part of this process, we promised to work with vendors to accelerate the freeing/open-sourcing of their drivers.
  3. Perhaps most importantly, I couldn't imagine not using them if it were the choice between non-free drivers or inoperable hardware.
The proposal to include proprietary nVidia driver in place of the existing free nVidia driver is important because it changes, or eliminates, the first and third justifications. Since the first issue has been discussed in depth, it seem appropriate to focus on the third and final point. The point is perhaps best introduced with an observation:
While I have met many people who research and buy hardware to avoid the need for non-free drivers, something I do myself, I have never met anyone who voluntarily chooses inoperable hardware on a computer they use over working hardware through a non-free driver.
While not airtight, this observation is precisely why the old policy of using non-free drivers only when no free drivers exist works so well. By effectively synonymizing use of the non-free driver with use of the hardware, the crisis created by non-free drivers is rendered paradoxical: anybody using a piece of hardware that only works with non-free drivers is, by definition, either using non-free drivers or not using the hardware. The only way to not use non-free drivers in situations where no free drivers exist is to not use hardware that requires them. If you use different hardware, you will not need to use non-free drivers. This important justification is completely inapplicable to the proposal to include non-free drivers in place of free (but not perfect) alternatives. Second, while shipping non-free drivers is wrong because we lose our freedom and violate our philosophy, the desire for basic hardware support is universal and important enough that it's defensible. One reason that the "binary by default for bling" situation alarms me is that I don't believe that the desire for desktop bling is as universal, or as strong, as the desire for working hardware. An analogy might be stealing food to feed your family and stealing a CD from the record store. Both are wrong because stealing is wrong, but I have a lot more sympathy for the hungry thief in the first example because CDs are not as necessary as food and because many people would rather go without a new CD than steal. We can ask: "Which is worse: selling your soul for a decent job or selling your soul for a PS3?" In an absolute sense, neither is worse; but it's easier to support the former than the latter. I'm very impressed with Beryl -- but I have trouble empathizing strongly with the need for a spinning desktop cube. New users may be impressed and attracted to an Ubuntu desktop powered by proprietary drivers. They might also be impressed by proprietary applications. However, it is self-defeating to attract new users to our free platform and principles by compromising our core values. Many users already make the decision to use non-free video drivers and Ubuntu makes it very easy to do so once they have made that choice. Installing binary drivers by default is choosing for the large number of users who will stick with any default. It may be a conservative stance but as long as we believe that a non-insignificant number of users would choose to live without bling before compromising Ubuntu's philosophy and goals, we should make the difficult decision to side with freedom by default. When discussing this issue, many people say, it's not my decision or it isn't my call. Regardless of whether anyone agrees with me and regardless of who the final decision is up to -- and it's not clear to me now -- I believe that the Ubuntu community has the power to inform and shape the development of their distribution. As the Ubuntu community, we can make our position heard. The best place to do that right now seems to be the Accelerated X specification comments page. One can also email the the Technical Board (for technical comments) and the Community Council (for principle or philosophy related issues).

27 November 2006

Biella Coleman: Thomas Szasz

I just finished a pretty good article The Myth of Thomas Szasz, about the man who most famously attacked the psychiatric profession in part by claiming mental illness was manufactured, a myth. In a nutshell here is the point of the article:
“It is hard to doubt the reality of mental illness, especially when the suffering of affected individuals is so complete and the impairment so extreme, when psyche and identity are crippled almost beyond repair. But it is also remarkable how much of modern psychiatry is still theoretical rather than empirical, and how many of the supposed mental illnesses that appear (and multiply) in the Diagnostic and Statistical Manual of Mental Disorders have no known biological underpinnings or explanations. Although Szasz s critique often became a caricature, his intuition about the limits and deformations of modern psychiatry cannot be ignored. Many sick people have surely benefited from psychiatric treatment, both talk therapy and pharmacotherapy. But psychiatry s long history of error from snake pits to ice baths to spinning chairs to electroshock to lobotomy should give us pause. Skepticism is not backwardness, even if Szasz often took his skepticism to rhetorical extreme”
The part I found most interesting (and now I must read it):
A piece in The New York Times Magazine[by Szasz] titled Mental Illness Is a Myth reportedly induced more reader response than any article in the magazine s history. If he had preached from the pulpit with The Myth of Mental Illness, he had now nailed his thesis to the church s front door.
I must must check out the reader response! For those who know little about what came to be known as anti-psychiatry, this article is worth reading. It is written well and presents the virtue of skepticism, even if extreme, which is what Thomas Szasz, was all about. My only complaint is that if you know nothing of anti-psychiatry or the visible and patient-led challenge to psychiatry that followed in the 1970s, you would think that Thomas Szasz was entirely in a class of his own. While he may be the most famous figure, and may have certainly led the charge in many resepcts, there were others (that is critical psychiatrists like him (and not just in the US) not to mention wide spread critique from various social quarters. But a great great article otherwise.

MJ Ray: Sun Java and Free Software

There's some more details and expert analysis in GPL Java: An interview with lead Kaffe developer Dalibor Topic.

26 November 2006

Josselin Mouette: OpenSuSE developers' reactions to Mark Shuttleworth's troll

Last Friday, Mark Shuttleworth posted a big troll he also sent to the OpenSuSE mailing list. While the Novell/Microsoft deal has raised many legitimate concerns, I really think the Canonical leader should take the mote (in France, that would be a beam) out of his own eye first. As expected, the reactions from OpenSuSE developers were strong. But I was really shocked by two of them. According to JP Rosevear, Mark Shuttleworth is, among other things, preventing the Debian GNOME maintainer from updating GNOME packages until after Ubuntu LSO had shipped because [he has] hired him, and trying to simultaneously supplant Debian's community with "Ubuntu" while relying heavily on the Debian community to be successful. According to David Canar, Ubuntu's anti-community practices are well-known. Yes, I was shocked to see these reactions. Not because of their strength, as they are perfectly justified. I was shocked to see that developers in the OpenSuSE community seem to be better informed than Debian developers about Canonical's dealings. When talking with random fellow developers, I see many of them who truly believe Mark Shuttleworth when he says he's just doing the best for Debian, despite everyday's proof of the opposite in Canonical's employees actions. Shouldn't we be concerned at all about Ubuntu sucking the blood out of the Debian project? It strikes me that OpenSuSE developers care more about it than ourselves.

MJ Ray: Fonts

Are they a type of program or an artwork and does it matter? Yes, yes and not really. One recent cause for concern is the increasing number of fonts under the so-called "Open Font License", including ttf-gentium and various others. The last released version of OFL does not follow the Debian Free Software Guidelines, partly because it uses copyright restrictions to enforce a sort of "super-trademark" for the font name in ways which, frankly, are a pain for making ready-to-eat font packages from OFL'd fonts. This is similar to some problems in old LaTeX licences which have been resolved in recent years. For further explanations, see this debian-legal thread from January. OFL's lead developer still claims it follows DFSG, despite various debian developers explaining how it does not. There's a new draft of the OFL out, which I've yet to review (it's nuts here just now). Hopefully, the new version of the OFL will make it clear that you can mention the Reserved Font Name for compatibility and configuration, as long as one does not claim that a modified font is that named font.

Next.

Previous.