Search Results: "beh"

26 January 2010

Rob Taylor: The Semantic Desktop, SPARQL and You @ FOSDEM

In a couple of weeks at FOSDEM, I ll be giving a talk in the GNOME developer room on the semantic desktop and showing the new world of interaction that RDF, SPARQL and Tracker make possible. I ll be joined by Philip Van Hoof and Roberto Guido. We ll be digging behind the buzzwords, explaining what it s all about and most importantly showing off cool real-world apps using this stuff. We ll also announce a competition for the coolest app using Tracker and RDF, for which Codethink will sponsor a prize. See you all there! I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting

24 January 2010

Russell Coker: Old Mobile Phones as Toys

In the past I have had parents ask for advice on buying a digital camera for a young child. For some years there have been digital cameras on sale for much less than $100 cheap enough that no-one will be THAT bothered if the child breaks it, so digital photography is a good hobby for a young child. Such cameras are however quite bulky and require AA batteries which often don t last that long between charges. Some of the cheap phones are large enough that a 3yo child can have trouble carrying them. I recently gave an old LG U8110 phone to a young child for use as a camera. The phone has a 640*480 resolution camera and a display that is a few centimeters wide. It s no good for any remotely serious photography, and among other problems I never managed to get it s USB connection to work so the only way I ever managed to get a photograph off it was to MMS it to a newer camera. But it s quite adequate for a child to play with, it s small, light, and the battery stays charged for ages. Also the phone has a clock built in which is a handy feature it seems that nowadays the trend in society is away from wearing a watch and towards using a mobile phone to discover the time. Also a phone is a fairly capable computer, I think that the first two computers that I owned had significantly less CPU power and RAM than an LG U8110 and lots of newer phones compare well to PCs that were manufactured in the mid 90 s. The trend has been towards having an increasing number of applications and games on phones which of course gives more things for a child to play with. I believe that playing with computers that have a variety of different user interfaces and sets of applications is good for the education of young children. Now to make a phone work you need to have a SIM. If a phone was designed by someone who was intelligent and who was acting on behalf of the owner of the phone then it would support the camera etc without a SIM. But it seems that mobile phones are either designed by idiots or they are designed to act on behalf of the phone companies to the exclusion of the customer s interests, so I haven t seen a camera-phone that is usable for any purpose other than calling the emergency services when there is no SIM installed. Fortunately it is possible to get old SIMs, I had one that was replaced due to an intermittent fault that caused calls to drop out. I also have some SIMs from other telcos that would probably work (I m not sure whether a phone that is locked to one carrier will take photos if a SIM from another carrier is installed). Update: It seems that there is a range of phones that operate without a SIM, a Nokia N900 (if you consider it to be a phone rather than an Internet tablet), an Android, or a phone running the Symbian OS. I suspect that the majority of phones that are currently in use and due to be replaced soon will require a SIM though. One final notable aspect of giving a phone to a child is the possibility of it being used to call emergency services (which will work even when there is no SIM or a SIM that is not associated with an account). If you are planning to give a phone to someone else s child then you should ask the parents first, some parents believe (either correctly or incorrectly) that the chance of their child making prank calls to the emergency services is too great. A present that a child receives which is undesired by their parents will probably get lost or broken quickly When such a phone gets broken by a child (they are tough, but almost everything that is used without restriction by a child gets broken) the next thing to do is to disassemble it. With modern design and manufacturing probably all that a child could really learn from a phone is how the keyboard works and not even that for a touch-screen phone. But it s still a good experience for a child to take apart old machines. When I was young my father gave me many old machines to take apart, I had a lot of fun and learned some interesting things. I find it really sad to see those boxes for recycling old phones at the mobile phone stores which are full of 2yo phones that are mostly in good condition. Almost everyone has some young relatives or friends who have children who could find a good use for that stuff. Send the bits to be recycled AFTER the children nearest to you have finished doing things to the old phone!

Russell Coker: Preventing Children from Accessing Porn

