Search Results: "evo"

16 April 2006

Clint Adams: Old man sitting on the white sand

Up in the Catskills, the sun sometimes shines on a cairn. Sometimes it shines on people near that cairn. Sometimes people roll cigarettes while eying that cairn suspiciously, and sometimes one of those people has two eyes whose colors differ. This person may like David Bowie, and he may be from eastern Massachusetts, and he may like to regale his ex-girlfriend with stories of the Japanese girls he conquers in Canada. All that happens in the shadow plane, with the pale shapes, and time will not be what it seemed. Yet closer to the center of the Earth runs a stream, the centerpiece for a suffusion of lush, vegetative growth. That place in the forest, devoid of signs of vertebrate life, transcends time in a much different way. There are other places like it, but they lack one important factor. For if I am to ask the question to bring it full-circle, who is left to answer me but the dead?

15 April 2006

Martin F. Krafft: Booking the remainder of my trip

This third day of the Songkhran festival in Chiang Mai, we again failed to stay dry, but escaped the fury a bit with a two hour river cruise, including a visit to an herb garden, and an expedition to the zoo. The zoo was unlike anything I would have expected, but showed how lazy the Asian people really are: most animal cages were accessible by car, and it was somewhat foolish of us to try to reach the aquarium by foot, but we were lucky to have a friendly Tai give us a lift with his pickup. We also witnessed the feeding of a panda bear, which is apparently a rather rare animal, or at least that's the way it was hyped to be. My favourite was the black panther in a cage with a leopard, in between the tiger and one of the very rare white Bengalese tigers. This tiger's skin is white and thus makes it rather difficult for it to attack in the wild. I described it as a evolutionary permutation with low fitness. Aline claims that these tigers are artificially bread these days, which makes it all the more peculiar. We returned to the city for another round of splashing bveefore stopping over at Julie's Guesthouse, the place where I was to meet a lady running clothing and other support items to refugee camps. It turns out that this is a programme by D.A.R.E., in which her guesthouse participates, running the goods to the Burmese refugees living in Thailand. The clothing I had brought along are destined for people in Burma though (there is surely an equal need), so I guess my options are down to a single one: take them with me, skip the monestary, and travel the country myself. So today I went ahead to buy my next two air tickets: I am flying out of Chiang Mai to Mandalay on the 20th, and I return to Bangkok from Yangon on the 4th of May. That will give me more or less 13 days in Burma (I am calling it Burma now, not Myanmar, since that is what the Burmese and the Thai people use) to get from Mandalay to Yangon, and having heard a bunch of times now that travel within Burma isn't all that easy, I figured out a way to do it: I shall spend a few days in Mandalay and meet some people, then hopefully find a student with good English skills to embark with me on the journey, meaning I will pay travel and hotel expenses for him/her, in addition to a flat, daily "wage". Until then, Aline and I have 4 full days left in Chiang Mai, so the 1-2 day trek has once again risen high in my list of priorities. Tomorrow, we are going to cooking school, and there is also rock climbing, a go-cart track, and various other things to keep us occupied. Thanks for reading along.

14 April 2006

Jordi Mallach: 75 years of the Spanish dream

Recently Spain remembered the 65th anniversary of our tragic Civil War, an episode which broke the state in two halves which still today haven't been glued together at all. The origin of that nightmare is the dream of many Spanish people of the early 20th Century. In the morning of the 14th of April, 1931, the Second Spanish Republic was proclaimed in Madrid, after two days before, a majority of republican and leftist parties won the local elections; many people celebrated throughout the Spanish territory, and the tricolour flag was shown in many town hall buildings. With the king in exile after these quick happenings, Spain was again a Republic, as decided by the election results. The Republic brought many social measures to Spain: women suffrage, eight-hour day and many other labour related improvements. The nobility titles were abolished, and those properties were confiscated by the government. And this was just the provisional government. All of this is regarded like a big social and cultural revolution, which was just starting. Not everyone was happy about this, of course. The newly approved Constitution of December 9 gave the government power to confiscate many of the Church's properties, and limit their great power in political matters. Soon, the episcopacy came with a strategy to defeat the Republic in any possible way. The Royalists were also not happy. There were a series of revolts in the South, and an attempt of coup d'etat by General Sanjurjo. These attacks were repealed; the Republic was still strong. In 1933, the Anarchists started to be seriously unhappy about the moderate path the government was leading and started striking, which led to violent repression by the Government. The General elections of November brought a victory of the right and extreme-right, and many social and anti-church measures were repealed. Riots and strikes spread throughout the territory. The Martial Law proclaimed by the right wing government resulted in thousands beings imprisoned. Things went even worse when three ministers of the fascist CEDA entered the Republican Government. A big worker uprise started the 1st of October in Asturies, and Catalunya proclaimed the Catalan Republic. The revolts were supressed by General Franco, who would be well known in the world just a few years later. Thousands were killed and injuried during the few weeks of revolt, and the Socialist Party was dissolved, leaving the Spanish Courts with barely no left representation. The next years saw a very unstable government from the right due to internal disputes within the parties that formed it. New elections were called in 1936, and the left united under the Popular Front, which won by a slight margin; Manuel Aza a was the new president. The right, the church and the army continued to undermine the Republic in any possible way. In an attempt to make the military heads more loyal to the established government, the fascist Falange Espa ola was dissolved. The 2nd Spanish Republic received a massive blow on the 17th of July, 1936 when Franco and other generals attempted a new coup d'etat in the Northern African territories. The Republic started to die as people started fighting the coup back, and the Spanish Civil War started throughout the territory. With the aid of Fascist Germany and Italy, Franco managed to seize control of more and more areas of Spain during the nearly three years of war, and the Government of the Republic had to move a number of times, to Val ncia and Barcelona. In January 1939, most of Spain was in Franco's hands, and Catalunya soon fell. Two months later, the fascist troops entered Madrid, and hours later, Val ncia surrended. Still today, people talk about dos Espa as , the victorious and the defeated. Still today, the is much difficulty in having official recognition for the thousands who died while defending what a majority of people had voted for in a democratic way. Still today, one of the major political parties in Spain refuses to acknowledge what the forty years of Franco meant for the disidents, for the exiled, and for the dead. They are the legacy of Franco. Today Spain celebrates the 75th anniversary of our Second Republic, with many events in many cities, which will be ongoing for a few weeks. Izquierda Republicana has a good list of events.

