Search Results: "ron"

29 November 2005

Erich Schubert: SELinux up and running

My "test" boxes (well, they are in fact production systems) are now all up and running SELinux with a "strict" policy and in enforcing mode, after some weeks in "permissive" mode to detect the last missing policy rules (well, maybe I'm still missing something in cron.monthly?) What took most of the time was in fact to write policy for some services or custom applications that didn't have one before. And that I basically was just checking the logs every day to see if some new audit errors had appeared. Oh, and inbetween we completely emptied the server racks and their wiring and redid the room... Just to mention a few things that were "missing": My OpenVPN is running a custom script to update DNS on login and logout, which obviously was missing from the SELinux policy. I'm also using heartbeat to failover between the two firewalls and two mailservers; that policy took me probably one hour (without much previous experience) to write. Then I have another custom LDAP to aliases for a Lotus directory (which hopefully will be replaced by a sane application soon... whoever invented "implicite email adresses" should be shot. Just put all email adresses into the directory, so any app can look them up without trying to guess what your generation rules are... firstname.lastname@domain.tld sounds easy, but what with non-ascii characters?) Anyway, the systems are doing pretty well. Maybe I'm going to enabled SELinux on the web server next. ( (cra-)PHP and typo3 will probably make that more difficult, though...) Oh, and I need to sort out which of my policy changes are local changes, and which I should feed "upstream".

28 November 2005

Joachim Breitner: Extended-range telepresence

Today, I took part in a tour to the Intelligent Sensor-Acuator-Systems (ISAS) department here at the University of Karlsruhe. They work on a project for extended-range telepresence. At first it is like a regular Virtual Realtiy device: Head-mounted display for the 3D view of the world and an acoustic tracking system to record the user’s curret position and orientation. While this is a nice toy by itself, the guys from ISAS have developed a system where you can walk through inifinitely large virtual places, including a virtual museum, a pacman game and our cafeteria, rendered by quake, and still stay in the 5x5m room at the university.This works by bending the space, at least the space you percieve: The computer calculates a path that resembles the path you want to go with regard to length and turns, but bends it a barely noticeable bit, thus guiding you in circles around in that room. This guiding is done by shifting the view on the display, making you counter-act that shift and thus turning. A bit like dizziness, when you think you tip over and you move the other way.This works pretty well, at least for movement at regular speed and not too many unpredictable turns - the less predictable the path you take in the virtual world, the less optimal is the path you will take in the real room, thus having stronger and more noticable bends.To me, this seems to be the first step to a world like the one Tad Williams describes in his “Otherland”-Series. Together with what promising but also threatening advances are made on the neurological front, e.g. retina prothesises, “real” virtual reality for mass comsumption is not so far away. And even more improvements in the human-device-interface field have been made: Remote control of human movement by stimulation of the equilibrium sense was sucessfully tried in Japan (German link).I have more pictures of today’s presentation and check out the video on the Karlsruhe telepresence installation.

Wouter Verhelst: Belpic Backports

My belpic backports have now been added to the backports.org pending directory, until the dak setup there is finished (at which point they'll be accepted into the 'real' bpo archive). Oh, and Yes, you're right; sorry. So, for those not familiar with the thing, belpic is a little piece of software which was written by the Belgian Government in the context of the electronic id card project; it allows Belgian citizens to read out the information and X.509 keys on their ID card, so that they can use it to identify themselves, make signatures, and thusly do other generally interesting stuff, such as using the government's tax-on-web application.

Sergio Talens-Oliag: La MaratOO'o 2.0.1

I've been all this weekend on the Computer Science Department Labs as the owner of the keys. We have celebrated for the second time this year a MaratOO'o, a work meeting to fix and review the Catalan translations of OpenOffice.org. Last February we had other meeting that was devoted to translation, but this time it has been more a review thing. The meeting has been organized by Softcatal , a non-profit organization devoted to promote the use of Catalan on the IT world. They do a lot of l10n work for a lot of Free Software projects and had developed a set of tools for translators, including a style guide, something I believe is really important and I miss from other l10n teams for other languages like Spanish. While I don't translate (I'm very bad at it), I belong to the organization because of jordim and jcorrius, as they convinced me to help them organize the previous MaratOO'o (for this one it was jordi the one that convinced me). I believe this second session was good, I have not seen a single .po file, but I've helped with the migration of services from the old Softcatal to a new one. They have a lot of things configured in weird ways and the migration has not been really planned (I don't understand why some services were moved this weekend when there were 30 people using them), but probably is not strange as it seems that none of the people with admin rights on the machines has worked as sysadmin and they don't care much a about it, so things seem to be done and left alone once they work, but for a migration like the one they are doing, with a lot of program upgrades, the configuration of each service has to be reviewed or things break easily. On the L10N front it seems that things went well, we had near 30 people translating during two days and that means that all the program localization has been reviewed and some of the help files have been translated also, so we will probably have a better Catalan langpack for OpenOffice.org soon and maybe the help files also will be available. I was going to include a photo on this post, but jordim told me he was going to use it on his blog, so use his bandwidth if you want to see the people that was on the lab before we left (I'm not there, as I'm the one that took the photo).

27 November 2005

Sean Harshbarger: 27 Nov 2005

The holiday season is here. Seems to me like we just finished up last year. Man the years are starting to fly by fast. Got a decent deal on a Sirius receiver at Best Buy this weekend. So far I like it and it integrates in the car and at home pretty well. Now all I need to do is figure out how I want to integrate the ipod into the car system. Can you say Wired Car? Soon we will be able to find affordable solutions to having internet in the car. It is only a matter of time. Spent most of my time the last few weeks working on the car. Between tires, coolant leaks, and bad alternators the thing has had soon good work done on it. She is running good now tho and I feel like she will make the winter ok. All I have left that is not a need now situation, but a I want to do it just to get it done, is replace the front brakes and rotors and bleed the lines. Suppose to be decent temp. wise Monday so maybe then. Been working on the desktop backing up data so that I could set the two sata 160gb hard drives into a Raid0 array. I cant install Ubuntu using d-i because of dmraid. I have to use the live cd to go in and install dmraid to access the drives in the raid then bootstrap it. There has been some talk recently about putting dmraid into the d-i so that it works out of the box. Maybe that is something I would like to get into. Currently I have grub installed and placed dmraid scripts in the initramfs. Now I just have to solve why it can not find init. Looks like it is not able to mount / and /dev off the cuff. More time pending, I will play around with it and make notes if need be then turn that around into the d-i stuff in debian.

26 November 2005

Brett Parker: So, this is what you get for talking on a Saturday Afternoon...

17:30 <+quinophex> the pages that really wind me up are the ones which people are saying "we paid 50 grands for these, aren't they great!"
17:30 <+quinophex> and they are more shit than i could do
17:30 < iDunno> hehe
17:30 <+quinophex> ...when i am forced to use a copy of frontpage 97
17:30 < iDunno> and probably aren't accessable ;)
17:30 <+quinophex> on windows 3.1
17:30 < iDunno> quinophex: shudder.
17:30 <+quinophex> with my eyes gouged out with a stick
17:31 <+quinophex> and broken fingers
17:31 < iDunno> quinophex: and an abacus instead of a networked computer?
17:31 <+quinophex> something like that :)
17:31 < iDunno> whilst simultaneously inventing the wheel and deodorant
17:31 < iDunno> and taking a shower.
17:31 <+quinophex> while plugged into the mains :D
17:32 < iDunno> and pro-creating.
17:32 <+quinophex> with a goat
17:32 <+quinophex> and a squid
17:32 < iDunno> at the same time?! crikey.
17:32 < iDunno> that sounds messy ;)
17:33 <+quinophex> with anal bleeding
Conclusion - me and quinophex agree that the web is generally populated by a bunch of broken pages, and most web developers need shooting :)

