Search Results: "ana"

26 November 2007

Evan Prodromou: 4 Frimaire CCXVI

Long weekend of travel and family, and now we're back on our way to Montreal. I spent most of Thanksgiving weekend with my father's family in New Jersey, where he and my mom both grew up and where 4 of his brothers and sisters still live (and their kids, and so on). We left Montreal on Tuesday afternoon, had dinner in Albany, and got down to Newburg (New York) in the early evening. The next morning we spent several hours at the nearby Woodbury Common Premium Outlets, which was about as crass and consumeristic as it sounds. But the loonie is still strong, and it's nice to buy some clothes. I especially like buying things a few sizes smaller than what I had to get a few months ago. Wednesday night we got into Hillsborough, NJ, where my Aunt Barbara lives, and visited with her and her family. Barb has four great kids -- Phillip (16?), Maddy and Vicky (14?), and Nick (13?), who are all my cousins despite being at least 20 years younger than me. When Amita June was too tired to move we hit the hay for the night, and in the morning we all hung around playing Wii sports (even AJ!), and had a hearty dinner in the early afternoon. Then we went to my Uncle Paul's for dessert, coffee, and a nice 2003 Ramos Pinto Vintage Port that we brought along. Friday and Saturday we spent at my Aunt Helen and Uncle Marty's house in Highland Park (New Jersey). They have a great 100-year-old house right by the Raritan River, and it was really nice seeing them. We had dinner with Paul and his wife Eileen on Friday night, and we saw the lighting of the Christmas tree in Princeton. Today we started the two-day trip home. It's not really that long a drive -- about 6-10 hours, depending on the route and kind of weather -- but we like to split it up into two days, since we have a 2-year-old aboard. We stopped in New York (city)/Queens to see our friend Jen for brunch at a nice place called Quaint, where I got a good house-cured salmon and Maj had an excellent bowl of granola. Amita got some nice challah french toast, which she wolfed down with the help of her kind parents. Tonight we stopped in the Pioneer Valley in Massachusetts to sleep over. I like this part of MA, and the New York Times had a recent article about its bookish culture, called In the Valley of the Literate. We had a nice quick dinner at Bueno Y Sano in Northampton, and we'll stick around tomorrow for more shopping (books! Whole Foods!) and a little site-seeing before we head home. It'll be good to be back in MTL, though. I miss my bed, and we only have a few weeks there before we're off again to California for Christmas time. tags:

Montreal SantaCon Speaking of Christmas, one of the things we'll be shopping for tomorrow is santa costumes. Friday, November 30th is SantaCon Montreal 2007. SantaCon is a world-wide anarchic cluster-together of goofballs and lunatics who go rampaging around their town from bar to mall to bar in full Santa costume (or Mrs. Santa, or elves, or reindeer, or something similar). Everyone's invited, nobody's in charge, and a fun time is had by all. SantaCon started in the 90s in San Francisco (like everything), but I never managed to go. I finally went to SantaCon in Austin in 2001, and had an amazingly good time. My pals at The Ministry of Truth have photo evidence here and here and here. There's nothing like overflowing a bar with 100 of your new best friends, all dressed like Santa, dancing and goofing off and having a good time. It brightens up everyone's day. Anyways, we'll be picking up Maj the beginnings of an outfit here on the US side of the border, so she'll be able to accessorize with her own bits and pieces. I'll probably pick up a couple of spares for friends in Montreal, too. I'm really looking forward to the event -- it should be a good time. There's a Facebook event for people who go for that kind of thing. tags:

le Sans Fil to go municipal I was excited to read (via Steve Faguy) that our beloved local community wireless group, le Sans Fil will be providing wireless to many parks and open spaces around Montreal. This is great news for Montrealers -- the city had previous vowed up the street and back that it would never have a municipal wireless program of any sort. So good deal. It sounds like it's going to be a tough job -- I don't think wiring up outdoor spaces for wireless is anywhere near as easy as doing caf s or homes. And I think it's going to be tough to show value -- after all, people are only outdoors in parks in great numbers during the few warm months of the year here. And when people are out in parks, they're not usually checking their email -- they tend to do more outdoorsy things. But my guess is that park culture will adapt to the new resource pretty well. Congrats to SF -- I think they're a great organization that's up to this new challenge. tags:

25 November 2007

Manoj Srivastava: Manoj: Filtering Accuracy: Brown paper bag time

After posting about filtering accuracy I got to thinking about the test I was using. It appeared to me that there should be no errors in the mails that crm114 had already been trained upon but here I was, coming up with errors when I trained the css files until there were no errors, and then used a reg exp that tried to find the accuracy of classification for all the files, not just new ones. This did not make sense. The only explanation was that my css files were not properly created and I thought to try an experiment where isntead of trying to throw my whole corpus as one chunk at a blank css file, I would feed the corpus in chunks. I cam up with an initialization script to feed my corpus to a blank css file in 200 mail chunks; and, while it was at it, renumber the corpus mails (over the years, as I cleaned the corpus, gaps had appeared in the numbering). I have also updated the retraining script Voila. I am getting a new set of css files which do not appear to show any errors for mails crm114 has already learned about in other words, for mails it has seen, the accuracy is now 100%, not 99.5% as it was a couple of days ago. While it is good news in that my classification accuracy is better than it was last week; the bad news is that I no longer have concrete number on accuracy for crm114 anymore the mechanism used now gives 100% accuracy all the time. The funny thing is, I recall going through this analysis a couple of years ago, where I predicted that one could only check for accuracy with a test corpus that had the same characteristics as real mail inflow, and which had not been used for learning. That wold mean I would have classified testing corpus that could improve the efficiency of my filter, but was not being used to provide accuracy numbers I have gone for improving the filter, at the cost of knowing how accurate they actually are.

Holger Levsen: five in seven and four in one

On friday the 16th I blogged that I hoped to manage to upload five package in the next seven days and I've made it! Yay!