13 April 2006

Martin F. Krafft: Soaking the city

We spent eight hours today, starting at around 10:00 o'clock, completely soaked with water. I had read about the Thai New Year celebration "Song Khran," but I would not have believed it to be as extreme as it turned out to be. But let me start where I left off: Phitsanulok. Following the recommendation of the director of the lower northern Thailand Tourist Authority (TAT), we spent the evening by the river running through Phitsanulok, where the Thai were celebrating the "food festival" -- it seems to me that the Thai, or Southeast Asian folk have a festival for almost anything to make it around the year... The road along the river was banked with little booths selling just about everything, from edible to handicrafts, with fair booths offering games such as darts, jumping castles, and live bands in between. Strolling around, we had a bite of the most appealing things -- I did stay away from roasted cockroaches, maggots, and other bugs this time, for I had already sampled them in Vietnam and felt no particular need to repeat the experience, although it was not revolting back then at all: it's just a little meat with a lot of crust that you don't want to eat, and the taste isn't particular. An excellent meal of noodles with some sort of sweet-spicy sauce, together with a beer and the company of some young Thai boys ended the evening for us and we returned to our hotel rather soon, with the intention to get up early to finish our errands and make a run for Sukhothai. So with our plane tickets and some fresh cash, we set out for "Sgt. Tawnee's Folklore Museum", a private collection of traditional Thai "things" -- tools, traps, toys, instruments, clothing, ... just about everything... Sgt. Tawnee was a poor soldier who realised that people were forgetting about how their ancestors went about to solve everyday's problems and consequently started collecting anything and everything -- a truly remarkable and beautiful collection! After a so-so Thai massage (see forthcoming blog entry), we quit the city by bus to arrive in Sukhothai about an hour later, where we were met by the pickup van of the guesthouse we had booked, also following the recommendation of the TAT director: we are staying at the Ruean Thai Guesthouse, a place with cozy rooms, a swimming pool, and very friendly staff, for about 10 EUR a night -- the best guesthouse I have been to in three vacations in Southeastasian countries, three thumbs up, I can recommend it to anyone coming to the area! We had just settled and taken a shower when the hotel clerk notified us that the director was waiting downstairs to take us to the "light show". We boarded his van, together with his family and colleagues, and drove about an hour to Srisatchamalai Historical Park, where we arrived just in time to witness an impressive ceremony, part of the New Year celebration: old people were sitting in rows on chairs, and younger folk passed from one to the next, pouring drops of water into their hands as a form of respect to the elderly to help them stay cool in the dreadful heat of the month. Naturally, we lined up and did as the others did -- and found us filmed and greeted by a television crew afterwards for an interview. Not wanting to be a burden to the director and his family, we followed the suggestion to stroll around in the park for about an hour, until we returned to the agreed meeting point. There, we found that mats had been rolled out on the lawn in front of one of the temples, and maybe 200 Thais were sitting and dining. The director invited us to join them, and we enjoyed Thai cuisine until dusk, when everyone got up for the national anthem and the show began. At first, a famous Thai singer (so we were told) performed a couple of folk songs and we learnt that, (to my knowledge) unlike European folk songs, the Thai sing songs telling real events in history. A fashion show of old, traditional Thai clothing followed, and finally, the stage was set for a performance of the history of Sukhothai. People were all over the place, fighting, dancing, or just "ruling" (as the king(s) would do), and a voice recounted the story, which one of the director's daughters translated for Aline, I was busy taking pictures. Fireworks accompanied the scene, along with flying objects consisting of a real flame underneath a balloon made of rice paper. Most flew high and far away, some got stuck in trees and went up in flames. After the show, I had a chance to see some of the costumes and must say that I am deeply impressed, not only by how Thai people used to dress, but also by the love and care the people put into the show to make it as authentic as possible. Interestingly, only one other tourist ("fallang") was at the event, something the tourist director wants to change in the future -- good thing we witnessed the "pure event"... I seem to prefer places not frequented by tourists, and in the Thais seem to be continuously surprised that we are not heading for the beaches in the south following our time in the north. Back at the hotel, we fell into bed, exhausted from the day and the nightswim in the pool. I got up this morning to find my ear clogged with water -- must have been the late swim. The guesthouse owner insisted to take me to a pharmacy to find some eardrops, and I hope this nuisance will go away soon. We rented a motorcycle for the day and headed in direction of the old Sukhothai city, or the Sukhotai History Park, as it is also called. Waiting for our photo chip to be beamed to CD, we made our first encounter with the way young people like to celebrate the New Year (which officially started today): all over the city, people rode around on the back of pickup trucks, emptying buckets of water over other people. We bought ourselves a water gun and plunged in for the fun. It didn't take 30 minutes until we were soaked, but nothing could stop us. The old city is maybe 10 kilometres away, and the drive was the most unforgetable motorcycle ride I'd ever had: all along the sides of the road, people were filling buckets and splashing everything that passed -- being on a motorcycle with merely a water gun, and as "fallang" (foreigners), we were naturally the primary target for just about everyone, so by the time we had reached the city, we had soaked up half an ocean each. We stopped by a group of kids, gave our water gun to the smallest one, bought a new one, and teamed up with them to fight the passing vehicles. Oh what fun! Dripping, we made our way to the park after a while, and strolled around some temples, the market, and many more water fights. Even though the water obscured the heat, we still didn't feel like taking the barrels of water we had collected for a walk and didn't last too long before we were on our way back, destined to stop again with our allies (the kids) to make sure no car and no passenger got by unwashed. The Thai also crumble up chalk, mix it with water, and smear it into each other's face -- you can imagine how we looked like after a few minutes: soggy and chalked. Finally, we made a run for the hotel and got back at about 16:00 o'clock for the first time of feeling "dry" in eight hours. Now, after some time at the pool, we are loathing for dinner but daren't go for the city as we are wearing our last set of clean, dry clothing; I doubt the Thai lay their buckets to rest at seven and call it an evening. Fortunately the hotel offers food too, so we'll likely be boring and stay in. Tomorrow morning is our flight to Chiang Mai for more of the wet fun. I'll keep you posted. Thanks for reading along.