Anthony Towns: The NIv2 Plot

So having found time to catch up satisfactorily on the implementation, time to get back into the blogging. After working out what you actually want to do, the next step in implementing stuff, in my book, is to make sure you fully understand the context of the stuff you’re trying to change. In this case, the “unapproved” queue concept comes from some thoughts from quite a while ago that come under the heading “NIv2” for “new incoming v2”. For reference, the original “new incoming” was the switch to separate queues for new, byhand, and accepted packages, which was followed by a notable update shortly after to make accepted autobuilding possible. That setup works, but has a few problems. One is that packages sit in accepted for quite a while (up to a full 24h), and occassionally in that time it can become inappropriate to actually add the package to the archive – for instance if it’s a build of a package that’s then removed from the archive. This results in an UNACCEPT, and requires manual intervention, since potentially it can result in weird inconsistencies, such as bug closures. Another is that files in the various queues aren’t tracked in the database, which can result in files (particularly upstream tarballs) being lost or left behind, and also requires some unpleasant special casing in the code. A final concern is that one of the bigger time sinks in the daily pulse is the apt-ftparchive scan, which is actually just doing work that’s already been done in order to allow packages in accepted to be autobuilt. Put all those concerns together with the ones mentioned last week, and you get the impetus for NIv2. The principle of that is to put stuff in the queue into the database properly, simplify it, extend the queuing support to deal with different queues, and move stuff from accepted directly into the pool every quarter hour, though only pushing to buildds that frequently, leaving updates of Packages files and mirror pushes to still be daily, or every few hours or whatever. This is what that bit looked like in the dak TODO:
[hard, long term] unchecked -> accepted should go into the db, not a suite, but similar. this would allow katie to get even faster, make madison more useful, decomplexify specialacceptedautobuild and generally be more sane. may even be helpful to have e.g. new in the DB, so that we avoid corner cases like the .orig.tar.gz disappearing ‘cos the package has been entirely removed but was still on stayofexecution when it entered new.
Obviously, it needed to get defined a little more clearly than that to work out how much the changes for the security queues I’m interested in depend on the other changes, and what they actually mean in detail. After some IRC discussion we came up with more or less the following summary of what NIv2 actually means:
How NIv2 should work. q/accepted goes away; once packages are accepted, they get added straight into the pool and the database. At this point they’re added to a micro-suite for the buildds, and so apt-ftparchive can cache the package contents; and a symlink tree is made up so incoming.d.o works. The micro-suite might or mightn’t be a fully fledged suite in the database. Presumably it wouldn’t be visible in dists/ though. The micro-suite probably should contain packages uploaded to unstable for X hours, where X is 48 or 2x pulse-interval or similar. This means UNACCEPT is impossible and apt-ftparchive takes less time in cron.daily. q/byhand and q/new get new friends: q/sec-embargoed, q/sec-unembargoed, q/stable-updates. Rather than checking for “byhand” entries, or a lack of overrides; uploads get diverted to those queues if they’re uploaded to security or stable, and get moved out of there when a security team member or stable RM (ie, Joey) runs an amber/lisa-esque command. This means sec-embargoed and sec-unembargoed need to be autobuilt. This also means that proposed-updates can be a full suite, and point releases can be a matter of (a) adding proposed-updates to stable; (b) removing old versions from stable; (c) removing packages that have to be dropped; and users can put “stable + proposed-updates” in their sources.list reasonably sanely. This also means that REJECTs from accepted (security) or the archive (p-u) aren’t needed. It means the queue ends up looking like:
    unchecked      [uploads go here, insecure]
    holding        [secured]
    new            [waiting NEW processing]
    byhand         [waiting byhand processing]
    stable-updates [waiting stable RM approval]
    done           [.changes files for accepted packages]
    reject         [.changes, .reason and rejected stuff]
    bts_version_track [data for BTS]
