Search Results: "ema"

29 August 2006

Ross Burton: Weekend

Yay for Bank Holiday weekends. It's been a busy one, in no particular order we: NP: [THN014] Zu Hause2 LP, Digitalverein

28 August 2006

Matthew Garrett

I resigned from Debian today.

It wasn't actually any one thing. But over the past few weeks (months? Years?) it's become clear to me that Debian doesn't really seem to know who or what it's for. Arguments erupt over whether something is a deeply held principle or an accident of phrasing on the website; whether we should release more often or less often; whether free software is more important than our users having functional hardware. And, depressingly, these debates generally seem to turn into pedantic point scoring and insults and yes, I'm probably as guilty as many others in this respect. But it's got to the point where social interaction with Debian-the-distribution makes me want to stab people, even though I've just spent a lovely weekend with Debian-the-people. Perhaps worse, I occasionally find mails I've sent that make me want to stab me.

So it's got to the point where I find myself reading things written by people I respect, and deciding that I'd be generally happier if I didn't read them. I could just unsubscribe from all the mailing lists, except that part of the fun of being involved in Debian was being part of a community. I don't want my only form of communication with the rest of the project to be limited to bug reports, especially when I find the development IRC channels as bad as the mailing lists.

It's interesting to compare Debian to Ubuntu in this respect, though the different ages of the projects make it difficult to draw any firm conclusions. The fairly rigidly enforced Ubuntu code of conduct probably helps a great deal in ensuring that discussions mostly remain technical. The distinction between core-dev and MOTU is a pretty explicit acknowledgment that not all developers are equal and some are possibly more worth listening to than others. And, at the end of the day, having one person who can make arbitrary decisions and whose word is effectively law probably helps in many cases.

There's a balance to be struck between organisational freedom and organisational effectiveness. I'm not convinced that Debian has that balance right as far as forming a working community goes. In that respect, Ubuntu's an experiment - does a more rigid structure and a greater willingness to enforce certain social standards result in a more workable community? In a few years, we ought to have an answer. I look forward to finding out.

Martin-Éric Racine: GNOME Network Manager annoyances

Having recently gotten around buying a WIFI card for the old ThinkPad 240x that my friend Marcus gave me and installed Dapper on it, I began to look for a simple method for selecting wireless Access Points. Someone on #ubuntu recommended network-manager, which I promptly installed. Well... The NM version in Dapper wouldn't even cooperate with a common 8139too Ethernet card! First, it would correctly fetch the IP from the router, but then the network-manager-gnome applet would keep on spinning and only stop after resetting the IP to some 169.254.0.0 private network meant for Bluetooth and other similar networked consumer devices. I then cautiously upgraded to Edgy, just enough packages to get a newer network-manager daemon and a 2.6.17 kernel, then tried again. Ah! It at least finally retained the dynamic IP whenever using the 8139too Ethernet card, but it still refused to connect to a wireless network whenever I switch to the DWL-G650 card. Hmm... Just to check that the Atheros driver (AR5212 chipset appearing as ath0) was correctly loaded, I did a test by opening a terminal and manually setting the ESSID to the nearest Internet caf 's AP, using iwconfig, then launching dhclient3. Look, ma! It works! Inspecting the logs revealed that connecting to a non-encrypted network with network-manager systematically fails, because NM bombards the Access Point with wpasupplicant, then sits there wondering why the AP doesn't request authentication, thus eventually reporting a failure to associate with the AP. How do we fix this? Any Network Manager developer who is reading this that would care to comment?

Biella Coleman: New Look

Thanks to the help of Jason of Vermont, my blog has a new look. Not sure who actually goes to original blog pages anymore, given RSS, but at least it saves me some pain and angst when I visit my own site.

Axel Beckert: Goodbye Woody, Welcome Sarge (Penultimate Part)

Since security support for Woody ceased recently, and with Kazehakase I’ve found a reasonable successor in Sarge for Galeon 1.2.x, I’ve dist-upgraded my 10 years old Pentium I ThinkPad bijou to Sarge this weekend. Even the XFree86 4, which made so much hassles in Woody by not regcognising nor configuring the graphics card correctly, worked fine from scratch. Well, at least after installing xfonts-base and xfonts-75dpi — the -transcoded versions somehow gave only the error message “default font ‘fixed’ not found”. So goodbye Galeon, goodbye GNU Emacs 20, goodbye XFree86 3.3. I hope, I won’t miss you. Only my desktop gsa at home still runs Woody, but will be dist-upgraded soon, too. What though still stayed on my laptop from Woody is Siag Office, since there is no adequate replacement for such a nice office suite with such a low resource footprint. But it has also an impact on the talks I hold. I held all talks with a patched version of lynx (e.g. with LSS support) as presentation tool on that laptop because initially I didn’t get X running on that box. What started as a makeshift became my hallmark… But I didn’t manage to get Sarge’s lynx patched so that it gives me the same output as my old version did. So either I would have to reoptimise the layout of my talks for a new lynx version or just start with something new. Madduck recently showed me python-docutils, which he uses for presentations. Maybe I’ll use that although I have a severe aversion against Python. So it may also be that I’ll stick with WML, but get some new ideas from python-docutils how to use HTML for presentations. Update: Found out that the interesting part of his presentation technic wasn’t python-docutils but S5: A Simple Standards-Based Slide Show System which in entirely written in XHTML, CSS and JavaScript. S5 is really cool stuff, one of the first cases of useful use of JavaScript, and will surely be used for my next presentation — with Debian Sarge and Kazehakase on a Pentium I ThinkPad. ;-)