Ok, for the last upload I cheated, I uploaded it 5 minutes after midnight UTC, while normally I'm on MET :) The packages I uploaded were: olsrd (new upstream release), tuxmath (new upstream release, I already blogged about it), tuxtype (just adding Vcs-pseudo headers), debian-edu-doc (made it through NEW already, yay, more in a dedicated blog post soon) and batmand (closing ITP #405588, still in NEW. This package was mostly prepared by Wesley Tsai, thanks and I'm looking forward to meet you in December :)

Yesterday I was too busy with RL and with preparing the upcoming Debian Edu r1 release to blog about the above and now I'm also not really in the mood to add more links and information (like how to provide translations for tuxtype, tuxmath or debian-edu-doc...)

Because my current mood is: happy and hungry! Very hungry.

I've spent the morning reviewing the last four packages for the r1 edu release, accepting them into our etch and sending announcements, which were eaten by a configuration problem. But the listmasters are aware of the problem and I'm confident they'll resolve it soon. Otherwise we can't send the release announcement out, something I'm really looking forward to finally see happen after four months of work! The only things left to do now are testing and finishing the release notes and the press release :)

Out for lunch!

Roland Mas: Gforge news, November 2007

Apparently some people worry that Gforge may be abandoned, or on the verge of being superseded with the proprietary "Gforge Advanced Server" rewrite. Let it be known that I for one have no plans to switch to Gforge AS, for all the reasons you'd expect from a free software user and advocate: I don't have access to the source code (it's made illegible by some sort of industrial PHP obfuscator), I can't hack it because the license doesn't allow me to, I can't audit it for security flaws, I can't adapt it to particular needs, etc. Since a significant part of my income comes from maintaining Gforge instances for clients, with local modifications for their particular needs, it's an economical necessity that Gforge stays free. And evolving. Right. Having said that, I guess I have to show concrete evolutions in addition to principles and ideals. So what changed recently? All this has committed and uploaded to Debian. As usual, please test and report failures. Plans for my foreseeable future include: Places where help would be most welcome: There. That was the news. Now for a bit of trivia: it's amazing how having a metric of one's productivity gives an incentive to increase it. I found mine on Ohloh, which provides code and license analyses and statistics on free software projects, as well as statistics on commits by contributors. They even have a shiny widget with a scrollable timeline showing commits over time, as well as comparative commit graphs. My obvious personal goal is to get up to the first position among the contributors, but of course I wouldn't complain if the current top committer stayed ahead by springing back into activity.

Gunnar Wolf: Goran Bregovi sends me northwards

What does this topic mean? Hmh... Maybe you don't know Goran Bregovi , a magical Bosnian musician, one of my all-time favorite artists. I have long loved Eastern European music (but I was mostly familiar with the Klezmer style, linked to Ashkenazi Jews but not necessarily performed by them anymore (i.e. Kroke), but it is thanks to Goran that I got familiar with the Balkan style... What can I say about it? It has an addictive rythm, and it has the folk sound of (even very similar instruments to) the Mexican tambora. It is a must-hear genre, in short. There are many magical Balkan music groups, I cannot just recommend one - But if I could, it would be Goran's :)
Now, why is he sending me northwards? Because Goran Bregovi is coming to Mexico - To the Northern city of Monterrey, some 1000Km north from Mexico City - He will be performing at the Forum Universal de las Culturas Monterrey 2007, on September 22, at the Explanada Plaza 400 a os.
I know already of a couple of friends who are definitively going, who are searching for the best airfare... This will be something to remember!

Steve Kemp: You're not going to end up like your mum and dad

I've been working on updating my online film list since Thursday evening.I have some code which will convert static data-files containing film entries into a browsable HTML site. The next job is to actually go through all our DVDs and make sure the lists are correct. I've updated all our TV shows, and I've made an initial pass at making sure all our films are present but it'll take me a few more days to ensure the lists are completely correct. In the past I used to browse my list of films via my mobile phone to make sure I didn't buy duplicate films (more than once in the past I had managed to do that!) These days I don't seem to need to, but it is nice for organizing and it appeals to my love of lists.. I'm not sure which is worse, me doing it or Megan taking one look and saying "That's so cool!".

24 November 2007

Julien Valroff: OOoCalc limitations

I have brought some work with me to be able to catch up during the week-end. Usually, I take a laptop running Windows which allows to connect to our network through a VPN the credentials of which I am not in possession of. This time, I just want to make some analyzes on spreadsheets (created on MS Excel). I have tried to use OOoCalc for the first time in “work conditions” - ie. I expect a little bit more than the basic features, which was source of disappointment. Autofiltering feature does not allow wilcards in the conditions. Even advanced filters do not seem to allow them. I want to select columns which contents end with ‘00?’ (ie ‘00′ followed by any unique character), and I can’t. I have read some posts talking about regular expressions in filters in the old 1.x series, but can’t find anything related in the documentation of the current series - regular expressions seem to be used only for the ‘find & replace’ feature. Moreover, you cannot set more than 3 conditions in autofilter, which is not a lot (I am not sure that previous releases of MS Excel were better). I am fully aware of the advanced filters which do allow up to 8 conditions, but I must say they are not easy to use on a day to day basis. Filters are mostly considered as visibility filters, which means if you apply a filter and use the ‘Fill down’ feature, hidden cells are also filled in. At least it is not the case with copying & pasting: only visible cells are copied. These limitations (bugs?) as well as the old existing bug regarding the decimal separator make it impossible for me to use OOoCalc for my work. I guess I could easily achieve to do my work thanks to OOoBase, but the data I want to extract need to be used and amended by collaboarators who exclusively use MS Excel. Are there any advanced users able to work around these issues?

22 November 2007

Jonathan McDowell: Getting Linux talking to a Nortel VPN