with q/accepted disappearing and q/proposed-updates and q/old-proposed-updates being replaced by the stable-updates / oldstable-updates queues.
One of the nice parts about this is that it breaks down fairly neatly into three sets of changes: supporting additional queues, removing the accepted queue, and tracking queue stuff in the database. It does make those changes more or less dependent though – the new queues need to be autobuilt in the way accepted is at present; so it makes sense to add the queues before removing accepted so as not to lose the queue autobuild support. The above actually can be simplified a little further – instead of managing a microsuite for changes since the last update, it’s possible to add accepted packages directly to the real suite; and generate the Packages files needed for autobuilding by querying packages accepted to unstable in the last 24 or 48 hours, simply by adding a field to track upload time for binaries as well as sources. In any event, this thus makes generalising the queue autobuild support the next challenge.

25 November 2005

Simon Law: Montr al geeks


Casa Magica
Originally uploaded by sfllaw.
There's this artists collective on St-Laurent, across from La Sala Rossa. They call their place Casa Magica, and it's really quite groovy. They've got this cozy living area with an open plan. The kitchen is separated from the living room with a tiled countertop someone built themselves. It's decorated in that way with splashes of paint, splashes of light, and furnishings that look like they grew there. I showed up at this place to meet some people in the Free Software world. I've been in Montr al for about a year and I still don't know very many hackers in the city. So when I got invited to Les 24h SQIL, I decided to show up and meet some people. I went up St-Laurent to a non-descript red door with a poster about SQIL on it. "This must be the place," I thought as I tried the door. Upstairs, I was greeted by a living room full of random people: some sitting in front of computers, some chatting away, and one guy fiddling with a projector. I wandered around in a state of confusion until I was introduced to Robin. Robin Millette seems to do a lot of work for FACIL, which is an organisation for promoting free content in Quebec. He introduced me to a bunch of people, like Simon Raven whom I helped with finger-ldap. I met Fran ois from Quebec City, who was interested in Nitix. There was Nicolas who is a Java developer that writes web-based applications. And other people like Alex, Yan, Marco and Matthieu who seemed nice but I can no longer remember what they do. I returned later in the week to Robin's birthday party where I happened to meet Fabien, who is a consultant that does work on Firefox and Yannick who's a Ph.D. student at McGill. We had a good time talking about quantum computing and how to design a programming language for quantum computers. Good geeky times were had.