26 August 2006

Steve Kemp: The traffic is waiting outside

A tool suggestion for moreutils: haschanged. haschanged
The intention of haschanged is to test whether a file has changed. It will do this by computing a hash of a file contents and storing that in a file beneath ~/.haschanged. If a new hash differs from the previously stored hash, or there is no recorded hash it will return 1 0. If the new hash and the old hash remain the same then the tool will return 0 1.
The script is trivial, but fairly useful for a lot of things. The only thing that I don’t like is having to store the hash somewhere… (The alternative is to copy the file somewhere, or create “$ file .orig“, and then run diff. The latter doesn’t work for non-root users wanting to monitor a file in /etc.)

Joachim Breitner: First Computer Club meeting

Yesterday, I held the first meeting of the Computer Club that I founded here at the college in Tema, Ghana. I didn't go into very technical things right now, to not scare anyone away, but gave an introduction to wikis and blogs, and showed the students how to use the wiki and blog I set up for the club. You can have a look at my LaTeX-created beamer slides.I think the club went quite well. About 20 students seem to be interested, and a few more might come with the 11-graders who start school next week. There seems to be little geeky knowledge present, so I'm not sure if I can go into the more technical things of geekdom, like weird programming language, fixing bugs in Free Software etc. But we'll see, maybe I underestimate them, and one year is a long time for an interested geek to get into new stuff.Besides one box that I can fiddle around with, and which hosts the club's wiki and blog, there is no Linux yet at the school. I did help a bit with setting up a few windows boxes, and already I'm happy to know that at least I have an alternative. Walking from computer to computer to manually deinstall software preinstalled by the vendor, manually set hostnames, manually write down MAC adresses for the WLAN MAC-filter, manually joining the domain and manually install all other software does not seem like the way I would want to administrate more than two computers. In Germany, we call that "Turnschuh-Administration" (sneaker or running shoe administration).

Unfortunately, that is not an argument to bring to make the school use more Linux, as a dual boot setup is the most I can hope fore at the moment, and that does not ease the pain of Windows administration. I'll keep you up to date on that.

Scott James Remnant: Upstart in Universe

