Search Results: "evo"

16 March 2009

Michal Čihař: Expert Python Programming

The book Expert Python Programming comes with subtitle Best practices for designing, coding, and distributing your Python software. Well this seems to be quite broad area to be covered by a single book, but the book really tries to cover all topics at least in some form of overview and pointing user to other documentation sources. Expert Python Programming In first chapter you can find information about installing Python on various platforms. As the book seems to be targeted to more experienced users, this chapter seems to be a bit useless, but author decided to give a chance also to users, who do not know the basics. Next chapters describe best practices for writing Python code, which was the most interesting part for me. I use Python several years, but I never really found time time to properly look at using decorators, generators and other "recently" introduced language features. Second chapter nicely covers these and I really appreciated that I got idea for what decorators can be used. Third chapter into class level and describes how to use metaclasses, attributes, constructors and other things you can face on class level. Fourth moves the topic to even more abstract way and in short summarises PEP 8 best coding practices. Here we leave solid ground of writing code and we move to more abstract areas of managing projects, testing, documenting and distributing software. It begins with description of distutils and setuptools in chapters five and six, where you will find basic information about distributing your software. Seventh chapter covers zc.buildout, which can help you with setting up and deploying applications in way Zope and Plone do. Next chapter is not really related to Python, it just describes advantages of version control. The most Python related part is using Mercurial VCS, which is written in Python, but you can of course use it for managing any project. Next tree chapters are devoted to project development in general, describing management of the project, generating documentation for project using Sphinx (what actually made me into starting documentation for python-gammu in it) and test-driven development practices. Now comes again two more interesting chapters describing optimization of Python code, giving the best advice not to optimize unless you are sure it is needed ;-). But it also goes more deeper and describes benchmarking procedures, how to debug memory usage and some basic tips for general things which might improve performance. Last chapter is some kind of extra in the book and to me it looks it was added just to use buzzwords design patters, but well it is there and it covers few design patterns which might be useful in Python like singleton or more advanced version of it called borg. In general this book covers quite wide range of topics, what can be seen as biggest advantage and disadvantage. You will get basic overview of creating Python project using modern methods (test driven development, design patters, best practices for Python code), but you can not expect it will go into much deep details. The book can extend your knowledge of development in Python, but you should carefully check examples with errata, because otherwise several of them will fail. I'm not that good at spotting problems in written English (as you can probably see in this post), but I spotted several errors in code and I think more careful editor work on the book would improve my feelings a bit. Also I personally would prefer much deeper look into some topics and skipping the others, but one book can not fit all ;-).

12 March 2009

David Welton: Linux "Just Working"

I have used Linux since 1996, and was pretty used to having to fiddle with files in /etc and command line utilities to get stuff working, so I'm always very satisfied when I see the progress Linux has been making in becoming more user friendly. Two recent things jumped out at me: * I plugged in my phone, via USB, and was able to connect to the internet, just like that. It recognized everything! I was getting all ready to start googling instructions for how to do it, and voila , it worked with no intervention on my part. * I had to print some stuff out in the hopes that we get a DSL line soonish (hah... right). My wife's parents' (Windows) computer was unable to print it... some problem with the fonts and lots of gibberish printed out. I disconnected their computer, plugged it into mine, and printed everything out just fine. The computer recognized the printer just fine, and even picked up on the messages the printer was sending about being low on ink. All in all, nothing revolutionary, but one step at a time, Linux continues to impress me with how much it has grown since those early days when I first installed it and fell in love with it. Also: we've managed to move into our new house here in Padova. It's nice to be back!

22 February 2009

Rudy Godoy: software development practices for personal development

Often I happen to come with some pretty crazy ideas about anything in life. That s me. Some of them may work, that s why I adventure to share them with the world. Working with computers, software in particular, for almost 12 years have brought interesting views regarding life. For the past 3 years I ve progressively improved the human being am I, and also the improvement process. The other day I was heading to the uni and I ve just noted that some practices of my profession can also be applied to my personal improvement. So, here I m sharing some of them. Hope you find them useful.
  1. Spot your bugs and kill em. While it s important to want to improve yourself. It s more relevant to the fact of real improvement that you spot your personal bugs . This is a crucial part of it all. Once you are aware of you personal bugs you ll be able to take action on them. So, when you do, just kill them and don t let stink until you are not able to manage it at all and all your code taints and breaks.
  2. Let process run on the background. Life has a limitation, which is time. Time is a scarce resource. You must be aware of it, really. While we might want to do many different things life presents to us, is not really responsible to engage on all. However, we can hack this. Here technology is our ally. There are many different ways to be able to do some things in the background while on the foreground you focus on what really matters to you at the time.
  3. Outsource services that are not key for you. Delegation and distributed architecture come to mind. Professions and specialization are an evolution of humanity. Please take advantage of it. You don t need to know or do everything. Karen Sthepenson s connectivism axiom is illustrative: I store my knowledge in my friends .
  4. Focus on what matters. This is somehow like the unix tradition of doing one thing and doing it well. Identify what makes you unique, special and relevant on your ecosystem. What value you can offer to others, and work on that direction. Hard work pays.
  5. Release early and release often. Once you have spot bugs and managed to fix them, release a new version of yourself!. Tell the world by showing an improved version of yourself. Make this incremental and iterative, just like a software development framework. For instance I currently run a 3.1 version of myself. Just released a point version last week :)

20 February 2009

Wouter Verhelst: On Linux viruses

Some guy from New Zealand blogged about a vulnerability in .desktop files as used by Gnome and KDE, and claims you can write a virus with them for Linux. He actually meant a Trojan rather than a virus, but still. I'm not saying the vulnerability does not exist. It does, and the trojan he describes should work in theory. However, in practice, I believe that the real reason why there aren't any Linux viruses is not the fact that Linux is somehow 'safer', but really the fact that Linux isn't a monoculture like Windows is. If you want to write a Windows virus, you have to deal with, at most, four to five different versions of windows that are currently still in active use with most users. Target that, and your virus will live like there's no tomorrow. If you want to write a Linux virus, the range of target system is much, much larger. In his very blog entry that describes the vulnerability, 'foobar' describes already two special cases he has to consider: the fact that KDE and Gnome write .desktop entries that get executed on startup to different locations, and the fact that, while most distributions ship either curl or wget, none of them has standardized on either of those, requiring the virus writer to account for that, too. While his blog entry stops at that, there's way, way more he has to deal with. If our supposed trojan writer wants his trojan to proliferate, he will have to deal with distributions that come with or without SE Linux; distributions that ship with a /tmp mounted noexec; distributions that ship with python 2.3, 2.4, 2.5, or 3.0; users who use Thunderbird, Evolution, Kmail, mutt, pine, or another mail client; and possibly much, much more (this only describes what's required as described in the referenced blog post). All these differences would make writing some malware that would exploit the described vulnerability tedious, at best, and rather impractical in most cases. Again, I'm not saying the vulnerability does not exist; it does. But I think this lack of monoculture under Linux, not the (perceived) strength of the platform, is what helps users defend against malware on Linux.

14 February 2009

Biella Coleman: Joe Reagle on Wikipedia