NOKUBI Takatsugu: M1000 and GnuBox

I have only one connectivity method between Motorola M1000 and Linux, it is Bluetooth. M1000 has "Desktop Suite" application to connect other PC via USB or Bluetooth. I refered an article posted on symbianos.org forum to connect my Linux box with M1000, but it was failed. pppd said:
Nov  8 16:04:59 otaniemi udev[10350]: creating device node '/dev/rfcomm0'
Nov  8 16:05:00 otaniemi dund[10348]: New connection from 00:0A:28:8E:F2:90
Nov  8 16:05:00 otaniemi pppd[10358]: pppd 2.4.3 started by root, uid 0
Nov  8 16:05:00 otaniemi pppd[10358]: using channel 31
Nov  8 16:05:00 otaniemi pppd[10358]: Using interface ppp1
Nov  8 16:05:00 otaniemi pppd[10358]: Connect: ppp1 <--> /dev/rfcomm0
:
(snip)
:
Nov  8 16:19:32 otaniemi pppd[10786]: local  IP address 192.168.99.1
Nov  8 16:19:32 otaniemi pppd[10786]: remote IP address 192.168.99.2
Nov  8 16:19:32 otaniemi pppd[10786]: Script /etc/ppp/ip-up started (pid 10797)
Nov  8 16:19:32 otaniemi pppd[10786]: Script /etc/ppp/ip-up finished (pid 10797)
Nov  8 16:19:32 otaniemi pppd[10786]: rcvd [LCP TermReq id=0x3]
Nov  8 16:19:32 otaniemi pppd[10786]: LCP terminated by peer
It seems that M1000 terminates the connection when it was established. I don't know why the reason... Appended on 2005-11-25: My M1000 was hanged up because installing GnuBox for A1000 in the M1000. It causes something wrond, so my M1000 had exchanged with a new one by the vendor. Fortunately, M1000 has some serious bugs in the firmware, so the excahging was no charge.

24 November 2005

Antti-Juhani Kaijanaho: Cally s War by John Ringo and Julie Cochrane