upstart is a replacement for the init daemon, the process spawned by the kernel that is responsible for starting, supervising and stopping all other processes on the system. The existing daemon is based on the one found in UNIX System V, and is thus known as sysvinit. It separates jobs into different “run levels” and can either run a job when particular run levels are entered (e.g. /etc/init.d/rc 2) or continually during a particular run level (e.g. /sbin/getty). The /etc/init.d/rc script is also based on the System V one (and is in the sysv-rc package), it simply executes the stop then start scripts found in /etc/rcN.d (where N is the run level) in numerical order. Why change it? Running a fixed set of scripts, one after the other, in a particular order has served us reasonably well until now. However as Linux has got better and better at dealing with modern computing (arguably Linux’s removable device support is better than Windows’ now) this approach has begun to have problems. The old approach works as long as you can guarantee when in the boot sequence things are available, so you can place your init script after that point and know that it will work. Typical ordering requirements are: This worked ten years ago, why doesn’t it work now? The simple answer is that our computer has become far more flexible: We’ve been able to hack the existing system to make much of this possible, however the result is chock-full of race conditions and bugs. It was time to design a new system that can cope with all of these things without any problems. What we needed was an init system that could dynamically order the start up sequence based on the configuration and hardware found as it went along. Design of upstart upstart is an event-based init daemon; events generated by the system cause jobs to be started and running jobs to be stopped. Events can include things such as: In fact, any process on the system may send events to the init daemon over its control socket (subject to security restrictions, of course) so there is no limit. Each job has a life-cycle which is shown in the graph below: The two states shown in red (“waiting” and “running”) are rest states, normally we expect the job to remain in these states until an event comes in, at which point we need to take actual to get the job into the next state. The other states are temporary states; these allow a job to run shell script to prepare for the job itself to be run (“starting”) and clean up afterwards (“stopping”). For services that should be respawned if they terminate before an event that stops them is received, they may run shell script before the process is started again (“respawning”). Jobs leave a state because the process associated with them terminates (or gets killed) and move to the next appropriate state, following the green arrow if the job is to be started or the red arrow if it is to be stopped. When a script returns a non-zero exit status, or is killed, the job will always be stoped. When the main process terminates and the job should not be respawned, the job will also always be stopped. As already covered, events generated by the init daemon or received from other processes cause jobs to be started or stopped; also manual requests to start or stop a job may be received. The communication between the init daemon and other processes is bi-directional, so the status of jobs may be queries and even changes of state to all jobs be received. How does it differ from launchd? launchd is the replacement init system used in MacOS X developed as an “Open Source” project by Apple. For much of its life so far, the licence has actually been entirely non-free and thus it has only become recently interesting with the licence change. Much of the goal of both systems appears initially to be the same; they both start jobs based on system events, however the launchd system severly limits the events to only the following: Therefore it does not actually allow us to directly solve the problems we currently have; we couldn’t mount filesystems once the “filesystem checked” event has been recived, we couldn’t check filesystems when the block device is added and we certainly couldn’t start daemons once the complete filesystem (as described by /etc/fstab) is available and writable. The launchd model expects the job to “sit and wait” if it is unable to start, rather than provide a mechanism for the job to only be started when it doesn’t need to wait. Jobs that need /usr to be mounted would need to spin in a loop waiting for /usr to be available before continuing (or use a file in a tmpfs to indicate it’s available, and use that modification as the event). This is not especially surprising given that Apple have a high degree of control over both their hardware and the actual underlying operating system; they don’t need to deal with the wide array of different configurations that we have in the Linux world. Had the licence been sufficiently free at the point we began development of our own system, we would probably have extended launchd rather than implement our own. At the point Apple changed the licence, our own system was already more suitable for our purposes. How does it differ from initng? Initng by Jimmy Wennlund is another replacement init daemon intended to replace the sysvinit system used by Linux. It is a dependency-based system, where upstart is an event-based system. The notion of a dependency-based system is interesting to talk about at this point. Jobs declare dependencies on other jobs that need to happen before the job itself can be started. Starting the job causes its dependencies to be started first, and their dependencies, and so on. When jobs are stopped, if running jobs have no dependencies, they themselves can be stopped. It’s a neat solution to the problem of ordering a fixed boot sequence and the problem of keeping the number of running processes to a minimum needed. However this means that you need to have goals in mind when you boot the system, you need to have decided that you want gdm to be started in order for it, and its dependencies, to be started. Initng uses run levels to ensure this happens, where a run level is a list of goal jobs that should be running in that run level. It’s also not clear how the dependencies interact with the different types of job, a dependency on Apache would need the daemon to be running where a dependency on “checkroot” would need the script to have finished running. Upstart handles this by using different events (“apache running” vs. “checkroot stopping”). Again while interesting, Initng does not solve the problems that we wanted to solve. It can reorder a fixed set of jobs, but cannot dynamically determine the set of jobs needed for that particular boot. A typical example would be that if the only dependency on the job that configures networking is the mount network filesystems job, then should that job fail or notbe a goal (e.g. because there are no network filesystems to be mounted) the result is that network devices themselves will not be configured. You could make everything a goal, and just use the dependencies to determine the order, however this is less efficient than just ordering the existing sysv-rc scripts (which
can be done at install time). Another example is that often you simply don’t know whether something is a dependency or not without reading other configuration, for example the mount network filesystems may be a dependency of everything under /usr or may just be a dependency of anything allowing the user to login if it just mounts /home. The difference in model can be summed up as “initng starts with a list of goals and works out how to get there, upstart starts with nothing and finds out where it gets to.” How does it differ from Solaris SMF? SMF is another approach to replacing init developed by Sun for the Solaris operating system. Like initng it’s a dependency-based system, so see above for the differences between those systems and upstart. SMF’s main focus is serive management; making sure that once services are running, they stay running, and allowing the system administrator to query and modify the states of jobs on the system. Upstart provides the same set of functionality in this regard, services are respawned when they fail and system administrators can at any time query the state of running services and adjust the state to their liking. Will it replace cron, inetd, etc? The goal of upstart is to replace those daemons, so that there is only one place (/etc/event.d) where system administrators need to configure when and how jobs should be run. In fact, the goal is that upstart should also replace the “run event scripts” functionality of any daemon on the system. Daemons such as acpid, apmd and Network Manager would send events to init instead of running scripts themselves with their own perculiar configuration and semantics. A system administrator who only wanted a particular daemon to be run while the computer was on AC power would simply need to edit /etc/event.d/daemon and change “on startup” to “on ac power”. What about compatibility? There’s a lot of systems administrators out there who have learned how Linux works already and will not want to learn again immediately, there’s also a large number of books that cover the existing software and won’t cover upstart for at least a couple of years. For this reason, compatibility is very important. upstart will continue to run the existing scripts for the forseeable future so that packages will not need to be updated until the author wants. Compatibility command-line tools that behave like their existing equivalents will also be implemented, a system administrator would never need to know that crontab -e is actually changing upstart jobs. Does it use D-BUS?
“To D-BUS people, every problem seems like a D-BUS problem.”
—Erik Troan
The UNIX philosophy is that something should do just one job, and do it very well. upstart’s one job is starting, supervising and stopping other jobs; D-BUS’s one job is passing messages between other jobs. D-BUS does provide a mechanism for services to be activated when the first message is sent to them, thereby starting other jobs. Some people have taken this idea and extended it to suggest that all a replacement init system need do is register jobs with D-BUS and turn booting into a simple matter of message parsing. This seems wrong to me, D-BUS would need to be extended to supervise these services, provide means for them to be restarted and stopped; as well as deal with being process #1 which means cleaning up after children whose parent’s have died, etc. It seems far simpler to arrange for D-BUS to send an event to init when it needs a service to be started, and focus on being a very good message passing system. The IPC mechanism used by upstart is not currently D-BUS because of various problems, however it’s always been expected that even if init itself doesn’t communicate with D-BUS directly, there would be a D-BUS proxy that would ensure messages about all init jobs and events would be given to D-BUS and D-BUS clients could send messages to init to query and change the state of jobs. What is the implementation plan? Because this is process #1 we are changing, we want to make sure that we get it right. Therefore instead of releasing a fully-featured daemon and configuration to the world, we’re developing it in the following stages:
  1. Principal development; at the end of this stage the daemon has been implemented and can manage jobs as described.
  2. Replacement of /sbin/init while running the existing sysv-rc scripts. This is the shake-down test of the daemon, can it perform the same job as the existing sysvinit daemon without any regressions?
  3. /etc/rcS.d scripts replaced by upstart jobs. These consitute the majority of tasks for booting the system into at least single-user mode, and contain many of the current ordering problems and race conditions. If the daemon solves the problems here, it will be a success.
  4. Other daemon’s scripts replaced by upstart jobs on a package-by-package basis; this will be an ongoing effort during which upstart will continue running the existing sysv-rc scripts as well as its own jobs. During this time the event system may be tweaked to ensure it truly solves the problems we need.
  5. Replcement of cron, atd, anacron and inetd. This will happen alongside the above and result in a single place to configure system jobs.
  6. Modification of other daemons and processes to send events to init instead of trying to run things themselves.