The following was written by Stefano Cosentino in regard to the ongoing efforts of the Australian government to censor the Internet with protecting the children as an excuse. All these Internet filtering ideas that have been in the news lately has made me voice my own opinion on the matter as a non-expert. I m an IT advisor. I take someone s problem and help them fix it. I have a few clients who provide laptops to their students, everything is done with these laptops. The students have no books. The school provides laptops to their primary school students as well as their high school students. They have done this long before the public system started to hand out laptops to a select number of high school students. When you provide a child with anything, there are always areas where a child will find that you may have overlooked. In fact, a young kid will probably find a host of things that you might have totally missed or didn t ever know about. One of these things is the inappropriate nature of information you may find that are associated with computers. This can be anything. But specifically, what the filtering argument has been about has been leaning towards Internet pornography and I would imagine, more specifically content of a pedophiliac nature. I m not against child pornography being banned or filtered. I personally think this is one of the most cruel, inconsiderate, disrespectful and self centered behaviors a person could display. Their psychological makeup isn t the scope of this article. However these ideas must be conveyed when discussing the Internet as a modern technological device that can be used for both good and bad. The primary school students that I attend to aren t very interested in this stuff and as it has been mentioned long ago by others who have joined this argument, are more interested in online flash games that include characters such as Ben 10, Pokemon and Yu-Gi-Oh. When I m called in to scan these computers during the school holidays and hand the laptops back to the kids or when they get handed back after 3 years for new ones, I find that the older primary school kids computers are usually more prone to the adult orientated content. To me this is the first sign of a filter s failure. This customer of mine spends more money on the filtering devices they use on campus than I charge them for a few days of work. Does it work? Sadly, I hate to report that no, it does not. It s completely useless. The kids still have files and traces of files on their computers that isn t suitable for young children. Not only pornography but also content of a violent or morbid nature. As young and impressionable people, everything they read, see and hear is absorbed. This shapes the way society will become in years to come. Since no one can realistically tell the future, wouldn t it be nice if we could make sure that the people looking after us and our lives forty or fifty years from now have a sane mind free of blemish? It s a different story for the high school children. While scanning their laptops I have to contact the police on a daily basis because of the nature of the content I find during my day. Some things you can let slip, today s version of a pinup girl, or a provocative pic of whatever skimpy clad girl the record companies are flogging off these days as musicians. But sadly that s rare. I won t go into detail of what I find on these laptops of 14 year old boys, but it ranges from some innocent growing up curiosity right to perverted, sick and most if not all of the time, illegal content. The filters fail again. The kids find a way around it. And they find it easily. I ve seen filters work and not work at all with young kids right through to young adults. All the filters do is either hinder the poor kids actually trying to do research of scholastic nature or prolong the inevitable and temporarily block a determined child s interest in the search for some adult related material. The filter might prevent accidental viewing but it doesn t stop the deliberate finding of pornography and other illegal content. How does a filter stop this from happening? How does a filter stop a child taking their parents adult videos and copying them to their laptop or finding dad s stash of Penthouse? How does it stop a school mate bringing this stuff to school to show everyone at lunch time or to trade for other content they found by other means. Remember back to when you were their age and caught a glimpse of your big brother s room wall. How many times did you try and catch a peak at that Samantha Fox poster hanging off the wall? Where s the filter now? Here s some thing to think about. The filter shouldn t be a thing, it should be a person. They re called responsible . They re called parents. What priorities do parents have if their child feels that what they look at online that is of an adult nature is acceptable? Or maybe the kid knows better, knows it isn t acceptable but still goes out of their way to get the stuff on their computer? Sneaker Net still exists, USB memory sticks are cheap and can now have two or three straight DVD rips on them, or perhaps five or six encoded films on there. Hundreds and thousands of images and so on. Filter failure again. When the kids go online, they know of the technology used to block them from gaining access to what they want to see. Chances are, they ll know what a proxy server is and does. Then they ll figure out what they need to do to get around the filter. I, myself did this back in high school and TAFE when I couldn t find photographs of a particular device I was researching. Turns out the name is also a form of sexual activity, in another language, but still. The filter stopped me from not only looking the offending content but also to look at the legitimate data that I needed to complete an assignment. I got around the problem by researching some more information and the following day I was breaking through firewalls and proxy servers with easy. Filter failure. How do I get around this issue when speaking to younger kids that need guidance and knowledge on how to deal with this situation? I hold talks at the school I provide my services to. I talk to the parents, no kids. The talk costs less than a broken filter they keep throwing money at keep up-to-date. The school puts these filters in place to appear responsible, because while the kids are attending their school, the school is in fact responsible. In fact, there is nothing more the school can do. They could educate the children, but you can tell someone what to do, and the chances of them doing it are pretty dismal. Music is not allowed on their computers either. Yet we constantly find iTunes on there and a host of music that traces to certain peer to peer applications where they acquired the stolen music. If a kid can learn how to do that, imagine what sort of influence can be placed on them from a more positive angle. Like maybe parents providing an explanation for starters of what it is they re looking at. What it is they ll find online. What material is inappropriate. What material should you tell an adult about. Why do I get stupid emails with Russian girls wanting to marry me. Kids absorb everything. Parents have relegated responsibility but not delegated it. This filter idea might help slow down a child s enthusiasm to learn about everything, both good and bad. But educating the kids from an early stage in life about morals and the modern world where lets think about it, we have absolutely everything we need and want at our finger tips will be more valuable than any filter. But the fact that we have so much available makes it difficult to say what is and isn t appropriate for a child to see. It is up to us to inform the children of what s out there is the world. It may or may not stop them from seeing the adult related content, but it will help them respond to it in a mature and adult manner. We all know, kids aren t stupid. So, if the filters worked, why am I called in once a year, every year to give my talk to parents?

23 January 2010

Jan Wagner: new nagios-plugins (1.4.14-1), now also installable on kfreebsd and hurd

Last night here at BSP I released nagios-plugins (1.4.14-1), which has a couple of fixes and enhancements. For more information, see the changelog.
The main change may, that with this version, the package should be installable on non-linux archs, where iputils-ping is not available. The downside of using inetutils-ping is, that its behavior is different from iputils-ping. As result of this, check_ping will timeout much often, even if there isn t any problem and you will have false positives. As suggested long ago, at least on this archs, you should consider to replace the use of check_ping with check_icmp.

22 January 2010

Erich Schubert: Sun Java - happy 9th birthday, user-affecting rendering bug.

It seems that Sun doesn't care much about getting bugs fixed in Java.This bug for example causes rendering artifacts in Apache Batik, and is very visible with many SVG files. It causes circles to be rendered as approximated diamonds. It has been reported 9 years ago (the first time, there duplicates).I understand that there are both more important bugs, and that one must avoid introducing new bugs when fixing bugs. But there should be little dependencies on a broken circle rendering routine, so please just fix this cosmetic bug, too. One of the reports is even staged "Fix understood" ...A more important issue with Sun Java (known since 2005) is this bug, which effectively breaks Java IPv4 networking on Debian unstable now (which recently changed the IPv6-to-IPv4 fallback behaviour). So far, Sun has rated this as "request for enhancement". WTF?Sure, you can work around the bug easily - change /etc/sysctl.d/bindv6only.conf to use the value of 0 instead to re-enable IPv4 fallback - but after all, IPv4 networking is pretty much an essential Java feature.