There’s a reason why I’m going through Baen’s pile of published books. He is the only publisher I know who gets ebooks, I mean really gets them. (Virtually?) all of his catalogue is available in ebook form – with no Digital Restrictions Management! – for a reasonable price, and quite a few are available for free in the Baen Free Library. You can read these books on the browser, or download them to your PDA, whatever works for you. Naturally, you can always buy a dead-tree version, instead. I figure, this publisher is worth the money I pour at him, and hence I pour it in quantity. This is my explanation for having expended six euros for the following ebook. Cally’s War by John Ringo and Julie Cochrane is a sequel to a four-book trilogy by the first author. The trilogy is heavy-duty military science fiction, telling an excellent version of the “aliens invade Earth” story. Cally’s War is set forty years later, and features a minor supporting character from the trilogy as the main character. By the start of the book, Cally is an assassin working for a secret society which wages a secret war against the galactic domination of the Darhel species. The plot of the book revolves around the threat of the secret society being exposed to the opposition, and Cally’s mission in this book is basic counterintelligence: find out the mole and destroy it. However, it would be wrong to think that this book tells an espionage story, or that the counterintelligence plot is integral to the book: the plot is weak, mainly serving as a thin connector between episodes involving Cally’s personal life, or the lack of it, and her sex life (from whose lack she does not suffer). This book, however, seems to suffer from the lack of an editor. There are good ideas, and the storytelling is okay, but to make a really good book, the authors should have regarded this version as the first draft to be thrown away – and rewritten the book completely. There is really no unity in the story, and several good themes worthy of exploration are just skimmed. It is obvious that Ringo did not contribute much prose to this book: the bad politics rants are conspicuosly absent. I think I would have enjoyed the book more had Ringo actually written more of the book, even if it meant suffering through new pro-Bush rhetorics. I suppose this book could work standalone, that is, it does not depend on the reader having read the previous books. On the other hand, there is very little that speaks for reading this book at all, except that it continues the story started in the four-book trilogy. I appreciated the story as a continuation of Cally’s arc, and some of the sex scenes were fun to read, but otherwise it left me wanting. I rate this book 4/10.

Andrew Pollock: [life] My E-3 visa experiences

I've already fielded enquiries from two people who have found my blog via Google, and given the 10,500 visas a year being issued, there's only going to be more, so in the interests of not spending too much time answering questions individually, I'm going to write a detailed account of things. Disclaimer: This article is not a replacement for doing your own homework. I expressly disclaim any responsibility for you getting your visa application denied, being cavity searched when you attempt to enter the US, or being sent to Guantanamo Bay. In particular, this information is subject to change, and as I'm not applying for a new visa every day, I'm not going to know about the changes. If you find something here that is blatantly wrong, or out of date, please let me know, but at the moment, I'm writing about my experiences. I'm undecided about maintaining a website devoted to capturing the state of the art in E-3 visa applications. If in doubt, spend the money (and I do mean spend, it's not a cheap phone call) and call the information line - 1902 941 641 - to speak to a human being, and ask all the questions. Resources What's the process? Your potential employer (sponsor) needs to file a Labor Condition Application (see the form here). At present, this form hasn't been brought up to date with respect to E-3 visas, it's the same form used for H1-B visas. Your employer needs to have written at the top of each page "E-3 - Australia - to be processed". This bit of handwriting is apparently key. You need to have the signed LCA in your hot little hand before you roll up at the US Consulate to apply for your visa. As for how long these take to be processed by the Department of Labor, the FAQ says a week for postal applications. From my experience, and the experience of a couple of other people I've spoken to, it takes anything up to about four weeks. Generally speaking, you do not have to concern yourself with the LCA process, unless for some reason, you're sweating on the LCA so you can apply for your visa. My personal opinion is that the whole process is so long, bureaucratic and unpredictable, that you really don't want to be making any firm plans based on any assumptions on when you think anything is going to happen. Start your planning from when you have been issued your visa, not when you expect you will be issued your visa. Once the LCA has been issued, your sponsor will send it to you along with a wad of paperwork, most of which you just take with you to the consulate. You can make an appointment online. Paperwork-wise, you need to take a completed DS-156 and a DS-157 if you are male between 16 and 45. These forms are available here. You can make an appointment online, the links to make an appointment at each of the US Consulates are also here. I found that the lead time to an appointment was around a month, so if you know the LCA application has been made, you can probably make the booking at the Consulate, so as to try and parallelise things a little bit. What do you need to take to the interview? You need to take your completed DS-156 and DS-157 forms. You need one for each person. So if you are the principal (i.e. the person being hired), you need a DS-156 for yourself, and your spouse, and whichever of you is male needs a DS-157. Bring the sponsor's offer letter too. You need a receipt for a non-refundable visa application fee. You need one receipt per person applying for a visa. You get these receipts by paying $130 per person at any Australia Post outlet. As the visa is non-immigrant, you need to be able show some sort of ongoing connection with Australia. If you own property here, and are planning to continue owning it while in the US, bring a rates notice. I don't know what else is useful to demonstrate an ongoing connection. Also bring a bank statement, as you need to demonstrate an ability to support yourself while in the US. Bring birth certificates and marriage certificates. Also bring a copy of your University transcript, and any assessments that your employer may have had done that state that you hold the equivalent of a US degree. I'm not sure how hard and fast the whole degree thing is. I have an incomplete degree and about 10 years of work experience. This was sufficient. I don't know how you'd go with absolutely no degree and lots of work experience. Finally, you need to bring two US-sized passport photos. These are 5cm x 5cm, which are not what your average passport photo is like if you go somewhere and ask for a passport photo. Processing takes about 3 days, although you get an indication on the day as to whether you are successful or not. If you don't want to come back to collect your passport with the visa in it, you need to leave sufficient stamped, self-addressed envelopes so that the Consulate can mail the passports back to you. It's a bit hazy as to what constitutes 3 days, but assume 3 full working days, plus whatever time it takes for the postage, so up to 5 working days. Good luck with your visa application. Let me know how it goes, and if this has been of assistance.