At work we're currently in a managed office, which means we don't control the network in any way. As a result we're all individually VPNing back to the lab network in the US. Not a great situation, but it does the job while we work out what's happening with our own building and a local lab. The HQ end is running on a Nortel Contivity. This causes a bit of a problem; I need a working VPN setup in order to work, but the Nortel stuff is non standard. How to get it going under Linux so I can switch from XP to Debian? I found 3 options, in order of preference: vpnc There's a Nortel branch of vpnc, though it's from an old release (0.3.2). There are some reports of it working ok, and quite a few of problems. vpnc gains points for being entirely Free software. http://ubuntuforums.org/showthread.php?t=441042 has some further details. Novell VPN client Novell have a hacked up version of ipsec-tools that adds http://forge.novell.com/modules/xfmod/project/?turnpike, a framework for different types of IKE. They have a novell-nortelplugins package that has a binary plugin supposedly supporting Nortel VPN access. Not quite as nice as vpnc, but it's still userland and does use the kernel's IPSEC stack. Apani Nortel client Apani do a commerical Nortel VPN client for Linux, as well as Windows CE/MacOS and Solaris. It's not that up to date (supports up to kernel 2.6.18, though there are patches that get it working on 2.6.22) and involves a binary blob kernel driver, but they do claim to offer support for it and it's where Nortel will point you for single client licenses. I have, of course, ended up with the (paid for) Apani client. I tried vpnc and the Novell client but couldn't get any degree of success from them. VPN remote ends don't really provide a lot of feedback (which is understandable - it hardly wants to tell me if I'm failing on a username, password, or something entirely different) and I don't have any access to the Contivity device to read its logs. I think the main issue is that my connection has no IPSEC group id or password, and both vpnc and the Novell stuff ask for that. The Apani client is happy with just my username and password, which I think is used for some corruption of xauth. At some point I'll try fighting vpnc again, but for the moment I have my VPN connection working under Debian and thus I'm back to Debian at work. As an added bonus the reaction of my coworkers has been good - instead of "Why would you want to?" I've had comments like "I wish I'd installed Linux when I started." and "Actually, I might do that myself after Christmas."

Russell Coker: Drugs and an Election

As mentioned in my previous post [1] the government is using our money to advertise its policies. I previously covered the “Internet as a threat to children” issue, the other big one is drugs. The first significant message in the “Talking with your kids about drugs” document concerns the criminal penalties for drug use. That could largely be removed if the penalties were dramatically decreased and if hard drugs were administered to registered addicts for a nominal fee. Forcing addicts to commit crimes or work as prostitutes to pay for their addiction just doesn’t work, economically or socially. The next message is that parents should be involved in their children’s lives and be trusted enough that their children will accept advice. A large part of this would be related to the amount of time spent with children which is determined to a large degree by the amount of time not spent working. As I mentioned in my previous post it seems that the actions of the Howard government over the last 10 years has made things significantly worse in this regard by forcing more parents to spend large amounts of their time working (including situations where both parents work full-time) just to pay for a home. One notable omission from the document was any mention of alcohol problems (apart from when mixed with illegal drugs). By many metrics alcohol causes more harm than all the illegal drugs combined. The US attempted to prohibit alcohol and failed dismally, and alcohol is legal in most countries. The government doesn’t want to adopt a harm-minimisation approach to drugs (which bears some similarities to the approach taken to alcohol) and therefore is stuck trying to claim that one somewhat addictive mind-altering substance is somehow inherently different to all other mind-altering substances. The document provided no information at all on harm minimisation. The idea seems to be that it’s better for some children to die of overdoses than for other children to potentially be less scared of the consequences of drug use. The problem is that children are very bad at assessing personal risk so they simply won’t be scared off. It’s best to provide equipment for testing drug purity etc to reduce the harm. The list of reasons for young people to try drugs starts with “availability and acceptability of the drug“, Parmesan cheese is more available and acceptable than any drug but I’ve been avoiding it at every opportunity since I was very young. :-# More serious reasons in the list include “rebellion“, “depression“, “as a way to relax or cope with stress, boredom or pain“, and “to feel OK, at least temporarily (self-medication)“. But predictably there was nothing in the document about why children might consider that their life sucks to badly that they want to rebel in that way, be depressed, stressed, bored, or in pain to a degree that drugs seem like the solution. It seems unreasonable to believe that the school system isn’t a significant part of the cause of teenage problems. Flag poles for flying the Australian Flag [2] seems to be John Howard’s idea of a solution to school problems. I believe that the solution to school problems (both in terms of education and protection of children) is smaller classes, better supervision, an active program to eradicate bullying, and better salaries for teachers. I’ve written about related issues in my school category. I believe that the best thing for individual families to do is to home-school their children from the age of 12 instead of sending them to a high-school (which is much more damaging than a primary school). Another significant issue is drug pushers. They are usually drug users who try to finance their own drug use by selling to others. As most drug users get the same idea there is a lot of competition for sales and therefore they try to encourage more people to use drugs to get more customers. In the Netherlands, Coffee Shops sell a range of the milder drugs at reasonable prices which removes the street market and therefore the pushers. When drugs are produced commercially the quality is standardised which dramatically reduces the risk of infection and overdoses. When drugs are sold by legal companies they are not sold to children (a typical pusher can be expected to sell to anyone). The document has 3.5 pages of information about some of the illegal drugs (out of 23 pages total). They include all the most severe symptoms that most users don’t encounter. If someone reads that information and then talks to a drug user they will be laughed at. They also group drugs in an unreasonable way, for example listing “marijuana” and “hashish” as synonyms and list problems that are caused indirectly. If alcohol was included in that list it would include beer and methylated spirits (ethanol mixed with methanol to supposedly make it undrinkable - rumoured to be consumed by homeless people) in the same section and imply that blindness and other bad results of drinking “metho” apply to beer. It would also say that alcohol kills many people through drunk-driving and is responsible for rapes, wife-beating, and any other crime which can statistically shown to be more likely to be committed by a drunk person. A final issue with the document is that it advises parents to be “informed, up-front and honest” when talking to their children about drugs. Unfortunately the document itself doesn’t demonstrate such qualities. By omitting all information on harm minimisation it is not being up-front at all, and by not mentioning alcohol it’s simply being dishonest. Anyone who tries to convince someone else to not use illegal drugs can expect to hear “but you drink alcohol” as the immediate response from the drug user, it’s necessary to have sensible answers to that issue if you want to be effective in discouraging drug use.

Wouter Verhelst: Four DVDs

