Search Results: "cas"

24 September 2006

Brett Parker: In other news...

It's been an odd week at work, and I've started doing rather more Sudoku puzzles than most sane people - I've found that currently the guardian Sudoku puzzle takes me the longest to get through, though I'm slowly getting better at it... I might actually start being able to see the patterns more quickly soon! Anyways - in other news JD resigned on Tuesday, so we've only got him at work for another few weeks before he disappears in to the ether (well, not so much in to the ether, but I won't be working with him anymore, eeeeep - this means more work for me!), which also prompted a pay rise (hooray!). Now just to keep up with the good work! Oh, and on Monday we won the Hop Poles pub quiz! Yay! Where in this case "we" is me, a guy that I'd met in the pub a couple of Mondays before and some of his friends. Was much fun! Tomorrow being Monday again I'll be back in the pub for the quiz and see who turns up this time :)

Brett Parker: Eclim...

I've been looking at getting eclim working on my laptop... haven't yet worked it out, can't get the eclimd to run as expected - it's looking very much like I might need to actually do a central install which means creating a package (stuff does not get installed on this machine in central locations unless it's packaged, hopefully for obvious reasons) so I may take some time out to package it over the next week or so. As far as Java IDEs go, eclipse is where it's at, but I don't like the UI and so, being able to use the useful bits of eclim from a text editor that I use for everything seems to me like a fantastic idea... especially now that I'm editing more Java than previously - my current dev environment it purely vim with a reasonable vimrc that sets expandtab, sw=4, ts=4 to fit with the company policy on java development - would occasionaly be useful to use eclipse to manage various things for me though - so that's why I'm looking at it (thanks for pointing me at it Joe!).

23 September 2006

Lucas Nussbaum: Random chat using XMPP/Jabber, anyone ?

A Random Chat applet hit digg recently. It allows you to chat with a random stranger visiting the website at the same time as you. It’s a good idea, but it would really be much better to have something similar based on Jabber (and maybe it could become a Jabber killer app’ ?) Some thoughts: So, is somebody interested in working on this ? It would be quite easy to do with XMPP4R or another Ruby library. (This was from my list of things that I would really like to see implemented, but I won’t have time to work on it myself) Related links:

MJ Ray: Now on the west coast

Finally, I'm on the west coast of England, after living most of my life in East Anglia. I'm going to be slow-to-respond for the next few days while I update various location pointers (at least 36 of them, by current estimate) and then I'll describe the whole tortured saga. I didn't want to do so while it was happening, in case solicitors read this. It is so cool being able to look out of my office window and see Wales across the sea, though.

Martin F. Krafft: Motivation

Colour me na ve, but I disagree that Debian is facing a crisis caused by dunc-tank.org. First of all, stuff like this has been going on for years, and I've been personally involved in cases where money was given to developers to work on specific aspects of Debian, though it's always been up to the receiver whether to announce it or not. I hope this does not come as a surprise to you. Second, there are two issues: funding developers, and our DPL engaged in the process in a way that's not obviously independent from Debian to everyone. I think the heated debate around the latter is a mere function of the emotional issues related to the former, so I'll only concentrate on the funding aspect. When people like Joey loudly protest about where the fun has gone, I start to wonder (again) about motivation. Everyone of us who contributes to Debian does so because of some kind of motivation, whatever it may be. In my case, that motivation is technical excellence: Debian is in a position to avoid hacks and do things right, and it's a joy to be part of a community that seems to think alike, that likes to be perfectionist, pedantic, clean, academic, advanced, you name it. I am also mighty proud of Debian, of what we've achieved, of what we are. Lastly, Debian powers every single computer I administer (and the number would be far lower if it wasn't for Debian), and our operating system is how I earn my living. To me, the issue of funding developers is tangential to the development of Debian. Why should it matter that s/he gets paid by the project and I don't? I'm still doing the same work as before, and I am still doing it for the same reasons. Note that we're talking about well-defined, limited use of funds, not employment contracts. When people say that "money corrupts", I think they're taking the easy way out. Money doesn't corrupt, people corrupt in the presence of money. I'll go out on a limb and claim that a person affected by an allergy will probably rather cure the allergy than to avoid the things to which s/he's allergic. Go figure. Even though I've never really cared much for stable releases, I can understand many of our users when they ask us to get along and release "etch", and I really doubt we can do it in time just chugging along like we've been doing it in the past. Of course, Debian is all about "releasing when it's ready", and we don't know yet whether paid release managers are going to enable us to release on time and when it's ready, but isn't it worth a try? I was also opposed to the idea of paying our release managers when it first came up. However, I've managed to change perspective and am now supportive of it: we are not hiring them, they will not be Debian employees; we are raising funds for them to be able to dedicate their full time to the final, tiresome stretch just before a release, without existential worries. We are helping them to move our project along. Especially since our release team has been one of the more open teams in Debian, being quick to respond to questions and training others in the Art of Releasing Debian, I feel rather good about this particular, well-defined and limited use of our funds. All other things aside, here are my top three reasons why (I think) we really want to release "etch" on 4 December 2006, in increasing order:
  • we can be even more proud of our project than before because we've bashed one of the main, negative reputations of our project.
  • we'll have a first instance of proof that a huge and chaotic project like Debian can meet a deadline. I think this alone would be a major achievement.
  • Lars will have to tattoo his arm with our release names.
If it weren't for the last one... :) NP: Kammerflimmer Kollektief / Cicadidae

Steve McIntyre: Tenerife conference (continued)

I already started describing my time at JSLULL, the Free Software conference at La Laguna in Tenerife. It's been a few days since, and I'm now back at home and ready to summarise the rest. I should apologise up front that my memory of people's names is awful... :-( The slides from the talk are on my website now, in case anybody is interested, and my photos are up too. The original plan for Tuesday afternoon was to run a small Bug Squashing Party in one of the computer labs at ULL, but unfortunately this week the main internet link from ULL to Madrid had failed. It's a little difficult to work on bugs when you can't even get to the list, so we changed tack. Instead, I led a small workshop for interested people, demonstrating how to create Debian packages. About 8 people got involved, taking turns to drive the keyboard, ask and answer questions. People were keen to learn; there is a very active group in the University running the labs and other machines, and they were hoping to create packages of some of their own software to make maintenance and installation easier. I'm glad to help! ULL We went out to one of the beaches near Santa Cruz that evening, then headed back into the city later on for drinks and dinner. We had a very animated conversation about the use of Free Software in schools and local government, with the Spanish people and Knut Yrvin from Skolelinux trading interesting stories about their experiences. On Wednesday morning, a group of us rented a car and headed inland to visit El Teide, the huge volcano that dominates the Tenerife skyline. It's the first time I've ever looked down on clouds from the passenger seat of a car! We headed almost to the top, and visited the desolate plain just down from the last summit. It looked almost like a lunar landscape, untouched by water... Clouds! Later on that day, I headed back to the hotel in Santa Cruz and then on to the airport to catch my return flight to England. Carlos (again) had given up his time to chauffeur me around, and we chatting about all sorts of things while he drove south. Unfortunately, the flight was delayed by several hours because of mechanical problems. I would have been happy enough to have simply waited at the airport, but Carlos was having none of it. :-) He insisted we should go and have dinner together; we went for drinks at a beach bar, then up to his home village for a lovely meal. Eventually I caught my plane at 2:30am, and got back to England just in time to catch the rush hour traffic on the M25. Me and Carlos I spent a lovely couple of days in Tenerife, spending time and making friends with the very enthusiastic local Free Software hackers. I'd love to go back again soon and see more of the place. Thanks to all the of the people involved, you were very welcoming!

22 September 2006

Jonathan McDowell: A change is as good as a rest.

My Athlon XP 2000+ died at the end of July; it appeared to the be the CPU. I had a 1GHz EPIA-M Via board sitting around, so I installed that and figured I'd have a look at sexy Core 2 Duo kit eventually. I did, and I've ordered some, but I suspect it's never turning up and I have to cancel the order and place a new one (combination of wanting an Intel G965 based board given their decent Free driver support as well as a silent case that wasn't in stock but was a lot cheaper than elsewhere). However, I cracked and bought an XP 2200+ CPU off eBay. The Via just worked out too slow and the hot weather has passed so I'm less concerned about heat generation. Even though this CPU is only slightly faster than what I've had for the past 3 years the 2 months on a slower box makes me really appreciate it. Aside from the raw speed increase the Athlon also has 4 times as much level 2 cache (256k vs 64k), twice as much RAM (the Via only has 1 DIMM slot so had 512M, while my Athlon mobo has 2 so gets 1G) and a real video card (the Via CLE266 seemed quite poor; even when the system was unloaded I was sometimes seeing a couple of seconds lag in focus-follow-mouse. My ATI 9200SE is much nicer. And doesn't steal system memory.) Plus there's the fact I can put my 4 port serial card back in. Living with 1 port is so primitive. :) I know that what I've got now is still a lot less powerful that what lot's of people have on their desktop (and conversely I know people who'd be glad of the Via), but my point is more about just how grateful I am for it after only a couple of months on something slower.

Scott James Remnant: Upstart can now replace sysvinit

Today I reached another milestone in the development of upstart, the packages in universe can now replace the existing sysvinit package. Before trying this, make sure your installation is up to date as we’ve had to split out some parts of sysvinit into a new sysvutils package. If you’re up to date, and want to try it out, install the upstart and upstart-compat-sysv packages from universe. Note that the first reboot after you’ve installed the packages (from sysvinit to upstart) will be a little tricky … use reboot -f. If your system boots and shuts down normally, everything’s working just fine. Note that both will be somewhat more quiet than you’re used to, unless you have usplash running. Throughout the rest of this entry, I’ll try to answer some of the questions and comments that I’ve received since the last post. Events As I talked about previously, upstart is an event-based init daemon. Events are the primary force for having your services and tasks started and stopped at the appropriate time and in the appropriate order. So what are events and where do they come from? (Note that this part is under development, so may change in later releases). Events are just simple strings that may be sent by any process when something it is tracking the state of changes. They have no state or longevity, and if, when queued, they do not cause any job state changes, then they have no effect unless they are sent again. Jobs can list which events cause them to be started if they are not already running and which events cause them to be stopped if they are running. Multiple start and stop events may be listed, in which case the first to occur changes the job until the next one occurs. upstart itself generates the following system events: The shutdown tool included in the package also causes one of the following events to be sent once the “shutdown” event has been handled: Jobs also generate events whenever they change state, this is the primary source of events for ordering: And as mentioned, any other process on the system may send events through the control socket or just by using initctl trigger EVENT. For now this is just the event string, however it’s intended that the event may include other details including environment variables and even file descriptors. Typical example To clarify how it all hangs together, here’s an example (using fictional names) of how the tasks and events can be arranged to provide race-free mounting of filesystems. By breaking this job into these small tasks, we can see how the pieces fit together. Because everything is now done on events, there are no race conditions; we know that any filesystem listed in /etc/fstab will be checked and mounted. The only reason they wouldn’t be is if there’s an error of some kind, and that means you have larger problems anyway and the system administrator would have a shell to fix it. Of course, the moment they finish checking the filesystem and mount it, the boot process would carry on. There’s no reason that any of these events need to be generated by the upstart daemon itself, it can receive them from any other daemon on the system such as udev, acpid, etc. This keeps the focus of the init daemon narrow. A large part of the future development will be working out exactly what kinds of events we want init itself to generate, what kinds we want to come from elsewhere, and what the contents of an event can be. Getting Involved If you want to get involved with trying to nudge the direction of upstart development, you can join the upstart-devel mailing list at http://lists.netsplit.com/ Or if you just want to grab the source code, tarballs are published at http://people.ubuntu.com/\scott/software/upstart/ and the bzr archive is at http://bazaar.launchpad.net/\keybuk/upstart/main

Scott James Remnant: Having Left Debian

It’s been over a year now since my last proper upload to Debian, and nine months since I announced my intent to put aside working on Debian for a while. With Matthew Garrett’s resignation from Debian, several people have compared it to my own “resignation” from Debian. It has got my thinking about whether I currently intend to ever end my “Sabbatical” and return as an active Debian Developer. I think that the end of my love-affair with Debian started at Debconf last year where several developers treated those of us who also worked on Ubuntu quite rudely. Someone was attacked for wearing an Ubuntu t-shirt at the conference, while someone else was applauded for wearing a “Fuck Ubuntu” t-shirt. That’s where I realised that maybe I didn’t have as much in common with these people as I thought I did. I still don’t understand why Debian singles Ubuntu out for this kind of treatment, we’re still the only derviative distribution that makes all of our patches to Debian available, yet Ubuntu is claimed to not do anything at all. Another example is that Ubuntu is being asked to change the Maintainer field of every package, something no other derivative is being asked to do or has ever been asked to do. Martin Krafft has had some interesting things to say about this strange relationship in the past. If that was the start of my falling out with Debian, I think that Debian considering removing documentation and firmware from the distribution, especially the documentation, was another point I started wondering whether I shared anything in common with the project anymore. Call me strange, but I think that one of the fundamental purposes of a Linux distribution is to be useful to its users. If nobody can use the distribution because it doesn’t support their hardware, and even if it did, all the documentation has been stripped out; I started to wonder what it’s aims are. It became increasingly apparent that the only users Debian was considering a priority were its own developer. And the third thing is simply a matter of Fun. Fun for me, at the moment at least, has been to build a system that fits together extremely nicely with each component doing the right thing. For Ubuntu this has meant being a driving force for it being Linux 2.6 only, with reliance on udev for hardware, etc. Upstart is just a continuation of these goals, getting a system which all “just works”, even if it means throwing out a few things people were previously fond of. All of these things would have been impossible to do in Debian itself. Getting upstart installable required changes to twelve different packages, including sysvinit itself; at a worst case, this would have required the agreement of twelve different maintainers in Debian. It’s often exhausting just persuading one of the reason for the change, persuading a dozen would have been a herculian effort. Perhaps Matthew is right, what Debian lacks is a single leadership. There’s nobody in Debian I could have gone to for approval over the changes I wanted to make, whose decision developers cannot overrule. Ubuntu has such people (the Technical Board and sabdfl), which gives the project an obvious direction instead of a couple of hundred people all pulling in different directions. In a way, I don’t feel that I’ve left Debian. I feel like I was happily going along, only to realise the mob had gone in a different direction and with no easy way of rejoining the group.

Scott James Remnant: Parallel Peer Programming

Here at Canonical Towers we have several staff who worship at the altar of Extreme Programming, and as such many of the methodologies and rituals prescribed by that religion find their way into our day-to-day working practices. A few of these came together in an interesting way a few weeks ago, and it was suggested by a cow-orker that I blog about it so he could give the URL to people. The first ritual is that of the sprint, I don’t think this is orthodox XP but rather something inspired from it that we picked up from the Python community. With all of the Canonical developers scattered across the globe mostly working from their own homes, it’s become a useful tool; particularly for the Launchpad team. The basic idea for those that haven’t heard of it is simple, and perhaps obvious; you get a selection of the team together in one place, sit them around the same table with particular goals to complete. In effect it’s highly compressed facetime and high bandwidth interaction to nail those tasks that need it, before you head off again and work at a more sedate pace. The second is directly from XP doctrine and is that peculiar observance known as pair programming, something that is often coupled with sprints. For anybody who hasn’t encountered this before, it’s something I’ve always found rather odd. You get two programmers together, both itching to code, and you take one of them’s laptop away; and you don’t just force them to fight over the keyboard either, the laptop-less soul isn’t allowed to touch it. The theory here is that it frees the deprived individual of the hassle of coding and allows them to direct the programmer in ways that may not be immediately obbious, or alternately think about the next bit of work that needs doing. Another interesting side-effect is it can be an interesting way to learn code you’ve not worked with before, if you’re the one doing the coding and you’re being guided what to do by a sage who already knows it. I have a funny story here, so I’m going to digress from the main stream for a moment to tell it. A few months ago I was working in the London office, Mark had been up all night coding and had then given me responsibility to get his changes landed onto the Launchpad mainline. I’m not that hot on quite a bit of Launchpad, and fade to utterly clueless the nearer the code gets to the web application itself; and when trying to merge the two there were conflicts which I needed Mark’s help to resolve. Now as anybody who’s met Mark knows, he’s a pretty good example of a Type-A personality, yet he suggested that we do a spot of pair programming to get the code in and I’d be the one with the laptop as it’d help me get to grips with the affected parts. This hilighted something I’ve always seen as a problem with pair programming, dealing with it when the a person with the keyboard has a totally different way of working to you. In particular, I’m an emacs user, whereas Mark is a die-hard vim user; but also right down to the working directory I would work from, how I test results, etc. When you’re the one without the laptop, this can be quite infuriating, as you know exactly how to solve a problem and the idiot with the keyboard is dithering about doing things you don’t understand just to get there. If you’re a Type-A personality, you generally snatch the laptop away at this point and do it yourself; or at least you would, if you could drive the strange editor the other person uses. I swear Mark was sulking as he gave the laptop back and let me do it. Anyway, there is some relevance to that and we’ll come to it in a moment. The third and final methodology is the concept of unit tests and more specifically test driven development. For anyone who hasn’t come across this before, I highly recommend it; I was suspicious too when Robert Collins took it upon himself to teach me the true way, but now I’m sold. Simply the idea is that if you have any code that doesn’t have another piece of code in a test suite that checks that it’s working correctly, that code is broken. More particularly unit testing involves checking just one feature or requirement at a time, and stacking them together to test all of the code paths. I’ve actually found that this improves the APIs I design, as I write the code in small blocks and functions to make them easier to test. Test driven development takes it even further, you write the unit tests first, before you write the code they’re supposed to test; usually one or two at a time. Obviously these tests will fail at first, it’s then your job to write as little code as possible to make them pass. If your code isn’t right, you add a unit test that will fail, and modify the code to make it pass. This really comes into its own when you’re fixing bugs later, once you’ve identified the bug you write a test case or two that cause the problem; these will of course fail. You can then modify the code to make them pass, and at the same time be sure you’ve not broken other functionality because of the existing test suite. I’ve also found it really useful for particularly complicated or tricky pieces of code, especially those intricate algorithms that do particularly heavy lifting. So onto the event itself, this was a sprint in our London office to indoctrinate Gustavo Niemeyer with the various projects he’d be working on. The goal for this sprint was decided to start the conversion of HCT to Bazaar-NG, and to do this Gustavo and I would pair program. Now my last experience of pair programming had been that story with Mark (see, it had some relevance) and I knew I’d be just as bad if I wasn’t allowed to have the keyboard. I was also acutely aware that if Gustavo was just sitting by and watching, he wouldn’t get much benefit from it either, so he needed to be actively involved in the coding so he could learn the things he’d be working on. I came to what I thought was a pretty neat, and obvious, solution to these problems. We set up my laptop with the code we’d be working on, and on my display were two side-by-side terminals both running screen sessions. Gustavo then set up two same-sized terminals on his, ssh’d into my laptop from both of them and joined the screen sessions. In the left-hand one he ran vi, and in the right-hand one I ran emacs. Thus we both had keyboards, and both had editors, yet could see each other working and even steal the keyboard without danger of violence. We didn’t just sit side-by-side and code on different things though, that’s not pair programming and is just ordinary programming with a bit of a voyeuristic twist. What we did was: in my terminal I started writing the test cases for the code we needed, it was Gustavo’s job to write the code that would make them pass. We actually added a third terminal in which we could run the test cases themselves; so I could run them when I’d added something that would fail, and Gustavo could run them when he thought he’d made them pass again. This turned out to be a rather fun way to work, and at one point I was almost able to try and convince myself that the code was writing itself to pass the test cases I was writing. It also got me thinking that it’d be really neat to use genetic algorithms to breed code to pass test cases.

Clint Adams: 430EE1

Well, she didn't look as pretty as some others I have known, and she wasn't good at conversation when we were alone, but she had a way of making me believe that I belonged, and it felt like coming home when I found her. She seemed to be so proud of me just walking, holding hands, and she didn't think that money was the measure of a man, and we seemed to fit together when I held her in my arms, and it left me feeling warm, when I loved her. Because she brightened up the day like the early morning sun, and she made what I was doing seem worthwhile It's the closest thing to living that I guess I've ever known, and it made me want to smile, when I loved her. I know some of us were born to cast our fortunes to the winds, and I guess I'm bound to travel down a road that never ends, but I know I'll never look upon the likes of her again, and I'll never understand why I lost her.

21 September 2006

Russell Coker: more on vision

I had a few comments on my last so I decided to write a new post about it.

Firstly in regard to Elspeth's comment. I agree that children should wear glasses if necessary. That part of my entry was not clear, I was trying to make the point that I can understand children not wanting to wear glasses because they think it's uncool. But adults should make decisions on more important things such as what is best for their eyes. There are real reasons for needing eye surgery, if without glasses your vision is so bad that you are legally blind then an ophthalmologist may recommend surgery for that. In cases of extreme vision problems apparently a combination of surgery and glasses is required for good results. I also think it makes sense for people who need surgery for their work, for example athletes such as Tiger Woods. Looking cool is not a real reason for surgery, especially not for the small increment of coolness that some people believe is associated with not wearing glasses.

All operations involve some risk. Risk to your vision is not worth a small amount of convenience and possibly looking cool. Besides, it's widely regarded that people with glasses are more intelligent! ;)

Shintaro mentioned that there is a risk of retinal damage from being short-sighted. What I want to know is whether the risk of that can be alleviated if you wear glasses all the time? If you wear your glasses everywhere except in bed, in the shower, and in the sento, does that stop this problem? Maybe I should try and wear my glasses for more than the ~15 hours a day that I currently do.

Finally an anonymous poster noted that they didn't know anyone else who had an optical migraine. My ophthalmologist mentioned that it's rare to have a migraine that only affects the vision and nothing else. I feel fortunate to have it like that, the list of other migraine symptoms sounds very unpleasant. Of course only having had it once I can't be sure that next time it will be the same. I might get the nasty symptoms next time. :(

However one problem with what I experienced is that it came on suddenly with no warning. It would be very unpleasant to suddenly lose central vision while driving (I would have to hope that the ability to react to objects without consciously noticing them works well). Fortunately I have only been driving about 300K per month in recent years and I can probably reduce this. So the chance of it happening while driving is quite small.

Jordi Mallach: Temporarily blind

The other day I had an incident involving my vision. It has nothing to do with the vision problems many people had the other day, when someone posted some pr0n on various Planets. For some time already, maybe two or three years, I've had this weird vision problem at times, when I'd start seeing some black stains with some flashing lights , even with my eyes closed. These symptoms would go away after a few minutes, and washing my eyes with a good amount of water also helped. It happened a lot during mornings, and I somehow connected it to showering with too hot water, using a certain brand of shampoo (Say no to Revlon!) and shower vapour. When I described the symptoms to my mother, the reaction was the expected in a house of doctors and nurses: indiference. En casa del herrero, cuchillo de palo, for those who understand it. On Sunday I stayed up helping Bel n with her DEA paper until 5AM. I woke up at 7:30AM, and stayed at work like a zombie, until I had a chance to have a needed nap at 6PM. The problem was my nap was a bit longer than I wanted, and woke up at 9:15PM, still tired but no longer sleepy. I wasn't sleepy until 4AM, and next morning I accidentally overslept, and rushed out of the bed to get to work as soon as possible. While preparing, I suddenly noticed my vision went a bit blurry and strange. I thought it just was one of those stains , until I closed my right eye to rub it and all I saw was darkness. I totally freaked out. OMFG, I'm fucking BLIND . I wanted to phone someone, but wireless had broken down and I didn't have my mobile phone with me, so I tried looking at a text file I have in the laptop with some numbers on, when it ran out of battery. I grabbed my old mobile and failed to introduce the correct PIN three times. I went to the bathroom, covered my right eye, and yeah, there was darkness. If I waved my hand over my blind eye, I would barely notice some movement on the left side, but that was all. Still very frightened, I washed my eye thoroughly and to my relief, I was able to see the upper part of my field of vision. After some more, I had recovered all my sight. Whew. I managed to speak to Ra l on the phone, who told me this probably wasn't too bad, just the optic nerve being tired due to stress and so on. My mother also asked an opthalmologist at her hospital the day after, who confirmed this. It's probably caused by my recent whacky sleeping habits (basically non-existing), general stress, and long exposures to computer monitors. The doctor asked her if I had a headache, which I didn't the day before, but I had one the day after, when she asked. How do you know? , I replied. Last night I went to bed at 00:05 and managed to sleep eight hours for the first time in many months. I'm really going to make an effort to fix my sleeping habits, because they were quite fucked up lately, not catching up sleep even during weekends. On Monday I'll visit the doctor anyway, just to confirm all of this. Coincidentally, Russel Coker also had similar symptoms this week, and also blogged about it.

Clint Adams: The Creek of the Edmung Fitzcarraldo

Ola and Kari Dunk stared down the vale and the vale stared back with contempt. That would look so much better with a six-lane highway lined with strip malls! they declared, and plunged down the hillside until they came to the hobbithole of The Right Reverend Mr.-or-Mrs. Frump. Frump, they said, We're gonna build a six-lane highway lined with strip malls right through here! Aren't you totally excited or some junk? What? Right here? You want to demolish my hobbithole and my Creek of Piety? Frump demanded. Like, yeah, the Dunks replied. But you'll have a new, better house. We'll get you a double-wide trailer and bolt it to the side of an Arby's and it'll be totally radical. Um, that doesn't sound better, grumped Frump. Yeah, it'll be awesome, the Dunks continued. But if you don't like it, there's no problem. We'll just demolish your double-wide and get you a pre-fab polystyrene shack that you can staple to the side of a Borders. Anyhoo, you have no choice, so you might as well just embrace it! As they moved down the line, they encountered people who were willing to part with their homes for a promise of progress, and people who were more resistant than The Right Reverend Mr.-or-Mrs. Frump. Days passed, and on each day a few people would climb to the Dunks' ch teau and plead with them not to demolish their homes, and on each day some people would circuit the homes of the vale, offering various opinions. One group comprised Fulano, Mengano, and Zutano, and one one occasion this group bivouacked on the prow of the hobbitboat Sloop Johnny Five. When Frangelico Admiral Lady Bernard da Gamboa approached to confront the trespassers, Fulano shouted, Ha! Ha! You are being divisive and not a team player! and Mengano shouted, Ha! Ha! You are fucking assholes for being uncooperative and preventing us from getting a Filene's Basement! Why can't you just submit to the demolition and see what happens? It can't possibly be that bad! and Zutano said, Ha! Ha! This is not in actuality a sloop! and Frangelico Admiral Lady Bernard da Gamboa chased them overboard with a sugar cane. Up in the ch teau, the Dunks were negotiating real estate contracts. This is totally gonna be good for the vale! said the Dunks, and Fast Food Franchiser LeRoy said, Damn right it's gonna be good for the... for the what? and Corporate Conrad said, Look, we need to get this construction underway before the end of the fiscal year, or there's gonna be trouble, so let's get this done soon, a'ight? So the Dunks donned their Amulets of Eminent Domain and waltzed deftly into the vale and muttered, Look, um, we can't build this highway all by ourselves, so you're gonna have to help us. Fulano, Mengano, and Zutano cheered. Karel Novak, go help Ola and Kari, while we argue about politics on Usenet! they cheerfully suggested, and Karel Novak joined the Dunks. Frump and da Gamboa gestured obscenely toward the demolitionists. Janez Novak (no relation to Karel) screamed out, HOW CAN YOU BE SO RUDE TO YOUR FELLOW HUMAN BEINGS? THEY HAVEN'T DONE ANYTHING TO DESERVE THAT! THEY ARE JUST TRYING TO HELP YOU! ANYHOO, THERE HAS BEEN CONSTRUCTION IN THE VALE BEFORE; HOW DO YOU THINK YOUR HOMES WERE BUILT? , Jon Dilianger-Heys prepared a nice mushroom salad, and Corporate Conrad tapped her watch.

Adam Rosi-Kessel: Unity Rally in Roslindale

Massachusetts held its primary election yesterday and strangely enough, my preferred candidate for governor, Deval Patrick, won overwhelmingly, by a nearly two to one margin over both of his competitors. In past years, the primary election has been followed by a “unity breakfast” the next morning so all the losing candidates can pledge fealty to the winner. As the breakfast has become a tired tradition identified with “old politics,” they did away with it this year (perhaps at Deval’s urging). Instead, again to my surprise, they held a unity rally about a block away from my house in Adams Park (no relation) in Roslindale. Deval was introduced by Boston Mayor Menino, a politican who has somehow turned a complete lack of public speaking skills into an asset: Deval’s speech was pretty great. A little something for everyone, and genuinely engaging. I attempted to record it on my pocket MP3 player, but apparently I ran out of batteries early on so it’s not worth posting. Although Deval has been cast as the furthest left of the candidates, I was struck by his extremely moderate position on most issues. (Standardized testing: good, but needs improvement; economics: need to have several bottom lines, including a profit bottom line and a people bottom line; personal responsibility needs to be balanced with societal responsibility; etc..) Anyway, the crowd loved it: Apparently there was no experienced political handler present to orchestrate this event. Deval’s charismatic speech was followed by several less important and less eloquent speakers. Usually, you would want to build up from worst to best. In any event, Chris Gabrieli, the second place finisher, has rebounded instantly and was up there committing to work every day until November on getting Deval elected — I won’t be surprised if Gabrieli ends up in a development-czar role in a Patrick administration. The last place finisher (and original frontrunner) Tom Reilly was nowhere to be seen, a fact that I’m sure will be prominent in tomorrow’s reporting on the event. Where’s the unity without the Attorney General? Everyone’s bracing for a horrid onslaught of fear-mongering campaign ads from the Republicans. My hope is that Massachusetts citizens are a bit wiser than the rest of the country and it will backfire. I won’t hold my breath, however. (As a side benefit, I finally met Adam Gaffin, universalhubmeister, for the first time, as well as his eight year old daughter Greta. Greta is now famous for rejecting Deval Patrick’s plan for longer school days.)

20 September 2006

Simon Richter: Wacky ideas #2: splitting Installed-Size by partition

On a lot of systems, the Debian installation is spread over a set of partitions. This makes it pretty difficult for a package manager to determine whether unpacking a package is possible at all, since assuming the worst case would mean that all partitions have to have Installed-Size kilobytes free. However, the set of "sane" partitioning schemes is pretty small, so I think packages could list the amount of space required on the root, usr, var partitions, respectively, and the package manager would just add the numbers up if it found that some of them are on the same partition.

David Welton: Who calls what how?

We're having quite an interesting discussion on the Hecl mailing list about the semantics and syntax of the language (since it's in its early days, we get to do that!). I have some questions for those of you reading this, if you have time to comment. Hecl inherits a lot of things from Tcl, which is both a simple, and amazingly flexible language. One of the things that Tcl lets you do is modify the value of a variable. For instance, set x [list 1 2 3] ; lappend x 4;. However, what is at times confusing for people is that to get the value of a variable, you place a dollar sign in front of the variable: lindex $x 0 would return 1 for instance. To some people this is all quite intuitive, because commands that modify the variable take its name, which is then looked up in a hash table and fiddled with as needs be. So we have constructs like if $n == 10 incr n . To other people, especially those who come from the Perl and PHP worlds, variables always have a $ in front of them, so the Tcl way of doing things doesn't make as much sense. Even for experienced programmers, it can at times require a moment to recall how a particular command works. lappend foo ; lrange $foo ; lset foo ; lindex $foo and so on. On the plus side, this is all very easy to implement, and really isn't that difficult to figure out. One avenue I've pursued with Hecl is to be able to pass references around, instead of variable names, so that all commands just take "a variable": lappend $foo x instead of Tcl's lappend foo x, and so on. For the moment, I've also enabled proc's (user defined commands/functions) to receive references to variables passed to them, so they can modify them. This is both powerful, and dangerous:
set x 1
proc foo  v   
    set v [* $v 10]
 