Russell Coker: Three Monopolists

  1. This afternoon I tried to unlock my old Three mobile phones for the purpose of getting cheap net access as described in my previous post [1]. I wanted to use Dodo 3G Internet (via the Optus network) for my parents which would cost them $139 per year and I wanted to use my old Three phone tethered to their PC as the 3G modem (cheaper than buying a new 3G modem). I took in 3 Three phones to the Three store to get unlocked, I actually have 4 old Three phones (my wife and I are each on our third Three phone) but I seem to have misplaced one. It turned out that the two newer phones (LG U890) can t be unlocked as they are permanently locked to the Three network. The older LG U8110 can be unlocked, doing this took 30 minutes of the Three employee speaking to other Three employees on the phone and I will now have to wait 4 days to receive an SMS with the unlock code. So the Three anti-competitive behavior of making it unreasonably difficult to get a phone unlocked and of selling phones that (supposedly) can never be unlocked wasted them 30 minutes of store employee time when other potential customers were queuing up as well as 30 minutes of employee time in their call center. If the call-center employee was based in Australia then as the minimum wage is $14.31 per hour [2] that would have cost them at least $14.31 for 2*30min of work, as a rule of thumb it s generally regarded that the costs of employing people are twice the salary (including costs of maintaining office/shop space, paying managers, doing paperwork, etc). So it probably cost Three about $29 to unlock one of my phones and tell me that the others can t be unlocked, when I find phone 4 it will cost them another $29. As $29 is my typical monthly bill this has got to make an impact on the profitability of Three. If they were smart they would have sent me an SMS when I got a new phone telling me whether the old phone can be unlocked and if so giving me the code to do so. For phones that can be unlocked I doubt that would make anyone unlock their phone who wouldn t do so anyway, and for phones that can t be unlocked they could encourage the owner to give the phone to someone who wants a phone for pre-paid use (thus locking in a new customer). It probably won t be worth the effort of cracking an LG U890 phone to save my parents $10 per annum. As I couldn t get the LG U8110 to talk to my laptop I guess that forces my parents to eventually use Three for 3G net access. But they could have just matched the Dodo price and got the same result without having me spend half an hour in their store. Update: I just enquired about ending my Three contract for 3G net access ($15 per month for 1G of data) in favor of the yearly prepaid option of $149 per annum for 12G. The prepaid option would save me $31 per annum and allow me to use more than 1G in the busy months. But it seems that I subscribed to a two year contract for that one and I have 6 months to go. Over those 6 months they will make about $15 extra in revenue from me while annoying me in the process, this probably isn t a good deal. As my 3G modem is locked to the Three network even if I didn t have a contract I would still be unable to use a different provider.

  2. My mother phoned Optus about her Internet connection and discovered that she had supposedly renewed her Optus cable Internet contract in September last year. Presumably someone from Optus phoned my parents and asked what seemed like a routine do you want to keep using the Internet? question but was really a do you agree to a 2 year contract with a $250 penalty clause for exiting early? . This isn t the first time that Oprus has scammed my parents (previously they charged them rental for a phone that they never supplied), I guess that they have a practice of pulling such stunts on pensioners. I guess I ll have to call the TIO, which will end up costing them more than the $250 penalty clause. The irony here is that as Dodo uses the Optus network I would have used Optus by choice for my parents, but now that they are being scum I will willingly pay the extra $10 per annum to use Three (which while annoying aren t actually hostile).

  3. Finally while Google is admirably living up to their don t be evil motto in regards to China [3] their conduct regarding Google Talk leaves a lot to be desired. Two employees of a company I work for use Google Talk for their instant messaging, this has a Windows client but also allows general access via the Jabber protocol. So these two guys wanted to talk to me via Jabber but Google would just send me email saying X has invited you to sign up for Google Talk so you can talk to each other for free over your computers , I received 5 such messages from a colleague who was particularly persistent. It seems impossible for the Google Talk server to send a chat request to my personal Jabber server (which works well with a variety of other Jabber servers). So I have now started using my Gmail address to talk via the Jabber protocol to other Gmail users. This means that I have a TCP connection to the Google servers open most of the time and Google can boast of having one more active Gmail user. But it doesn t seem to really provide them a benefit. I am going to keep using my main email address as my primary Jabber ID and only use my Gmail address for talking to Google Talk users and only when paid to do so. But as a result of this I recommend that everyone avoid Google Talk as much as possible. Use open Jabber servers such as the ones run by Jabber.org.

It seems to me that none of these companies are really gaining anything from trying to lock customers in. They would be better off spending their efforts on being friendly to people and making them want to be repeat users/customers.

21 January 2010

Daniel Kahn Gillmor: TCP weirdness, IMAP, wireshark, and perdition