Benjamin Mako Hill: ...And Straight Up Is Right Out

In my computer supported collaborative work seminar, we were discussing the design of table-top systems for synchronous collocated collaboration. There was a bit of conversation on the problems and strategies with images projected onto the table (e.g., people getting in the way of the beam). There seemed to be consensus that most simple and effective solution was projectors mounted directly above the table. I pointed out that, in this context, straight down was the most straightforward.

Mike Hommey: Hard Disk s hard life

I knew that hard disks had a limited time-life park/unpark-wise, but I didn’t know that was that bad. I always thought that because of ext3’s commit every 5 seconds, disk would never spin out and park the head. I was wrong. It seems that whether or not the disk is accessed, every put here the time it is for your disk minutes, it does park and unpark the head. Well, at least on laptop disks, because it seems this is not the case for desktops. My 3 year-old vaio, which is now this web server, has a Load_Cycle_Count of 580465 for 9775 Power_On_Hours, which is about 1 load cycle per minute.
My 1 year-old vaio, has a Load_Cycle_Count of 83718 for 4043 Power_On_Hours, which is about 1 load cycle every 3 minutes. While I managed to actually stop the load cycles to occur on the older vaio, with hdparm -B254, nothing actually stopped it on the newer one. I tried to change some other parameters with hdparm -S but nothing did work. I still have to take a look at the BIOS, though. Now, the question is : why the fuck are the heads parked/unparked every little while even when accesses occur ? Is it a conspiracy so that laptop disks won’t last forever ? Well, at least, I’ve never experienced a hard disk failure in 12 years of using computers with hard disks. For how long ?… [Note: the Dell laptop provided by my company, running Windows XP (which also has a somewhat journalled filesystem and commits the journal every few seconds) has around 24000 load cycles for about 800 hours of use, which is 1 load cycle every 2 minutes, so this is not a Linux issue.]

Matthew Palmer: Key Signing and The Identity Problem