foo $x
puts "foo is $x" ;# $x is now 10
(Well, not exactly, but that's the general idea). We are considering ideas like marking the variables that may be modified in the proc definition to reduce the danger of people shooting themselves in the foot. In any case, it increases consistency, because commands that modify values always take a $variable. That still leaves commands like set foo 10 (others are proc, foreach, and catch) that take variable names to be created, rather than $variable $references, so perhaps to someone who comes from the world of PHP, it's still not as clear as it could be. We're also considering some radical changes, for the sake of not excluding any particular direction: taking a more lisp/ruby/python like approach, and not using dollar signs for variables (except perhaps in string interpolations). This has some slight disadvantages in terms of requiring quotes around more things (in Tcl, you don't need to quote single world strings). This might result in code that looks something like this:
proc test  name code result   
   catch code res
   if   eq res result    
       ok name
     else  
       fail name res result
    
 
proc testfiles  files   
   global ok
   global failed
   # clear success/error list
   set ok [list]
   set failed [list]
   foreach f files  
   puts "Running $f"
       source f
    
 
Which isn't bad, although in some places, I think the added syntax of $ helps to make it clearer, at a glance, what's what. eq $res $result is just that much quicker to pick out. This is especially true if you stash a command name in a variable. In other words, set p puts ; $p "hello world" might be a bit a bit clearer than set p "puts"; p "hello world", but... it's definitely "eye of the beholder" territory, and depends on what you're used to! In any case, it's been a very interesting process, and I've greatly enjoyed the company of Alexandre Ferrieux and Wolfgang Kechel on the list, as well as my friend Salvatore Sanfilippo. They're all very bright guys with good ideas, which makes for lots of thought-provoking discussions. Where you come in, if you've made it this far... is what kind of syntax and semantics you prefer, and why? Call by name? By reference? Modifiable values? Tell me what you think!