The current plan is that we will be at least part of the way into stage #3 by the time edgy is released, with that release shipping with upstart as the init daemon and the most critical rcS scripts being run by it to correct the major problems For edgy+1 we hope to have completed stage #5 and be at least part of the way into the implementation of stage #6. From the start of development of edgy+2, no new packages will be accepted unless they provide upstart jobs instead of init scripts and init scripts will be considered deprecated. What state is it in now? The init daemon has been written and is able to manage jobs as described above, receiving events on the control socket to start and stop them. This has now been uploaded to the Ubuntu universe component in the upstart package for testing before it becomes the init daemon. We welcome any experienced users who want to help test this; install the package and follow the instructions in /usr/share/doc/upstart/README.Debian to add a boot option that will use upstart instead of init. If your system boots and shut downs normally (other than a slightly more verbose boot without usplash running) then it is working correctly. Other types of events will be added as required during development and testing. Currently only a basic client tool (initctl) has been written, compatibility tools such as shutdown will be written over the next week or two before it replaces our sysvinit package.

Russell Coker: more on anti-spam

In response to my last entry about anti-spam measures and the difficulty of blocking SPAM at the SMTP protocol level I received a few responses. Brian May pointed out that the <span style="font-weight: bold;">exiscan-acl</span> feature of <span style="font-weight: bold;">Exim</span> allows such blocking, and Johannes Berg referred me to his web site <a href="http://johannes.sipsolutions.net/Projects">http://johannes.sipsolutions.net/Projects</a> for information on how he implemented <span style="font-weight: bold;">Exim</span> SPAM blocking at the SMTP level.<br /><br />It seems that this is not possible in Postfix at this time. The only way I know of to do this in Postfix would be to have a SMTP proxy in front of the Postfix server that implements the anti-SPAM features. I have considered doing this in the past but not had enough time.<br /><br />Also a comment on my blog criticises SORBS for blocking <a href="http://tor.eff.org/">Tor (an anonymous Internet system)</a>. As I don't want to receive anonymous email and none of the companies I work for want to receive it either this is something I consider a feature not a bug!

Russell Coker: big and cheap USB flash devices