Yet another thread on keyring updates in Debian has gotten me thinking about key signatures, what they really represent, and other associated topics. For those of you who might not know what I'm talking about, a brief primer. Before someone can be admitted as a Debian Developer, they have to have an OpenPGP key (practically, a GPG key) signed by a current Debian Developer. That is, someone who is currently a DD has looked at a photo ID, compared the photo to the face offering a key fingerprint, and compared the name on the ID to the name on the key. If they all match, we have a signature. The other qualification for becoming a Developer is going through a process designed to determine whether you have the required competencies. Since this testing process is conducted electronically, not face-to-face, the primary means of identifying the person behind the answers is via the OpenPGP key they used throughout the process. So, what do we have out of this process? Two things, that I can determine: So, the problem at issue is this -- what do you do when you lose control of that key? You lose it, or it gets compromised, or it expires (whoops!), or whatever. For all intents and purposes, when you lose control of your key, you no longer have an identity, in Debian terms. Generating a new key (and hence identity) is straightforward -- a quick invocation of gpg and you're away. Unfortunately, all that gets you is a pile of bits. There's nothing that intrinsically links you to that key. That's what other people's signatures on your key is for. Then, it comes time to get Debian to accept your new key as belonging to you. This is a lot harder than trying to convince the RTA (DMV.en_AU('New South Wales')) to give you a replacement drivers' licence. Why should it be? You're doing effectively the same thing -- "I am $FIRSTNAME $LASTNAME, give me my (licence upload privileges)". The difference is that, in the Debian case, all of our identity is effectively tied up in the key we use to go through NM. The person behind the key is somehow secondary to that whole process. So when the key completes NM, we record it in the "people who can upload" keyring. When a new key (which is prima facie completely untrusted) should be put into the keyring, we need to ensure that it is qualified. How can that key prove qualification? Well, we can send the new key through NM (dear ghods, no!) or refer to the source document (as it were) -- the human being. We're looking for consistency between the person between the two keys. That's trickier than it looks at first glance. Why? The big one is the non-uniqueness of $FIRSTNAME $LASTNAME (or even $FIRSTNAME $INITIAL $LASTNAME, for those so blessed). Google for yourself one day, and you'll see what I'm talking about. Anyone who has the same name as you could, at first instance, pretend to be "you" (for some values of, anyway). It might seem fairly unlikely, but there are two DDs with easily-mistakable names, out of a pool of 1,000 or so. The probabilities are not in our favour on this one. Then, of course, there's fake IDs, which are a whole other ballgame. How does the government get around the problem of name clashes and identity-theft-by-ID? By using other metadata about you to more uniquely identify you. Your date of birth, street address, perhaps even a general physical description -- all of these can help to disambiguate all of the identically named people out there. Debian can't use that, though, since that metadata isn't initially collected, and so it can't be rechecked later. This does suggest a bit of a solution, though. I said that Debian doesn't collect that info, but that's not entirely true. There is an optional repository of Developer contact details stored for other DDs to access, so we've got something to work from. The Developer updates their own details (whatever they feel comfortable entering). But, of course, people signing your key need to know about all that before they sign the key, so they can check (for example) your residential address and date of birth on your photo ID. You might ask "but how is the info the developer themselves entered accurate?", and that's a good question. The answer is that the legitimate developer entered that info, so if someone with the same name matches that data, then it's reasonable that it's still the same physical person. It's not a real good solution, though. Not all developers enter full metadata (and I can understand why they don't want to). People also often forget to update their details, too, which could quickly cause all sorts of problems. What is a good solution, then? We could always go with a bit of biometrics -- if there was any solution that was sufficiently cheap, reliable, and distributed enough to be used to identify 1,000 developers distributed across the globe to a reasonable standard of reliability. I'll wait for a minute while you finish laughing and wipe your eyes dry. I have to say, I'm stumped. I'd hoped, while writing this, that by the time I was finished I would have worked something out. But nope, it's a problem that's way beyond me. But I think I've got a much clearer handle on the problem space, so with a bit of luck, my subconscious (or someone else's) will eventually produce a sensible answer.

Matt Brown: Irony

I had to laugh today while reading the NZ Herald when I came across the an article entitled Using the net to get the story. The article talks about the rise of Computer Assisted Research (CAR) and prominently quotes Francis Till, the webmaster and a technology contributor for the National Business Review. Mr Till says that CAR can be used to "produce better-researched, more in-depth articles"! I wonder if perhaps Mr Till is thinking of well researched (not!) articles like his vitriolic attack on Linux and Open Source Software published in the NBR several weeks ago. Apart from the incredibly unprofessional tone of the article, it appeared to rely almost completely on facts from Microsoft press releases and made many factual assertions that have since been thoroughly refuted. The irony of the author of such a badly researched article wanting to teach other NZ journalists how to use the Internet to research their article is hillarious.

Grzegorz B. Prokopski: 23 Nov 2005