This is the story of a weirdly unfriendly/non-compliant IMAP server, and some nice interactions that arose from a debugging session around it. Over the holidays, i got to do some computer/network debugging for friends and family. One old friend (I'll call him Fred) had a series of problems i managed to help work through, but was ultimately basically stumped based on the weird behavior of an IMAP server. Here's the details (names of the innocent and guilty have been changed), just in case it helps other folks in at least diagnosing similar situations. the diagnosis The initial symptom was that Fred's computer was "very slow". Sadly, this was a Windows machine, so my list of tricks for diagnosing sluggishness is limited. I went through a series of questions, uninstalling things, etc, until we figured it would be better to just have him do his usual work while i watched, kibitzing on what seemed acceptable and what seemed slow. Quite soon, we hit a very specific failure: Fred's Thunderbird installation (version 2, FWIW) was sometimes hanging for a very long period of time during message retrieval. This was not exhaustion of the CPU, disk, RAM, or other local resource. It was pure network delay, and it was a frequent (if unpredictable) frustrating hiccup in his workflow. One thought i had was Thunderbird's per-server max_cached_connections setting, which can sometimes cause a TB instance to hang if a remote server thinks Thunderbird is being too aggressive. After sorting out why Thunderbird was resetting the values after we'd set them to 0 (grr, thanks for the confusing UI, folks!), we set it to 1, but still had the same occasional, lengthy (about 2 minutes) hang when transfering messages between folders (including the trash folder!), or when reading new messages. Sending mail was quite fast, except for occasional (similarly lengthy) hangs writing the copy to the sent folder. So IMAP was the problem (not SMTP), and the 2-minute timeouts smelled like an issue with the networking layer to me. At this point, i busted out wireshark, the trusty packet sniffer, which fortunately works as well on Windows as it does on GNU/Linux. Since Fred was doing his IMAP traffic in the clear, i could actually see when and where in the IMAP session the hang was happening. (BTW, Fred's IMAP traffic is no longer in the clear: after all this happened, i switched him to IMAPS (IMAP wrapped in a TLS session), because although the IMAP server in question actually supports the STARTTLS directive, it fails to advertise it in response to the CAPABILITIES query, so Thunderbird refuses to try it. arrgh.) The basic sequence of Thunderbird's side of an initial IMAP conversation (using plain authentication, anyway) looks something like this:
1 capability
2 login "user" "pass"
3 lsub "" "*"
4 list "" "INBOX"
5 select "INBOX"
6 UID fetch 1:* (FLAGS)
What i found with this server was that if i issued commands 1 through 5, and then left the connection idle for over 5 minutes, then the next command (even if it was just a 6 NOOP or 6 LOGOUT) would cause the IMAP server to issue a TCP reset. No IMAP error message or anything, just a failure at the TCP level. But a nice, fast, responsive failure -- any IMAP client could recover nicely from that by just immediately opening a new connection. I don't mind busy servers killing inactive connections after a reasonable timeout. If it was just this, though, Thunderbird should have continued to be responsive. the deep weirdness But if i issued commands 1 through 6 in rapid succession (the only difference is that extra 6 UID fetch 1:* (FLAGS) command), and then let the connection idle for 5 minutes, then sent the next command: no response of any kind would come from the remote server (not even a TCP ACK or TCP RST). In this circumstance, my client OS's TCP stack would re-send the data repeatedly (staggered at appropriate intervals), until finally the client-side TCP timeout would trigger, and the OS would report the failure to the app, which could turn around and do a simple connection restart to finish up the desired operation. This was the underlying situation causing Fred's Thunderbird client to hang. In both cases above (with or without the 6th command), the magic window for the idle cutoff was a little more than 300 seconds (5 minutes) of idleness. If the client issued a NOOP at 4 minutes, 45 seconds from the last NOOP, it could keep a connection active indefinitely. Furthermore, i could replicate the exact same behavior when i used IMAPS -- the state of the IMAP session itself was somehow modifying the TCP session behavior characteristics, whether it was wrapped in a TLS tunnel or not. One interesting thing about this set of data is that it rules out most common problems in the network connectivity between the two machines. Since none of the hops between the two endpoints know anything about the IMAP state (especially under TLS), and some of the failures are reported properly (e.g. the TCP RST in the 5-command scenario), it's probably safe to say that the various routers, NAT devices, and such were not themselves responsible for the failures. So what's going on on that IMAP server? The service itself does not announce the flavor of IMAP server, though it does respond to a successful login with You are so in, and to a logout with IMAP server logging out, mate. A bit of digging on the 'net suggests that they are running a perdition IMAP proxy. (clearly written by an Aussie, mate!) But why does it not advertise its STARTTLS capability, even though it is capable? And why do some idle connections end up timing out without so much as an RST, when other idle connections give at least a clean break at the TCP level? Is there something about issuing the UID command that causes perdition to hand off the connection to some other service, which in turn doesn't do proper TCP error handling? I don't really know anything about the internals of perdition, so i'm just guessing here. the workaround I ultimately recommended to Fred to reduce the number of cached connections to 1, and to set Thunderbird's interval to check for new mail down to 4 minutes. Hopefully, this will keep his one connection active enough that nothing will timeout, and will keep the interference to his workflow to a minimum. It's an unsatisfactory solution to me, because the behavior of the remote server still seems so non-standard. However, i don't have any sort of control over the remote server, so there's not too much i can do to provide a real fix (other than point the server admins (and perdition developers?) at this writeup). I don't even know the types of backend server that their perdition proxy is balancing between, so i'm pretty lost for better diagnostics even, let alone a real resolution. some notes I couldn't have figured out the exact details listed above just using Thunderbird on Windows. Fortunately, i had a machine with a decent OS available, and was able to cobble together a fake IMAP client from a couple files (imapstart contained the lines above, and imapfinish contained 8 LOGOUT), bash, and socat. Here's the bash snippet i used as a fake IMAP client:
spoolout()   while read foo; do sleep 1 && printf "%s\r\n" "$foo" ; done  
( sleep 2 && spoolout < imapstart && sleep 4 && spoolout < imapfinish && sleep 500 )   socat STDIO TCP4:imap.fubar.example.net:143
To do the test under IMAPS, i just replaced TCP4:imap.fubar.example.net:143 with OPENSSL:imap.fubar.example.net:993. And of course, i had wireshark handy on the GNU/Linux machine as well, so i could analyze the generated packets over there. One thing to note about user empowerment: Fred isn't a tech geek, but he can be curious about the technology he relies on if the situation is right. He was with me through the whole process, didn't get antsy, and never tried to get me to "just fix it" while he did something else. I like that, and wish i got to have that kind of interaction more (though i certainly don't begrudge people the time if they do need to get other things done). I was nervous about breaking out wireshark and scaring him off with it, but it turned out it actually was a good conversation starter about what was actually happening on the network, and how IP and TCP traffic worked. Giving a crash course like that in a quarter of an hour, i can't expect him to retain any concrete specifics, of course. But i think the process was useful in de-mystifying how computers talk to each other somewhat. It's not magic, there are just a lot of finicky pieces that need to fit together a certain way. And Wireshark turned out to be a really nice window into that process, especially when it displays packets during a real-time capture. I usually prefer to do packet captures with tcpdump and analyze them as a non-privileged user afterward for security reasons. But in this case, i felt the positives of user engagement (how often do you get to show someone how their machine actually works?) far outweighed the risks. As an added bonus, it also helped Fred really understand what i meant when i said that it was a bad idea to use IMAP in the clear. He could actually see his username and password in the network traffic! This might be worth keeping in mind as an idea for a demonstration for workshops or hacklabs for folks who are curious about networking -- do a live packet capture of the local network, project it, and just start asking questions about it. Wireshark contains such a wealth of obscure packet dissectors (and today's heterogenous public/open networks are so remarkably chatty and filled with weird stuff) that you're bound to run into things that most (or all!) people in the room don't know about, so it could be a good learning activity for groups of all skill levels. Tags: debugging, imap, perdition, wireshark

20 January 2010

Theodore Ts'o: The Transitive Grace Period Public Licence: good ideas come around

I recently came across the Transitive Grace Period Public License (alternate link) by Zooko Wilcox-O Hearn. I fonud it interesting because it s very similar almost identical to something I had first starting floating about ten years ago. I called it the Temporary Proprietary License (TPL). I m sure this is a case of great minds think alike . One things that I like about my write up is that I gave some of the rationale behind why this approach is a fruitful one:
A while ago, I was talking to Jim Gettys at the IETF meeting in Orlando, and the subject of software licensing issues came up, and he had a very interesting perspective to share about the X Consortium License, and what he viewed as bugs in the GPL. His basic observation was this: Many companies made various improvements to the X code, which they would keep as proprietary and give them a temporary edge in the marketplace. However, since the X code base was continually evolving, over time it became less attractive to maintain these code forks, since it would mean that they would have to be continually merging their enhancements into the evolving code base. Also, in general, the advantage in having the proprietary new feature or speed enhancement typically degraded over time. After all, most companies are quite happy if it takes 18-24 months for their competitor to match a feature in their release. So sometime later, the companies would very often donate their previously proprietary enhancement to the X consortium, which would then fold it into the public release of X. Jim Gettys complaint about the GPL was that by removing this ability for companies to recoup the investment needed to make major developmental improvements to Open Source code bases, companies might not have the incentive do this type of infrastructural improvements to GPL ed projects. Upon reflection, I think this is a very valid model. When Open Vision distributed the Kerberos Administration daemon to MIT, they wanted an 18 month sunset clause in the license which would prevent commercial competitors from turning around and bidding their work against them. My contract with Powerquest for doing the ext2 partition resizer had a similar clause which kept the resizing code proprietary until a suitable timeout period had occurred, at which point it would be released under the GPL. (Note that by releasing under the GPL, it prevents any of Partition Magic s commercial competitors from including it in their proprietary products!)
For more, read the full proposal. No related posts.

17 January 2010

Gustavo Noronha Silva: Content-Encoding in soup - all your gzip are belong to us

One thing everyone forgot to talk about the WebKitGTK+ hackfest was that master Dan Winship added basic Content-Encoding support to libsoup, and patched WebKitGTK+ to use it. If you are using a recent enough version of those you will finally be able to visit web sites that send gzipped content despite the browser saying it could not handle it, like the Internet Archive. This was one of those cases in which the web shows all of its potential to behave weirdly. The HTTP/1.1 RFC says that if an Accept-Encoding header is not present, the server MAY assume the client accepts any encoding, so we were having many sites send us gzip content even though we did not support it. We then started sending a header saying we support identity, and nothing else! . It turns out the web sucks, so many servers were not happy with a full header, and started giving us angry looks (slashdot, for instance, would not render correctly because it started sending encoded CSS files!). We then simplified the header we were sending, which made those servers happy again. Some sites, though, completely ignored our saying we didn t support anything except identity, and sent us gzipped content anyway. Most of these were misbehaving caches (this was the case for Wikipedia), so would work after you asked for a forced reload, which would ignore the cache, but some servers, such as the Internet Archive s didn t really want to talk about encodings - they only wanted to send gzip-encoded content. So, in the end, our only way out was implementing the damn encoding support, which finally happened during the hackfest. Take that, web!

Olivier Berger: Some news of our efforts around OSLC-CM and future plans

OSLC-CM V1 is a proposed standard for REST APIs of bugtrackers, and in our seek for more interoperability in the bugtracker space, we ve been very interested in it. OSLC-CM is quite young and only so far implemented in proprietary tools (although elaborated in an open way) on the server side, and as we believe in FLOSS, we ve started trying to implement basics of server side plugins for a few bugtrackers.
In addition to a demo server that s simulating the behaviour of a bugtracker, we have started implementing a Mantis plugin and FusionForge and Codendi trackers add-ons (all PHP and based on Zend framework, see this project on picoforge). All are very basic, but we hope they will be the basis for future OSLC-CM compatible servers in these tools. At the same time we ve been experimenting with the code already published in Mylyn to support OSLC-CM on the client side. Not everything is public yet in Mylyn, as the elements that have been developped for some connectors of Tasktop to the proprietary tools are being ported to the open source code of Mylyn.
We have thus been able to use the Junit tests classes of Mylyn and tweak them in a way to connect to an instance of the demo server for Mantis (including handling some Basic auth), and be able to retrieve the first bugs descriptions :-) Now that this works, we ll try and add some Java code (maybe reusing Mylyn client libs) to doc4 (being developped as part of Helios) in order to start linking doc4 and Mantis so that this can be used in the Helios platform. This may involve mixing code of XWiki and Mylyn hmmm well, we ll see. Next steps may be also to try and implement a connector in Python that might be used in tools like bts-link. Then whichever Python or Java client libraries we have, will allow us to use them inside FetchBugs4.me to connect and harvest bugs of OSLC-CM compliant bugtrackers eventually. Lots of interesting developments ahead. Stay tuned.

16 January 2010

Biella Coleman: Being Bad-Ass w/o the Arrogance

bad-ass For the first time in a long while I took a vacation in New Zealand where I am for LCA. I decided to also take a break (mostly) from the Internet but I decided to it was worth to come back to write a brief response to Clay Shirky s rant about women, which I find pretty unsettling. So the basic upshot of his entry is that for women to get ahead in this world, they need to not only behave more like men but in specific, like all the effing blow-hard jerky self-promoting men like, well Clay Shirky (I guess, right? and he in fact might be proud, I a woman, made this accusation). What I appreciate about the post is the fact that he does not pigeon hole women as caring, maternal, and meek. I have always resented the idea that women can t be assertive and confident. However, confidence and self-esteem, which I agree are vital for getting noted, does not inherently entail jerky behavior.I think Shirky s perspective might be skewed because of his home field, which is filled with just the type of guys he is describing. I call them pundit-entrepreneurs (though to be sure some are pretty darn nice). If you take the field of anthropology, for example, it has traditionally and for a long time been known for grand slam female scholars from Ruth Benedict and Margaret Mead in the past to the ones of the present like Nancy Scheper Hughes and Jean Comaroff. During grad school, I was surrounded by strong, smart, witty, confident ladies and always felt I had role models to follow and emulate. They were not, however, low-life jerks clawing their way to the top of the academic mountain leaving a trail of destruction behind their path. Then when I started to go to the tech and media academic conferences, I was soon swimming in a sea of mostly white men and the vibe was different. I was ignored and talked over a handful of times, which had never happened to me before. There was a lot more self-promotion than I had seen in other fields, in part, it seemed because the media pays more attention to this field so folks are trying to get the media light focused on them. While I don t disagree that many fields from medicine to law promote and reward blow-hards and massive unrestrained arrogance, I would rather not create a false binary between meek/low self-esteem/female and total-jerky/arrogance/confidence. Why not instead promote and highlight behavior that rewards confidence sans the arrogance? Here are some thoughtful related posts.

Biella Coleman: Being Bad-Ass w/o the Arrogance

bad-ass For the first time in a long while I took a vacation in New Zealand where I am for LCA. I decided to also take a break (mostly) from the Internet but I decided to it was worth to come back to write a brief response to Clay Shirky s rant about women, which I find pretty unsettling. So the basic upshot of his entry is that for women to get ahead in this world, they need to not only behave more like men but in specific, like all the effing blow-hard jerky self-promoting men like, well Clay Shirky (I guess, right? and he in fact might be proud, I a woman, made this accusation). What I appreciate about the post is the fact that he does not pigeon hole women as caring, maternal, and meek. I have always resented the idea that women can t be assertive and confident. However, confidence and self-esteem, which I agree are vital for getting noted, does not inherently entail jerky behavior.I think Shirky s perspective might be skewed because of his home field, which is filled with just the type of guys he is describing. I call them pundit-entrepreneurs (though to be sure some are pretty darn nice). If you take the field of anthropology, for example, it has traditionally and for a long time been known for grand slam female scholars from Ruth Benedict and Margaret Mead in the past to the ones of the present like Nancy Scheper Hughes and Jean Comaroff. During grad school, I was surrounded by strong, smart, witty, confident ladies and always felt I had role models to follow and emulate. They were not, however, low-life jerks clawing their way to the top of the academic mountain leaving a trail of destruction behind their path. Then when I started to go to the tech and media academic conferences, I was soon swimming in a sea of mostly white men and the vibe was different. I was ignored and talked over a handful of times, which had never happened to me before. There was a lot more self-promotion than I had seen in other fields, in part, it seemed because the media pays more attention to this field so folks are trying to get the media light focused on them. While I don t disagree that many fields from medicine to law promote and reward blow-hards and massive unrestrained arrogance, I would rather not create a false binary between meek/low self-esteem/female and total-jerky/arrogance/confidence. Why not instead promote and highlight behavior that rewards confidence sans the arrogance? Here are some thoughtful related posts.

15 January 2010

Stefano Zacchiroli: Preserving privacy with Google Docs

Eclectic paper: SEcure GOogle DOCumentS Two days from an important Google announcement, privacy awareness is steadily increasing in the media. The old mantra that "despotic governments might use your data in unexpected way" sounds more real than last week, and recent movies ring different bells in our heads. That event has prodded me to (finally!) blog about yet another eclectic paper of mine, co-authored with my old friend Gabriele D'Angelo, and which I'm going to present at the forthcoming ACM SAC conference. The paper is titled Content Cloaking: Preserving Privacy with Google Docs and other Web Applications and poses (again) a rather simple question: why should you trust Google to faithfully store your Google Docs data? What if roles in the recent Google-vs-China issue were inverted? The proposed solution (Content Cloaking) then simply implements transparent encryption and decryption in the payload which is sent back and forth between your browser and the Docs backend. Trying to access your Docs data without a decryption layer and the needed key will then just show garbage, for both humans and Google harvesters. Of course you lose something, like full text search which is performed server-side by Google, but at least you're back in charge again: it is you who decides to which extent trading-off your privacy with offered services. A proof-of-concept implementation is provided (and of course is free software!) as an extension for the Firefox browser, but is now out of date wrt Firefox mainline and was not really production ready anyhow (let's say it was master-thesis-implementation-quality ...). Still we, the authors, stand behind the idea even if we don't have the energy to maintain a production-quality implementation. So, Dear LazyWeb, If you are interested in the topic and you've development cycles to spare, please drop me a mail and I'll be happy to point you to all needed details to resurrect the implementation (or create one from scratch, which should be pretty easy and quick if you're familiar with extension development).