A week or two ago, I went to the local standaard boekhandel to use the gift certificate that my mother had bought me for my birthday (which was in may). For the 50 of that certificate, I bought me the Dutch version of 1984, plus 4 DVD boxes: one with Hitchcock's Psycho, one containing Superman Returns, another one of Dances with wolves, and a final box containing David Lynch's masterpiece Mulholland Drive. Not a bad deal, I must say; especially as the latter two boxes were on a "buy one, get one free" promotion, where those boxes each had a second DVD with a different movie. For Dances with wolves, I forgot which one it is; but for Mulholland Drive, that was The Singing Detective. Now if anyone ever tells me that 20 for a DVD with a single movie is a reasonable price, then, well, hah. Anyway. I hadn't seen Psycho before; but in a past life where I did drama school, we had some classes about this movie. As a result, some of its secrets were spoiled, and I didn't enjoy it as much as I probably would have had I not had this knowledge beforehand. Still, it was an enjoyable experience. If you've never seen this movie, shame on you! Go to the local video store, and rent it. Preferably in its original black & white form, not the 1998 remake. Dances with wolves is a pretty interesting movie, too. Of course, as I'd seen part of it before, I already knew that. Superman Returns is not bad, as a no-brainer entertainment movie. It's nothing beyond that, however. Finally, Mulholland Drive is strange. Back in 2001, when the movie first came out, I went to see it at the local movie theatre; it is one of those complex movies which, once you've finished seeing it, will still leave you puzzled until you see it a few more times. Few other movies ever manage to do that to me (I think the only other one is Pulp Fiction). At the time, I planned to watch the movie again as soon as possible, but for various reasons that didn't happen; and now, after six years, I had almost completely forgotten the plot. Which is good, really—I enjoyed it much more. And I think I got it, this time; rather than trying to find the logic in the plot, I just went with the flow, which helps a lot. The other two I still have to see. But hey, there's still time, right? Oh, and 1984? It's nice how you want to scream and yell when the system completely takes over Winston's mind. An interesting book.

Russell Coker: Internet and an Election

Before the election was called the Howard government (being unethical in every way) started using public money to campaign. Part of this election campaign was two documents sent out to every home (AFAIK) coupled with a media campaign, one was about children and drugs, the other was about children and the Internet. I have to wonder how many people were fooled by this, including a picture of John Howard on the first page after the index made it pretty clear what the purpose was. Before I analyse the content of the documents one thing to keep in mind is the cost of the Iraq war, which the Sydney Morning Herald [1] estimates at $3,000,000,000. Note that this doesn’t include the life-long medical and psychiatric care that some veterans will require or the cost to the economy of such people not being productive tax-payers. It does note that 121 employees of the Australian military have been discharged on medical grounds. If each of those 121 people was disabled in a way that significantly impacted their life then the cost could be as much as $242,000,000. Let’s not assume that everyone who is currently serving and regarded as completely fit will be fine in 10 years time either. The Prime Minister gives a personal introduction to each document, the “NetAlert” document states that $189,000,000 is being spent to protect children on the Internet. The “Talking with your kids about drugs” document states that “more than $1.4 billion” has been spent to combat illicit drug use, I’m not sure what time period that covers - it seems to be his entire 10 years as PM so that would be $140,000,000 per annum. Obviously declaring a war of aggression against Saddam Hussein is something that he considers to be more important than protecting Australian children. Now the content of the NetAlert document. It starts with $84,800,000 to provide access to “the best available internet filtering technology“. I have to wonder, how much would it cost to develop some new Internet filtering software from scratch, or what the opportunity cost might be to re-assign resources from organisations such as CSIRO to the task. I expect that in either case the total would be a lot less than $84,800,000. Developing free software for the task would be a much better use of resources and would also allow cooperation with similar programs in other countries. In the unlikely event that $40,000,000 was required to develop such free software it probably wouldn’t be difficult to get a few other governments to kick in some money and make it $10,000,000 per country. Of course saving $70,000,000 doesn’t sound like much (a mere $3 per person in the country), but it is significantly more than the Free Trade Agreement with the US [2] was supposed to bring in (from memory it was promoted as improving the economic position of the country by $50,000,000 but the best available information is that it made our balance of trade worse). $43,500,000 in additional funding for the police to combat online child sex exploitation is small but OK (it would be better if some of that $84,800,000 had been saved on filtering software and allowed greater expenditure in this area). But it should be noted how child rape in Aboriginal communities is used as a political issue and nothing constructive is done about the problem [3]. I believe that protecting children against rape is far more important than controlling illegal porn (which is where the majority of that $43,500,000 will go). Another possible avenue of research would be on more secure computer systems for Australian homes. It’s all very well to install some filtering software, but if the PC running the software in question is hacked then it’s immediately turned off. Attacks that involve turning web cameras on without the knowledge or consent of the owner are not uncommon either, it’s not unreasonable for a child to get out of bed and then do some homework on their computer before getting dressed - with an insecure computer and a web-cam connected this could be a bad thing… If the Australian government was to mandate that all government data be stored in open formats and that all communication with government computer systems can be done with free software (as a matter of principle you should not have to buy expensive software to communicate with your government) then the incidence of insecure desktop OSs would decrease. The document does recommend some basic OS security mechanisms, but if you use an OS that is insecure by design it’s not going to work. The core message of NetAlert is that children should be supervised when using the net. There is one significant problem with this, full supervision of children requires that at least one parent is not working full-time. In a previous post I compared median house prices and median incomes [4] with the conclusion that even with both parents working it’s difficult to afford a house. It would be difficult for a single income that is below the median to be used to pay the rent on a decent house. So it seems that a significant portion (maybe the vast majority) of Australian families will be forced to do what the government would consider to be a compromise of the Internet safety of their children by having both parents working full-time jobs to pay off a large mortgage (or in some cases merely to pay rent). I believe that making houses more affordable would improve the protection of children and provide other significant benefits for society. If you look at chart 1 and chart 2 on the House Prices research note from the Australian Parliamentary Library [5] you can see a significant increase in the difference between CPI increases and house prices increases since 1996 (when John Howard became Prime Minister) and a significant increase in the ratio of house prices to average income. The charts only include data up to 2006 so don’t show the effects of the Howard government’s “workplace reform” which lowers wages for many people who are below the median income. John Howard is responsible for houses being less affordable and parents being forced to spend more time working and less time supervising their children, I find it offensive that he now tells people to spend more time supervising their children. The document does have some good basic advice about how to supervise children and what level of supervision is necessary. The problem is that children from an early age know more than the typical parents. I doubt the ability of typical Australian parents to implement some of the supervision suggestions on 12yo children. I have been considering writing my own documents on how to filter and monitor child Internet access but the main problem is determining ways of doing so that can be implemented by someone who is not a computer expert. In summary, the Howard government is responsible for reducing the supervision of children and therefore exacerbating the problems that they are claiming to solve. Their NetAlert program provides some information that can’t be implemented by the majority of Australians and entirely skips some of the most sensible steps such as using only secure OSs on machines that will be used on the Internet. I believe that Fedora and CentOS should be recommended by the government in this regard because of the combination of good security by default (of which SE Linux is only one component) and the ease of use. Computers are cheap enough that most families with good Internet connections (the ones at risk in this regard) have multiple computers so no extra cost would be incurred.