It's often the case with technology that serious changes occur at a particular price or performance point in development. Something has small use until it can be developed to a certain combination of low price and high performance that everyone demands.<br /><br />I believe that USB flash devices are going to be used for many interesting things starting about now. The reason is that 2G flash devices are now on sale for under $100. To be more precise 1G costs $45AU and<br />2G costs $85AU.<br /><br /><a href="http://www.coker.com.au/hardware/usb.html">http://www.coker.com.au/hardware/usb.html</a><br /><a href="http://www.coker.com.au/hardware/usb.html"><span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"></span></a><br />The above page on my web site has some background information on the performance of USB devices and the things that people are trying to do with them (including MS attempting to use them as cache).<br /><br />One thing that has not been done much is to use USB for the main storage of a system. The <a href="http://laptop.media.mit.edu/">OLPC </a>machines have been designed to use only flash for storage as has the <a href="http://familiar.handhelds.org/">Familiar</a> distribution for iPaQ PDAs (and probably several other Linux distributions of which I am not aware). But there are many other machines that could potentially use it. Firewall and router machines would work well. With 2G of storage you could even have a basic install of a workstation!<br /><br />Some of the advantages of Flash for storage are that it uses small amounts of electricity, has no moving parts (can be dropped without damage), and has very low random access times. These are good things for firewalls and similar embedded devices.<br /><br />An independent advantage of USB Flash is that it can be moved between machines with ease. Instead of moving a flash disk with your data files you can move a flash disk with your complete OS and applications!<br /><br />The next thing I would like to do with USB devices is to install systems. Currently a CentOS or Red Hat Enterprise Linux install is just over 2G (I might be able to make a cut-down version that fits on a 2G flash device) and Fedora Core is over 3G. As Flash capacity goes up in powers of two I expect that soon the 4G flash devices will appear on the market and I will be able to do automated installs from Flash. This will be really convenient for my SE Linux hands-on training sessions as I like to have a quick way of re-installing a machine for when a student breaks it badly - I tell the students "play with things, experiment, break things now when no-one cares so that you can avoid breaking things at work".<br /><br />The final thing I would like to see is PCs shipped with the ability to boot from all manner of Flash devices (not just USB). I recently bought myself a new computer and it has a built-in capacity to read four different types of Flash modules for cameras etc. Unfortunately it was one of the few recent machines I've seen that won't boot from USB Flash (the BIOS supported it but it didn't work for unknown reasons). Hopefully the vendors will soon make machines that can boot from CF and other flash formats (the more format choices we have the better the prices will be).

Russell Coker: common mistakes in presentations

I attend many presentations and have seen many that had a lower quality than they should have. Some things are difficult to change (for example I have difficulty speaking slowly). But there are some things that are easy to change that many people seem to get wrong and I will list some that stand out to me.<br /><br />Unreadable presentation notes. You have to use a reasonably large font for it to be read by most people in the room. This means probably a maximum of about 16 lines of text on the screen. I have attended some presentations where I couldn't read the text from the middle of the room!<br /><br />Too many slides. On a few occasions I have heard people boasting about how many slides they are going to use. An average of more than one slide per minute does not mean that you have done a good talk, it may mean the exact opposite. One of my recent talks had 8 slides of main content plus an introductory slide while waiting for people to arrive and a Q/A slide with my email address and some URLs for the end. The speaking slot was 30 minutes giving an average of a slide every 3-4 minutes.<br /><br />Paging through slides too quickly. If you have 60 slides for a one hour talk then you will have no possibility of going through them at a reasonable speed (see above). Even if you have a reasonable number of slides you may go through some of them too quickly. On one occasion a presentation included a slide with text that was too small to read, I tried to count the lines of text but only got to 30 before the presenter went to the next slide.<br /><br />Using slides as reading material for after the lecture. Sure it can be useful for people to review your notes after the lecture, and it's generally better to give them the notes than to have them be so busy writing notes that they miss somehting you say. But if you want to have something verbose and detailed that can't be spoken about in the lecture then the thing to do is to write a paper for the delegates to read. Serious conferences have papers that they publish (minimum length is generally 4 solid A4 pages) which are presented by a talk of 30 to 60 minutes. That way people get a talk as an introduction and they get some serious reference material if they want to know more. Also people who miss the talk can read the paper and get much of the value. Is it not possible for slides to take the place of a paper.<br /><br />Bad diagrams. Diagrams should be really simple (see the paragraph about readable text). It is OK to have diagrams that don't stand alone and need to be described, a lecture is primarily about talking not showing pictures.<br /><br />When simplifying diagrams make sure that they still represent what actually happens. Simplifying diagrams such that they don't match what you are talking about doesn't help.<br /><br />Animations. The only thing that is animated in the front of the room should be the person giving the presentation. Otherwise just do the entire thing in flash, publish it on the web, and don't bother giving a talk.<br /><br />Staged content, particularly when used as a <span style="font-style: italic;">surprise</span>. Having a line of text appear with every click of the mouse forces the audience to stay with you every step of the way. This may work for primary school students but does not work for an intelligent audience. Give them a screen full at a time and let them read it in any order that they like. This is worst when they someone tries to surprise the audience with a punchy line at the end of every paragraph. Surprising the audience once per talk is difficult. Trying to do it every paragraph is just annoying.<br /><br />One final tip that isn't as serious but is not obvious enough to deserve a mention. Use black text on a white background, this gives good contrast that can be seen regardless of color-blindness and with the bright background the room is lit up even if all the lights are off. The audience wants to see you and sometimes this is only possible by projector light. Also the more light that comes out of the projector the less heat that builds up inside, it can really mess up a presentation if the projector overheats.

