Older blog entries for mjg59 (starting at number 46)

Mono is potentially awkward because chunks of it are potentially under a bunch of patents that nobody will actually point at and which are owned by a company that wants us dead. Java is almost certainly awkward because chunks of it are potentially under a bunch of patents that are owned by a company that behaves in a massively schizophrenic manner towards us and would probably be reasonably happy if we fell off a cliff or something as long as our code didn't vanish. Oh, and we don't actually have a free compiler that implements all of the standard language functionality or some such madness and we can't actually call it Java unless we agree to let Sun molest our cat whenever they want to. And Python is, well, Python.

Now. Here is a question. I want you to think carefully about it. The answer is written on the line below the question. Do not read it until you've decided on your own answer. Cheating will lead to loss of marks and may result in pointing and laughing.

Question: Is the appropriate response to this situation to accuse each other of being worse than child molesting Nazi terrorists?

Answer: No. No, it isn't. GET A FUCKING GRIP, PEOPLE.

mathieu:

The only driver I've actually checked this in is the Orinoco one, but it reports link status by printk()ing something. This is fairly useless. I can't see any reason for the drivers /not/ to report this kind of thing in a useful way, and it'd certainly be nice to have userspace be able to do DHCP when I move within range of an access point rather than when I bring the interface up. You could probably hack something by looking at signal strengths, but it doesn't sound ideal.

In further news, I successfully hacked the BIOS of my X40 and now have a working wireless card. http://www.srcf.ucam.org/~mjg59/thinkpad/bios.html has some details.

I've written a page providing all information I have regarding the Thinkpad wireless card situation. Further information (compatibility with other models, for instance) would be helpful.

So, it was pointed out that DBus is under a dual AFL/GPL license. The GPL is a fine and upstanding license and I wholeheartedly endorse it, but it's not ideal for infrastructure if your worldview includes non-Free software. So that leaves the AFL ("Academic Free License") for people writing non-Free stuff that sits on top of your desktop environment. The AFL is an interesting license - it's written in terse legalese in order to make anyone trying to read it unhappy, but it's fundamentally straightforward:

  • You can distribute the original code and derived works based upon it
  • It gives you a patent license to any patents the author holds that relate to the code
  • You must make available the source code of the unmodified code if you distribute the unmodified code. Unless I'm misreading it, there's no requirement to distribute source of derivative works
  • Blah blah standard endorsement crap blah blah
  • The fits signs of crack appear when it starts telling you that any descriptive text in the source marked as an "Attribution Notice" must be unmodified. This is just plain buggy - there's no definition of descriptive text, so if there's a function that does printf("Attribution Notice: The authors of this software believe that %s are inferior beings\n",ethnic_minority) then you may be unable to remove that from the source even though you can comment it out. Poorly defined invarient sections are bad.
  • Blah blah NO WARRANTY blah blah
  • Blah blah NO LIABILITY blah blah
  • Blah blah YOU'RE ONLY ALLOWED TO MAKE DERIVATIVE WORKS IF YOU ACCEPT THIS LICENSE blah blah
  • And then, after three paragraphs of BLAH, you get to the point where it says:
    10) Termination for Patent Action. This License shall
    terminate automatically and You may no longer exercise any 
    of the rights granted to You by this License as of the date 
    You commence an action, including a cross-claim or 
    counterclaim, for patent infringement (i) against Licensor 
    with respect to a patent applicable to software or (ii) 
    against any entity with respect to a patent applicable to 
    the Original Work (but excluding combinations of the 
    Original Work with other software or hardware).
    
    What this means is that if I, as a company holding any software patents, sue someone who holds copyright over any part of the code over any software patent whatsoever then I lose the right to use that software. Even if they've sued me over a software patent first. Even if what I'm suing them over has nothing to do with this software. This is plainly nuts. My right to utilise a piece of software is dependent on me not doing things that have nothing whatsoever to do with the software in question.
  • Blah blah bunch of tedious stuff of little value

It's a bad license. It's a non-Free license. And it's OSI certified. The Open Source Insitute's definition of an Open Source license is heavily derived from the Debian DFSG, but somehow has been subverted in such a way that a large set of licenses that would be considered non-Free are OSI certified. Please don't encourage them.

Terrifying quantities of hot gnome-volume-manager and translucency action.

Oh, and b33r.

NET_WM_STRUT, where have you been all my life?

Off to Brussels tomorrow. Things to do:

  1. Force people to make gnome-volume-manager work for me
  2. B33r
  3. Force people to make my sub-pixel anti-aliasing stop sucking at 6 points again
  4. B33r
  5. Uh...
  6. B33r
  7. Oh, yes, there's a conference, isn't there?
  8. B33r

Things that have happened recently:

  • Laptop died. Replaced it. Little excitement.
  • Visited the US and Canada. Came home again. Some excitement.
  • Dasher heading for Gnome 2.6. Great excitement.
  • IBM launched the X40. Much excitement.
  • Became a student again, and have a nice office. Moderate excitement.

Things that are happening:

  • Off to FOSDEM next week. Forecast: beer, potential excitement.
  • Debconf in May. Forecast: beer (though I have no idea what beer is like in Brazil), potential excitement.
  • GVADEC in June. Forecast: duty free whisky in order to avoid punative taxes on crap Norwegian beer, potential excitement.

Hacking on a Qt version of Dasher because it's probably more maintainable on MacOS X than the current Cocoa stuff is. Entertained to discover that the Carbon API allows you to write accessible applications, but doesn't seem to allow you to write applications that make accessible queries. And faking keyboard input looks astonishingly painful. It's like they've come up with an interface without any of the good bits of X, but with all the bad bits. Multiple APIs make Matthew inclined to engage in homicidal activity. I'm not hugely enjoying the Qt experience, though a large part of this is probably down to Designer - people who think that MDI is a good idea should be forced to use it on an 800x600 display for a while. I've already got a window manager that lets me stack windows usefully, replacing it with one that snaps them into each other is a regression. A large one. A sufficiently large regression that, were it to be turned into a phallic object and inserted into the developers of the software concerned, they'd be really quite unhappy.

XServer is unhappy about working with acceleration on Radeons on PPC. Which is a shame, because that's my only vaguely desktop machine at the moment.

Academics tend to release stuff under crackful licenses. The amount of code I've looked at over the past month saying "This code is in the public domain. You may not use it for commerical purposes" is quite terrifyingly large. One of these days, I'm going to have to write something quite insulting about it.

libtool still makes my eyes bleed.

Hacked together a GPE interface for Dasher - it's mostly just the GTK2 code with a new Glade file and a couple of #ifdefs, but I needed to write a new settings store to use XSettings rather than gconf.

I hate having to go near xlib. Hatehatehatehatehatehatehatehatehatehatehatehate.

Spent some time figuring out what name_len=(name_len+3)&~3 was supposed to do. Having a room full of hackers is helpful.

Shouting questions into the air reveals that we have the useful bits of Google with natural language parsing and lower latency here at the moment.

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