Antti-Juhani Kaijanaho: Planet Debian RSS 2.0 feed is broken

Tollef Fog Heen asks:
Also, why does bloglines link to the completely wrong place on dburrow’s posts? It links to http://planet.debian.org/tag:blogger.com,1999:blog-$blah rather than the real URL.
I think I know why. I don’t know which Planet feed Tollef is reading, but a look at the Planet Debian RSS 2.0 feed is illuminating. Looking up Daniel’s entry, we can find the following sub-element:
<guid>tag:blogger.com,1999:blog-12729767.post-4989856010680867140</guid>
Looking at the RSS 2.0 specification, we can find the following note:
If the guid element has an attribute named “isPermaLink” with a value of true, the reader may assume that it is a permalink to the item, that is, a url that can be opened in a Web browser, that points to the full item described by the element. An example: <guid isPermaLink=”true”>http://inessential.com/2002/09/01.php#a2</guid> isPermaLink is optional, its default value is true. If its value is false, the guid may not be assumed to be a url, or a url to anything in particular.
Thus the Planet RSS 2.0 feed claims that tag:blogger.com,1999:blog-12729767.post-4989856010680867140 is a valid URL. There is no basis for this claim in Daniel’s Atom feed, as that string only occurs inside an id element, and RFC 4287 specifies that the string cannot be assumed to be dereferencable.

21 November 2007

Wouter Verhelst: Debian work

Been a while since I did so much Debian work in a fairly short time. Today, I finished work on belpic 2.6.0, the support software for the Belgian electronic ID card. My initial builds wouldn't work since I made some stupid (no, really, stupid) errors in properly using that ugly beast, but eventually I saw the light. Working packages are now in incoming, and will soon be on a Debian Mirror Near You(TM). Oh, in case you wonder: the difference between 2.6.0 upstream and 2.5.9 upstream is pretty small, mostly some housekeeping bugfixes; meaning, if 2.5.9 is working for you, there's probably no need to worry about getting the update. I've also added some extra changes to the packaging bits, so that you now no longer have to install the -dev packages just so you can use the browser plugins. Isn't that nice. I did some more work on getting emile, the Early Mac Image LoadEr, to work properly again. Unfortunately, after the initial 0.10-1 upload that I did to Debian, none of my other builds managed to actually work on my test machine. Since I don't want to break existing machines that are using emile, I didn't think to upload those non-working binaries; but now with #451415, I can't ignore that problem any longer. I think I've nailed it now, though, and once barok (my IIci) has finished building (which will take a few hours), the packages should work. Cross your fingers. Finally, I've also prepared an upstream bugfix update of nbd, the userland support tools for the Network Block Device in the Linux kernel, and have uploaded a package from that release into Debian. As if that wasn't enough, and since I genuinely care about the state of my packages in Debian derivatives, I've poked some Ubuntu-people to get it synced there, too. I guess I'm back in shape now.

Daniel Burrows: Good ideas in customer service: kill the hold period

The lender for one of my student loans has apparently started using a rather cool system to manage incoming customer service calls. If all the call-takers are busy, then instead of forcing you to sit there listening to a call telling you how important your business is to them, they let you request a call-back. They ask you to enter a phone number where they can reach you, then give you a time window in which they'll be calling (in my case I think it was about two minutes wide). When my turn came up, they called me and I was able to speak with a human immediately.

This is such a huge improvement over the typical call center experience that I'm amazed it hasn't caught on more broadly.



I'm guessing that this option will be available in more and more places as companies computerize their telephone systems. Another nice twist, if there are any telephony guys reading this, would be to allow me to request the customer service call from a Web page, eliminating the toll-free call altogether and presumably saving some expense for the company.

An interesting question for me is how they generate those estimates of when they'll be able to help you. I'm guessing that they use some queueing theory to estimate the most likely wait time for the next incoming customer, but this is something I have only a fuzzy awareness of. However they did it, the estimate seemed accurate enough to me.

20 November 2007

Russell Coker: Perfect Code vs Quite Good Code