Russell Coker: blocking spam

There are two critical things that any anti-spam system must do, it must not lose email and it must not cause damage to the rest of the net.<br /><br />To avoid losing email every message must be either accepted for delivery or the sender must be notified.<br /><br />To avoid causing damage to the rest of the net spam should not be bounced to innocent third parties. To accept mail, process it, and then bounce messages that appear to be spam will result in spam being bounced to innocent third parties.<br /><br />The only exception to these two conditions is for virus email which can be positively identified as being bad and therefore they can be silently discarded. For any other category of unwanted mail there is always a possibility of a false-positive and therefore the sender should be notified if the mail will not be accepted.<br /><br />Therefore the only acceptable method of dealing with spam is to reject it at the SMTP protocol level. Currently I am not aware of any software that supports Bayesian filtering while the message is being received so that it can be rejected if it appears to be spam, it would be possible to do this (I could write the code myself if I had enough spare time) but AFAIK no-one has done it.<br /><br />The most popular methods of recognising SPAM before it is accepted are through DNSBL lists (DNS based lists of IP addresses known to send SPAM), RHSBL lists (DNS based lists identifying domains that are known to be run by spammers), and Gray-listing (giving a transient error condition in the expectation that many spammers won't try again).<br /><br />Gray-listing is not effective enough to be used on it's own, therefore DNSBL and RHSBL systems are required for a usable email system. Quickly reviewing the logs of some of my clients' mail servers suggests that the DNSBL <span style="font-weight: bold;">dnsbl.sorbs.net</span> alone is stopping an average of 20 SPAMs per user per day! The <a href="http://www.sorbs.net">SORBS</a> system is designed to block open relays, machines that send mail to spam-trap addresses, and some other categories of obviously inappropriate use. The number of false-positives is very small. On average I add about one white-list entry per month, which isn't much for the email for a dozen small companies. For every white list entry I have added I have known that the sender has had a SPAM problem. I have not had to add a white-list entry because of a DNSBL making a mistake, just because people want to receive mail from a system that also sends SPAM.<br /><br />I was prompted to write about anti-spam measures by an ill-informed and unsubstantiated comment on my blog regarding DNSBL services.<br /><br />If anyone wants to comment on this please feel free. But keep in mind that I have a lot of experience running mail servers including large ISPs with more than a million customers. The advice I give in terms of anti-spam measures concerns techniques that I have successfully used on ISPs of all sizes and that I have found to work well even when both ends use them. Make sure that you substantiate any comments you make and explain them clearly. Saying that something is <span style="font-style: italic;">stupid</span> is not going to impress me when I've seen it work for over a million users.

Evan Prodromou: 9 Fructidor CCXIV

We're still in wt:Copenhagen today, but we head out this afternoon for our tour of the Baltic Sea. We've had a great time in the city so far, mostly due to staying with longtime Wikitraveller wt:User:Elgaard, who generously offered us the extra room in his apartment for the time we're here. There's something about staying in an actual human being's home while you're travelling to really recharge the batteries. After a week in hotels and restaurants, a little time in a real house can make you feel a lot more human. We took our time getting to Copenhagen from wt:Odense at the end of the Wikisym conference, mostly because I was really hung over. I'd spent the last night of the event drinking at the Irish pub in the pedestrian area, and I probably had 1-5 pints too many. Paul Yount calls Irish pubs "the first Open Source franchise", and it's true: you can expect certain things at a pub no matter where it is in the world. Although we started out with about 30 people, the crowd thinned through the night. I had a good time talking with Brion Vibber and Chuck Smith about the state of Esperanto-language wikis on the Web -- in a mish-mash of English and Esperanto, of course. (In case you were wondering: the state is "fine".) I also chatted Wikimedia Foundation politics with Angela Beesley; we both think Erik Moeller is going to make a good addition to the WMF board. After the pub shut down, I headed to the deathly silent casino in the sub-basement of the Radisson of Odense. The bar was eerily silent, and the gaming tables were intense and serious; I don't think people could have been more somber if they were organ harvesters gambling for body parts. The last hangers-on were Andrea Forte of Georgia Tech, Alex Schroeder of CommunityWiki, Sunir Shah of MeatballWiki, and Eugene Eric Kim, of Blue Oxen and HyperCore. In other words, some of the smartest people in the wiki world today -- we talked wiki politics and theory until the wee hours of the morning. They all switched to mineral water while I was still slugging down pints of Carlsberg Special, which is probably where I went wrong. Wikisym, for me, was one of the best conferences I've been to this year, and I've been to a lot. It capped off a long summer of conference-going, and this fall should be relatively tranquil. Which is great: I have a lot of work to do, based on the ideas I've picked up this season. tags:

sterbro All of which is to say that I was feeling pretty crufty the next morning as we got on the train. Kindly Maj got us a late checkout and let me sleep in late, which helped a lot; a falafel sandwich around 11AM also cleared my head a bit. The train ride from Odense to Copenhagen was great, and by the time we got to Niels Elgaard Larsen's house in sterbro (a neighborhood of Copenhagen) I was pretty refreshed. Niels took us out to an early dinner at a restaurant called Pixie in a square by his house. Copenhagen has some pretty strict traffic laws, and the number of cars on the street is possibly the least I've ever seen for a major metropolis, leaving a lot of room for sidewalks, bike paths, and open parks and plazas. We got to chat with Niels over a fresh pasta dinner, and thence home to his house for beers and more talk. One great thing about visiting Wikitravellers is that they tend to be a) very smart, b) well-travelled, and c) interested in Free Software and Free Culture. Niels is no exception; he's active in the Danish and European Free Software and information freedom communities, and he's extremely interesting to talk to on the subject. We shared travel stories and talked about Open Source and Open Content later than I would have thought, based on my earlier-morning hangover. Probably the high point of the evening, for me, was when Niels shared a brilliant idea for a way to distribute Wikitravel guides in digital form for a very wide array of users. We've had a hard time settling on a mobile document format for Wikitravel guides, since mobile devices like PDAs and cell phones support standards so poorly. It's one of the most requested features for Wikitravel, but it's going to take a huge amount of work to cover even a fraction of the mobile device owner community. Except Niels had a genius idea for how to distribute guides in a simple, standard format that works on a mobile digital device many if not most travellers carry with them every time they travel. The idea: make guides that are downloadable JPEG images which can be copied to a SD card or Compact Flash or Memory stick or whatever, then stuck into a digital camera. If the camera supports zooming on images, and has a decent screen for review, the guides might be useful and readable. I'm going to try to do some experiments with the idea -- I think it could be a real winner. Adding 30-40 images to a camera today is pretty cheap, and if they're just text I think some aggressive compression can work well. tag:

