Search Results: "jr"

8 October 2008

MJ Ray: Pulling One File From a Plesk Backup

I won’t repeat my frequent anti-Plesk rant, but suffice to say: it’s a pain. For some reason, we wanted one file back out of a backup. It took me a few minutes to realise it, but Plesk’s backups are essentially MIMEd and gzipped. So, rather than fighting with their mysterious semi-documented backup-unpack tool, just say:- zcat backupfile sed -n -e '/name="filename.whatever/,/^--_--/p' >filename.whatever If you don’t know the filename, zless’ing the head of the file should find it from the XML description blocks pretty quickly. Slight editing of the output file will be necessary, to strip MIME and so on, but it’s easier than installing too much else on a webserver. Does anyone know why this gzipped-MIME is better than tar.gz or something else common and easy-to-use?

MJ Ray: Nestle Boycott 20th Anniversary

It’s the 20th anniversary of the Nestle Boycott this week. The theme is “Change Nestl , Change the World”. This is one of few boycotts that I wholeheartedly support and participate in. While reading a report from the NI cooperative, I learnt of a new outrage by Nestle. Over in Canada, Wellington Water Watchers document a Nestle plant that is (as I understand it), taking drinking water for free, bottling it as “Aqua Fina”, trucking it to cities and selling it. (Thanks to whoever it was gave me the WWW link - I didn’t find the email, so please claim it in a comment if you want it.) You may remember that when Coca-Cola tried to do the same by selling contaminated Kent tap water as “Dasani”, it was widely ridiculed as Peckham Spring. Finally, “Dasani” was withdrawn from sale. It’s disappointing that Nestle’s Peckham Spring seems to be on sale in Canada, at a lower “manufacturing” cost than Coke’s UK one. Do we really want multinationals selling us our tap water in an inefficient way? No. Boycott Nestle.

7 October 2008

David Welton: Making Applets Suck Less

With all the effort being poured into Javascript lately, it's pretty evident that that's the way forward. However, there are still some neat things you can do with applets that you can't do with Javascript. For instance, I use the microemulator applet to let people play with a simulated phone on the Hecl web site. Unfortunately, the user experience hasn't that good. While playing around with the code for that site, Firefox crashed a number of times, and I've heard other browsers have trouble as well. No fun. So it is with some satisfaction that I found this: https://jdk6.dev.java.net/plugin2/ It's an updated Java plugin that seems to work much, much better than the old one. Unfortunately it doesn't appear as if it will be in the new Ubuntu, as it was released recently, but I'm quite happy to have something a bit more stable to develop with. You can download that version of the Java SDK or JRE here: http://download.java.net/jdk6/ It's good to see this effort, even if it may be a bit late.

3 October 2008

John Goerzen: What Traditional Values Mean to Me

A comment on Facebook yesterday got me thinking what American "traditional values" are all about. We hear it a lot, and I suspect it means something different to different people.

Here's what it means to me.

It starts with an ethic fundamentally informed by the central tenets of Christianity -- which are also excellent standards of decency by secular standards. We are called to have a relentless drive to care for the repressed, poor, downtrodden. As Jesus said, "whatever you do to the least of these, so you do to me." It means extending the hand of friendship and compassion to all, in our own neighborhood and around the world. It means taking good care of the resources we have, acting responsibly, and affirming and supporting others so they can do the same. It means that, as our founding fathers emphasized, remembering that all people are created equal, are equally deserving of a good life, and deserve liberty and freedom. Finally, it means a constant realization that we are creating a human institution, and will always have an imperfect answer to these ideals, but that we can -- and must -- recognize our faults and strive to make things better.

How do these apply to our time?

We must start with the poor, the repressed, and habitually think of their situation in everything we do. That means remembering that when we drop a bomb in Afghanistan to kill a terrorist, we also usually kill 50 innocent bystanders, and devastate their families. It means remembering that illegal immigrants from Mexico come here because all they want is refuge from drug wars, food on the table, and a roof over their head. It means showing compassion in deportation proceedings: when illegal immigrant parents have a child born in the United States, the child is an American citizen and can't be deported, but deporting the parents will create an orphan. It means actively helping the repressed people of the world, whether they be in Sudan, Georgia, or AIDS victims in Africa, Muslims in New York. It means reducing taxes on the poor, giving them the skills and tools they need to make their way in life. It means caring for those with alcohol drug addictions, helping them to summon the strength to get past those problems, rather than locking them up or throwing them out on the street. In days past, this might have meant sharing firewood with the family down the road that was at risk of freezing in winter. Today it might mean assistance with winter heating bills.

Remembering that all people are created equal means that we must provide good education for everyone, whether they live in suburban California, inner city Detroit, or rural Appalachia. We owe quality health care to everyone; those without means to pay for health care, or to pay for a car to get to a clinic, should be treated with dignity and respect, and have equal access to medicine.

Remembering that all people are created equal also means that we must provide equal justice under law, and give everyone a fair trail. We must abandon the death penalty, because we have a shocking number of people on death row -- hugely disproportionately black and poor -- that have been shown innocent of their crimes thanks to advances in DNA testing. We must maintain the integrity of checks and balances in government, and support judicial oversight over search and seizure. We must avoid warrantless wiretapping because it subverts judicial oversight and corrupts our justice system by making the exercise of power secret. We must denounce torture, and refuse to employ it, because no human, being created equal, deserves to be treated in such a way -- and we have been applying it to innocent humans.

We owe the opportunity to grow up in a loving family, in a safe community, to every child. We must make sure that gangs no longer have the run of our streets, that drugs aren't displacing hard work as the currency of the community, and that adoption is inexpensive and practical for more families, rather than costing thousands of dollars. Doing so will help every child grow up knowing that they are valued, are important, rather than being unwanted and therefore abused or neglected.

Extending the hand of friendship and compassion to all starts with being a good example -- that shining city on a hill that Reagan talked about. We have to run an open, just, and fair society ourselves. We must not fear those that are different than us, just because they're different. We have to recognize that citizens of Iran, Russia, North Korea, Palestine, and the United States fundamentally are humans, created equal, seeking the same thing: a safe and secure future for themselves and their families. Being able to coexist peacefully means starting from that point, and being willing to talk to them, and yes, even their leaders, regardless of how distasteful they may be.