Some years ago I worked on a project where software reliability should have been a priority (managing data that was sometimes needed by the police, the fire brigade, and the ambulance service). Unfortunately the project had been tainted by a large consulting company that was a subsidiary of an accounting firm (I would never have expected accountants to know anything about programming and several large accounting firms have confirmed my expectations). I was hired to help port the code from OS/2 1.2 to NT 4.0. The accounting firm had established a standard practice of never calling free() because “you might call free() on memory that was still being used”. This was a terribly bad idea at the best of times and on a 16 bit OS with memory being allocated in 64K chunks the problems were quite obvious to everyone who had any programming experience. The most amusing example of this was a function that allocated some memory and returned a pointer which was being called as if it returned a boolean, one function had a few dozen lines of code similar to if(allocate_some_memory()). I created a second function which called the first, free’d any memory which had been allocated and then returned a boolean. Another serious problem with that project was the use of copy and paste coding. A section of code would perform a certain task and someone would need it elsewhere. Instead of making it a function and calling it from multiple places the code would be copied. Then one copy would be debugged or have new features added and the other copy wouldn’t. One classic example of this was a section of code that displayed an array of data points where each row would be in a colour that indicated it’s status. However setting a row to red would change the colour of all it’s columns, setting a row to blue would change all except the last, and changing it to green would change all but the second-last. The code in question had been copied and pasted to different sections with the colours hard-coded. Naturally I wrote a function to change the colour of a row and made it take the colour as a parameter, the program worked correctly and was smaller too. The next programmer who worked on that section of code would only need to make one change - instead of changing code in multiple places and maybe missing one. Another example of the copy/paste coding was comparing time-stamps. Naturally using libc or OS routines for managing time stamps didn’t occur to them so they had a structure with fields for the year, month, day, hours, minutes, and seconds that was different from every other such structure that is in common use and had to write their own code to compare them, for further excitement some comparisons were only on date and some were on date and time. Many of these date comparisons were buggy and often there were two date comparisons in the same function which had different bugs. I created functions for comparing dates and the code suddenly became a lot easier to read, less buggy, and smaller. I have just read an interesting post by Theodore Ts’o on whether perfect code exists [1]. While I understand both Theodore’s and Bryan’s points of view in this discussion I think that a more relevant issue for most programmers is how to create islands of reasonably good code in the swamp that is a typical software development project. While it was impossible for any one person to turn around a badly broken software development project such as the one I describe, it is often possible to make some foundation code work well which gives other programmers a place to start when improving the code quality. Having the worst of the memory leaks fixed meant that memory use could be analysed to find other bugs and having good functions for comparing dates made the code more readable and thus programmers could understand what they were looking at. I don’t claim that my code was perfect, even given the limitations of the data structures that I was using there was certainly scope for improvement. But my code was solid, clean, commented, and accepted by all members of the team (so they would continue writing code in the same way). It might even have resulted in saving someone’s life as any system which provides data to the emergency services can potentially kill people if it malfunctions. Projects based on free software tend not to be as badly run, but there are still some nasty over-grown systems based on free software where no-one seems able to debug them. I believe that the plan of starting with some library code and making it reasonably good (great code may be impossible for many reasons) and then trying to expand the sections of good code is a reasonable approach to many broken systems. Of course the ideal situation would be to re-write such broken systems from scratch, but as that is often impossible rewriting a section at a time often gives reasonable results.

19 November 2007

Evan Prodromou: 28 Brumaire CCXVI