Copenhagen on foot Yesterday we did a big tour of the city on our own. In the morning, we had some breakfast at the Laundromat Cafe right next door to Niels's house, and I took the opportunity to clean a week's worth of dirty laundry. Nothing like a stack of clean clothes to make you feel more like a decent citizen. I was down to a bathing suit and the ICANNWiki t-shirt Ray King gave me at Wikisym. Then we headed out on the town to do some sight-seeing. First we hit the Kastellet, a fortress in northeast Copenhagen that's the oldest operational military base in Europe. It's got the distinctive star-shaped outline typical of old fortifications, and is surrounded by a lovely park with ducks and swans. We had lunch at a nearby caf , with large beers. (Gee, I'm getting worried about the pattern here.) After lunch we made an unscheduled stop at den lille havfrue -- the famous Litle Mermaid statue in the harbour. It was miniscule and surrounded by perhaps 100 onlookers, crammed into a tiny swatch of sidewalk. We stopped about half a mile away, took some pictures of the crowd, and moved on. We then hoofed it down through the harbour and across Nyhavn and a bridge to Christianhavn and Christiania. We'd both heard about the city-within-a-city run on anarchist principles -- kind of like a giant squat -- but neither of us had been there before. It was an interesting place -- packed with people, lots of food cooking a beer-drinking, caf s and restaurants all over the place, interspersed with art installations and little gardens. But it had the unkempt scumminess of a big squat, too -- especially on the main drag -- and there were a few too many pitbulls and gutterpunks for my tastes. Overall a good experience but I don't know if I'll go back. After our long walk we took the metro back to Niels's, where we napped until he and wife Chiquita got home. Chiquita is an investment banker from wt:Toronto who does a lot of business in Europe, where she met Niels a few years ago. They were married last year and have had a long-distance relationship -- visiting each other a week or so out of each month -- for the whole time. She's moving here this year, which I think will be nice for both of them. We had a good dinner at a place called Thomas's -- a buffet, which seems to be very popular here -- and then back home for a nightcap and bed. Amita June was overtired by the time we got her to bed, and she let us know that we'd pushed her too hard with a quarter-hour of heavy crying. But we all got to sleep pretty well afterwards, and at least the parents know that we should take it easy in the future. tags:

25 August 2006

Uwe Hermann: FSF/UNESCO Free Software Directory

It's strange that the FSF/UNESCO Free Software Directory project has managed to remain hidden from my eye until today...
The Free Software Directory is a project of the Free Software Foundation (FSF) and United Nations Education, Scientific and Cultural Organization (UNESCO). We catalog useful free software that runs under free operating systems particularly the GNU operating system and its GNU/Linux variants.
The main difference to similar software directories (Freshmeat, SourceForge, ...) is that "licenses are verified for each and every program listed in this directory", which is a good thing. If you've got too much time on your hands, here's an idea how to get rid of it and at the same time help the Free Software community...

Aigars Mahinovs: I called it!

Ryanair finally sued the UK government for 3 million pounds for the air traffic disruptions, just like I called it!
Now they only need to team up with British Airways (who demand their money from goverment’s BAA) and all the other affected airlines, so that the court doesn’t just dismiss it right away. Also it would be nice if Ryanair rallied the people to halp them - demonstration in front of the courthouse and bumper stickers saying “Keep Britain Flying!” and “Keep US Flying!” (along with t-shirts, umbrellas and sports style water bottles) would also help to rally public support.

Julien Danjou: DeFuBu contest #2

Bug Welcome to this 2nd issue of the DeFuBu contest, the monthly championship of the funniest bug reported to the Debian BTS. The challengers How the vote has been done Five Debian related people voted for these bugs: Roland Mas, Alexis Sukrieh, Cl ment Stenac, kolter and Yves-Alexis Perez. Full ranking Bugs Challengers The winners Notes To participate, simply drop me an email with a bug number. About DeFuBu

Matthew Garrett

I'm being persecuted on OSNews. Since people are demanding that I brutally murder myself immediately (their words might not actually say that, but it's clear what they mean), I've decided that there are far more important things in my life than free software. Like, say, morris dancing. Fuck you all, I retroactively relicense all my patches under the CDDL. The Linux kernel is now undistributable. YOU'VE ONLY YOURSELVES TO BLAME. Except Warren, who's lovely and loves me too and has a history of understanding the GPL perfectly. Such as the Mepis FAQ at one point claiming
"You can make and sell an unlimited number of MEPIS Linux CDs in
accordance with the terms of the GPL license, that is you may make and
sell them only for a fair price. For more details, see the GPL License."