Jose Carlos Garcia Sogo: Google Calendar

One step further in total worl domination, Google has launched Google Calendar. It completely rocks. It has iCal support, sharing calendars, notifications, reminders, and other cool stuff. And you can easily import your calendars, be them in iCal or CSV formats. The only thing I see it lacks is allowing you to publish your calendars out of Google Calendar, so you can use multisync or Evolution to sync the calendar in google with your PDA one. If this cannot be done, this service is not so useful as it is Gmail, which at least has POP3 support (though it still lacks the very interesting IMAP support). Once IMAP support for Gmail and exporting calendars work for Google Calendar, a lot of people will bow at Google's domination. Google Calendar web view

10 April 2006

Edd Dumbill: Catching up

Most of my energy recently has been devoted to organising things for XTech 2006, now just over a month away. Here are some XTech-related snippets: MacBook  My new computer has arrived, an Apple MacBook Pro. I know I wrote some time ago about how disappointing it was for free software advocates to be using a non-free OS, and I am rather sad about this in some ways. I'll be writing in the near future about my impressions of the platform, and reasons for buying this machine. Writing My latest piece on Debian has been published over at O'Reilly, Installing Software on Debian. We've been a little slow getting through the publication of these, so I'll try and hurry the next few along. Rails Rails continues to impress. I wish I had more time than I do to use it, as it feels so right to work with. With Matt Biddulph I'll be teaching a day on Rails at XTech 2006. In the meantime, I highly recommend Chad Fowler's Rails Recipes, it covers the most common requirements from real-world web applications. Oh, and I'm scheduled to attend RailsConf this June. My paper was (not too surprisingly) declined for the conference, but Matt's was accepted.

6 April 2006

Jeff Bailey: Has the hula hoop fallen?