In this age of bits and bytes, there are many virtual organizations and networks which produce all sorts of stuff we use on a daily basis. My two favorite institutions are Debian (not a surprise) and Wikipedia, not just because they oh-so-useful to me and many others, which they are, but because the social organizations behind these two entities are so (at times maddeningly) complex and full of nuance, they provide for endless analytical fascination. One of my friends, Joe Reagle, who has recently graduated from my home department, is presenting is work on Wikipedia and I thought some local New York geeks might be interested. Information below:
All welcome 4:30 - 6:00 PM, Tuesday February 17
206 Vanderbilt Hall, 40 Wash. Sq. So. Wikipedia: Nazis and Norms Joseph Reagle, NYU Department of Media, Culture, and Communication Abstract: In 1990 Mike Godwin coined his Law of Nazi Analogies to capture the common devolution of Usenet discourse into insulting comparisons with Nazis or Hitler. Eleven years later, Jimmy Wales wrote that it was important that the Wikipedia community preserve and extend our culture of co-operation, with all of us standing as firmly as possible against the culture of conflict embodied in Usenet. I argue Wikipedia is a realization even if flawed of a long-held vision for a universal encyclopedia: a technology inspired vision seeking to wed increased access to information with greater human accord. And I claim Wikipedia s collaborative culture is a big factor for this success: the norms of Neutral Point of View ensures that the scattered pieces of what we think we know can be joined and good faith facilitates the actual practice of fitting them together.

Biella Coleman: Joe Reagle on Wikipedia

In this age of bits and bytes, there are many virtual organizations and networks which produce all sorts of stuff we use on a daily basis. My two favorite institutions are Debian (not a surprise) and Wikipedia, not just because they oh-so-useful to me and many others, which they are, but because the social organizations behind these two entities are so (at times maddeningly) complex and full of nuance, they provide for endless analytical fascination. One of my friends, Joe Reagle, who has recently graduated from my home department, is presenting is work on Wikipedia and I thought some local New York geeks might be interested. Information below:
All welcome 4:30 - 6:00 PM, Tuesday February 17
206 Vanderbilt Hall, 40 Wash. Sq. So. Wikipedia: Nazis and Norms Joseph Reagle, NYU Department of Media, Culture, and Communication Abstract: In 1990 Mike Godwin coined his Law of Nazi Analogies to capture the common devolution of Usenet discourse into insulting comparisons with Nazis or Hitler. Eleven years later, Jimmy Wales wrote that it was important that the Wikipedia community preserve and extend our culture of co-operation, with all of us standing as firmly as possible against the culture of conflict embodied in Usenet. I argue Wikipedia is a realization even if flawed of a long-held vision for a universal encyclopedia: a technology inspired vision seeking to wed increased access to information with greater human accord. And I claim Wikipedia s collaborative culture is a big factor for this success: the norms of Neutral Point of View ensures that the scattered pieces of what we think we know can be joined and good faith facilitates the actual practice of fitting them together.

Russell Coker: Do Spammers target Secondary MX Servers

Rumour has it that some types of spammer target the secondary MX servers. The concept is that some people have less control over the secondary MX server and less ability to implement anti-spam measures. Therefore if they accept all mail from the secoondary then a spammer will have more success if they attack the secondary server. True secondary servers are becoming increasingly uncommon, the lower priority servers listed in MX records tend to have the same configuration as the primary, so the benefit for the spammer in attacking the secondary server is probably minimal. But it would be good to know whether they do this. I decided to analyse the logs from a mail server that I run to see if I can find evidence of this. I chose a server that I run for a lient which has thousands of accounts and tens of thousands of messages delivered per day, my own server doesn t get enugh traffic to give good results. I analysed the logs for a week for the primary and secondary MX servers to see if the ratio of spam to ham differed. Now this does have some inherent inaccuracy, some spam will slip past the filters and occasionally a legitimate email will be rejected. But I believe that the accuracy required in a spam filter to avoid making the users scream is vastly greater than that which is required to give a noteworthy result. I produced totals of the number of messages delivered, the number rejected by SpamAssassin (which has a number of proprietary additions), the number of message delivery attempts that were prevented due to rate limiting (most of which will be due to spammers), and the number of attempts to deliver to unknown accounts (some of which will be due to spammers having bad addresses in their lists). For each of these rejection criteria I produced a ratio of the number of rejections to the number of delivered messages for each of the servers. The rate limit count didn t seem useful. While the primary server had a ratio of 0.75 messages rejected due to rate limiting to every message accepted the secondary had a ratio of 0.08. It seems that the secondary just didn t get enough traffic to trigger the limits very often. This is an indication that the more aggressive bots might not be targetting the secondary. The ratio of messages rejected by SpamAssassin to legitimate mail was 0.76:1 on the primary server and on the secondary server it was 1.24:1. The ratio of messages addressed to unknown users to successful deliveries was 3.05:1 on the primary and 7.00:1 on the secondary! This seems like strong evidence to show that some spammers are deliberately targetting the secondary server. In this case both the primary and secondary servers are in server rooms hosted by the same major ISP in the same region. The traceroute between the two mail servers is only 7 hops, and there is only one hop between the two server rooms. So it seems unlikely that there would be some connectivity issue that prevents spammers from connecting to the primary. One other factor that may be relevant is that the secondary server has been in service for some years while the primary is only a few months old. Spammers who store the server IP address with the email address (which happens - change the DNS records to send your mail to a different server and you will see some spam go to the old server) will be sending mail to what is now the secondary server. The difference in the rejected mail volume on the secondary server and the amount that would be rejected if it had the same ratio as the primary amounts to 7% of all mail rejected by SpamAssassin and 14% of all mail addressed to unknown users. I think it s unlikely that any significant fraction of that would be due to spammers caching the server IP address for months after the DNS records were changed. So therefore it seems most likely that something between 7% and 14% of spam is specifically targetted at the secondary server. While the ratio of spam to ham seems significantly worse on the secondary it is still a relatively small portion of the overall spam sent to the service. I had been considering setting up secondary mail servers with extra-strict anti-spam measures but the small portion of the overall spam that is targetted in such a way indicates to me that it is not going to be worth the effort. Another thing that has occurred to me (which I have not yet had time to investigate) is the possibility that some spammers will send the same messages to all MX servers. If that happens then the ratio of spam to ham would increase every time the number of MX servers is increased. In that case it would make sense to minimise the number of MX servers to reduce the amount of CPU power devoted to runing SpamAssassin. Note that I have intentionally not given any numbers for the amount of mail received by the service as it is a commercial secret. Update: One thing I realised after publishing this post is that the secondary MX server is also the main server for mail sent between local users. While the number of users who send mail to other users on the service is probably a small portion of the overall traffic (it s not a really big ISP) it will make a difference to the ratios. Therefore the ratio of spam to ham would be even worse on the secondary MX (assuming for the sake of discussion that local users aren t spamming each other).

Christian Perrier: [life] PG in America Latina

37 years since I first heard Peter Gabriel's voice (Genesis' Nursey Crime, one of the first LP I ever bought) and about 34 since I first saw him on stage in what turned out to be Genesis' last show in France (St-Etienne, my home city, may 1975). Since then, I tried to keep up with PG's appearances here and there and he has always been my favourite artist. So, if any of this blog's readers happen to be in Latin America and enjoy PG's music, just try to go there:

11 February 2009

Jon Dowland: firehose

I use Google Reader to manage most of the sites that I regularly read. Today it occurred to me that it would be very useful to have some functionality whereby feeds in a common folder could be read in one aggregated display, a bit like how planetplanet works. I then learned that Google Reader does exactly that already: It's fairly obvious to use in the normal reader, a little bit more subtle in the mobile version (you must click the folder once to load it up in a new page, then click it again to see the aggregated contents). That prompted me to try and tidy up my subscriptions and sort them in a way that took advantage of this feature. Deciding that the Google Reader interface was too primitive to properly organise all of my subscriptions (there are about 100 or so of them), I exported my subscriptions as OPML and imported them into liferea. I then dutifully pruned the list and sorted the remainder into a heirarchy of folders. In most cases I categorised things according to their topic: e.g., "computing", "friends", etc.; with two important exceptions: feeds that I track for debugging purposes but don't actually read (such as my own weblog) I put in a folder "don't read". Feeds that I have decided I need to read every post to (and there are very few of those) I moved into a top-level folder called "essential". I note that liferea 1.4.18 at least does not support the planet-style aggregation feature for folders that Google Reader does. On re-importing to Google Reader, I discovered another facet of it's behaviour that I'd neglected to pay attention to: it does not support heirarchical folders. (How could I use this software for so long and not really understand how it works?) In fact, folders are more like tags, with feeds existing in multiple folders. To make matters even more confusing, there is an entirely separate notion of tags, which applies to items inside subscriptions. Regarding the concept of an "essential" list. If you cut down your firehose consumption to just feeds which met the "essential" criteria, would you find yourself short on information, or just short on noise? Sometimes I read a book that for one reason or another (perhaps just one: excellent writing?) I cannot put down. I utterly devour the book and finish it much more quickly than average. Wouldn't it be nice if other information could be consumed so vociforously? When trying to read things such as academic papers or bid proposals, someone unused to them may find them very hard going. Someone with more practise might managed to "read" such a document much more quickly. Perhaps there is a point to all the firehose noise: maybe we need long immersion in the culture or context to train ourselves up so we can optimally consume the good stuff?