SableVM SDK for Java is back with 1.13-pre1 ! Guess what---a new shiny prerelease of SableVM SDK suite for Java is out for you to have some serious fun with it! The main point of this release is getting new GNU Classpath 0.19 integrated. Tests show that with the updated class library Swing apps look waaaay better. Kudos to the GNU Classpath hackers and contributors! Installation of SableVM SDK is as simple as it can be. As usual you need recent GTK and a few other libraries and tools available as packages for most distributions. The non-commonly used elements (like libffi, libpopt) are included in SableVM SDK to cut the hassle of installing it to minimum. Basically all you need to do is to fetch the SableVM SDK 1.13-pre1 tar archive, unpack it, run ./configure && make and su; make install. With the default settings in /usr/local/lib/sablevm you'll find a fairly complete JAVA_HOME like environment. Enjoy! And please let us know of your successes and problems by sending as an email to sablevm-user@sablevm.org. This will ensure future SableVM SDK releases work better for you! In other news SableVM Project team has been silently working since many months on new JVM features that will start showing up in upcoming releases after 1.13. Stay tuned!

23 November 2005

Antti-Juhani Kaijanaho: If you assume, you make an ass out of you and me

MJ Ray implied that anyone who thought the DFSG only applied to programs, not documentation, was negligent about DFSG and that the only such people who are exempt from that criticism are those who joined Debian before the Social Contract. That is blatantly wrong and bordering on outrageous revisionism. I joined Debian two-three years after the Social Contract was adopted. I read it and understood it (at least thought I did) when I joined. However, there was no "documentation is software and therefore must fall under DFSG" movement back then. It seemed to me then, and I still believe it, that the opposite was a silent consensus. I one uploaded into main a package containing almost nothing but explicitly non-free documents. (The documents have since been freed.) I was sincere in that attempt and in my argumentation at that time, and at least one of the then-current ftpmaster team must have agreed with me, since the package passed NEW checks. (Granted, I also argued that the packages would be later freed, but that should not have affected the decision if nonfree documents really had been deemed to be against the SC.) It seems to me that the current consensus is a recent one, certainly less than four years old. I have decided to honor that consensus, but don't come tell me that I was dishonest when I joined!

Antti-Juhani Kaijanaho: Safety is the beginning of wisdom, not its end

I wrote a couple of days ago about safety in programming languages. A certain comment reminded me that people (even programmers) misinterpret technical terms from the area of programming languages. It reminds me of that old joke about the C programmer who is very hurt when somebody claims that C is not a functional programming language - of course it is functional, our hero says, as it functions perfectly. It also reminds me of a quote Christopher Strachey has been said to have written in the 1960's:
It has long been my personal view that the separation of practical and theoretical work is artificial and injurious. Much of the practical work done in computing, both in software and in hardware design, is unsound and clumsy because the people who do it have not any clear understanding of the fundamental design principles of their work. Most of the abstract mathematical and theoretical work is sterile because it has no point of contact with real computing.
In programming languages jargon, safety is the property of a language that all well-formed programs have a well-defined semantics. That is, in a safe language, programs that the compiler does not reject, do not go beserk (corrupt the stack or heap or otherwise invoke nasal demons). A well-defined semantics might be a forcible halt of the program, which is often not the ideal way of dealing with problems (sometimes it is even harmful), but it is beyond the scope of safety to specify a programmer-friendly semantics for such occurrences. Safety is the minimum requirement, not by any means sufficient for all contingencies. There is a related slogan attributed to Robin Milner:
Well-typed programs do not go wrong.
(Wrong, in this case, is an abstraction denoting nasal demons, heap corruption and other such nasty things.)

Antti-Juhani Kaijanaho: Strachey

I ran the other day into Volume 13, Issue 1-2 (2000) of Higher-Order and Symbolic Computation, which contains articles by and about Christopher Strachey. From him come terms like l-value, parametric polymorphism, first-class object. He is a classic in the theory of programming languages. The issue is freely available at Kluwer's site. I am unable to give a direct link.

Antti-Juhani Kaijanaho: A feature browsers are missing

I hate it when I cut&paste; an URL from somewhere and the cutting is a little off, leaving out an h in the front or l in the back or adding garbage to either end. Mozilla and other browsers choke in such proto-URLs. Why can't they simply apply some simple heuristics to handle these mistakes? It's not like they don't do heuristics already for URLs...

Next.

Previous.