Last weekend I found myself looking for something to hack on that wasn't something I see during my work day. I took a look at <a href="http://www.hula-project.org/Hula_Project">Hula</a>. I've wanted something like this for use at home. It would be nice if <span class='ljuser' style='white-space: nowrap;'><a href='http://auzure-skies.livejournal.com/profile'><img src='http://stat.livejournal.com/img/userinfo.gif' alt='[info]' width='17' height='17' style='vertical-align: bottom; border: 0;' /></a><a href='http://auzure-skies.livejournal.com/'><b>auzure_skies</b></a></span> and I could see one another's calendar, have our own Jabber server, and have easy access to our email through a local client or through webmail.<br /><br />There seem to be a steady stream of commits to Hula's SVN, but almost no discussion on the mailing list. I've sent in <a href="http://forge.novell.com/modules/xfmod/maillist/archbrowse.php/hula-dev/2006-March/001012.html?id=1613&amp;prjname=hula&amp;mlname=dev">one patch</a> to the Makefile so that make dist would run (<a href="http://forge.novell.com/modules/xfmod/maillist/archbrowse.php/hula-dev/2006-April/001014.html?id=1613&amp;prjname=hula&amp;mlname=dev">accepted</a>), and sent <a href="http://forge.novell.com/modules/xfmod/maillist/archbrowse.php/hula-dev/2006-April/001013.html?id=1613&amp;prjname=hula&amp;mlname=dev">another</a> asking for design information (No answer yet). In general, the codebase seems crufted with a bunch of legacy NetWare concepts. It's written in at least four languages (C, C , C#, and Python) and doesn't seem to have a testsuite. The code also currently doesn't run on powerpc without segfaulting.<br /><br />Ah well. Anyone know if there's another project that has similar aims and goals? Basically some sort of server software that will handle almost all of what evolution can hand to it, plus some sort of extensible interface so that it's reasonably easy to add things like Jabber servers, RSS/Atom Aggregators, etc.

5 April 2006

Erich Schubert: Too many projects...

I'm doing too many projects. I need to step back from most of them ASAP. I just don't want them to dwindle, but prosper... I really need to find more contributors for Oh, and half of above projects need a fancy web design and an icon. Anyway, I should basically turn off my computer for the next two months and refrain from going online. :-( I know that I won't have the discipline to do so... And there are oh so many projects still only existant in my head that I'd really love to do sometime. One involving new search technologies with tags, bringing together directories like DMoz, tag based stuff like del.icio.us and "traditional" text search engines. Definitely the stuff the Web 2.0 is made out of (read: hype). But when I'm done with my diploma this new dotcom bubble is probably over, too... :-(

Rapha&#235;l Hertzog: Leader election: last chance to vote

Given the low participation, it looks like the choice of a DPL is difficult this year. It probably means that the platform of the candidates do no suit everybody… however with DPL teams, there’s more than just the DPL and in theory each member should have their own platform. That’s not the case for me because writing a platform is a big job… which I can avoid since I’m not candidate. :-) However I now do feel the need to tell what I would like to propose (and do) if I’m part of a team so that you know better what to expect if you vote for a team where I’m involved. I’d just like to give a warning, those items are quick notes and are in no way full- and flesched out solutions, they will need to be discussed and refined in all cases, and somes ideas may be dropped of course. This list is neither complete nor definitive. Not all items will be achieved but each of them is a real progress IMO and I’d like to be able to work on them. For people who are concerned by those changes, I’m sorry if you discover my ideas by this post even before I had the opportunity to talk to you… I’m posting those ideas now because they may be considered by people who are currently voting, but it does not mean that I’m not interested to discuss them with you. It’s also true that some of those ideas can be implemented without being part of the DPL team and I’ll certainly try to implement some whatever the outcome of the election, but I really believe that being part of a DPL team helps greatly because you have access to some important informations, and you can effectively discuss with core teams which are otherwise difficult to approach for non-technical discussions when you’re a random DD. And last but not least, the trust of the developers is a big motivation (at least for me) to work effectively on those problems. See this post for my personal vote recommandation and see you in 3 days for the result of the election !

4 April 2006

Jos Parrella: Free Software vs. Privative Software in Venezuelan National Assembly

For my hispanohablantes readers: this post is written in english since it’s gonna be syndicated into Planet Debian. Expect a post in spanish later in the day. If you can understand spoken spanish, I recommend you to hear the Free Software talk of M.Sc. Ernesto Hern ndez-Novich (Debian Maintainer) which ends noting several benefits of using Debian GNU/Linux. Available here. Update: other posts in spanish are already available in Planeta Linux Venezuela. Yesterday we (SOLVE, a Venezuelan Association of Free Software Users, Developers, Cooperatives and Entrepreneurs) had the opportunity to assist to a Free Software vs. Privative Software forum. This doesn’t sound amazing, indeed. But if you take into account that the Forum was held in the National Assembly (or House of Representatives, anyway I’ll call it AN) it gets better. Now, get this idea: the AN is having a forum to discuss a Law, and it’s listening to the parts involved. Let it sink for a minute. But what if the AN is also bringing this parts to a table to actually write the Law? This is how laws are made in our Country now (Damog always says we are terribly nationalistic. It may be true, indeed.) Anyway, we were there around 10 AM, in the Protocolar Room of the AN. The event was full-house, featuring two thirds of people supporting proprietary software (students between 17 and 20 years from the countryside and big entrepreneurs -and Microsoft, of course-) and one third of people supporting free software, including people working in the Government, students, cooperatives, developers, etc. The session was opened by Representative Luis Tasc n, which once was a great supporter of Free Software (now it seems the same for him, anyway he’s doing a great job changing the law-making roadmap) and the speakers were: Microsoft, the National Center for IT, Cavecom (the association of big software enterprises in Venezuela) in the Dark Side and Felipe P rez Mart (from SOLVE) and Ernesto Hern ndez-Novich (Sim n Bol var University) in the White Side. Kudos for IBM, in the Gray Side with Black Spots. The session of talks was incredibly amusing. The speakers started to change their opinions based on the last talk. So, this way, Berrizbeitia (Director, CNTI) tried to discuss Tascon (Representative), the Microsoft Brazilian guy tried to oppose Berrizbeitia, the guy from Cavecom fighted Microsoft (this guy was a complete moron, by the way: when he was told that a group of venezuelan people had developed translations into wayuunaiki he said that was useless since we only have 800 wayuu - native americans) the IBM-boy tried to say they were the best, Felipe Perez (SOLVE) tried to dismantle Berrizbeitia’s talk and finally Ernesto Heranndez-Novich roundkicked them all. The kids from Microsoft (wearing MSDN and VisualStudio shirts) said that Microsoft is a good company which is open-source and gives the code for free. I argued some of them that they were working free for Microsoft. They “hadn’t see it that way”. They also said the plain-ol’-good excuse that “free software was weaker since everyone can see it’s code”. They were changing their strategies and opinions sistematically as the Forum evolved. They argued no compatibility, security problems, and finally they arrived to their real reason to oppose Free Software. Several girls and boys (Daddy’s Boys, as we say to them) were arguing “no free speech” in the Country (which was amusing since this is the first time the National Assembly is writing the laws with the People) and that the Law was going to make them lose their years of University studies. Then, the most accurate of the interventions came, made by Rogmar Marin from Venezuelan Patents and Author Rights Office. He said that this event was all about the people controlling the State, not the State controlling the people. He cited two articles from the draft and the 3390 decree explicitly saying that Free Software was mandatory for Government (in the Decree it says the “National Public Administration” and in the Law it says the “National Public Power”) so he said that they were not going to lose their “bicoca” (a popular form to say “rivers of money”) since they still can program in whatever they want, just that the State has the right to decie the best for their people, and the best for their people was Free Software. This was the whole quid of the event. This is not about Free Software vs. Proprietary Software. This is not about Linux vs. Windows. This is not about IBM vs. Microsoft vs. Venezuelan Companies. This is about the best for the People (which is the maximum interest of the AN) and, in this case, the People was represented not only by the intellectual-closed-circles of Free and Proprietary Software, but by Ana Maria Morillo, from the Cambalache community in Puerto Ordaz, at the southern part of the Country. She said that their Community had absolutely no access to technology. They were poor and humble, and willing to learn. CVG Telecom, a State-based telecom company, installed a Nudetel (no, it’s not an ethic-relaxed phone operator. It stands for Telecommunications Endogen Development Kernel) in their Community, using Free Software. This was their first approach to technology and computers. They didn’t even know how to turn on a computer. Free Software helped them to approach the reality of computers. They felt prepared to use a computer, and proud of themselves. When they used privative software in other places, they needed to adapt to that technology. This demonstrates that Free Software is as easy as any Software. You need to adapt to it. The difference with Free Software is that you are free when you use it. The people from Cambalache appreciate that. Felipe Perez Marti talk was really good. He slapped Microsoft and opposed very roughly to the “technological neutrality” position of the CNTI Director, Jorge Berrizbeitia. Technological neutrality is a neo-liberal, right-wing doctrine which is the technological counterpart to laissez faire, laissez passer. The problem is that (Felipe is an economist, and a great mathematician) technological neutrality isn’t actual neutral. It happens under the conditions where the Smith’s “Invisible Hand” Theorem is valid, so, in a scenary of technological neutrality, the powerful always wins. So, Microsoft wins. He also noted the recent study funded by the United States Homeland Security and carried on by Carnegie Mellon, Coverity and Symantec, which stated that Proprietary Software had between 20 and 30 bugs per TLOC (thousand lines of code) while FOSS had only 0.434 bugs per TLOC. The Microsoft guy seemed astonished by the “discovery” and the students were offended by this. Great. What next? We brought CD’s for people, made Debian evangelization to several “disident” students, made a great cheer to every Free Software supporter, brought signs and SOLVE shirts. While the Microsoft dudes where more than twice times us, we were a coherent group which stayed until 1930 (they left at 1600, you know, it’s a Micro matter of Soft) and held great arguments, sometimes slapping the student’s moral, but definitely making our voice be heard after tenths of years being discriminated by companies, Universities and the Government. As a Debian Project volunteer, what’s your opinion about this? Is the State violating Free Speech taking this decisions? Does it have the right to take it? Is Free Software the best solution for the corporate environments of the Government, taking into account that it handles the citizen information? What are your general comments about this?

Matthew Palmer: Rewriting in Rails -- A Practical Examination

[Note: this article was mostly written some weeks ago; I left it in my "to be edited" box and then promptly forgot about it. So any and all temporal references are way out of whack. Since originally writing this article, I have commenced an incremental rewrite of an in-house business management application from crazy-PHP (a common -- some may say overwhelmingly so -- dialect of the language noted for it's complete lack of any sort of good software development practices, such as the creation and use of functions (!)) into Rails. Articles on this effort will be appearing presently.] Almost immediately after I'd finished writing my previous discussion on why rewriting software is evil, I decided to make a little experiment. What I did was take a fairly well factored PHP application, and rewite (a portion of) it in Rails. My intent in this was not to produce a production-quality rewrite. I have no interest in proliferating yet more functionally equivalent clones on the world. Instead, I undertook the work simply to get a feel for (a) writing a whole, traditional, Rails app in a short space of time, (b) how quick Rails really was to produce an application, and (c) whether wholesale rewrites really are as boring and life-sucking as I imagined them to be. My methodology was this: with a small amount of knowledge of the target application (SysCP), the existing database schema and templates, and a weekend, rewrite as much of SysCP as I could in a close-as-possible reproduction of critical SysCP functionality. My summary results are: rewrites are as boring as I thought they would be, Rails is powerful but fairly complex and slightly buggy when you get down into it (especially if you're working from an existing -- possibly suboptimal -- database schema), but overall, Rails is Way Good Stuff. On the boredom aspect -- I had two days to write code. I had some domestic duties to attend to (walk the dog, visit the hardware store, help my wife with attaching a new bag rack to her bike, mow the lawn, etc) but on the whole, it was dedicated to programming. I've spent whole days (hell, 40 hour marathon stretches) cutting code before. I knew this wasn't a six-month deathmarch, but only a weekend experiment. Despite that, I feel that my motivation levels were lower than they normally are when coding. I can only imagine what it must feel like, two weeks into several months of hard core coding, knowing that you'll end up with what you had before, functionally speaking. If you are going to do the rewrite thing (and may the Flying Spaghetti Monster have mercy on your soul if you do), then pick the right project. SysCP is large masses of tangled PHP (is there any other kind?) but it has a fair amount of local and global structure once you get down to it -- for instance, it's quite well factored into business logic and display, and the code is broken down fairly logically by action handler, so you get entire source files that look like this:
  if ($action == 'edit')
   
    // 150 lines of twisty passage PHP
   
  else if ($action == 'new')
   
    // Another 150 lines
   
  // repeat for another few actions
and so on. The nice thing about this is that, if you have to look for how something works, you can almost certainly find it in one place in the source. Deciphering it might be another matter, but at least you've got something to start from. As I mentioned, the display in SysCP is pretty nicely split off from the logic -- a large number of templates, with common header/footer files, with some small parts in common templatettes. Some HTML is still generated within the actions, but due to the above action-based structure, it's usually fairly easy to identify all of the HTML that will be associated with a particular action and turn it into a coherent Rails template. I would dread doing a rewrite of the presentation layer of, say, IRM. It's idea of well-factored presentation is to separate print statements from logic by a blank line. To my great shame, I've had the reins of IRM for a year, and it's still this bad. I claim it's because I hate HTML coding with a vengeance, but I think I'm actually just scared to try and tame that particular monster. (Update: Martin Stevens has been doing some good work turning IRM's HTML into Savant templates. The only downside is that I can hear his manic laughter -- caused by IRM's insanity slowly infecting him -- all the way from England, and it's keeping me awake at night). I also had to re-learn that most hated but most important of lessons -- that, no matter how much reading you may have done, until you've cut chunks of code in a language or environment, you have no idea how it actually behaves in your brain. Specifically, I spent a fair amount of my alloted rewrite time learning a few little lessons in how Rails actually behaves, and all of it's cool little features. Of course, everyone is going to have this pain, and I've suffered it in every language that I've done any appreciable amount of programming in, but it's always a shock to the system that -- after all this time programming -- a new language still makes my brane tingle curiously for a while. Luckily, I'd read and digested all of both the Pickaxe (Programming Ruby) and AWDWR (Agile Web Development with Rails) so I knew what was possible, I just usually wasn't sure how exactly, so I spent a lot of time with my head in the books. Rails' little foibles also bit me in the bum more than once. For example, I spent over an hour (a no foolin' hour) trying to hunt down what I was doing stupid in my code to make Rails completely forget about the value of a couple of my fields. The answer turned out to be to restart Webrick (Rails' internal webserver for development testing), and the problem cleared right up. You could hear my screams of anguish from the moon (even through the vacuum of space -- it was a lot of anguish). Rails isn't the Final And Ultimate Solution To The Webapp Problem, but it's a good start. There is near-zero administrative bumf when you're writing a Rails app. Rails is fairly intelligent about working out what you want done from the world around it. Code generators (which produces sensible, minimalist templates -- not the ugly, unmaintainable behemoths produced by Visigoth Studio, which has given the whole code generation world a bad name) handle a lot of the low-level "oh bugger, I have to add a new file" feeling. It's very, very anal about project structure, but (in contrast to many other bondage-and-discipline frameworks I've looked at in the past) this structure seems almost comforting (maybe I'm just getting old and turning into a satisficer). What all this means is that you (a) don't write much code unless it moves you toward your goal, and (b) Common structure means that any Rails app will be fairly familiar to an incoming programmer. Unfortunately it also means that cunning wankers will, sooner or later, work out a whole pile of ugly tricks and contortions to get themselves out of Rails' comfortable-but-no-doubt-incompatible-with-many-people's-ways-of-thinking straitjacket, which I will (sooner or later) end up maintaining. Like many of Rails' (and Ruby's) features, though, I don't see them being any more abusable than most features of any programming language or environment -- and at least they're powerful and useful (unlike, say, register_globals, magic_quotes_gpc, magic single-character variables, mandatory indenting, or banning tabs as indent characters -- I thought I'd spread the slagging amongst lots of languages). Productivity-wise, although I was only just kicking off my Rails webapp knowledge, I felt I was doing fairly well. From experience, what I produced in my weekend was roughly on par with what I could produce in PHP in the same amount of time, had the situation been reversed. Considering that I have about 3 weeks of Ruby/Rails knowledge, and about 5 years of PHP experience, I think that's a big win. (Update: I've since produced a DNS management applet for work in about 6 hours billable time, and a virtual mail account application in about 12 hours, both using Rails. There isn't a hope in hell that I could have performed a similar feat in PHP, especially with the same amount of inherent flexibility that the Rails solutions contain). Overall, my impression of wholesale rewrites as being soul-sucking experiences stands. I suggest they be approached with the greatest of care, and only be permitted after an appropriate period of psychological counselling. There is plenty of code that needs rewriting (but why do I always have to find it?) but replacing it by doing an rm -rf on the source tree and starting again is not the answer.

2 April 2006

Barry Hawkins: Why make a free runtime for Java?

I was at my monthly Java ™ user group meeting tonight, and during the pre-meeting discussion our president Burr Sutter asked a question he usually asks: “So, anybody working on anything exciting?” This typically is taken as “does anyone have a really cool Java ™ project that they are working on right now that would be neat for us to hear about?” I usually sit there, not saying anything. But tonight, nobody had anything much, and I finally spoke up about free runtimes for Java ™. I told them that great progress is being made in the free runtimes for Java ™ arena, particularly in GNU Classpath and Kaffe. After my update, Burr asked a very good question: “Why would you work on a free, open runtime for Java ™ programming language?” My answer follows. You would work on it in order to have a free alternative to a platform governed by the SCSL. You work on a free runtime for Java ™ because a free alternative would be better than what we have now; a closely-guarded and largely ingrown platform. You work on improving a free alternative because you are free to participate without that project demanding (via a legally-binding license) that you can only work with them from here on out, and that nothing you learn while devoting your time and energy to them (without compensation) can be used elsewhere. If you do share it elsewhere, and that project finds out, their legal team will make an example out of your ass. You prefer a free alternative runtime for the same reason that you prefer the free alternatives to the non-free frameworks and platforms available for use on Java(TM). Why is Hibernate so popular? Why is Spring so popular? Why is EJB not? Because innovation by committee, while better than a ruthless, unaccountable corporate entity concerned solely with its own betterment, is still not as good as free, open cooperation and collaboration. Is this idea so new? Don’t we try to teach kids that sharing and honesty is the Right Thing ™ to do? I will probably flesh this out as an article at some point, but I wanted to get something written down tonight, while it’s still fresh in my mind.

1 April 2006

Jordi Mallach: GNOME 2.14 visits unstable

And after a long and boring week and a half of ordered Development Platform uploads, today the first few Desktop packages have started to hit unstable. I expect that the entire 2.14 release will be ready for your apt-get'ing in just a few days more. Of course, that doesn't include Ekiga, as their dependencies seem to be in a debian-legal trap... The most exciting bit of this round of uploads is the participation of at least 3 new Debian GNOME maintainers, including... new people looking after the evolution packages!

30 March 2006

Jordi Mallach: Evolution and the new GLib in Debian testing

Last night, glib 2.8 and pango 1.12 entered testing, as a first step on the GNOME 2.14 quest. The bad news is that the fixed evolution & friends were not ready to go in as well, so now many etch users will be wondering why their evolution doesn't start up, or doesn't show any mail. Until we manage to get a fixed evolution in testing, and it looks like it won't be trivial to get this done in the immediate future, Erich's recipe comes handy again:
My personal hero of the day is Gustavo Franco, for this email to debian-devel. He writes how to get your Gnome/Pango/Glib applications that don't work since yesterday's upgrade like evolution (#358071) working again:
$ G_SLICE=always-malloc evolution
And you should be able to read your email again.
Just FYI, and in case you missed it. :)

29 March 2006

Daniel Stone: [tech] it's just a *request* anyway

RFCs are hard, let's go shopping. You'd hope that people writing allegedly sensible mail clients would have slightly more respect for RFCs, but it appears not ...

28 March 2006

Ian Murdock: Yet another namespace

I’m taking Rojo for a spin, mostly because of recent upgrades that add some interesting features, including a “sort by relevance” function that lives alongside the usual “sort by date”—a “personalized digg”, as some have called it. One thing I like about Rojo is that it’s a River of News style aggregator, which means all feeds get combined into a single stream that’s very easy to scan for interesting items, rather than serving as just another way of filling my inbox with stuff I won’t have time to read anyway (the “aggregator as an extention to the email client” model). With River of News style aggregators, it’s no big deal if you miss something, kinda like it’s no big deal if you don’t read every last article in the newspaper every morning. Trouble is, how do you make sure you read the most important stuff first, so in the event you don’t get through everything, the likelihood you miss something is small? “Sort by relevance” would appear to solve this problem nicely. Rojo appears to calculate “relevance” by analyzing a few things: What I read (i.e., what I click on), what I tag (either by giving it “mojo” or by tagging it in the Web 2.0 sense of the word), and what my contacts read and tag. That seems like a reasonable enough algorithm. Problem is: 1. most of the things I read Rojo doesn’t know anything about (they’re in my browser clickstream); 2. I already have about a year’s worth of tags accumulated at del.icio.us, and I have no intention of moving those tags anywhere else (ironically enough, because del.icio.us gives me the ability to do just that); and 3. I already have more social networks and contact silos than I know what to do with, and I certainly don’t want another one. So, Rojo’s new features are less interesting than they appear at first glance. Guess I’m going to have to continue doing without, either until I decide to dump all my stuff in one place (ahem) or until small pieces loosely joined evolves a bit further. Update: On second look, it looks like relevance is actually calculated by the total number of reads and tags rather than by the number of reads or tags by me or my contacts. Not sure how that can be called personalized, but I guess those are the words of others, not Rojo’s.

Uwe Hermann: People should not be afraid of their governments. Governments should be afraid of their people.


Voil ! In                                                       view, a humble
 vaudevillian                                                  veteran, cast 
  vicariously as both                                         victim and
   villain by the                                            vicissitudes of Fate. This 
    visage, no mere                                         veneer of
     vanity, is a                                          vestige of the
      vox populi, now                                     vacant,
       vanished, as the once                             vital
        voice of the                                    verisimilitude now
         venerates what they once                      vilified. However, this 
          valorous                                    visitation of a bygone
           vexation stands                           vivified, and has
            vowed to                                vanquish these 
             venal and                             virulent                   Remember, remember the 5th of November
              vermin                              vanguarding
               vice and                          vouchsafing the
                violently                       vicious and
                 voracious                     violation of
                  volition. The only          verdict is 
                   vengeance; a              vendetta held as a 
                    votive, not in          vain, for the
                     value and             veracity of such shall one day
                      vindicate the       vigilant and the
                       virtuous.         Verily, this 
                        vichyssoise of  verbiage 
                         veers most    verbose
                          vis- -vis an introduction,
                           and so it is my
                            very good honor
                             to meet you
                              and you may
                               call me
                                  V.
Yes, I've seen V for Vendetta today. Very impressing movie, highly recommended! Makes you start to think...

27 March 2006

David Welton: New Committer

Yesterday, I added Wolfgang Kechel as a committer to the Hecl project, because of the good work he's been doing on it. He's demonstrated consistency and quality over a number of months, and has also shows he understands where I want to go with the language, so it was a natural thing to do. Adding a new committer is not always so clear cut, though, and it's sometimes a difficult decision, especially with smaller projects. I find that it's much more fun to work on projects with other people, so I want to encourage them to get involved, and granting access is something that ought to give people a bigger stake in the project, and reward/encourage them in their efforts. In practice, it doesn't always work out that way, though. Often, after a bit of initial work, they dissappear, which means they weren't really that interested in the first place, and you shouldn't have bothered granting them access to the code - they could get by just fine by submitting patches. The question of openness vs control also plays a strong part in the difficulty of the decision. I think the Apache Software Foundation way of doing things (decisions by consensus of those who work on the code) is pretty successful for well established projects, but I'm also convinced that the "benevolent dictator" model is best in some cases. Design by committee doesn't work very well for projects like a programming language where you really want to have one coherent vision, rather than some sort of frankenstein mishmash of pieces. (As an aside, Larry Wall, has done a fine job of proving that you can have - even revel in - a mishmash, even with a 'dictator'!). The point being that it's a little scary to hand someone the keys to your project, because you take a risk on them working counter to your goals, especially in new projects without a self-propagating culture in place. An established language like Python has a fairly large number of people who can instinctively tell you if a new feature is "pythonic" or not. But for a small, new project like Hecl, the risk is that there is more room for unproductive arguments, or having to back out "bad" changes should someone really take off in a direction you don't like. Of course, with Hecl, I think it is at a great point in its life. There *is* a lot of room to hack, because it isn't used by many people, so we don't have to worry about angry users if we break it while trying to improve it! All things considered, it's a positive step to get more people involved, but it's important to start building a culture in order to keep your code going in a healthy direction. Depending on the project, that culture might include a healthy dose of what is and what isn't within the project's scope, or it might simply regard the quality of code considered acceptable. For instance, Tcl's standard library is pretty open to whatever people want to implement, however you must accompany your code by either tests or documentation, and preferably both. I think the most interesting phase is when you are "bootstrapping" - going from just one person to a group. Judging by the number of small projects that have fallen by the wayside without ever getting more than one person to work on them, it's also the most difficult period in a project's life. What do other people think? What tactics do you use to get people involved, yet still make sure they are the right people?

26 March 2006

Wouter Verhelst: Dear lazyweb,

I'm looking for a calendaring application with the following features:
  1. Must have a (limited) command line interface. I want to be able to view my appointments of the day in plain text format, so that I can put that in my .profile; it'd be nice if it allows me to view my appointments on any random date, but that isn't required. Moreover, when someone sends me a meeting invitation, I want to be able to pipe the ical file into something which puts it in my calendar, with optionally also sending an email to the person who sent me the invitation that I'm accepting it (optionally, as in, it must have the feature, and it should allow me to decide whether to send the mail on a case-by-case basis, not as in it would be nice if the feature existed.)
    More command line features are nice, but not necessary.
  2. Must have the ability to export ical files to a text file on my local hard disk; must not require me to set up a server with some weird login scheme and ditto protocol so that I can please put my webcalendar somewhere—and no, I won't sign up for one of those "free" webcalendar services. I'll put it online myself, thank you very much.
    This requirement rules out evolution, unless I missed some plugin somewhere (I don't think so).
  3. Must have basic calendaring functionality. I.e., I should somehow be able to get an overview of my appointments of any given day, to get a weekly, monthly or yearly overview, to print out things, etc.
  4. Must not require ages to start up. This, definately, rules out evolution. When I have a phone call, I want to be able to see within a few seconds whether I'm available at any given time.
  5. The ability to synchronize my calendar with my cellphone somehow would be nice, but isn't absolutely required. I'm willing to jump through a number of hoops here. Note that gnokii supports my cellphone.
Suggestions are welcome.

25 March 2006

Adam Rosi-Kessel: My Wife Has a Weblog

I’ve had a weblog for four or five years. My daughter has had one for about a year (also equal to the entirety of her life). It’s finally come time—my wife has a a weblog. It is appropriately titled Women and Children First. She’s just finding her blogger voice, so it may take some time to gain momentum. Anyone who knew Rachele six years ago (around the time we met) would have been shocked at the time to hear that she would one day be a blogger. Back then, her entire relationship to the Internet was mediated through a “My Mail Station” device (that apparently has since been purchased by Earthlink and now has disappeared entirely). These days, she runs Debian Sarge, Evolution, Firefox, etc.. And now Wordpress. My friend Jesse and his cohorts have also started a new blog entitled Tikirobot. From what I can tell so far, it’s similar in style to boingboing but written by people I know. It is also nonduplicative of boingboing content.

Next.

Previous.