12 January 2010

David Welton: Rough Estimates of the Dollar Cost of Scaling Web Platforms - Part I

I have been pondering the idea behind this article for a while, and finally had a bit of time to implement it. The basic idea is this: certain platforms have higher costs in terms of memory per concurrent connection. Those translate into increased costs in dollar terms.
Nota Bene: Having run LangPop.com for some time, I'm used to people getting hot and bothered about this or that aspect of statistics that are rough in nature, so I'm going to try and address those issues from the start, with more detail below. Methodology All tests were run like so: my new laptop with two cores and four gigs of memory was used as a server, and my older laptop was used to run the ab (Apache Benchmark) program - they're connected via ethernet. I built up to successive levels of concurrency, running first 1 concurrent connection, 2, 10, and so on and so forth. The "server" computer is running Ubuntu 9.10, "karmic". Platforms The platforms I tested: As stated above, it's pretty obvious that using Rails or Django for something so simple is overkill: Better Tests for the Future I would like to run similar tests with a more realistic application, but I simply don't have the time or expertise to sit down and write a blog, say, for all of the above platforms. If I can find a few volunteers, I'd be happy to discuss some rough ideas about what those tests ought to look like. Some ideas: Results With that out of the way, I do think the results are meaningful, and reflect something of what I've seen on various platforms in the real world. First of all, here we look at the total "VSZ" (as ps puts it) or Virtual Size of the process(es) in memory. Much of this might be shared, between libraries, and "copy on write" where applicable. The results are impressive: Rails, followed by Django and PHP eats up a lot of memory for each new concurrent connection. Rails, which I know fairly well, most likely suffers from several problems: 1) it includes a lot of code. That's actually a good thing if you're building a reasonably sized app that makes use of all it has to offer. 2) Its garbage collector doesn't play well with "copy on write". Which is what "Enterprise Ruby" aims to fix. Django and PHP are also fairly large, capable platforms when compared to something small and light like mochiweb. That said, excuses aside, Erlang and Mochiweb are very impressive in how little additional memory they utilize when additional concurrent connections are thrown at them. I was also impressed with Jetty. I don't have a lot of experience with Java on the web (I work more with J2ME for mobile phones), so I expected something a bit more "bloated", which is the reputation Java has. As we'll see below, Jetty does take up a lot of initial memory, but subsequent concurrent connections appear to not take up much. Of course, this is also likely another 'apples and oranges' comparison and it would be good to utilize a complete Java framework, rather than just a tiny web app with one JSP file. So what's this mean in real world terms of dollars and cents? As your Rails application gets more popular, you're going to have to invest relatively more money to make it scale, in terms of memory. For this comparison, I utilized the bytes/dollar that I'm getting for my Linode, which works out to 18,889,040.85 ($79.95 for 1440 MB a month). As we can see, to have a similar amount of concurrent users is essentially free for Mochiweb, whereas with Rails, it has a significant cost. This information is particularly relevant when deciding how to monetize a site: with Erlang and Jetty it would appear that scaling up to lots of users is relatively cheap, so even a small amount of revenue per user per month is going to be a profit, whereas with Rails, scaling up to huge numbers of users is going to be more expensive, so revenue streams such as advertising may not be as viable. It's worth noting that 37 signals, the company that created Rails, is a vocal supporter of charging money for products. There's another interesting statistic that I wanted to include as well. The previous graph shows the average cost per additional concurrent user, but this one shows how much the platform costs (using when there is just one user, so it acts as a sort of baseline: As we can see, Jetty is particularly expensive from this point of view. The default settings (on Ubuntu) seem to indicate that, for instance, the basic $20 a month Linode package would not be sufficient to run Jetty, plus a database, plus other software. I think that the Apache Worker number is off a bit, and may reflect settings made to handle a large number of connections, or perhaps a different MPM would make sense. Source Code / Spreadsheet The spreadsheet I put together is here: http://spreadsheets.google.com/ccc?key=0An76R90VwaRodElEYjVYQXpFRmtreGV3MEtsaWYzbXc&hl=en And the source code (admittedly not terribly well organized) is here: http://github.com/davidw/marginalmemory/