4 February 2009

Neil Williams: Active LUGs

Theodore wonders about LUG activity - well, I have been very active over the years in the Devon and Cornwall GNU/Linux User Group but the problem is that Debian (and more specifically Emdebian) is taking up the time that I used to put into the LUG. The LUG itself has remained very active, although geography means that meetings are actually difficult. The LUG continues to attract new members, existing members continue to contribute and learn new stuff themselves and a number of the long-standing members have joined free software organisations in their own right - including Debian. If there is going to be another DD in Devon or Cornwall besides myself, I'm pretty sure that the person will have been part of the DCGLUG before considering joining Debian.

I'm still webmaster for my local LUG, I get to some meetings although some do conflict with existing Emdebian meetings.

What do I get out of it? Local friendships and exposure to GNU/Linux issues outside Debian.

Debian can be a very insular world - we care about Debian, we talk about Debian, we get together as Debian but sometimes we lack comparative input. We don't really know how we compare with other operating systems and other distributions at a user level. Debian Developers, in particular, can easily lose touch with ordinary users of other systems. Debian, for me, is also a distant world geographically. I live a long way from other DD's in the UK who gravitate towards Cambridge, 300 miles away. It's just nice to have people within 10-50 miles, people I can contact about hardware issues and who have just the part I need because they kept it "just in case".

I still contribute on the LUG mailing list, although my contributions are generally related to licences, avoiding non-free rubbish and issues around embedded devices. I'm not as active as I'd like to be or as I have been in the past but I still want to be part of the LUG.

3 February 2009

Gregory Colpart: Delete facsimileTelephoneNumber attribute

ldapvi is so wonderful. No Java/Python/PHP for browsing LDAP trees and the power of vi for LDAP administration. Nevertheless, today I had difficulty for deleting a facsimileTelephoneNumber attribute:
$ ldapvi
Action? [yYqQvVebB*rsf+?] y
ldap_modify: Inappropriate matching (18)
additional info: modify/delete: facsimileTelephoneNumber: no equality matching rule
Here is the LDIF change tried by ldapvi:
dn: uid=foo,ou=people,dc=evolix,dc=net
changetype: modify
delete: facsimileTelephoneNumber
facsimileTelephoneNumber: 0000
After a little search on the web, I find the reason on openldap-bugs list archives:
Since the schema definition of facsimileTelephoneNumber has no matching rule
defined, the only modifications you can make are Replace or Delete w/ no
values.
facsimileTelephone attribute actually doesn t have SYNTAX definition. See in core.ldif file:
Number olcAttributeTypes: ( 2.5.4.23 NAME ( 'facsimileTelephoneNumber' 'fax' )
  DESC 'RFC2256: Facsimile (Fax) Telephone Number'
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.22 )
By default, ldapvi tries to delete a specific value (even if there is only one value) for an attribute. But according documentation, it s impossible to delete only one of values for facsimileTelephoneNumber attribute! Note: for deleting all values of facsimileTelephoneNumber attribute, the LDIF change must be:
dn: uid=foo,ou=people,dc=evolix,dc=net
changetype: modify
delete: facsimileTelephoneNumber

31 January 2009

Russell Coker: Predictions for 2009 and Beyond

Stewart has made some predictions for the future of computing [1]. He predicts that within 2 years the majority of consumer machines will be laptops and have SSD (not rotational media). I predict that by the end of next year more than half of all new consumer machines that are being sold will be laptops (defined as being portable machines with the display and keyboard forming part of a single unit), and that more than half of such machines will have SSD as the primary storage (IE used for booting and for most common file access). I predict that by the end of 2010 the majority of all computers shipped (in all form factors including games consoles and servers) will have SSD as their primary storage. I predict that in late 2010 rotational media will start to go away for most tasks, but for at least the next year the model will be SSD for small/light/fast operations and rotational media for large capacity. I m not disagreeing with Stewart, just being more precise. Also while Val made some good points about the reliability of SSD [2] I don t think that this will be an obstacle in the low-end of the market. There is no little evidence of computers failing in the consumer market due to being unreliable - it seems that Microsoft has conditioned people to expect unreliability. I predict that Sun will not release ZFS under the GPL in time for anyone to care. The release of OpenSolaris was way behind schedule and I don t expect anything different this time around. Stewart predicts that in five years Linux will have significantly more desktop market share than Apple. I agree and also predict that Apple will convert to the Linux kernel. I predict that Apple will become the first Linux distributor to make any significant hardware sales for the mainstream computer market (Linux bundled with hardware has already done well for mobile phones, routers, Tivo, and similar devices where the user doesn t know what OS is running). I predict the death of Windows mobile. I predict that in five years the mobile phone/PDA market will be dominated by Android with a variety of other Linux based phones. I predict that some time after five years the iPhone will go away. Chris Samuel has made some predictions too [3]. He predicts that within two years The distinction between laptops, netbooks and mobile phones will get even more blurred with consumers demanding mobiles with more power and lighter and lighter laptops/netbooks . I believe that the difference between laptops, netbooks, and mobile phones is primarily one of IO (size of keyboard, sockets for peripherals, and size of screen). For desktop use the only application I use which requires more RAM or CPU power than my EeePC 701 can provide is Firefox. A combination of more efficient javascript interpretation and better coding practices by web designers would solve that problem. A significant portion of the mass of a laptop is dedicated to suppporting IO ports and maintaining the structural integrity of the device. A common feature in science fiction is lapotops that can be rolled up, stretched to size, etc (the Thinkpad Butterfly keyboard was an attempt at a first step towards this which failed due to issues of mechanical strength). As some Netbook class systems already have 3G networking built in it seems a logical extension to have telephony functions built in to a laptop. I predict that laptops with full telephony support will go on sale in 2010. One promising feature in regard to laptop IO is the new Display Port [4] video port. It will only be an incremental improvement to the space taken for IO capacity, but I am not expecting anything revolutionary in the near future. I predict that HDMI will be a failure in the market and DVI will never gain critical market share, it will be VGA and Display Port on most systems by 2012. Predicting that technological developments won t happen is always risky, but I predict that the mechanical issues which separate the heavier laptops and desktop-replacements from netbooks (in terms of making a large display and keyboard that won t break frequently) won t be solved within five years. In the same note, I don t expect anyone to try building a mobile phone which can have a full-size screen and keyboard connected to it (although it would be possible to do so). So I expect that the phone/PDA, Netbook, and laptop distinction will remain for at least the next 5 years. One thing that would make sense is to have a small device (PDA or mobile phone) store data that is security relevant and connect it to full-size machines for serious work. So for example you could use a desktop machine for Internet banking (maybe in an Internet cafe) and have your mobile phone ask you to confirm the transaction and then authenticate you to the bank server. I predict a larger role for PDAs and mobile phones as computers as soon as people start to take security seriously. I won t try and guess when that might be, but I predict that it won t be for at least five years. I predict that increasing oil prices will significantly make a significant impact on the price of computers before the end of 2010. Not that I expect the prices to suddenly jump upwards, it s more likely that prices will steadily increase while at the same time new technology to reduce production expenses in other areas is introduced. I also predict that increasing oil prices will increase the desire to maintain systems for longer periods of time without maintenance. For example my Thinkpad T41p has had a few significant part replacements (a couple of motherboards, half the case, and a few keyboard replacements). This is OK while plastic costs almost nothing and the manufacturing expenses are also very low. But in future I expect that people will want laptops that can run for years without needing part replacments and which have a service life of 10 years or more. This requirement for strength will counteract the demand for laptops that are as light as netbooks.