Acting responsibly with our resources starts at home -- things like not driving up credit card debt, not living outside our means. The same applies to government: massive deficits each year are exceptionally irresponsible and place us at great risk both at the present and in the future. We also have a duty to care for the planet and the environment in which we live, which means actively working to curb the things we do to harm the planet and cause global warming.

What about recognizing our faults? Perhaps the most patriotic duty asked of Americans is dissent. It is never easy, but is essential to keeping our democracy functioning. This country has a long history of successes, and also a long history of failures. We failed so many by keeping slavery legal for so long, and discrimination and lynching legal for even longer. We failed that Native Americans by forcing them from their lands and treating them with brutality. We have, to some extent, risen above these failures thanks to the ability to recognize them and try, to the best of our ability, to fix them. This is what the civil rights movement was about, and why we have a holiday for Martin Luther King, Jr. He spoke out against a society that said some couldn't eat in a restaurant because of the color of their skin, or who were repressed because of their economic status. He recognized that problem in America, and by speaking out against it, helped to change this country for the better.

Today we have to recognize the things we are doing wrong, and try to change them. We are torturing potentially innocent people. We are discriminating against Muslims and homosexuals in our midst. We are giving extraordinary power to big media companies through changes in copyright law, to big communications companies through failure to enact network neutrality laws. And we are labeling people that disagree with war as unpatriotic.

Notice some things I didn't mention, such as abortion. It's not really relevant, and the lines we are fed by both sides present us with this false pro choice vs. pro life debate. In reality, it seems to me that both sides want the best for the children: for every child to grow up in a loving family, where he or she is wanted. We all know from research that laws banning abortion do not actually reduce it. So we ought all to come together and try to make it more rare by providing more support to single parents, by making it easier to adopt children, by trying to make the perceived need for an abortion to go away.

So, in this election, I look at the candidates and it seems pretty clear which one is promoting traditional values and which one isn't. Obama is actively trying to reach across the aisle and find common ground. Even in his convention speech, he suggested ways to work together on abortion like I just mentioned. In the debate, he listened carefully to his opponent and acknowledged when he thought McCain was right. This is a necessary first step in working together to move forward. McCain subsequently released an ad mocking Obama for this.

What about caring for the poor? Again, Obama's tax policies, education policies, and health care policies take care of them far better than McCain's. About responsibility? McCain supported these deficit-busting budgets of the last 6 years, supported the oil-centric energy policies, and has been only lukewarm towards dealing with global warming. McCain and Palin mock Obama for trying to help poor Chicago neighborhoods 20 years ago, for being willing to just talk to our supposed enemies, for actually reaching across the aisle.

So yes, I am a values voter, and that's why I can't possibly do anything but vote for Obama.

2 October 2008

Simon Richter: A design question

As some of you may or may not be aware, I'm hacking on a new build tool that has a purely descriptive language for project descriptions, with lots of sensible defaults. Right now, the only thing I really require users to do is to declare the name and type of the project, for example Program: foo This will just take all files in this directory that it understands, compile them, and link them to an executable called "foo" (or "foo.exe"). So far, so good. However, there are more complex examples, specifically those where multiple outputs are installed to different directories, for example in the case of libraries: Library: foo
Public: foo.h, foo.c
I've omitted the library versioning stuff from the example, because it isn't necessary to understand the problem. This means "take all compilable files, link them to "libfoo.so" (resp. "foo.dll") and only mark the symbols defined in foo.c as exported (not listing code generating files will fall back to exporting everything); then install foo.h into /usr/include (or make it available as <foo.h> to dependent projects). Now, I'd like to add an optional parameter to place a "published" resource into a namespace. How that is defined is dependent on the type of the resource (exported symbols could be tagged with a symbol version, while include files would be installed into a subdirectory of /usr/include). And this is where I would like to get some input. How should such a declaration look like in the project description file? The file is in RFC822 style format, with one section per project (multiple projects in a single directory are permitted if you list the inputs explicitly), and I'd rather keep it that way. Ideas so far:
  1. Public[foo]: foo.h
    Public[FOO_1_0]: foo.c