Brett Parker: I think I've gone insane...

So, today was "interesting", but aside from the working part of the day, I was in a pub... Now, this isn't a new experience for me, as most people will know... but anyways - the subject came up about "religion" (kinda), as I don't actually believe that anyone exists, but do believe in the fact that I find myself in this environment that I can't actually prove does or doesn't exist, and that I then deal with that on a day by day basis of "shit, it's time to go to work..." my view on the world may be "a little" skewed by other people's standards... So, anyways - it came to a point where someone was saying that "animals" don't do "xyz" and so they can't be as intelligent as us... now my view on this is that animals may have already done xyz and decided that "survival" in this environment is the key to sucess, ergo basic instinct assuming that they all know mortality (which if they didn't the wouldn't reproduce) is that the *only* thing in this world that actually matters for any given species is survival of the species. Now, that being the case, and the general case being survival of the fittest, why on *earth* did we invent this medium (the internet) for talking to each other - do we *really* need to know what's happing several thousand miles away? If we ditched the technology and went back to our roots, what seperates us from the thousands of other species on the planet? Isn't it possible that other species have already been through the stages that we are still going through, come out the other end and worked out that, actually, on balance, it's better to hunt/gather and survive than mess with the delicate balance of nature? So, get out the way the messy politics, the correctness, the complete stupidity that is current human nature and go back to the basics - eat, sleep, hunt/gather... we've ended up making the world a much more complicated place than it actually needs to be... and, at the end of the day, what do we actually gain from this? Anyways - just a random brain dump after a potentially stupidly long chat in an establishment that is setup purely to intoxicate it's customers... Night peeps. Brett.