John Goerzen: Sing to Me, Muse

(a review of Homer s Iliad)
Here, therefore, huge and mighty warrior though you be, here shall you die. - Homer (The Iliad)
And with that formidable quote, I begin my review of The Iliad. I shall not exhaust you with a rehashing of the plot; that you can find on Wikipedia. Nor shall I be spending page upon page of analyzing the beautiful imagery, the implications of our understanding of fate and destiny, or all the other things that compel English majors to write page after page on the topic. Nor even shall I try to decipher whether it is a piece of history or a piece of legend. Rather, I intend to talk about why I read it: it s a really good story.
Sing to me, O goddess Muse, the wrath of Achilles, son of Peleus, which brought countless ills upon the Acheans.
As I d be reading it, I d think to myself: Ah ha! Now here we finally have a section of the story that doesn t speak to modern life. Perhaps it was a section the fear of being enslaved or butchered by conquerors, or about pride leading both sides to fight a war they need not have, or a graphic description of a spear going clear through someone s head or neck. And then, I d have to sit and think. Are we really so far removed from that? Here we are, in a supposedly civilized world. We use remotely-operated drones to drop bombs on people, and think it naught but regrettable collateral damage when the brains and intestines of dozens of innocent victims are scattered about, killing them, all for the chance of killing one enemy. But we aren t the only ones to blame; we live in a world in which killing the innocent is often the goal. People fly airplanes into skyscrapers, drop atomic weapons to flatten entire cities, and kill noncombatants in terrible numbers. And for what? A little power, some prestige, some riches, some vengeance, some wounded pride? Slavery is not dead, either. We that can happily afford Internet access most likely abhor the thought. What, though, can we make of the fact that people are starving in this world in record numbers? That our actions may literally wipe some nations off the map? Are those people as free as we are? Do our actions repress them? I suspect you can t read the Iliad without being at least a bit introspective.
Fear, O Achilles, the wrath of heaven; think on your own father and have compassion upon me, who am the more pitiable
One of the great things about reading the Iliad is that I can learn about the culture of the ancient civilizations. Now, of course, one can read about this in history books and Wikipedia. But reading some dry sentence is different from reading a powerful story written by and for them. I know that the Iliad isn t exactly a work of history, but it sure shows what made people tick: their religion, their morals, their behavior, and what they valued. I feel that I finally have some sort of insight into their society, and I am glad of it.
The day that robs a child of his parents severs him from his own kind; his head is bowed, his cheeks are wet with tears, and he will go about destitute among the friends of his father, plucking one by the cloak and another by the shirt. Some one or other of these may so far pity him as to hold the cup for a moment towards him and let him moisten his lips, but he must not drink enough to wet the roof of his mouth; then one whose parents are alive will drive him from the table with blows and angry words.
There are gory battle scenes in the Iliad, but then there are also heart-wrenching tender moments: when Hector leaves his wife to go fight, for instance, and worries about the future of his child if he should die. That s not to say I found the entire story riveting. I would have liked it to be 1/3 shorter. The battle just dragged on and on. And yet, I will grant that there was some purpose served by that: it fatigued me as a reader, which perhaps gave me a small sense of the fatigue felt by the participants in the story.
Why, pray, must the Argives needs fight the Trojans? What made the son of Atreus gather the host and bring them?
A question that was never answered, for either side: why are we so foolish that we must go to war? One tragedy among many is that neither side got smart about it until way too late, if ever they did at all. I read The Illiad in the Butler translation, which overall I liked. Some of these quotes, however, use the Lattimore one. This completes the first item on my 2010 reading list. I leave you with this powerful hope for the future, written almost three thousand years ago. Despite my criticisms above, we have made a lot of progress, haven t we? What a beautiful ideal it is, and what a long ways we have yet to walk.
I wish that strife would vanish away from among gods and mortals, and gall, which makes a man grow angry for all his great mind, that gall of anger that swarms like smoke inside of a man s heart and becomes a thing sweeter to him by far than the dripping of honey.
Sing to me, O goddess, the anger of Achilles, that one day his story may speak less to our hearts, for then will we have outgrown it.