I'm glad to note that there's been a lot of movement over the last few weeks for the Montreal Coworking space. Patrick Tanguay, who's been organizing the project, let me know recently that we're closing in on a space. Which is just fantastic. Coworking is a loose term for a number of different ways of working together. The term is most commonly used for a kind of shared office where participants pay for either a fixed space (their own desk) by the month, or they pay for the use of a pool of free spaces (shared desks) on a daily or part-time basis. There are the kind of office resources, like WiFi, conference rooms, printers, copiers, etc. that you expect from an office, but unlike most shared-office situations, there's also an emphasis on community and communications. It's a great kind of work environment for people who would otherwise work at home or in caf s, such as freelancers, contractors, and startuppers -- or for people visiting from out-of-town. I've been to a couple of the Bay Area (California) coworking spaces -- the one at Citizen Space in San Francisco and the one at SocialText in Palo Alto. Both were convenient, fun, and social -- a good place to get some work done. Patrick's been working on a Montreal coworking space for a while -- talking to the City and neighbourhood development organizations -- and he's settled on a space in Mile End. It looks pretty fantastic. You can see the pictures and a map at the Montreal Coworking Web site. I've been working out of the house for about 5 years, and I really like the freedom and convenience it affords. That said, I'm really looking forward to having a more formal environment to work in than my home office. It's great here, and I feel very comfortable, but it would be nice to be out of the house. I also tend to meet with contractors and partners at local caf s, which can be distracting -- I'm looking forward to having meeting rooms. There's a 5 7 ("sank ah set" -- it's what we call a cocktail party here in Montreal) planned for people who'll be involved in the site planned for this Wednesday, November 21, at Bar Inc. (250 Mont-Royal Est). I won't be there -- we'll be in New Jersey by then -- but I hope others interested in the coworking take the chance to go. tags:

JS-Kit and data portability I've been a big fan of JS-Kit since I heard about it. I featured it in my list of 10 Web APIs for LinuxWorld, and I use it on my own personal site for comments. But one thing that concerns me, and that I've asked for clarification from JS-Kit about, is data portability. If they went out of business (heaven forfend), or if I figured out another cool way to do comments on my site, I'd like to be able to migrate old comments to the new system I'd build/use/buy. But as far as I can tell, there's no interface to download all comments on a site (either in HTML or some other structured format). I think this is going to be a key issue for people building Web sites with UI widgets in the future. It's a really, really useful way to make sites, but I don't think many developers are going to be willing to invest in a platform with no "insurance" that they can be flexible in the future. Sure, it's free of charge, and it seems kind of mean to use the poor JS-Kit folks and then move on to someone else -- but realistically it's an option you need for development. tags:

One-liners Some other stuff I'm thinking about today:
  • On the "upcoming events" front, we've got some plans to make BarCampCanada1 happen here in Montreal in May 2008. I'm not sure how that's going to shake out, but I'm excited about the possibility of a nationwide BarCamp.
  • I'm interested in Heather Ford's and Jimmy Wales's 50 parties idea - having fifty parties in one year to bring together local Free Culture people. I think we should have a party here in Montreal. Maybe in the Spring...? Maybe to coincide with BarCampCanada1?
tags:

Benjamin Mako Hill: My Balkan Tour

I recently mentioned that I would visiting some friends at mi2 in Zagreb and would be traveling around the Balkans a bit to give some talks and workshops. Here's what the current plan includes: If you're in Novi Sad, Belgrade, Ljubljana, or Zagreb and would like to meet up, please consider coming to the events and exhibitions. If you can, and especially if you can not but would like to meet up anyway, feel free to drop me an email and let's try to organize a meeting. Thanks go to Tomislav Medak and Marcell Mars who organized System.hack(), this whole tour, and who helped do the work to bring me over. I'm looking forward to the next couple weeks.

Russell Coker: WTF - Let s write all the code twice

There is an interesting web site WorseThanFailure.com (with the slogan “Curious Perversions in Information Technology”) that documents amusingly failed projects. The name used to be TheDailyWTF.com but changed due to the idea that for some projects success (interpreted to mean limping along in production) is worse than failure (being scrapped and re-written). I’ve created a new category WTF [1] on my blog to document such projects, both ones that I have personally witnessed and ones that friends and colleagues have seen. In the 90’s I spent some time working on an OS/2 GUI program to be the front-end for a mainframe backed system used by call-center workers. The first thing that they did was to develop a file naming scheme, they decided that all source files should be in the same directory (not unreasonable), but that 8.3 should be the limit of file name lengths in case there was a need to port the system to Windows 95. The fact that porting a program which did little other than display a GUI and talk to a S/390 server to a different OS was difficult (given the large amount of platform specific GUI code) was lost on them. Then they decided that the first two letters would be “FE” in case the source was merged with another bank project (of course the bank had many “Front End” systems talking to mainframes - so even this didn’t guarantee that they would be free of name clashes). Characters 3 and 4 were to represent the section of the program, and as the 3 character extension was one of “.h” or “.cpp” that left exactly 4 characters to name the file - we may as well have numbered the source files. Eventually one of the guys started making jokes about the file names by trying to pronounce them as words and that convinced a majority of the developers that the files should have long human-readable names. As the NMAKE expert (they insisted on not using unsupported software such as GNU make) it was my job to fix all the file names. The bank had an internal users’ group for the C++ development environment, but the contractors were not invited to attend. You might think that it would make sense to have the most skillful C++ programmers attend the meetings and share their knowledge, but apparently attending such meetings was a perk of being a permanent employee. What do you do when you have a C++ development project running behind schedule and a permanent employee who has had no prior exposure to C++ and wants to learn? One manager believed that assigning the junior programmer to the project is a solution to both problems - it was good for teaching the programmer C++ in a hurry but not so good for the deadline. There was a lot of excitement related to the back-end development. The mainframe guys assured me that CICS could never handle bad data and it totally wasn’t their fault if my program sent bad data to them and the region crashed. The first CICS region crash occurred when the mainframe guys told me to make the unused space in text fields “empty” - to a C programmer this means filling them with the 0 character but it killed the CICS region (apparently “empty” means filled with spaces to CICS programmers). A later region crash came when they told me to change the field length for the account name everywhere that it occurred - they told me that they wanted the change immediately - so I changed a macro definition, ran “make”, and sent a transaction with the changed size. Apparently “immediately” really meant “after we have spent an hour of software development changing magic numbers throughout our system”. I’m assuming that COBOL has some facility that roughly compares to C macros for defining field lengths and that it was the programmers not the language that was at fault. When the project became seriously behind schedule they hired some expert programmers from another country to help with the development. The experts decided that we needed to redesign the system (not that it had been designed in the first place) to use a “model view controller” architecture. When the real business logic is all on a S/390 and the only logic in the front end is to combine the contents of some screen-scrapes from a virtual 3270 terminal into a single GUI dialogue (with the first screen occasionally getting data from the IVR system) the benefits of MVC seem rather small. The new MVC version of the system was dubbed “phase 2″ and there were a series of deadlines for changing over from “phase 1″ which were missed. So the original team of developers continued on their project without any help from the “experts”. The last report I heard (some time after leaving the project) was that Phase 1 had gone live in production while Phase 2 was still being developed (at that time Phase 2 had a year of development and Phase 1 had about 15 months). The lesson to be learned from this is that management should only hire people that they can control. If you hire a consulting company and then let them do whatever they want (as opposed to solving the problem that they were hired to solve) then at best they will do no good and they may just slow things down. One of the more memorable incidents was when the project manager was talking to his 2IC, he said “I think we’re really breaking ground, [pause] I’m breaking wind and we’re breaking ground”. My desk was a few meters from where the wind (and ground) were being broken, I unfortunately was able to verify that wind was being broken but was not as certain about the ground. I did learn some useful things during this project, one was the fact that sample code from library vendors should not be trusted and ideally should be read from a print-out not pasted into the project source tree. The CTI library vendor had buffer overflows in their sample code. Another useful thing was the coin-tossing method of dispute resolution. If two good programmers have a disagreement about how to implement something tossing a coin is a quick way of resolving the dispute - this only works with two good programmers (in which case either idea will work). The project in question was messed up in many ways. I may write another post in the WTF category about it.

Peter Van Eynde: The patient is healthy but dead

Three weeks ago I was scanning in all our old analog pictures from the APS cartridge. I've found a nice guy who rents out an APS capable scanner in .nl.

While I was scanning this in on Adele (my iMac) I thought: let's reconfigure Frost (the Debian build machine, backup server, iTunes server and fileserver), so I did a final backup to a FW external HD and inserted a Debian net-install CD. Which failed to install.

A bit confused I tried an older Debian release, which got slightly farther, but it still failed with a write error. So in the end I booted a recent Ubuntu installer, apt-getted the smart utilities and got a report on the disk. The disk claimed it was healthy. However it used 100% of its replacement sectors and gave read errors all over the place. Oh and a write error on sector several sectors.

Lessons learned:
  1. Ask for smart support in the Debian installer
  2. Install the smart daemon on the next server
So now I'm looking round for a nice Q6600 based server, using an intel motherboard with buildin graphics (maximum Linux compatibility) 4GB ram and 1TB of disk. This turns out to be a problem. None of the big vendors want to sell me a powerful, silent, computer with only Intel buildin graphics, they all insist on throwing in some nVidia or ATI incompatible POS :-(. And the smaller companies all want to sell me 'Gamer' PCs, with the same POS cards. So I have to find somebody who will build to spec but will still give me some warranty...

Not having Frost means that I am not able to do any Debian uploads :-(. Not that I'm not buzzy: I've got 3000 pictures to name, tag and date... (and in some case reimport because iPhoto things that they are raw pictures instead of the 48 bit tiff images that they are)

18 November 2007

Evan Prodromou: 27 Brumaire CCXVI

I've been getting really interested in the new crop of Linux-based operating systems for mobile devices. I got a Nokia N800 earlier this year, which I've found really useful -- although a little frustrating, too. And I've been following the developments on OpenMoKo with great interest, too. So last Monday, when Google Android came out, I offered to give an experienced developer's opinion of the development kit for Network World. I spent most of the afternoon trying out the SDK, checking out the documentation, watching the presentation videos, and working on sample applications to get a feel for it. I'm pretty impressed with Android, and I think it's got a good shot to become the Open Source mobile application platform. I think that whoever wins in this space has the chance to shape how all mobile phone platforms work in the future, and to take a good chunk of the market. Opening up the phone platform to allow a real marketplace of third-party apps is, I believe, going to be a huge advantage for whoever can make it work. I think the main two contenders in the area are well ahead of Android so far, but they're really going to have to capitalize on that lead in the next 8-10 months before the first Android handsets are set to hit the market (late 2008 -- although we'll see about that schedule). And I'm not sure they've got the means and commitment to do it. Nokia has been screwing around with the N series of Internet tablets for a while. Which is great -- the operating system is clever, the GUI ("Hildon") GTK-based, and development in Python on the platform is a breeze. The basic tools -- media player, RSS reader (ingenious), Web browser, email, etc. -- work well. However, for unexplained reasons, Nokia hasn't put a damn phone into the thing. If there is a similar device that does everything that the N800 (or N810) does, plus has a phone in it, which one are people going to buy? It seems obvious to me. The other interesting OS is OpenMoKo, which I think is a great project with exactly the right goals. However, there's been some disappointment in the enthusiastic community around the OS as schedules have slipped and the developer preview devices shipped without a functioning dialer app. These two projects will have to fight uphill against the fear, uncertainty and doubt generated by the Android announcement and SDK release, even to stay in the game. And, to be fair, Google's announcement was masterful: classic vaporware -- for a product that won't be shipping for at least a year. But they got a pretty solid list of partners for the platform to sign on (albeit with only vague requirements for support). Best of all, they released a one-two punch of a bunch of developer information videos with tantalizing views of a nice-looking potential device, and a good SDK with tons of documentation and developer tools. It even includes an emulator that looks like a little phone. Awww! Android is slick, it's deep, and it's well-designed. The architecture is smart and sophisticated without being too clever for its own good. It's built on conservative -- maybe a little too conservative -- twin pillars: Java and Linux. For hardware providers, there's Linux's tried-and-true driver framework. For applications developers, way up at the top of the stack, there's good ol' boring Java, with new and smart APIs targeted specifically for mobile device apps, all on top of a new virtual machine called Dalvik that (supposedly) optimizes the hell out of Java bytecode. I was really impressed that the emulator emulates much more than just the Java APIs -- you can build ARM binaries in C that run on the thing. Very nice. Am I still going to get an OpenMoKo device? Maybe. But I'm going to continue playing around with the Android SDK, and looking for early developer versions of Android-supporting devices? Oh, yeah. Oh, and the article I did the research for is here; strangely it ended up on ComputerWorld rather than NetworkWorld. OK for me, though. tags:

More about me and my cool life So, I talked yesterday (Journal/27 Brumaire CCXVI) about how much weight I've lost in the last few months, which has been great. Another thing that's been going on for me is that I've started using the Getting Things Done process for scheduling my tasks and my time. I've never been particularly good at managing my time, but at least I've always known that however late or irresponsible I might be, my brother Ted would always be later. But when I visited San Francisco in August, Ted was really doing great. Friends and family kept telling me how responsible and down-to-earth Ted seemed lately. And whenever he had an idea for something to do, he wrote it down in his little Sidekick device. Ted showed me how the GTD system worked for him, and so I went out and bought the book and started reading it. I have been doing GTD for a few months now, and I've found it really satisfying. I don't worry as much any more about little things that I should be doing -- they're all captured in my system. It's really gratifying. I don't know if I've been quite as successful as Ted in improving my personal productivity, but I do know that I'm feeling a lot better about things and about myself. Which is really all that matters. tags:

Skating away Maj, Amita June and I went ice-skating today. It was AJ's first time out on the ice, and she really enjoyed it (most of the time). We had a couple of spills, mostly because it was really my first time skating with a 2-year-old, and partly because it was her first time skating with anyone. We went to the indoor rink near our old house on rue Cartier at the corner of Marie-Anne. Pretty soon we'll be able to go outside on the pond at Parc Lafontaine. catching our breath Maj isn't really a big skating fan, but she seemed to have a good time this time around. Which made three of us. I think we've got the makings of a Sunday-afternoon family tradition. We'll see, at least. tags:

More one-liners
  • I'm glad to see that the Mister Wong logo contest I talked about a while ago (Journal/21 Thermidor CCXV) has borne fruit. The top 12 logos look pretty good.
  • Maj and I have been catching up on season 3 of Deadwood lately. Great show, nice to see that season three is as solid as previous ones.
  • We've got RecentChangesCamp coming up in San Francisco in February 2008 (I think). Anyone interested should get involved at http://aboutus.org/RCC2008 .
  • What's the best alternative to the Sitemaps protocol for people who are into RDF? I'm thinking you could just make a hugantic RSS 1.0 feed -- after all, it is the "RDF Site Summary" format. Best of all, most search engines consume RSS as a recommended feed format. I'm going to try it with Vinismo and let you all know. The downside: I'm not sure many processors will handle a 100,000-item RSS feed very well.
  • Norman Mailer died just as I got around to reading the copy of ''Oswald's Tale'' I stole from the Driskill Hotel last year at South by Southwest. I can't help feeling responsible.
tags:

Next.

Previous.