This means multiple lines and dividing .c and .h files since their "namespace" attributes mean something entirely different.
  • Public: foo.h [foo], foo.c [FOO_1_0]
  • This ends up becoming pretty repetitive if I have a lot of header files. Neither of these looks as "clean" as I'd like a new file format to look. I'm pretty much sure "built-in" tagging of certain things will be handled by separate top-level tags (similar to automake): User-Public: userdoc.sgml
    Developer-Public: devdoc.sgml
    I'm open to criticism on this one as well though.

    MJ Ray: The Trouble With Big Webmail

    So last week, a relative commented to me that a solicitor sent a letter in reply to an email. I suggested that it might be because the email reply address was on one of the major free web email providers. “What’s wrong with my webmail?” So I explained… First of all, as far as I know, no Big Webmail service supports encrypted email (and there are complications in how you’d provide such a thing on webmail anyway) and it can be fairly easy to trick the webmail service into giving access to other people. My relative was sceptical, but within a day, US vice-presidential candidate Sarah Palin’s Yahoo mail was cracked and splashed across the news. (By the way - gov.palin counted as a personal email address? Huh? Her name isn’t “gov”.) Even without passwords going astray, there’s no telling that the intended recipient is the only person reading the email. Here’s a fun paragraph from the Google Mail Terms:-
    “Google maintains and processes your Gmail account and its contents to provide the Gmail service to you and to improve our services. The Gmail service includes relevant advertising and related links based on the IP address, content of messages and other information related to your use of Gmail.” (emphasis added)
    The Electronic Privacy Information Center suggests this includes wiretapping. There’s finally a growing awareness that free webmails are not safe, built on artificial anti-competitive encouragements like “you need a Yahoo!ID to subscribe to this yahoogroup” (no - the old “stick -subscribe after the group name, before the @” still works, just like it did before they bought it from egroups). Internet Psychologist Graham Jones writes:-
    “It’s time to review your online security and think about whether you actually need Google and its like at all. Probably not.” (source)
    I agree with that. Both of my phone companies (The Phone Co-op agency and 3) include webmail - although I have some personal domains (for long-term contactability), those webmails are fine for lists and short-term use. The sort of thing most people seem to use Big Webmail for. The other main point in my argument was that free webmails are unreliable, thanks to tactics like Yahoo’s shoddy anti-spam attacks on other mailservers. There’s no telling whether the email will get through such bad behaviour and delivery-receipts are unreliable. I can quite understand why a solicitor won’t send email to the likes of hotmail, even if I think it’s just as probable that the solicitor doesn’t “get” email. “Oh” said my relative. I think she’s still using Big Webmail though.

    MJ Ray: Is Firsht Social Networking s Godfrey?

    A case of a former friend impersonating someone on facebook was decided during the summer: Applause Store Productions Ltd. & Anor v Raphael [2008] EWHC 1781 (QB) (24 July 2008) . The victim was awarded thousands of pounds in damages. As I write this, there’s still no response on facebook’s news page, but I wonder whether Firsht will be to UK social networking what Godfrey was to UK Usenet. A bit of a wake-up - a reminder that the internet isn’t a consequence-free playpen. I know that more than most - my youthful indiscretions are plastered across the web, if you know where to look. Fortunately, cooperative associates seem to understand that people learn over time and don’t hold decade-old mistakes against me. Talking of not holding old mistakes against people, LinkedIn is profitting from an influx of bankers since the banks started going bust. That’s going to change the society behind their network - for better or worse? All of the big name networks seem to be having some growing pains, like the breakdown of the Facebook metaphor and I think the “walled gardens” are ripe for replacement. I’m still listed there at present, but I’m using my account on the cooperativemagazine NoseRub server to monitor it and most of the stuff posted to facebook is taken from my websites. I’d like to make NoseRub import and export more things in more formats, but will anyone pay for that work? Otherwise, it keeps falling down my priorities because it’s in PHP and I don’t find that much fun. Maybe I’ll replace it with something more amusing in Scheme or Perl. Aside: is there a good bot that produces an RSS feed of jabber/XMPP presence messages?

    1 October 2008

    MJ Ray: How not to be a Popular Politician

    So, while everyone was watching the Bush Bank Bail-out plan get rejected by Congress, they also found time to approve more bad copyright law, an RIAA-backed initiative to attack cooperative download tools like BitTorrent. Thankfully, the attempt to empower the Department of Justice to prosecute on behalf of Big Music was lost (DoJ didn’t want the task anyway) and the Bush administration is minded to veto it. But that’s been the least of my politician annoyances in September. Earlier this year, we were encouraged by Cooperatives-UK to get involved with our Local Strategic Partnership. I went to North Somerset Partnership’s event but I was less than impressed by it. There’s no obvious way that NSP is capable of promoting cooperation. Publishing a thick glossy book about sustainability makes me wonder if it’s capable of doing anything sensible - most people I’ve shown it to have either laughed at it, or got angry about the wasted resources. They’re not the only LSP we have here. Last week, I went to the West of England Partnership’s Transport Forum which
    “horrendously perverted the idea of a “forum” - the event would have been better titled “Joint Transport Lectures” because nearly all our time was spent watching council officers and consultants tell us how wonderful transport is here (they’re meeting 18 out of 21 targets, you know!) and what roads and bus roads they will build next. … The whole event seems like a colossal waste of resources for all involved.”
    So, I seem to be having a bad time with politicians recently. If the above wasn’t enough, we got a reply to our petition requesting ODF at the National Archives which amazingly doesn’t mention Open Document Format at all. I’ve written to our MP (John Penrose) asking about that. And finally, I asked Climate Change Minister Joan Ruddock MP
    “If there’s no windfall tax to fund it, how will the government remove the climate-harming services from the market and encourage new suppliers (particularly Third Sector ones who should show concern for their communities and sustainable energy) into the market?”
    and got the non-answer of
    “The Government is tackling a very wide range of issues that impact on Climate Change through a variety of mechanisms. The energy efficiency programme recently announced is directed at those most in need and where a small expenditure can produce a significant and lasting saving in energy use. Thus saving households money and reducing CO2 emissions.”
    What the heck has that to do with removing harmful services and encouraging new suppliers? If any politicians want to be held in better esteem, try giving some straight answers instead of imitating the above, please. “Yes, Minister” was meant to be a satire!

    30 September 2008

    Axel Beckert: Mini-ITX based Home Server: Planning and Hardware

    Ever since my former desktop machine gsa died and I started using only laptops at home, I noticed a need for a home server for storing all my MP3s, holiday pictures, games, and backups of my other machines. And I also want a filtering web proxy at home again. Current situation Currently my Norhtec MicroClient Jr. “c2” with it’s 120 GB 2.5" harddisk does some of these jobs (mostly storage and backup), but it neither has the disk space nor the performance to do all the things I want. For storage I once bought a TheCus N4100, the big brother of the popular and officially Debian supported N2100. Unfortunately there are a few things different than in the N2100 (NIC without MAC) which makes it much more difficult to get Debian on it and the original firmware doesn’t support NFS at all. *grmpf* I had hints from others who managed to get Debian on this NAS, but I didn’t find the time and leisure to really dig into cross-compiling kernels. (Although with the new 1.3.06 firmware, so called modules became possible also for the N4100 and a SSH module has been posted with which a Debian chroot could be installed and the required kernel build on the machine itself.) I though wasn’t very angry when the N4100+ came out shortly after I bought the N4100, because the N4100+ was no more an ARM based device but had a Celeron processor inside instead. And a NAS which is built on average PC hardware wasn’t as appealing as some device based on some more exotic architecture mainly used in embedded devices. :-) The Mini-ITX Appeal This view changed rapidly, when Raffzahn showed me a few Mini-ITX boards and cases. I surfed around on Mini-ITX.com store and stumbled upon the NAS-like ES34069 case from Chenbro featuring four S-ATA hotswap 3.5" slots, a slim-line CD-ROM drive slot, a SD card reader, and enough space for an additional 2.5" hard disk and a low profile Mini-ITX board. Additionally, the VIA EPIA SN series of Mini-ITX boards sports 4 S-ATA ports and either a passively cooled 1 GHz C7 processor or an actively cooled 1.8 GHz C7 processor. That should be enough power for a small multi-purpose home server while still keep the power consumption low. And I’m not the only one having this idea, Mini-ITX.com suggests this combination and Chenbro officially supports the VIA EPIA SN boards. Additionally, Debian 5.0 Lenny seems to run fine on the SN series, only lm-sensors seems to have problems with SN18000G and SN10000EG (but not SN18000 and SN10000E). So when the Chenbro ES34069 case showed up in digitec’s online shop, I ordered one there and a VIA EPIA SN18000G board at Brack. I didn’t order any disks since for data storage I plan to use the four Samsung 400 GB 3.5" S-ATA disks I bought for the N4100, and for the system I plant to use the 2.5" disk I initially bought for my MicroClient JrSX “c1”, but then continued to use it only with the CF card. Not yet sure, if I’ll also equip the slim-line optical drive slot, too. The case took several weeks to deliver and the mainboard hasn’t arrived yet. Instead I got an e-mail from Brack that VIA products are currently very difficult to get in Switzerland. Reason is said to be that VIA tries to channel the distribution of their products to a single distributor. (Sounds somehow similar to what Apple tried with the iPhone and failed.) Mini-ITX boards and power consumption So I now have a nice case without a board. There aren’t that many Mini-ITX boards out there sporting 4 S-ATA ports. One which cleary stood out was the new Intel DG45FC Mini-ITX board with LGA775 socket. (In Switzerland neither available at Brack nor at digitec, but e.g. at PCP.) But reading the specs of this board it was also clear that it wasn’t thought for NAS systems but high-performance HTPCs — the focus seems to be on multimedia performance which a NAS doesn’t need. Its newer sister, the Intel DQ45EK Mini-ITX board is focussed more on office and business PCs than on multimedia. But Intels remote adminstration is not really a plus for me (don’t need it, I’ve got SSH ;-) and it’ neither cheaper than the DG45FC nor has it significantly lower power-consuption. Despite the 120W power-supply there are people who already combined the Chenbro ES34069 with the Intel DG45FC or DQ45EK board, e.g. one of the administrators of the German NAS-Portal forums built such a machine and this German guy who wants to build a Windows Home Server based on such a combination. At least the NAS-Portal administrator found out that the board consumes so much power that together with the 4 S-ATA disks the included 120W power supply doesn’t suffice and the system is not stable in this configuration. Trusted Reviews review of the DG45FC explains why: It’s one of the first Mini-ITX board not following the MoDT idea, has a desktop chipset instead a mobile chipset and therefore hasn’t all of the power-saving features of those mobile chipsets. But it’s easy to see anyway: Most of the CPUs supported by the DG45FC and DQ45EK boards have a TDP of 65W. Offically the processor cooler delivered with the case supports processors with up to 65W, but 65W is already more than the half of what the power supply delivers and according to the Trusted Reviews review, the board itself consumes another 35W itself. So for the four 3.5" S-ATA disks — which are usually not as economical as notebook disks — about 20W are left. This can’t work! The guy from NAS-Portal.org plans to solve the problem by using a universal 180W notebook power supply instead of the original one. In comparison to the 100W of the both Intel boards, VIA’s SN18000G consumes only 26W (the fanless SN10000EG even only 22W) and that’s board and processor! That’s about ¼ of what the Intel board consumes. Imagine the difference between having a 100W light bulb (suffices for a whole small room) shining 365 days a year compared to a 25W light bulb (often used in bedside lamps) in a year. Other Mini-ITX mainboards with 4x S-ATA include the following ones: Conclusion For now, I decided to wait a little bit more for my VIA EPIA SN18000G board which still seems to be the best board for the Chenbro ES34069 case although not really cheap. But if I once in a not that distant future decide to have a desktop at home again, I’m quite sure it’ll sport a cute Mini-ITX case (perhaps a nice black-orange HFX micro M1 case by mCubed — unfortunately the M2 is no more available in a color combination including orange ;-) with an Intel DG45FC or Kontron 986LCD-M/mITX and a decent Core 2 Duo processor. Software Plans Of course my home server will run Debian GNU/Linux 5.0 Lenny on it, with software RAID-5 and LVM2 over the 1.6 TB of S-ATA disks resulting in 1.2 TB available disk space which will be offered using at least NFS, SMB and SSH (think sshfs). Planned software includes BackupPC (a very fine pulling backup system for machines which are not online 24/7) and Privoxy. I’ll perhaps also install Tor and a caching proxy like Squid or Polipo. Another idea is to run Mediatomb on that machine. :-)

    MJ Ray: International Development Webcast 30 September 2008

    At 1900 BST tonight (30 September), you can take part in an international development webcast by one of my cooperatives, with guests from the Cooperative College, the International Cooperative Alliance and the Cooperative and Policy Alternative Center. Sadly, they’re still clueless about free software, so you may need to put mms://195.10.247.9/a83e447e-68fb-453a-9f0c-8b3fe5b382b9 into a standalone video player if your browser keeps on demanding Microsoft Silverlight like mine does. Drop them an email and suggest that the Bristol Wireless cooperative do better webcasts or something like that.

    29 September 2008

    MJ Ray: Demutualised Building Society Survival Hits Rock Bottom

    Our webmaster cooperative is just switching from a building society to a cooperative bank because of support for free software and web standards in their online banking - I’ve just given up waiting for it. That’s disappointing, but the building society has given pretty good service over the years and were early accepters of our LLP company type. For comparison, look at this list of building societies which converted to banks late last century, which have been in the news lately:-
    1. National and Provincial Building Society was taken over by Abbey National
    2. Abbey National was itself taken over by Banco Santander
    3. Alliance + Leicester is being bought by Banco Santander
    4. Birmingham Midshires was bought by the Halifax
    5. Halifax was bought by Bank of Scotland to form HBOS, which is now merging into Lloyds TSB
    6. Cheltenham and Gloucester was bought by Lloyds TSB
    7. Bristol and West was bought by the Bank of Ireland
    8. The Woolwich was bought by Barclays plc
    9. Northern Rock, nationalised earlier this year
    10. Bradford and Bingley, nationalisation announced today
    So that’s it. All gone. 0% survival rate of demutualised building societies. I’ll be amazed if any more convert in future.

    25 September 2008

    MJ Ray: Another Wednesday, Another Joe-Job

    Yesterday, another of our mailboxes got joe-jobbed, just like last week. Again, it was one of our Exim servers (yes, one got done along with a qmail last week). Again, it was an address that should never appear as the SMTP sender. Again, I put something like
            deny
              message = 553 That address is not used for outgoing email so should never get errors - please telephone us if in error
              senders = :
              recipients = !/etc/exim4/permitted-envelopes
    
    into /etc/exim4/local-rcpt.acl, added CHECK_RCPT_LOCAL_ACL_FILE = /etc/exim4/local-rcpt.acl to /etc/exim4/conf.d/main/02_local_options, put all permitted envelope addresses into /etc/exim4/permitted-envelopes, then ran update-exim4.conf and /etc/init.d/exim4 reload and the flood stopped. So far, it seems to be working like it should. Is there a drawback I haven’t spotted yet, apart from the obvious problem of needing to list all outgoing envelope addresses?

    24 September 2008

    MJ Ray: Stop Software Patents

    Today is the World Day Against Software Patents - 24 September. If you’ve not already signed the petition, go do it now, please. Especially if you’re in Europe, but also if you’re in the US or other swpat-suffering nation. Programs are protected by copyright and the underlying harmonies should no more be protectable by patents than music, or other natural matters.

    Pablo Lorenzzoni: Silent Blog and JRuby

    I ve been silent in this blog last few days, but that has an explanation: I ve been trying to make JRuby 1.1.4 work with one of my scripts. The problem is that after having done all the tweaks I can imagine, I still can t get enough performance with Ruby 1.8.7 (latest etch-backports). Our client will not allow Ruby 1.9 in the server (what is really a pity, for the performance boost I had with Ruby 1.9 is awesome!), but it already have Java6 So the only option I have left is trying JRuby beast. Since our script deals with system stuff, it uses syslog a lot, and that is where the main problem seems to be. Syslog support is new in JRuby, has had some implementation problems, and sure are not something to rely on right now so I dropped it from the script, and it run! Twice as fast (not as good as Ruby 1.9, though)! There are some other problems with this script and JRuby, more important ones being (1) at_exit doesn t work; and (2) errors are not easy to backtrace (when JRuby fails it seems to mess up with the backtrace stack), but not preventing it to work So with the increased performance of JRuby, and after fixing those minor glitches, I was still left with the syslog problem Until I investigate some final solution (I think I ll have to use some Java native syslog library given such a thing exist), I ve split the script in performance-boost needing and syslog-needing parts; the first is using JRuby, and the second, Ruby 1.8.7 They communicate using sockets (I know ugly I would like to use DRuby, but I would not introduce another point of failure in an already messy situation) and the overall performance was brought to a satisfactory level. So far, it s been interesting to study the issue Mainly because I haven t used JRuby since it s early versions, and it has improved a lot. But also because I read a lot about the future of Ruby (bytecode compilation, YARV and so on), and it made me even happier with my primary-do-it-all programming language. Now I ll try to compile java bytecode generated by JRuby into a native binary with GCJ :-D. Let s see if that is do-able Updated 2008-09-24 18:03:00: As you can see in the comments, syslog actually works. I figured this out this morning, but JRuby Subversion already had a patch. Anyway, I submitted another bug I found.

    22 September 2008

    Axel Beckert: Can't resist this meme

    Just stumbled over this meme at Adrian (the meme seems to be started by madduck involuntarily), and since I’m fascinated by how people choose hostnames since my early years at university, I can’t resist to add my two cents to this meme. To be exact, I have two schemes, one for servers out there somewhere (Hetzner, xencon, etc.) and they’re all wordplays on their domain name noone.org, e.g. symlink.to.noone.org (short name “sym” :-), gateway.to.noone.org (usually an alias for one of the machines below), virtually.noone.org (always a virtual machine, initially UML, soon a Xen DomU), etc. So nothing for a quiz here. My other scheme is for all my machines at home and my mobile machines. I’ll start this list with the not so obvious hostnames, so the earlier you guess the scheme, the better you are (or the better you know me ;-). One more hint in advance: “(*)” means this attribute or fact made me choose the name for the machine and therefore can be used as hint for the scheme. :-)
    azam
    My first PC at all, a 386 with 25 MHz and MS-DOS. (Got named retroactively(*). Hadn’t hostnames at that time.)
    ak (pronounced as letters)
    Got it from my brother after he didn’t need it anymore. It initially was identical to azam, but once was upgraded to a 486. Still have the 386 board, though.
    azka
    My first self-bought computer, a pure SCSI system with a AMD K5-PR133 and 32 MB RAM. Initially had SuSE 4.4 and Windows 95 on. Still my last machine which had a Windows installed! :-)
    m35
    Same case and same speed as azka. Used it for experimenting(*) with Sid years ago.
    azu
    Initially also an AMD K5-PR133, later replaced by a Pentium 90 and used as DSL router.
    azl
    An HP Vectra 386/25N book size mini desktop I saved from the scrapyard at Y_Plentyn before his (first) move to Munich. The cutest(*) 386 I ever saw.
    ayce
    A 386 with 387 co-processor(*) and solded 8 MB of RAM.
    ayca
    A 1992 Toshiba T6400C 486 laptop bought at VCFe 5.0.
    bijou
    My 1996 ThinkPad 760ED, which is still working and running Debian GNU/Linux 5.0 Lenny (I started with Debian 3.0 Woody on it and always dist-upgraded it! :-)
    gsa (pronounced as letters)
    My long-time desktop after azka. A Pentium II with 400 MHz and 578 MB of RAM at the end. Bought used at LinuxTag 2003, it worked until end of last year when it started to suddenly switch off more and more often and now refuses to boot at all. Hasn’t been replaced yet though. I mostly use my laptops at home since then.
    gsx (pronounced as letters)
    An AMD K6 with 500 MHz I got from maol and which was used as Symlink test server more than once. (It was the machine initially named symlink.to.noone.org because of that.)
    hy
    My 32 bit Sparc, a Hamilton Hamstation.
    hz (pronounced as letters)
    My 64 bit Sparc, an UltraSparc 5.
    tub
    An HP Apollo 9000 Series 400, model 400t from 1990.
    tpv (pronounced as letters, too ;-)
    My Zaurus SL-5500G.
    tryane
    A Unisys Acquanta CP mini desktop with a passively cooled(*) 200 MHz Pemtium MMX. Used as DSL router for while, but the power supply fan was too noisy.
    lna (pronounced as letters)
    A 233 MHz Alpha
    loadrunner
    An IBM ThinkPad A31 running Sid. I use it as beside terminal.
    pony
    A Compaq LTE5100 laptop with a Pentium 90 running Sid.
    dagonet
    A Sony Vaio laptop which ran Debian GNU/kFreeBSD until it broke.
    Those who know me quite good should already have guessed the scheme, even if they can’t assign all the names. For all others, here’s one name which doesn’t exactly fit into the scheme, but still is related in someway, but you need to knowledge of the theme’s subject to know the relation:
    colani
    A big tower from the early 90s designed by Colani.
    Ok, and now the more obvious hostnames:
    rosalie
    A very compact Toshiba T1000LE 8086 laptop running ELKS and FreeDOS.
    amisuper
    Also an old Symlink test server from maol. He named it “dual”. 2x(*) Pentium I with 166 MHz. Unfortunately doesn’t boot anymore.
    visa
    An IBM NetVista workstation running Debian GNU/kFreeBSD. My current IRC host.
    nemo
    My ASUS EeePC running Debian 5.0 Lenny.
    pluriel
    My current WLAN router running FreeWRT.
    c1
    My MicroClient JrSX, an embedded 486SX compatible machine with 300 Mhz for VESA mountings.
    c2
    My MicroClient Jr, an embedded Pentium MMX compatible machine with 200 Mhz for VESA mountings.
    c-crosser
    My Lenovo ThinkPad T61 running Debian 5.0 Lenny.
    c-cactus and c-metisse
    The KVM based virtual(*) machines on c-crosser running Sid and Debian GNU/kFreeBSD.
    jumper
    My NAS(*) at home, currently a TheCus N4100. Soon to be replaced by some Mini-ITX box.
    Any one who hasn’t guessed the scheme yet? For those understanding German it’s explained at the end of my old hardware page. For all others I suggest either to look at the domain name in my e-mail address (no, it’s usually not noone.org). Still not clear? Well, feel free to ask me for all the gory details or mark the following white box to see the scheme as well as the explanations for nearly all hostnames hidden in there:
    All the machines are named after Citroëns. Old machines after old Citroëns, current hardware after current Citroën models or prototypes. Those names starting with “A” are 2CV derivatives since the 2CV was Citroëns “A” model. “AZ” was the 2CV, AZU and AK were 2CV vans and everything starting with AY (e.g. AYA, AYA2, AYB – but those don’t sound that nice ;-) is Dyane based, but I currently only use Méhara names (AYCA is the normal Méhari, AYCE the 4x4 version). Interestingly not everything starting with AYC is a Méhari: AYCD was the Acadiane, the Dyane van. HY and HZ are variants of Citroëns “H van” (HX, HW and H1600 as well, but they don’t sound that nice), TUB was the pre-WWII “H van” prototype and later the nickname of the “H van” in France. TPV was the name of the pre-WWII 2CV prototype and an abbreviation for Toute Petite Voiture (French for “Very Small Car”), hence the Zaurus, my smallest Linux box, got that name. Rosalie was the nickname of a rear-wheel drive pre-WWII Citroën. M35 was a Wankel engine prototype of the Ami 8 and the Ami Super was the 4 cylinder version of the Ami 8. Bijou was a 2CV based coupé build by Citroën UK in the late 50s and early 60s. Visa and LNA were 2CV predecessors which were available with 2CV engines, but were stopped before the 2CV. GSA and GSX are GS late derivatives. C1, C2, (C3) Pluriel, C-Crosser, Jumper and Nemo are current Citroën models and C-Cactus and C-Métisse are recent Citroën prototypes and show cars. The 2CV Dagonet was an aerodynamically optimised 2CVs by Jean Dagonet in the 50s. The Tryane is an aerodynamic and fuel efficient, three wheeled car by Friend Wood based on the 2CV and with a body of wood. And Colani once dressed a 2CV so that it broke several efficiency world records. The Namco Pony was a 2CV based light utility truck (similar to the Méhari, but with steel body) built in Greece under license in many variants. And Loadrunner is the name of some CX six-wheeler conversions.
    Some links about the naming items: Hope you had fun. I had. ;-)

    Now playing: Willi Astor — Gwand Anham Ära

    MJ Ray: Report on Shape the future of social enterprise in the South West 4 Sep 2008

    I went to this event a few weeks ago. The immediate outcome is the call for expressions of interest in RISE-SW’s projects. The deadline is next Monday (29th September) at 12 noon, so get emailing if you’re interested in them. After that, shortlisted EoIs will get two weeks to write a full bid. I’ve asked for a non-Microsoft copy to be posted. Microsoft is a social problem, not a social enterprise. The consultation event was a pretty straightforward introduction and discussion in small groups, followed by feedback to the whole group, with lunch to finish. The host was Gareth Hart of Perfect Moment (yet another non-SE hired by RISE instead of SE providers?). First, the introduction covered the CapacityBuilders Social Enterprise Programme, the context of the programme and RISE’s suggested themes for support: accessibility of SE support, better opportunity for the Voluntary and Community Sectors to be more enterprising, improving SE quality standards and organisations, making SE infrastructure sustainable, and developing more peer-to-peer SE support and mentoring. In the discussion that followed, I think the standards and sustainability themes were largely kicked into touch as unachievable with the available budget, while we felt peer-to-peer support was better as part of the more general accessibility and opportunities themes. My personal pet points were that if the Social Enterprise Mark is funded, it should benefit small SEs rather than RISE, and that if another database or directory is funded, it should be Open in licence and maintenance, like ODP and unlike previous directories which have wasted government money. I’ll be interested to see how that’s reflected in the Call for Expressions when I get to reading it this week.

    21 September 2008

    Wouter Verhelst: SSL "telnet"

    A common way to debug a network server is to use 'telnet' or 'nc' to connect to the server and issue some commands in the protocol to verify whether everything is working correctly. That obviously only works for ASCII protocols (as opposed to binary protocols), and it obviously also only works if you're not using any encryption. But that doesn't mean you can't test an encrypted protocol in a similar way, thanks to openssl's s_client:
    wouter@country:~$ openssl s_client -host samba.grep.be -port 443
    CONNECTED(00000003)
    depth=0 /C=BE/ST=Antwerp/L=Mechelen/O=NixSys BVBA/CN=svn.grep.be/emailAddress=wouter@grep.be
    verify error:num=18:self signed certificate
    verify return:1
    depth=0 /C=BE/ST=Antwerp/L=Mechelen/O=NixSys BVBA/CN=svn.grep.be/emailAddress=wouter@grep.be
    verify return:1
    ---
    Certificate chain
     0 s:/C=BE/ST=Antwerp/L=Mechelen/O=NixSys BVBA/CN=svn.grep.be/emailAddress=wouter@grep.be
       i:/C=BE/ST=Antwerp/L=Mechelen/O=NixSys BVBA/CN=svn.grep.be/emailAddress=wouter@grep.be
    ---
    Server certificate
    -----BEGIN CERTIFICATE-----
    MIIDXDCCAsWgAwIBAgIJAITRhiXp+37JMA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNV
    BAYTAkJFMRAwDgYDVQQIEwdBbnR3ZXJwMREwDwYDVQQHEwhNZWNoZWxlbjEUMBIG
    A1UEChMLTml4U3lzIEJWQkExFDASBgNVBAMTC3N2bi5ncmVwLmJlMR0wGwYJKoZI
    hvcNAQkBFg53b3V0ZXJAZ3JlcC5iZTAeFw0wNTA1MjEwOTMwMDFaFw0xNTA1MTkw
    OTMwMDFaMH0xCzAJBgNVBAYTAkJFMRAwDgYDVQQIEwdBbnR3ZXJwMREwDwYDVQQH
    EwhNZWNoZWxlbjEUMBIGA1UEChMLTml4U3lzIEJWQkExFDASBgNVBAMTC3N2bi5n
    cmVwLmJlMR0wGwYJKoZIhvcNAQkBFg53b3V0ZXJAZ3JlcC5iZTCBnzANBgkqhkiG
    9w0BAQEFAAOBjQAwgYkCgYEAsGTECq0VXyw09Zcg/OBijP1LALMh9InyU0Ebe2HH
    NEQ605mfyjAENG8rKxrjOQyZzD25K5Oh56/F+clMNtKAfs6OuA2NygD1/y4w7Gcq
    1kXhsM1MOIOBdtXAFi9s9i5ZATAgmDRIzuKZ6c2YJxJfyVbU+Pthr6L1SFftEdfb
    L7MCAwEAAaOB4zCB4DAdBgNVHQ4EFgQUtUK7aapBDaCoSFRWTf1wRauCmdowgbAG
    A1UdIwSBqDCBpYAUtUK7aapBDaCoSFRWTf1wRauCmdqhgYGkfzB9MQswCQYDVQQG
    EwJCRTEQMA4GA1UECBMHQW50d2VycDERMA8GA1UEBxMITWVjaGVsZW4xFDASBgNV
    BAoTC05peFN5cyBCVkJBMRQwEgYDVQQDEwtzdm4uZ3JlcC5iZTEdMBsGCSqGSIb3
    DQEJARYOd291dGVyQGdyZXAuYmWCCQCE0YYl6ft+yTAMBgNVHRMEBTADAQH/MA0G
    CSqGSIb3DQEBBQUAA4GBADGkLc+CWWbfpBpY2+Pmknsz01CK8P5qCX3XBt4OtZLZ
    NYKdrqleYq7r7H8PHJbTTiGOv9L56B84QPGwAzGxw/GzblrqR67iIo8e5reGbvXl
    s1TFqKyvoXy9LJoGecMwjznAEulw9cYcFz+VuV5xnYPyJMLWk4Bo9WCVKGuAqVdw
    -----END CERTIFICATE-----
    subject=/C=BE/ST=Antwerp/L=Mechelen/O=NixSys BVBA/CN=svn.grep.be/emailAddress=wouter@grep.be
    issuer=/C=BE/ST=Antwerp/L=Mechelen/O=NixSys BVBA/CN=svn.grep.be/emailAddress=wouter@grep.be
    ---
    No client certificate CA names sent
    ---
    SSL handshake has read 1428 bytes and written 316 bytes
    ---
    New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
    Server public key is 1024 bit
    Compression: NONE
    Expansion: NONE
    SSL-Session:
        Protocol  : TLSv1
        Cipher    : DHE-RSA-AES256-SHA
        Session-ID: 65E69139622D06B9D284AEDFBFC1969FE14E826FAD01FB45E51F1020B4CEA42C
        Session-ID-ctx: 
        Master-Key: 606553D558AF15491FEF6FD1A523E16D2E40A8A005A358DF9A756A21FC05DFAF2C9985ABE109DCD29DD5D77BE6BC5C4F
        Key-Arg   : None
        Start Time: 1222001082
        Timeout   : 300 (sec)
        Verify return code: 18 (self signed certificate)
    ---
    HEAD / HTTP/1.1
    Host: svn.grep.be
    User-Agent: openssl s_client
    Connection: close
    HTTP/1.1 404 Not Found
    Date: Sun, 21 Sep 2008 12:44:55 GMT
    Server: Apache/2.2.3 (Debian) mod_auth_kerb/5.3 DAV/2 SVN/1.4.2 PHP/5.2.0-8+etch11 mod_ssl/2.2.3 OpenSSL/0.9.8c
    Connection: close
    Content-Type: text/html; charset=iso-8859-1
    closed
    wouter@country:~$ 
    
    As you can see, we connect to an HTTPS server, get to see what the server's certificate looks like, issue some commands, and the server responds properly. It also works for (some) protocols who work in a STARTTLS kind of way:
    wouter@country:~$ openssl s_client -host samba.grep.be -port 587 -starttls smtp
    CONNECTED(00000003)
    depth=0 /C=BE/ST=Antwerp/L=Mechelen/O=NixSys BVBA/CN=samba.grep.be
    verify error:num=18:self signed certificate
    verify return:1
    depth=0 /C=BE/ST=Antwerp/L=Mechelen/O=NixSys BVBA/CN=samba.grep.be
    verify return:1
    ---
    Certificate chain
     0 s:/C=BE/ST=Antwerp/L=Mechelen/O=NixSys BVBA/CN=samba.grep.be
       i:/C=BE/ST=Antwerp/L=Mechelen/O=NixSys BVBA/CN=samba.grep.be
    ---
    Server certificate
    -----BEGIN CERTIFICATE-----
    MIIDBDCCAm2gAwIBAgIJAK53w+1YhWocMA0GCSqGSIb3DQEBBQUAMGAxCzAJBgNV
    BAYTAkJFMRAwDgYDVQQIEwdBbnR3ZXJwMREwDwYDVQQHEwhNZWNoZWxlbjEUMBIG
    A1UEChMLTml4U3lzIEJWQkExFjAUBgNVBAMTDXNhbWJhLmdyZXAuYmUwHhcNMDgw
    OTIwMTYyMjI3WhcNMDkwOTIwMTYyMjI3WjBgMQswCQYDVQQGEwJCRTEQMA4GA1UE
    CBMHQW50d2VycDERMA8GA1UEBxMITWVjaGVsZW4xFDASBgNVBAoTC05peFN5cyBC
    VkJBMRYwFAYDVQQDEw1zYW1iYS5ncmVwLmJlMIGfMA0GCSqGSIb3DQEBAQUAA4GN
    ADCBiQKBgQCee+Ibci3atTgoJqUU7cK13oD/E1IV2lKcvdviJBtr4rd1aRWfxcvD
    PS00jRXGJ9AAM+EO2iuZv0Z5NFQkcF3Yia0yj6hvjQvlev1OWxaWuvWhRRLV/013
    JL8cIrKYrlHqgHow60cgUt7kfSxq9kjkMTWLsGdqlE+Q7eelMN94tQIDAQABo4HF
    MIHCMB0GA1UdDgQWBBT9N54b/zoiUNl2GnWYbDf6YeixgTCBkgYDVR0jBIGKMIGH
    gBT9N54b/zoiUNl2GnWYbDf6YeixgaFkpGIwYDELMAkGA1UEBhMCQkUxEDAOBgNV
    BAgTB0FudHdlcnAxETAPBgNVBAcTCE1lY2hlbGVuMRQwEgYDVQQKEwtOaXhTeXMg
    QlZCQTEWMBQGA1UEAxMNc2FtYmEuZ3JlcC5iZYIJAK53w+1YhWocMAwGA1UdEwQF
    MAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAAnMdbAgLRJ3xWOBlqNjLDzGWAEzOJUHo
    5R9ljMFPwt1WdjRy7L96ETdc0AquQsW31AJsDJDf+Ls4zka+++DrVWk4kCOC0FOO
    40ar0WUfdOtuusdIFLDfHJgbzp0mBu125VBZ651Db99IX+0BuJLdtb8fz2LOOe8b
    eN7obSZTguM=
    -----END CERTIFICATE-----
    subject=/C=BE/ST=Antwerp/L=Mechelen/O=NixSys BVBA/CN=samba.grep.be
    issuer=/C=BE/ST=Antwerp/L=Mechelen/O=NixSys BVBA/CN=samba.grep.be
    ---
    No client certificate CA names sent
    ---
    SSL handshake has read 1707 bytes and written 351 bytes
    ---
    New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
    Server public key is 1024 bit
    Compression: NONE
    Expansion: NONE
    SSL-Session:
        Protocol  : TLSv1
        Cipher    : DHE-RSA-AES256-SHA
        Session-ID: 6D28368494A3879054143C7C6B926C9BDCDBA20F1E099BF4BA7E76FCF357FD55
        Session-ID-ctx: 
        Master-Key: B246EA50357EAA6C335B50B67AE8CE41635EBCA6EFF7EFCE082225C4EFF5CFBB2E50C07D8320E0EFCBFABDCDF8A9A851
        Key-Arg   : None
        Start Time: 1222000892
        Timeout   : 300 (sec)
        Verify return code: 18 (self signed certificate)
    ---
    250 HELP
    quit
    221 samba.grep.be closing connection
    closed
    wouter@country:~$ 
    
    OpenSSL here connects to the server, issues a proper EHLO command, does STARTTLS, and then gives me the same data as it did for the HTTPS connection. Isn't that nice.

    Simon Richter: I need to change my morning routine

    Reading other people's blogs right after getting up leads to public embarrassment. :-P
    1. Take a picture of yourself right now.
    2. Don t change your clothes, don t fix your hair just take a picture.
    3. Post that picture with NO editing.
    4. Post these instructions with your picture.

    20 September 2008

    MJ Ray: Lots of Days: Software Freedom, British Food and World Peace

    Today is Software Freedom Day. It is also the start of British Food Fortnight. (Tip to total coverage cooperative.) There is an open day 11-3 at Thatchers Cider, near here in Sandford. (To get there from Worle by bike, leave through St Georges to Bourton, then Hewish, Puxton, Nye, over the Strawberry Line and you’ll arrive on Nye Road in Sandford - turn right for the cider. I’m not sure of the best way from Locking direction…) Tomorrow is the second equinox and International Day of Peace. (Tip to New Internationalist cooperative.) What are you doing this weekend?

    18 September 2008

    MJ Ray: Spam Revenge: Stopping Joe-job Floods in qmail

    Myself and a colleague were both getting Joe-jobbed yesterday. I had an easy time telling Exim to reject mine at SMTP time, but the colleague receives mail on our only Plesk server, so it’s using qmail. I’ve noticed before that qmail admin tools are primitive and incomplete, so I looked for the appropriate rocks to bang together to put this fire out. (I think I just sprained a metaphor.) My best attempt so far is to edit the user’s .qmail file to start with a pipe to a command that exit 100s if it detects an error for an email which the user obviously didn’t send (wrong email client or whatever). qmail understands code 100 as a hard error, so I think that should generate an SMTP error, but I didn’t figure out from the logs whether it was SMTP-time or later and my testing was inconclusive. I suspect Plesk will remove my pipe when the user next edits their email account, too. How do qmail/Plesk users not drown in spam? In related news, I’ve started getting “Challenge Response” emails from users of Merak Mail Server Software for emails I never sent. I’m answering the challenges so that challenge-response users get spam if their server spams me. Challenge-response is evil - I don’t want spam from your mailserver just because you accepted spam that said it was from me. If you are using Merak Mail Server Software, change away now! One of my current anti-spam tactics is to read my email in batches (which Suw suggests is a good idea) and group messages which look “similar”. Very similar messages appear for very few reasons: people resending messages, mailing list threads, stuff from spam-nets and a few others. Apart from spam-nets, most of the others match one of a few keywords. My current method of doing this is part-automatic and part-human. Are there automated anti-spam tools which exploit this local similarity? I think DCC used to include this idea, but then there were software patents and hoo-ha and I stopped paying so much attention. Finally, a small discussion has broken out in the comments of Is Yahoo Now Even Worse On Spam? about whitelisting and business-critical uses of free webmails.

    Next.

    Previous.