11 January 2010

Gunnar Wolf: Engineer? Scientist?

Looking over some articles in the March 2009 issue of the Communications of the ACM magazine, I found a very good piece column (Is software engineering engineering?, Denning, Peter J., and Riehle Richard D. , Communications of the ACM, 03/2009, Volume 52, Number 3, p.24-26, (2009) ). Quoting from it:
The search for an alternative to the programmer image is already a generation old. In 1989 we asked: Are we mathematicians? Scientists? Engineers? We concluded that we are all three. We adopted the term "computing", an analogue to the European "informatics", to avoid bias towards any one label or description. (...) Predictable outcomes (principle of least surprise) Engineers believe that unexpected behaviors can be not only costly, but dangerous; consequently, they work hard to build systems whose behaviorthey can predict. In software engineering, we try to eliminate surprises by deriving rigurous specifications from well-researched requirements, then using tools from program verification and process management to assure that the specifications are met. The ACM Risks Forum documents a seemingly unending series of surprises from systems on which such attengion has been lavished. Writing in ACM SIGSOFT in 2005, Riehle suggested a cultural side of this: where researchers and artists have a high tolerance, if not love, for surprises, engineers do everything in their power to eliminate surprises. Many of our software developers have been raised in a research tradition, not an engineering tradition.
It would be an interesting excercise to find how people rate themselves in this regard in a large group of developers, and find the differences in their coding styles, or how varied (in developer profiles) are each of the sub-groups.