28 January 2009

Russell Coker: Links January 2009

Jennifer 8 Lee gave an interesting TED talk about the spread and evolution of what is called Chinese food [1]. In that talk she compares McDonalds to Microsoft and Chinese restaurants to Linux. Her points comparing the different local variations of Chinese food to the variations of Linux make sense. The CentOS Plus repository has a kernel with support for the XFS filesystem, Postfix with MySQL support, and some other useful things [2]. Mary Gardiner comments about the recent loss of a blog server with all content [3]. One interesting point is that when you start using a service that maintains your data you should consider how to make personal backups in case the server goes away or you decide to stop being a customer. Val Henson makes some interesting points about the reliability of Solid State Disks (SSD) [4]. Some people are planning to replace RAID arrays of disks with a single SSD with the idea that a SSD will be more reliable, this seems like a bad idea. Also with the risk of corruption it seems that we have a greater need for filesystems that store block checksums. Lior Kaplan describes how to have multiple Linux bonding devices [5], the comment provides some interesting detail too. programmableweb.com has a set of links to sites that have APIs which can be used to create mashups [6]. One of the many things I would do if I had a lot more spare time is to play with some of the web APIs that are out there. Gunnar Wolf has written some insightful comments about the situation in Israel and Palestine [7]. He used to be a Zionist and spent some time living in Israel so he knows more about the topic than most commentators. Charles Stross has written an informative post about Ubuntu on the EeePC [8]. What is noteworthy about this is not that he s summarised the issues well, but that he is a well known science-fiction writer and he was responding to a SFWA member. One of his short stories is on my free short stories page [9]. He also wrote Accelerando which is one of the best sci-fi novels I ve read (and it s also free) [10]. Don Marti has written about Rent Seeking and proprietary software [11]. It s an interesting article, nothing really new for anyone who has followed the news about the coal and nuclear industries. Erik writes about The Setting Sun and points out that Scott McNealy had tried to capitalise on the SCO lawsuit but Red Hat has ended up beating them in the market [12].

Obey Arthur Liu: Debian Summer of Code 08 : Where are they now (part 2/3)

Here s for the second installment of my review of this past year s Summer of Code at Debian. See the previous part here: Debian Summer of Code 08 : Where are they now (part 1/3). I apologize for being so late at getting this second part out but I have been very busy. Still, I ll get the last part out before FOSDEM. Those of you who ever had to write a Java compiler (ok, Java subset, but the OOP part was here ) in brainfucking Ada will understand what I went through working on two of my most loathed languages. Debian NAS, improve support of Debian on NAS devices Presentation There is a large range of inexpensive Network storage devices available on the market. For some of them, such as Linksys NSLU-2 and Thecus N2100, we have added support, but there is many many more devices we could support. For this summer we look forward at supporting multiple Marvell Orion based devices (as outlined in Martin Michlmayr s talk Running Debian on Inexpensive Network Storage Devices), such as Revogear Kuro Box Pro, Buffalo Linkstation, QNAP TS-109+, If you don t have old computers lying around to turn into NAS servers, you need to sleep at night without the soothing sound of computer fans or if you actually pay your own electricity bill, you might want to have a look at standalone NAS devices. They re cheap and can be made vastly more capable by slapping a Debian on it. If you ever heard of DD-WRT, you know the spirit. The project was mentored by Riku Voipio, with help from Martin Michlmayr. The project proposal (sorry, Google cache) was introduced by Martin, who did a presentation about it the previous year at FOSDEM. Student Per Andersson was a 24 year old student working towards a MSc in computer science at Chalmers University of Technology in Sweden. He had been looking for ways to join Debian but with school still being priority one, he didn t find time to dive in. Result This project was successful. The Kurobox Pro is now supported and several useful tools were packaged to make life easier with these NAS devices. Martin Michlmayer is still working on Debian NAS related stuff. Per was happy to be invited to the Emdebian work session in Extremadura and has been active within debian, maintaining the packages he created during the Summer of Code. Cran2deb, generate Debian packages from R packages Presentation GNU R has become the preeminent platform for computing with data . The CRAN archives contain over 1300 source packages of very high-quality, and BioConductor has again almost as many focuses on bioinformatics. We want more of these in Debian, and going beyond the 50+ packages we currently have suggests more scripting and automation. R is a pretty big among statisticians and all of them they wasted no time writing their own package to work on particular research subject. It s a lot like Perl with CPAN or LaTeX with CTAN. It s always a pain to discovery that a particular R package is not wihtin Debian and having to resort to unmanaged installation of said packages. The project was mentored by Dirk Eddelbuetel. The project proposal (which is nowhere to be found but seemed to be good) was introduced by Dirk, along with another proposal he did for R. Student Charles Blundell is a research student at.. hum.. didn t do my homework about that. Anyway, you can find him around R related projects. Result This project was successful. Cran2deb is happilly turning more than 1400 of the ~1500 CRAN R packages, all with correct dependencies. The work has since been moved to R-Forge. It s working, we re almost there. We just need it to be polished and we ll get a whole bunch of new packages into Debian. Charles pinged me about the status of Cran2Deb after the previous post. He admits that he hasn t done much about cran2deb recently because of his new position as a research student but hopes to commit again to it soon. I do encourage him to get these R packages into Debian. I had to manually install some packages myself when I had to use R for school because they weren t into Debian and it s not pretty. Mergemaster, interactively merge changes in configuration files Presentation FreeBSD has a shellscript called mergemaster which is used to interactively merge changes in configuration files, based on 3-way diffs. Debian s approach to configuration file differences is much more primitive: either keep the original file, or blow it away (including all local changes) and use the Debian-provided file. It would be nice to get a system such as mergemaster into Debian. Important is to remember that Debian contains two often-used configuration file management systems: ucf, and conffiles; porting mergemaster in such a way that it will be used in both cases would be great. The handling of configuration files during upgrades has always been a little.. brutal, with the user being asked at gunpoint to make a good decision, lest the upgrade won t continue or configuration files get borked (ever tried automerging nagios configuration files?). Having a less stressful upgrade experience is a good thing since the point of Debian is to make package management a stressless thing. The project was mentored by, hum, Manoj Srivastava. I have no idea who came up at first with the proposal. UPDATE: Wouter Verhelst mailed to say that he made the original proposal. Student Max Wiehle was a physics student at the University of Heidelberg. He did a Summer of Code stint (Archive.org copy..) as a student for Beagle Project in 2006 which, I suppose, was successful. He s been active in the past with Gnome and desktop related projects. Result This project was somewhat successful. He posted an update one month into the program with repositories with code to test. Last commit to the mergecf branch of project was September 19th but it was never merged in. According to Steve McIntyre, it s dead, Jim. I couldn t find any further public involvement of Max within Debian. PAS NSS Debian Installer, improve support of PAM and NSS at install-time Presentation It would be very important for the Debian allowing the user to configure additional PAM and NSS modules (eg. LDAP, NIS) during the installation process inside the Debian Installer. To do this, we have to provide tools and helpers to modify /etc/nsswitch.conf and /etc/pam.d/common-*, as well as changing the maintainer scripts for the packages libpam-* and libnss-* to apply the required changes at install time using debconf and these helpers. To be honest, I will probably never use this. I don t do that many coordinated installs in the same place to warrant doing funny authentication with PAM and NSS, and if I did, I would probably use a more elaborate tool to personalize the install, like FAI. On the other hand, I can see the appeal of being done with authentication mechanisms before the first boot. The project was mentored by Fabio Tranchitella. The proposal came from the student. Student Juan Luis Belmonte was a computer science student. He worked in a couple of companies in the area of Sarragossa. He is now founding debug_mode=ON. Result This was quite a disappointement after seemingly good work. Although Juan was satisfied with the project, the PAM package maintainer (Steve Vorlon Langasek) was not. He was never asked about this project (but didn t intervene timely either when the accepted projects were announced though). In his words, it was the wrong solution to the problem . You can find his lenghty rationale on the wontfix bug report that resulted from the project. It really was a problem of communication with the Debian developpers since Juan could certainly have done the right work if pointed to it. Juan didn t ask thoroughly for existing work and Steve didn t publicize his (enough). That s all for now. The information is quite fragmented I admit. Most of it was pulled from Google, mailing lists, commit logs, blogs, whatever. If some projects are lacking in information here, it s because I couldn t find it readily (which is an issue in itself!). In my next post, I ll try to give a student point of view of the Summer of Code in general, and more specifically, at Debian. It will be post 2.5/3 since it s getting a little longer than I planned. Release early, release often, as the say.
If you re a student or a mentor mentioned above, feel free to fill any of the blanks in my report. It s much appreciated. You re not a student or mentor mentioned above and have an opinion on how to improve the next Debian Summer of Code ? Feel free to comment.