Anyway. MEPIS POLICE SHUT DOWN LINUX.

Andree Leidenfrost: Blast from Your Past...

...is not only an interesting Ringo Starr album, but also describes quite fittingly the nature of an email I received today from Nathanael Nerode.
.

In his email, Nathanael inquires about #16827, which I had filed a whopping eight years and 231 days ago today.

I hadn't used neither olvwm nor LyX for many years (although especially the latter served me extremely well at the time). But I thought that Nathanael boldly going where noone had gone for more than eight years deserved an equally bold answer, so I installed and tested. The good news is that the issue does indeed appear to be fixed! :-)

Christophe Prud'homme: pkg-scicomp: packages in progress

In the pkg-scicomp project a few packages are in progress<br /><br /><ul><li><span style="font-weight: bold;">freefem++</span> a very powerful language to solve pde, right now the remaining issue is updating all files and fix the licence/copyright</li><li><span style="font-weight: bold;">trilinos</span> a meta-package that contains many numerical libraries with an emphasis on robust parallel algorithms. Right now 6.0.19 is in the box, I think I will wait for the version 7<br /></li><li><span style="font-weight: bold;">parmetis</span> well parametis is already taken care of by hazelsct but I wanted to modify it and provide some headers from metis. Patches will be sent to hazelsct.</li><li><span style="font-weight: bold;">arprec</span> an arbitrary precision numerical type in C++, I need to update to the last version which fixed licensing issues</li></ul>I am happy that it is possible to have a large numerical software suite in Debian which you will have difficulties to find in any other distro.

24 August 2006

Marcela Tiznado: Debian Day Uruguay

After some days of thinking what should I do, I finally decided to go to spend 1.5 day in Uruguay to attend to Debian Day organized by Debian-uy. The trip was quite long (~7 hours) for being so near to Montevideo...



some could rest, some others didn't :-( After the boat we still had 4 hours on a bus. When we arrived we had some coffee while waited Debian-uy people to pick us.



We finally got picked and took us to the Instituto Tecnico Superior where Debian Day was going to take place.
The event was much more that what I've expected on amount of people, specially cause was the first "big" event organized by this group. There was a hacklab where people could attend with their computers and get Debian installed, they also offered people copies of Debian CDs (some people got the Sarge DVDs that remained from DebianDay-mx), hacking place, and of course somewhere to get "mate".
The talks were quite good in general, some where general free software and some others specifically about Debian. I signed keys with few people. The atmosphere was great. Thanks all Debian-uy for the receiving us.

On the way to Rodrigo's home, we found drummers playing along the street with huge flags and people dancing around. Simply amazing to found one of those non-tourist events.

Next.

Previous.