10 January 2010

Gunnar Wolf: Winter in the tropics

Five out of six experts agree: Five out of six cats cannot be mistaken
It. Is. Cold.
No, we are far from this very impressive picture of a fully-snowed UK seen from the sky that everybody and their dog must have seen by now. Still, in Mexico City we are experiencing the traditional one-or-two-weeks-a-year where it is genuinely cold. And, very strange being this Winter (the rainy season is Summer around here, January should be dry!) we have rain all day long. The Ajusco mountain is around 15Km south from my home, and it is the closest of the giants that surround our valley. Yesterday I managed to get some peeks at it behind the very thick layer of clouds we have. Ajusco looks really gorgeous all snowed, maybe down to the 3400m line (while the city's main area is at 2300m). This picture was not taken this year, we have snow in Ajusco almost every year (although very seldom as much as this time): (last photo is not current, we have not yet had a clear day to take a picture of our Ajusco yet this year) How does it feel? Well, I live in Coyoac n, in the flat area of the valley. Remember that houses here are not built to endure extreme temperatures (and this week is what we call extreme, of course ;-) ). According to Yahoo! Weather: And while the difference appears to be small, what about Magdalena Contreras, ~200m higher, where many people dear to me live (and have even a window pending to be installed)? People say this cold wave is the strongest in 120 years, since records are being taken. Every year people get excited, expecting that this time we will get snow. This has only happened once in at least a century, in 1966 AFAIR. I do not think this year to be atypical. Still, I have a reputation for being insensible to cold weather. Everybody wears heavy jackets while I still go to work with my usual long-sleeved shirt and that's it. But the last two days, I have been using jacket and scarf... But, of course, I don't look as gratious or cute as my cats :-

9 January 2010

Andrew Pollock: [life/americania] First encounter with the police

I was driving home from a late night at work recently, and I was almost home, when the car behind me lit up like a Christmas tree. My immediate reaction was, "Oh crap, I'm tired and I wasn't paying attention to my speed". So I pulled over. To my relief, it wasn't my speed that was the problem, my left-hand tail light was out. The officer was very nice about the whole thing, but he gave me a fix-it ticket. He told me I had until I think some time in February to fix the problem, then I had to get a police officer to sign off that it had been fixed. I thought that was the end of it, and continued on my way home. The other day, I got this official looking letter in the mail the Superior Court of California, County of Santa Clara. My initial thought was, "ha, the fools have issued me a jury summons like they did for Sarah. Can't they tell I'm an alien? Nanoo Nanoo." So I open the letter and start scanning it. It's a courtesy notice. The first actual sentences I run into start with "Failure to respond to this notice by the due date may result in your bail being increased...". Huh? Bail? What? It turns out that there's a bit more to the fix-it ticket story. Not only do I have to get a police officer to sign off that I've had the tail light fixed, to avoid going to court, I have to pay a $25 "dismissal fee" (also known as California is broke and needs every dollar it can get). Today was the first day that either of us have had any time to scratch ourselves, so we trekked off to Toyota. The guy yanked off the cover inside the boot, and was poking around to show us where to change the bulb, when lo and behold, it started working again. So it was just a loose connector. Dammit. So now I have to track down a police officer. Preferably under the cover of darkness, as we've tinted the front windows of the Prius, which is apparently cause for another fix-it ticket. Although I'm struggling to find the wording that specifically says that.

6 January 2010

Dirk Eddelbuettel: littler 0.1.3

A new littler release (now at 0.1.3) just went out of the door this evening. littler provides r (pronounced littler), a shebang / scripting / quick eval / pipelining front-end to the the R language and system. This version adds a few minor behind-the-scenes improvements: As usual, our code is available via our svn archive or from tarballs off my littler page and the local directory here. A fresh package is in Debian's incoming queue and will hit mirrors shortly.

5 January 2010

Debian News: Aur lien Jarno added as new assistant to the security team

It is our pleasure to announce that Aur lien Jarno is now an assistant to the Debian Security Team.

He will concentrate most of his efforts on security support for the new kFreeBSD kernel.

Thanks Aur lien, and welcome to the team.

Steffen Joeris, on behalf of the Security Team

Next.

Previous.