25 January 2009

Roland Mas: GForge is now FusionForge

Executive summary To avoid confusion with the proprietary versions of GForge (known as GForge Advanced Server, GForge Express Edition and GForge Community Edition), the free/libre/opensource codebase will from now on be separately maintained under the name FusionForge by the main developers of the free GForge 4.x codebase. Since this is mostly a renaming, the migration path for existing users will be smooth. Longer version, with details After the initial forking from the Sourceforge codebase, the development of GForge has long been hosted, and many enhancements directly developed, by the GForge Group (GForge, LLC), with regular contributions from outsiders. The results of these evolutions were public and free, subject to the GNU GPL. In parallel, the GForge Group wrote a proprietary re-implementation of GForge, which it sold under the name "GForge Advanced Server", or "GForge AS" for short. This re-implementation added some features for "the enterprise", but was not contributed wholesale to the GForge codebase under a free license. Although some of the features were contributed to the public, the GForge Group concentrated its efforts on its (proprietary software) business model, with more versions appearing, such as "GForge Express Edition" and more recently "GForge Community Edition". As a result, it became increasingly harder for the public to know which version was which without doing extensive research (indeed, some users mistakenly installed one version instead of the other). A consequence was that the free software codebase suffered from a loss in visibility, which lowered its momentum to the point that there haven't been any moderately important releases since the (currently stable) 4.5.x series was announced in late 2005. So, in order to clarify things, avoid further confusion, and regain some of the lost momentum, it was decided by a group of leading contributors that the free software version of the GForge codebase would from now on be developed under the FusionForge name, and its development would be hosted on FusionForge.org. So is this a fork? Well, we don't know yet. It could arguably be called one, since we're taking the code and running away with it under a new name. However, we believe it's not a fork unless both roads continue their own way (more of a oddly-shaped bend). What happens to the GForge codebase developed by the GForge Group at gforge.org remains to be seen, although for the sake of our users we will backport security fixes to the gforge.org Subversion repository (at least for the 4.5.x series and the unreleased 4.6 and 4.7 pre-series) for some time. The bulk of the development will move on to FusionForge and the repositories at FusionForge.org, though, and users are encouraged to migrate at their own pace. Since we're basically continuing the evolution rather than starting from scratch, the migration path should be rather smooth. So why the FusionForge name? Because there were actually lots of locally-patched versions of GForge (and Sourceforge), and we felt it was a waste of resources that should be fixed. It seems many people and organisations took these codebases at some point in time and evolved them for their own needs. Sadly, many of the changes were not contributed back or even published, so lots of efforts were duplicated. Fortunately, many of the people managing these locally-patched forges are now realising that "out-of-tree" patches and features require quite some manpower to maintain. Some formal inter-project discussion is already taking place, and we hope to achieve actual merging of most of the interesting features that have been developed here and there into a common base that can be reused locally with minimal changes. We'd like to "un-fork" as much as possible. We also expect that, by using standard components and tools, we'll facilitate the work of potential contributors, thereby reducing the risk of a new era of fragmentation. And who are we anyway? We're Christian Bayle, Roland Mas and Alain Peyrat, long-time contributors to GForge and responsible for over 95% of the commits over the past two years, as well as a few relative newcomers. Christian and Roland have been maintaining the Debian packaging since the "Debian-SF" era, and Alain has been focusing on code quality. The three of us have, for various reasons, a vested interest in maintaining a lively codebase in a healthy ecosystem. What are our plans? Our short-term goals, as currently planned, include: Longer term goals are less well defined, but we're thinking about the following: Some of these items should be facilitated by our switch to a distributed version control system and a new coordinated workflow. Also, the Debian i18n team has been kind enough to offer to host our translation effort on their Pootle server, which means translators will have a much easier time doing their job. We hope to hear from users and contributors alike in the near future. For more information, we can be reached via our fusionforge-general mailing-list (see our lists), which is also suitable for general discussions. We can also be found on IRC (#fusionforge on the Freenode network).

19 January 2009

Gunnar Wolf: About the recent events and possible outcomes in Israel and Palestine