19 September 2006

Tollef Fog Heen: Formulating iCalendar in SQL

I am currently working on something which hopefully end up being a good calendar server. The goal is to make it easy to add new frontends such as a CalDAV frontend, a Web frontend, etc. So far, I am just working on getting the data model right. The iCalendar RFC has a data model which I am trying to formulate into SQL, something which is ending up being quite hard. Shannon Clark blogs about why calendars are hard, and all of those issues are issues I am running up against when trying to make the data model. The main problem seems to be related to time zones, more closely: "How do you store timezone information in your database". The easy (but wrong) solution is to just normalise everything to UTC. This will not handle the case of events crossing timezone changes, such as to or from daylight savings. What I am currently considering is making sure all data in the database is stored in UTC, but also store the original time zone information. While a bit more complex, this allows applications to get back the same timezone they put in (I am not convinced Evolution will be happy if the timezones are renamed, for instance) and it allows my application to generate recurring events properly. My main issue with this is having the application responsible for making sure the data in the database makes sense, but without putting half my app in PL/perl, I can not see a way around that. Oh, and if anybody has great ideas on how to represent timezones in a relational database (postgres), please do mail me or grab me on IRC or something similar.

Alexander Schmehl: Funny or cruel?

I don't know if it is some kind of strange humor or (accidental?) cruelness; in any case it's quite interesting, that friends always offer you jobs, as long as you still have one...

Next.

Previous.