Several friends, from different groups and backgrounds and with different points of view regarding the current war in Israel (and regarding the Arab-Israeli conflict in general) have asked me for an explanation on what is happening there, what is (my view of) the real conflict, its causes... and any possible answers. And yet I am quite far from being an authority, I do want to write something about it. Be prepared, as this post is quite long.
And yet, after writing frankly a lot more than what I expected... It is by far not enough. I have still much more to add, but I have to say "stop" at some point. So, here you have it: My points of view, as well as some explanation on why are we standing where we currently are.
I am writing this based just on my personal experiencie and, of course, my personal point of view. Furthermore, I wrote a good part of this text while riding a bus, with no network access, so I am offering very few references - In any case, it will allow me to make much more progress. References always take as much time as the text itself! About me Why am I writing this? Why do people ask for my opinion? I must start by explaining who I am, so the rest of this makes sense. I am a Mexican Jew. That means, I was born in a Jewish (albeit secular) family, and grew up in an environment with general Jewish culture. My direct family (say, my parents and brother, and to a lesser degree my closest cousins) are not at all religious, I'd even venture to say most of us are complete atheists. Yet, besides the cultural belonging (which is a mixture of a Eastern European culture with lots of Idish words and dishes and general humor), my family has a strong national identification - In other words, I grew up in a fully Zionist environment, which traces back to Poland.
My grandmother was member of Hashomer Hatzair in Poland, since the early years of its existence, late 1910s and early 1920s. What is it? To make it short, a Zionist Socialist, Kibbutzian youth movement. It has many similarities (and somewhat stems indirectly from) the Scouts many of you will be familiar with, but -obviously- has a way lengthier agenda. And, yes, nowadays I feel it is somewhat out of reach with the current state of the world - It was founded in 1913, and only slightly adjusted its principles since then.
I will talk more about Hashomer later on.
My grandmother arrived in the late 1920s to Mexico, for familiar and economic reasons, but still dreamt about living in Israel for a long time. As they grew up, first my uncle joined Hashomer in Mexico in the late 1940s, when it still pursued a very much Soviet-style ideals for Israel (one of the core points that changed during the 1950s); both my father and my mother joined in the late 1950s (in fact, that's where they met). My cousins and myself were very active in the 1980s and 1990s.
The Iszaevich family has something very unusual, I'd say, engraved in our genes. We live very deeply our ideologies. That's the only explanation I can find to the way we all have led our lives. I won't go into the other family members' details, but just into mine: I was fully convinced of all we taught to our younger members and what we discussed among ourselves. I am among the very few people who really learnt Hebrew at my school, and that was only because I really cared - I know some people that just after 12 years of pseudo-learning could maybe utter a few phrases.
After finishing high school I went with my Hashomer group, together with people my age from other similar-minded Mexican Zionist youth groups, to live and learn for a year in Israel, on what is usually known as shnat hajshar - A year to get ready. To get ready to what? But of course, to come and give back go the younger groups of the movement, and finally go back to Israel and settle there definitively. I came back to Mexico, and after one year I did the only thing that was logical: I became an Israeli and went to live to a kibutz - Zikim, a beautiful place just between Ashkelon and Gaza, very near the sea shore. It was a beautiful period in my life, and I really enjoyed it - But it didn't last for very long - I quickly grew to hate the Israeli society at large. A society full of rage, of hatred. Not just between Arabs and Israelis, as many would think from the outside, but between religious and seculars. And between immigrants and locals. And between leftists and rightists (in several dimensions, as it is one of the countries where you can most easily be a economic leftist while being a political rightist - a complex society it is). A society full of disrespect and intolerance. A very hypocritical society. And one of the things that most shocked me: I wanted to live in a society of proud of its existence, that's what I had learnt Israel was - But Israelis aspire and dream of being anything else (and mostly US-Americans) in a way that made me sick, more than anything I had previously seen in Mexico.
I loved the life at the Kibutz, and I loved being an agricultor, doing hard work every day and literally getting the fruit of it. However, I cannot live isolated to a 300-people universe - At least once a week you have to go to the city if you don't want to become insane. And I could not stand the sick Israeli society.
Anyway, to make things short: After six months as an Israeli, I came back to Mexico. I went through a long period of finding myself, as I could not uphold anymore my Hashomer ideology (if I am not going to live by it, how can I continue teaching it?). Many people do anyway, but for the first months, where my Hashomer work was basically all of my life, I felt really uncomfortable. So, in short, I severed all of my relations to the Jewish community, and even denied for a long time my Jewishness until I found a (I think) better balance.
Today I am at peace. But anyway, I wanted to talk about myself in the critical period that marked me in this regard: The 1990s. Enough, lets get down to business. Zionism 1870-1920 Many people argue that the Jews invaded the Palestinians homeland - And yes, nowadays I cannot counter this. But we cannot judge what happened then based on what we see now.
Modern Zionism started around the 1870s. The Jewish history is full of pogroms and persecution, in different countries all over Europe - And a group of young people decided the only solution was to build a place to call their own. And yes, this was full of idealism and in no small part the foolishness of youth. For several centuries and up to 1920, all of current Middle East were provinces of the Ottoman Empire. Before Zionism began, the population of today-Israel was very sparse, not more than 400,000 people - up to 5% of them Jewish, around 10% Christian Arabs, and the remainder, Muslim Arabs. Of course, the low population was mostly because the country was mostly hostile - A desert in the South, mostly swamps in the North, and some minor towns mostly in the hills. It was a mostly forgotten province, away from the central Turkish rule, and there had been no frictions with the local population. It was a nice place to go, thinking -again- as a fool youngster, or as an idealist. They said, lets take a folk without a land to a land without a folk.
The number of accomplishing Zionists (this is, people who actually went to Israel instead of just talking about doing so) was not high during the first decades. But towards the 1890s, it gained critical mass. The political Zionist movement was born, with Theodor Herzl as a leader, and they started pushing -politically- for different governments to concede a territory to Jews. They went to the Turks, and didn't really get much echo. Went to other colonial powers of the time, and got unfeasible promises with no real backing (i.e. Birobidjan in Eastern Russia, Uganda in Africa)... And, as it happens in strongly ideologized movements, the movement started splitting into different groups with slightly different positions.
And no, I am not talking about the People Front for the Liberation of Judea and the People Judean Liberation Front, but I very well could. Sometimes the differences are as ridiculous as that. But hey, I take that most of my readers are acquinted with the Free Software issues, right? Think BSD vs. GPL vs. OpenSource. To give a broad idea - Only in Mexico City, with a very small Jewish community (~30,000 people), in the mid-1990s we had over 10 such movements, with 50-150 youngsters attending each. And even though some were local, and even though some very important ideologies are not represented in this country, they are all different enough to exist as separate entities. British Mandate The Ottoman empire was divided after the first World War. Its possesions in Europe became independent states, while in Asia (and Africa, if you take the semi-independent Egypt and part of Sudan into account) they were taken over as colonies or protectorates by France and the UK - Evidently, attempting to secure a long-term dominion over the area. In some aspects, they failed. In some aspects, they were (and still are) tremendously successful. The division of people by setting arbitrary boundaries has led to countries sustainable only by force and a harsh rule (such as Iraq, Lebanon and Syria), or doomed to poverty (and thus submission) due to lack of natural resources (as Jordan). Focusing on Israel/Palestine, the UK entered the area by making mutually incompatible promises to arabs and Jews - i.e. the Hussein-McMahon letters and the Balfour declaration, both ambiguous enough to lead to... Well, today. The UK rule was disastrous to the region, both in giving (and taking away) power from all sorts of puppet regimes, and swiftly going away as soon as things started looking too complicated. Yes, typical colonialism.
So, while up to the 1920s there was no real animosity between Arabs and Jews (as i.e. the Faisal-Weizmann agreement shows), during the next decades the seeds of hatred started growing, from both sides.
Many people still quote the 1947 partition plan as the direct antecedent towards Israel's real existence - That was not the first partition plan that existed. Ten years earlier, the Peel commision suggested a similar partition involving forceful population transfer. And many people see the separation of Transjordan (now Jordan) from Palestine in 1922 as a first partition. It is understandable that both partition plans (much more the 1947 than the 1937 one) were accepted by Zionists: Going from having nothing to having something (and against all odds in the environment they lived) is acceptable.
From the Zionist side, two main groups rejected the partitions: The right-wing and religious groups, insisting that the whole of the Mandate should become Israel, and the left-wing groups, which advocated for a single, bi-national state, with equal rights for all of its population. Go over and read this last link, as it was quite interesting (to me at least) to see how this solution has kept existing and regarded by (relatively) many people, and has many interesting links. 1948 onwards: Where did the refugees come from? The November 1947 partition didn't exactly translate to a planned, smooth Israeli independence - It led to six months of revolts (basically, a civil war). By mid May, the UK government and troops abandoned the territory, and one day later, Israel declared its independence. And, of course, all neighbouring countries (and Iraq) sent their troops to invade Israel. The war lasted for over six months (cease-fire was signed in January 1949). There was an intense Arab campaign indicating the armies would enter Israel and devastate it, leaving no stone in place, indicating Arab population to temporarily leave the Jewish-destined areas. The war, they said, would not take more than a couple of months, and they would be able to go back home.
Only that... When the war ended, the results were far from what the Arab governments expected. Not only Israel continued to exist, but it conquered important territories.
Of course, the Israelis were not innocent from said exodus: During the 1947-1948 civil war, and the independence war, some of the existing so-called self-defense forces (some of them were really defensive, while some were quite aggressive, even terrorist) attacked Arab villages in strategic or predominantly Jewish areas to prompt them to leave - yes, what we today call ethnic cleansing.
I had (in my head) the number of 650,000 Arabs (from a total of slightly over a million) fleeing to neighbouring countries. Wikipedia states that it is somewhere between 367,000 and 950,000. A similar number of Jews were expelled from Arab countries, many of which arrived to settle at Israel (and many others went elsewhere - For instance, a good part of the Mexican Jewish community is from Syrian origins - Many of them fleed in those years). Israel didn't accept back the (relatively few) Arabs that requested to resettle, as they were seen as hostile population - but neither did the countries that "temporarily" accepted the Palestinians accepted them as citizens. The Palestinian refugee camps today, mainly in in Lebanon, Syria, and the occupied territories held by Israel have terrible living conditions, and its population -despite living there for over 60 years- have no civil rights at all. Note that I'm omitting Jordan here, although it has several camps as well, as their situation is way better.
The Arab population that didn't leave did receive full Israeli citizenship. No, their living standards are not up to level with the average Israeli. The country and the society do have a sensible degree of racism and segregation. But the situation is nowhere as terrible as it is in the camps.
The areas which were originally to become Palestinian and were not conquered by Israel -this is, current-day West Bank and Gaza- bacame respectively Jordan and Egyptian territory. While Jordan did fully extend its soverignty covering the West Bank, Egypt didn't - Gaza is, since 1949, occupied military territory. Gaza, among the most densely populated areas in the world, has had their inhabitants under military rule ever since. When Israel returned the Sinai after signing the peace treaty with President Sadat, Egypt didn't accept Gaza back - And that's where today's greatest problem is born.
Now, Israel conquered those territories in 1967, along with the very sparsely populated Sinai and Golan. For the first ten years, the territories were basically only administered (yes, under a military rule). In 1977, with the first right-wing Israeli government, an extensive settlement policy began (and led partly to today's seemingly unsolvable situation). In 1980-1982, Israel withdrew from the Sinai. In 1981, Israel claimed full soverignty over the whole of Jerusalem and the Golan. In 1993, the "Oslo Agreement" was signed between Israel and the PLO, and it seemed we were heading towards a bright future. I lived in Israel between 1994 and 1996 - Yes, the most hope-filled period in the country's life.
Since 1996, I have tried to keep up to date with the country's evolution. All in all, even if I won't live there again, it is a country I learnt to love, a society I have long studied (even if in the end I did include many references, I wrote most of this text just off the top of my head, with the data I remember - so it might have several big errata). And yes, I keep the political stand I had 12 years ago: The only solution is to dialogue, to treat the current enemies -and not only their governments- with respect, recognizing their dignity and right to life, to self-determination. Only then we will change the status quo. How not to fight hatred Since 1993, the dream of peaceful coexistence seems to have faded. What we saw during the past three weeks, along to what we saw in Lebanon in 2006, is plainly a gross mistake if the goal is to achieve good, lasting peace.
Try to imagine how could life in Gaza be, even in the total absence of Israeli attacks. Just to set some numbers first: The Gaza strip hosts almost 1.5 million people on 360 km . When I lived in Israel, I was constantly surprised at how small a country it is - Israel tops at 550Km North to South, 150Km east to West (it is amazing, almost wherever you stand, except in the middle of the Negev, you can see the country's borders. Yes, I recognize as the border the so-called Green Line); over half of the territory is a desert, and it hosts seven million inhabitants. And it is hard to imagine how that country can be economically viable.
I do not find it feasible to imagine Gaza and the West Bank integrating a single country, and not only because they are separated by ~40Km, but because they are so sociologically different. People in the West Bank, yes, live opressed under military rule and subject to a much more constant, more visible apartheid-like state (as the territory is truly sprinkled with Jewish outposts which many Israelis refuse to recognize as their own, but still, which have incredibly higher living standards). The best land has been taken away from them, yes, but they have some space between cities to have some farming, to communicate, to... Breathe. Besides, West Bank inhabitants -even those in refugee camps- have much better living standards than anybody in Gaza. It is still an overpopulated area, but not nearly as much as Gaza.
Gazan population have been driven towards extremism. And yes, there was a civil war between Palestinian factions, as the world views between both populations are completely different - However hostile a Jenin inhabitant can be towards Israel, he does not lead the life -if it can so be called- you see at Khan Yunis.
But back to Gaza... What Israel is doing (and not only during this military operation terror campaign is wrong, from any rational point of view. Israel wants Hamas to become weaker? Then don't drive the population into supporting them!
Palestinians started giving over 50% of their support to Fatah (ex-PLO), and under 20% to Hamas. That was less than 15 years ago. However, Fatah has shown to be corrupt and inefficient at building infrastructure and improving life conditions, ineffective at negotiating a permanent agreement which secures dignity and sustainability to their people. Hamas stands as a religious, righteous organization. There are no serious corruption charges against any Hamas leaders. Hamas is clearly still at war - They didn't subscribe any peace agreement so far, and their stated #1 goal is to build a Muslim State in the whole of Israel. And the Hamas movement -like Hizbollah in Lebanon- has built quite a bit of infrastructure in the areas they control - Mainly housing. Yes, housing where they mix their own offices, many will accuse, getting human shields for free. But still, they are benefactors to a dehumanized, pauperized population.
I find it obvious that, if living conditions were at a basic level in the region, support of Hamas would decrease. Even more, of course, if they improved due to Israeli support. Israel controls this territory, so it is responsible for the well-being of its population, like it or not. And Gaza is simply too small and low on resources to survive by itself.
I was a bit surprised to find mention -although very brief- of a three state solution - And yes, this is close to what I would expect as a viable outcome. It is clear that Israel will not ever grant full citizenship to the Palestinians, as they would -euphemistically speaking- challenge the Jewish character of the State. Dropping the euphemism, Israel relies on apartheid in order not to become an Arab majority country. I might have some numbers wrong, but AFAIK, there are ~7 million Israelis, 20% of which are Arab citizens (which means, 1.4 million Arabs and probably 5 million Jews, with many other minor denominations for the difference), and ~4 million Palestinians live in the territories. Today, the country is already predominantly Arab, or at least is close to being so. So, Israel should permanently, formally disengage from all of the occupied territories. And in order to ensure violence stops, start a comprehensive, unconditional, long-term aid program. Start with giving them autonomy to regain their sea, as the Gaza port has long been closed. Allow the airport to operate again. Instead of bombing tunnels in the Egypt-Gaza borders, allow Gaza to trade with Egypt - Perhaps even to integrate territorialy, if the conditions are met. Treat their people with respect, and help them ease the terrible situation they have lived for so many decades - and then, undoubtely, terror will stop.
The West Bank? Possibly it could become a Palestinian state by itself. Possibly, it could integrate back to Jordan. That would be up to Jordans and Palestinians to decide. Of course, Jordan has already a large segment of its population defining itself as Palestinians, which counts both for and against. So, I won't venture into this supposition.
But anyway - Back to what prompted me to write this text -yes, a very or maybe even too long text - I hope somebody even takes the time to read it!- is to explain what is my point of view on the current situation, and why.
Today, a cease-fire was announced, after 23 days of murder and destruction. I sadly do not hold very high hopes for it to be lasting, much the less to be enough, to lead to what they call a de-escalation of the conflict. The most I can currently do is to voice my opinion, and hope that mine is just one more voice pointing to a sane solution, to a permanent, dignifying way out, for all people involved. Every people has the right for survival and for safety. We cannot deny this to any others. And certainly, we cannot expect anybody not to fight for their right to live.

18 January 2009

Wouter Verhelst: Filesystems: the saga continues

Bernhard comes up with a few arguments in support of multiple filesystems which, in my arrogant opinion, make no sense. The first argument (about hardlinking a file to your homedirectory until something bad is discovered in one of the binaries) has been sufficiently debunked by Joey Hess. The second and third arguments are the same, really. Repeating your argument won't buy you any beer, sorry. Finally, all your arguments talk about server. I was talking about laptop. I don't know about you, but me, I'm not in the habit of loaning out my laptop to someone I don't trust. I'm not even in the habit of loaning out my laptop to someone I do trust, come to think of it. I do run some servers on my laptop, but I also have a firewall on my laptop that refuses incoming connections. This is a laptop. Not a machine in a data center. As such, the only person with access to my machine is me. Now I don't say I trust each and every bit of software that I run on my laptop, but I do trust myself. I won't start scanning my laptop's hard disk for rogue SetUID hardlinks in another user's home directory, because there isn't another user, stupid! Paranoid security is nice and dandy and totally useless. Security is all about trade-offs. Even Bruce says so: if the cost of a security measure (having to deal with with 73 filesystems) does not outweigh its benefit (protection against cosmic rays changing not only my firewall configuration, but also writing a suid CGI binary and installing that in /usr/lib/cgi-bin), then it's just not worth it. Now of course you might argue that 'having to deal with 73 filesystems' is no cost at all, in which case it would be worth it. But to me, it certainly is a cost, and one I'm not willing to take even if it did protect me against a real-life problem. And if someone were to break into my system, I'll just reformat it and recover from back-ups. I won't even have to revoke my GPG key, this time, since it's no longer on the disk.

17 January 2009

Gunnar Wolf: M talo, luego virig as (roughly: Kill him, ask questions later)

The phrase on this title is often attributed to Pancho Villa (1878-1923), Mexican Revolution leader. He had a fame of cruelty, killing suspects before even questioning them.
Today, it started as a very nice day. I had even time in the morning to find, fix, upload and send upstream a trivial bug in libgruff-ruby... At 11:00, I left the Institute as my father came to the city to do some paperwork... We sat having a cup of coffee in a restaurant near the office we had went to at around 12:00, and my phone rang.
And it was from work. That's never a good sign. My boss told me he was facing a massive virus infection, and decided to disconnect the firewall. I corrected him - that will do no good once the virus is in our system, if you want to disconnect anything, disconnect all of our switches.
Came back, and found him and my coworker stunned and not knowing what to do. He says, the antivirus alarm went off almost simultaneously on the two computers he had on his desk, and in few minutes over 15 computers all over the Institute were ill. The symptoms? Programs not showing up in the taskbar, copy/paste functionality b0rken, many programs misbehaved or just didn't open... They were grimly facing a complete recovery operation they have grown used to: The whole OS has become corrupted or destroyed, we will have to open the computer, extract the HD, install it elsewhere, back it up, reinstall OS and applications, restore the backup. Yes, I know too many extra steps are included here, but I have come to accept their ways of dealing with Windows. Nobody says dealing with Windows is fun. I like my work to be fun, so I stay clear of theirs.
I insisted on turning back one one of the switches, the one for the servers and my machine (and some more in the same physical area). OK'd. But they didn't want to switch on any other switch, so a traffic capture (tcpdump / wireshark) led nowhere - but at least it gave my my Google back.
They have configured the antivirus software we deploy to all of the Windows machines in such a way that it deletes upon sight any malware - And when they manually scan, they blindly hit Delete whenever anything is found as well. Of course, no infected binary was left alive for me to inspect, and the machines were dead. But I was able to glimpse at the name of the deleted file: rpcss.dll.
After googling a bit - Bliss! Joy! I found the answer. So here is the set of interactions, and how they led to this killing spree. Please remember I am a Windows newbie and speak just out of guesswork.
  1. This is a fast-spreading virus. My friend Rub n at DGSCA suggest it might be related to this report submitted today; at Barrapunto there is a thread about another virus that appeared four days ago, infected 1.1 million Windows machines on its first day, and so far is around the ninth million. Update: Equivalent thread at Slashdot, for the Spanish-impaired.
  2. The virus infects at least two copies of a system binary: %system32%\rpcss.dll and \Windows\ServicePackFiles\i386\rpcss.dll. Windows uses the second one to restore the first one in case it is damaged, if I understood correctly.
  3. The antivirus does not detect the infection when the library files are written, but when they are linked, so it only spots it the next time %system32%\rpcss.dll is brought into memory.
  4. This is a very common library - It takes care of, well, RPC. So, quite probably, this file will be linked again on the next program launch - or accessed when a running program requires anything not currently in RAM? Dunno. The thing is, the library gets linked.
  5. The antivirus will happily tell you it has killed a threat! Your nice RPC library is now defunct. M talo, luego virig as!
  6. So, of course, notifying the taskbar of a new window appearing, or clipboard actions, or whatnot will refuse to work.
  7. Machine restart, full system scan requested. The antivirus finds de second copy of this library in the master directory (\Windows\ServicePackFiles\i386). The virus used this location so that Windows won't restore a clean version over it. But yes, it will fall again under the claws of the antivirus... I guess. Anyway, the antivirus offers to delete this file as well, and does so.
  8. User is desperate. My coworkers are desperate. I am... mildly annoyed?
Once I found this line of thought... I went to a working machine, inserted my flash memory, and copied %system32%\rpcss.dll to it. Went back to a sick machine, and ran cmd. Then, it was just matter of copy f:\rpcss.dll c:\windows\system32, a simple reboot (it never hurts to reboot in Windows!), and problem solved!
Oh, as a side rant: I find it extremely annoying and sad that many people I know, sometimes with more experience as a computer operator/supporter than what I have of experience as a living human being, are so scared of using a command-line interface. They were dismayed at seeing no drag-and-drop and no copy/paste functionality were available! copy is not an option.
Anyway... Today was an experience on how a simple, mostly-harmless and quite-fertile virus is able to be terribly magnified by the presence of a trigger-happy antivirus.
Why won't they give themselves a chance to try something else? Say, GNU/Linux? :-/

11 January 2009

Russell Coker: Debian Multimedia and SE Linux

I have just had a need to install packages from Debian-Multimedia.org to correctly play .3gp files from my mobile phone (the stock Mplayer in Debian would not play the sound). As part of getting this to work in a way that I like I rebuilt some packages so that shared objects would not demand an executable stack and added them to My SE Linux Etch repository [1]. The liblzo2-2 package is in Debian so I filed bug report #511479 against it. Not that I expect it to be fixed for Etch now that Lenny is about to be released. But it s good to have the data in the bug tracking system for the benefit of all interested people. The lame and xvidcore packages are only in the Debian Multimedia archive. I ve sent email to the maintainer with patches. Not sure if he will accept them (again it s not a good time for filing bug reports about Etch), but there s no harm in sending them in. The lame package also required execmod access, but I don t have enough time to devote to this to fix it. For background information about execmod see my previous post [2]. See my previous post about executable stacks for more background information [3]. The next thing to do is to test this out in Lenny, hopefully I ll get time to work on this tomorrow.

Gregory Colpart: Set up IPv6 in Xen domU with nat-mode

I have a Xen dom0 with nat-mode and IPv6 enabled. Set up IPv6 in Xen domU is like a classical IPv6 network: add IPv6 addresses on vif interfaces on dom0 and IPv6 addresses on domU (manually or with radvd on dom0). The only tip is how adding IPv6 addresses on vif interfaces which are dynamically created by Xen. Here is my dirty hack to do it on /etc/xen/scripts/vif-nat file:
        [ "$dhcp" != 'no' ] && dhcp_up
        +# Add IPv6 addresses
        +[ "$vif_ip" = '192.168.0.1' ] && ifconfig "$vif" add 2001:6f8:143d:1::101:1234/64
        +[ "$vif_ip" = '192.168.0.2' ] && ifconfig "$vif" add 2001:6f8:143d:2::101:1234/64
        ;;
    offline)
Where $vif_ip is the IP address from domU configuration : vif=['ip=192.168.0.1]. I think the best solution is adding ipv6 option to domU configuration. I will consider to open a wishlist bug for that.

Next.

Previous.