Search Results: "beh"

11 July 2007

Joey Hess: saved my atari programs

I got a SIO2PC cable for my atari, hooked it up to a linux box, and used the atarisio tools to rip a few of my old BASIC disks. Now I can load them in the atari800 emulator, and will hopefully never lose this early code -- cuz it's in subversion now. The first disk I rescued ("finished programs disk 1") has a nice little menu on it with lots of games and stuff I'd put together. menu.png video.png jump.png I've always been proud of the "vidio" game, which is the first game shown above. It'd give Pong a run for its money in simplicity, and has gameplay I still enjoy (for up to 5 minutes at a time). You're the green dot, which is flying from left to right. Each time it reaches the right side of the screen, it wraps back to the left -- but leaves a blue wall behind. Crash into the wall and you lose a life. Sometimes other dots appear that you can pick up to get new lives. This sounds easy, but it's not, mostly because the Atari joystick (or my code for reading it) is not very precise, so it's hard to line up to exactly the right place on the screen to go through a small hole in the wall. In contrast to that piece on innovation, the "jump" game is a pretty generic platformer, jump over the water and shoot the enemy that's crawling along the ceiling. It's also a bit buggy. jump2.png code.png code2.png I took a look at the code, but the bug on line 200 isn't very obvious, whatever it is. This is how everyone's old code looks to them after 20 years ... right?
Update: Some more games I found.. tetris.png My version of Tetris for the Atari. It looks a lot better on a real TV tube. Two fun things in writing this were that I couldn't figure out how to program it to rotate the blocks on the fly -- so I just wrote out data with every possible rotation for every block. Also, Atari BASIC lacks arrays, so it uses strings for storing the game state. fatso2.png fatso4.png
(Colors are ok in 1st screenshot, but messed up in second.) Fatso's adventure had the best graphics I did on the Atari. It remapped parts of the the character set and used ATASCII characters as sprites. Ok, it's kind of a Lode Runner clone, but only the kind you write after having seen Lode Runner for 2 minutes. Looks kinda like it, but I don't think Lode Runner had spiders that dropped exploding eggs that broke all the rungs in the ladders..
Update 2: Disk images are nice, but regular files are nicer. I was able to explode files out of the disk images only with difficulty. I ended up using wine to run a windows program called Total Commander. It has a plugin that allows .atr disk images to be unpacked. To view the BASIC files, they have to be detokenized. I found a perl script to do that, that can be used on the fly of anything suspected of being a BASIC program. All the stuff is in my subversion repository.

10 July 2007

Annabelle Tully: Silly chaos

Today must have been the most chaotic day of my life.
As we awakened at 0730AM, which was kindof late for the airport bus already, we hurried to the shower and got off to the busstop, where we found out we had missed the bus by two minutes and ended up having to take a taxi or we’d miss our flight.
As we arrived to the airport there seemed to be some issues with the tickets I had purchased the day before. They had for some reason not accepted the payment. The account had enough funds, and everything was filled in correctly.. We could not figure out what was wrong. The bitch behind the counter was most uncorporative, and refused to give me the number to the
airline in time for me to fix the problem. As a result we ended up buying twice as expensive tickets to Frankfurt so we could get to Amsterdam in time, as I was going to see some friends there tonight.
We slept for about six hours on the airport in a corner by a power socket with all our gear, and proceeded to the plane, where we were searched throughly, eventhough I was wearing a tanktop and sweatpants
with empty pockets + sandals. They also took disposal of our threat-to-the-nation sunblock. How dare we endanger nation with our threatening blonde hair and sunblock. The plane was also half an hour late because of some technical failure.
So ofcourse, we got to Frankfurt too late to get the last train to Amsterdam. Great.
We ended up taking the train to Dusseldorf to see Daves mother and step father, which was nice though. Though the all too tasty cake ruined my carefully prepared diet. Atleast it was a nice ending to the chaotic day.
So off to Amsterdam tomorrow morning..
ARGH.

9 July 2007

Matthew Palmer: Hell is other people('s code)

I've been working (part-time) on an existing Rails application for the last month or so, getting comfortable with it, modifying some sections to support needed functionality, and beginning an all-out, carpet-bombing "shock and awe" assault on it's test suite. However, a significant portion of the system is (or rather was, since I've already gutted a lot of it) a chunk of rather messy and unpleasant auto-generated code. I've always been a bit iffy about code generation tools, ever since my first encounters with them whilst working on some $DEITY-awful access application years ago. (First encounters with anything Microsoft usually have that effect on me, though). Since then, I've never found any reason to change my mind, and dealing with this particular chunk of auto-generated code has pushed me over the edge into "wild-eyed extremist" territory. Please note that when I say "code generator", I'm talking here about programs or wizards or whatever that create a block of code that you're then expected to tweak to suit your conditions. If it's just a mechanical transformation of an input format to an output format, where a human is never expected to maintain the output by hand, that's not code generation in my book -- that's just a compiler being used for it's intended purpose. I like compilers. I'm fairly sure you do too. Code generators, though? EVIL. Consider what you get out of your generator: A big blob of code in your application that you then have to understand and maintain. It's like you gave a commit bit to some random person who dropped a 5000 line change into your tree and then ran away into the night, cackling. If there's bugs in the generated code (and remember, there's always bugs in software), when they get fixed upstream you're up the creek unless you haven't modified the code at all (and thus can regenerate), or you're willing to apply the necessary patches to your modified version, often by hand. Hand-patching is error-prone, and if you've modified the code at the same place that has to be patched, things can get unpleasant. In the case of the generator I'm dealing with at the moment, I'm not even blessed with it being decent code. It's ugly code, in every possible sense of the word. There's inconsistent formatting, poor commenting, it uses some totally whack coding constructs[1], the hard-coded text strings are ungrammatical, it's got very few (and poorly covering) test cases, the methods are huge and unwieldy, and it's got security bugs (not so hot for something that's supposed to be guarding your application). In short, it looks like some quick-and-dirty internal hack that escaped one night and is now wreaking havoc on the world. There's probably some really good code generators out there. I've been poking around a bit, and there's some written for Rails by people who I know produce good code. However, no matter how good the author of the code generator is, the very best you can hope for is solid, clean code that is the equivalent of some portion of your application having been coded by some member of your team who you (and nobody else) has ever met, who didn't follow your team's coding conventions, and who has never looked at any other part of your application to make sure that everything hung together in a consistent manner. Which you now have to maintain. I've read a lot of books, articles, blog posts, and mailing list messages, and participated in no shortage of "why software sucks" discussions with other programmers, but I've never heard anyone advocate that the way to clean code, minimal bugs, and happy programmers was to drop a big chunk of unknown code right in the middle of things. Before you start charging up the e-mail-delivered tasers, ready to fry my delicate braincells for the twin crimes of Xenocodophobia and a vicious case of Not Invented Here syndrome, though, please understand that I'm not against code reuse in the right place. That right place is a library, component, or other abstract, documented, fairly static, and presumably-replaceable chunk of code. By using a library, you get a relatively simple interface to somebody else's complexity. This is a good thing, for all the reasons that everyone should already be able to recite. Items such as a comprehensible interface, minimal learning curve, and so on. Things you don't get with generated code because, pretty much by definition, the entire chunk of code is you "interface". There are some times, though, when what you want to do can't be done in a library. Either the thing has too many tentacles to be able to easily encapsulate behind an abstracted interface, or you need to modify it's behaviour in too many places to be able to get away with a few simple callbacks to get the job done. Hence, it might be tempting to fire up the code generator to get yourself out of a hole quickly. Don't do it though. Don't succumb to the temptation of saving yourself a little bit of time by firing up a code generator. What you're doing there is just making pain for yourself, by inheriting a big chunk of code that you don't fully understand, probably doesn't solve your problem particularly well, and which you (or whichever poor slob gets the job after you) will have to maintain into perpetuity -- most likely by gradually rewriting large pieces of it so that it fits your application better. The output of a code generator is likely to be the least maintainable code in your tree -- either by virtue of the fact that it's crap code, or at the very least because you just don't understand it. The general principle of good codebase hygiene is that you get rid of unmaintainable code quickly, so it doesn't infect everything else (a la the "broken window theory"). With that in mind, why would you ever consider deliberately introducing a huge chunk of unmaintainable code into your application? The closest I can come to a defence of code generators is something like Rails' scaffolding, where the controller and views for a set of simple CRUD operations on a table are auto-generated. The key word there, though, is scaffolding. It's very name suggests that it's temporary, to be replaced with something more robust and useful as soon as is reasonable. The default scaffolding is ugly as sin, besides, which encourages you to replace it, and -- as of Rails 1.1 (I think), there's a 'scaffold' method which creates the scaffolding output at runtime, so you never, ever need to generate scaffolding code any more. Anyone planning on producing any significant piece of their application through the use of code generators is, in my book, committing a crime against software decency.
1. My favourite whack code construct thus far has been this gem:
 case somevar
   when 17
     do_something_here()
 end
Because, you know, if statements are for people who know how to program, or something.

7 July 2007

Gunnar Wolf: It still gets to my nerves...

I've gradually become happier and happier with Ruby on Rails. I've got mostly past the constant "WTF?WTF?WTF?" phase that's so frustrating when you try to understand the magic behind the scenes (after all, I like understanding what happens inside a framework - the bang and the bling are not what lured me into Rails).
So I've tried to become a more idiomatic, more complete. In the last project I started, I decided to -gasp- stop declaring my schema structure in SQL, and use migrations instead. All fine until I reached migration 008... The first one including a table modification (adding a admin column for users) instead of a creation. Well, that one went pretty fine, but 009 was also a table modification (adding an order column for tsgs). And I updated my server - with both migrations at the same time.
Bad news: Tsg has_many :users, and every User validates_associated :tsg as it should. And as migration 8 modifies (and saves, of course) a User, this validation was triggered... So, migration 8 died complaining about an undefined method order' for #<Tsg:0x2b2d2dd8d0d0>. WTF?WTF?WTF? all over again. It took me quite a while to realize.
What's the moral of the story? That a sleepy programmer can and will mess up. That batching up several migrations does not guarantee success, because the model is already up to the newest version. Crap. :-/
Or maybe it will just be safer if I abstain from directly instantiating models in migrations? umh... Does not feel right :-/

Jan Wagner: Ignoring security (usability)

Since some time, Deutsche Bahn rolled public wireless lan called “WLAN am Bahnhof” out at 25 railroad stations, you can choose between 4 providers. Sounds really nice, but beside the economical conditions, there is also at least one security issue.
Connecting to the network and opening your favorite browser redirects you to a encrypted portal. So far, so good … the really bad news is, that the certificate expired over 6 years ago.
Broken certificate
This seems to be a normal behavior, since it happens often, that invalid certificates are used. This leeds to blunted users, which aren’t verifying such certificates anymore, even when it’s important.
Does anybody know a reasonable way to notify anybody who can solve the problem there beside the normal contact forms? , , ,

Martin F. Krafft: The weakest link

For whatever reason, my flights always bite with my food schedule; not that I have one, but I'll get hungry part way through, it must be the excitement. Under no circumstances will I gulp down the crap they serve on short haul flights, and being a last-minute packer, I usually never find the time to eat before I leave home I am also seldom hungry when there is stuff to be done before an immutable deadline, such as the departure of a plane. Fortunately, Switzerland provides healthy and great relief in the form of Bircher M esli, a snack that can keep you nourished for hours, and which renders itself well to tuppaware transport. So I've gotten into the habit of taking some along on trips. Today, the security staff at the Zurich airport forced me to break with this habit and to throw out my treasured mush. I have since recovered from the pain, but because there is more to the story than M esli in the dump, I thought it's about time for yet another airport security story about liquids my last one is more than half a year old and I am sure you're craving by now When the attendants saw my 400ml container containing M esli (think yoghurt for now, so you'll know what consistency I am talking about), they categorised it as liquid and would not let me take it through. Obviously, there was no point in arguing nor in mentioning that I often take the stuff with me on planes and never had a problem before (which is true). I was left with the choice to dump it all, or try to eat it up before my flight left. I opted for the latter, but 400ml of M esli is quite too much for quick consumption and I had to declare forfeit about three quarters through. In a moment of genius, I did the math and postulated publicly that I should now be allowed to take the rest, because it's less than 100ml (airplanes are allergic to liquids in larger volumes). I learnt then that the size of the container matters, not the amount of stuff it contains. I handed over the container to the attendant under the pretense that I refuse to throw away food and had her do the deed instead. When I got the container back, I noticed that it still had traces of M esli, looked at the queue of my flight and decided to have a go and be difficult. The result was that I had to head for the toilets and wash off all remaining traces of explosive M esli. I made sure to leave a good bit of water in the container, sealed it, and returned to the wardens of safety. This time, they let me pass, despite the 400ml container filled with, say, 30ml of water. But clear liquids aren't dangerous, or so it seems. Or maybe this is the way to smuggle the real stuff on board? The entire situation was hilarious, I stayed calm and friendly and made sure to inject a sentence about understanding that they're just doing their job and aren't responsible for the regulations at least every minute. They assured me that this was in fact what they were doing, and that it was their orders to obey the regulations imposed by Brussels without exceptions. Just then, as I was repacking my bag behind the x-ray machine, I noticed how another passenger got through with shaving cream and other stuff in a small toiletries bag. When they didn't even bother to unpack the bag, I remarked that the regulations also demand for a single, one litre, transparent plastic bag to contain all the 100ml containers and asked whether they were aware of those. At first, the attendant denied it. When I asked her to step over and look at the informational signs all over the place, which clearly documented the plastic bag requirement, she shrugged and got seemingly annoyed: "we do our job the way we do our job, leave it up to us." Some airport staff make you take off your shoes, others don't. At some airports, you have to switch on laptops, at most you don't. Some passengers are subjected to the new liquid regulations and have to throw out M esli, others are exempt. Now what was that they say about the weakest link? NP: Dream Theater: Awake

5 July 2007

Paul van Tilburg: Next Stop: PhD

Just graduated… and now what? Well, I had the opportunity to choose among several options: a PhD position at the TU/e, a PhD position at Heriot-Watt University in Edinburgh, or pursue a job at Google. After much consideration, I have chosen the first option. I found it to be impossible to decide based on the research assignment or the people I would work with, so I looked at more personal and practical reasons which led me to my current decision. I will start my job on August 1, 2007 and hope to finish the PhD in 2011. My research will involve working on project MoCaP, Models of Computation: Automata and Process, in which we try to achieve a better integration of the concurrency theory with the classical theory of automata. The thought behind the project is to make undergraduate computer scientists more aware of concurrency theory.

2 July 2007

Adeodato Sim : The right place for staging areas?

During DebConf7 in Edinburgh, a dak BOF was held. Several topics were covered, one of them being staging areas. It was an interesting discussion, during which I had a recurring thought: that staging areas should be between testing and unstable, and not behind unstable (like experimental is), like everybody suggested. By the time I decided to share this aloud, though, the discussion was already over.

28 June 2007

Biella Coleman: Minimizing Lingusitic Drift for the Sake of Political Clarity and Integrity

I am finally catching up with the remarkably thick goulash of email and blogs entries that comes from traveling for well over a month and today I read one in particular When is Open Source not Open Source? that captivated my interest for it compellingly addresses the dangers that follow from diluting, or one might say hijacking, the term open source. When people learn that I study “free software” one of the most common questions I get asked is: why did I chose free software over open source? The answer is quite simple: given that the bread and butter of my research covers ethics, freedom, and liberalism, free software is the obvious path to follow, yet I also feel like a lot of my work is still relevant to the open source camp because of the affinities between the two. I have long maintained that the ideological gulf between open source and free software is not so great nor impassable, but more modest. As most know, both share a certain strong commitment to access and in a strict technical sense they refer to the same set of licenses. Philosophically there is agreement that openness and, especially, non-discrimination are essential for the quality of software and often by close extension, the vibrancy of community responsible for the software. Of course, when pontificating the ramifications and implications of openness, they do part company and enter into different territories. Free software tends to flag rights and freedoms, while open source meanders into a discussion of markets, business, and competition and in this regard they do craft different visions of the social world and human behavior, etc. But the case that Karl Fogel writes about, where OSI is strongly opposing the use of the term open source for licenses that don’t adhere to the definition demonstrates where the two positions join. As Michael Tiemann from the OSI succinctly put it:
The FSF may have got the orthodoxy wrong, and the OSI may have got the interpretation wrong, but we both agree that prohibition of commercial use without special permission is antithetical to both positions.
There is a unmistakable kernel of agreement and it is great to see the OSI taking such a strong stance in this regard. Now, David Richard’s response, who seeks, I think, to essentially dilute the term open source, is as (or perhaps even more) fascinating for in a nut shell, and using a lot of florid religious imagery, it accuses the OSI of being too rigid! In his own words:
I believe the OSI has a wonderful opportunity to continue being relevant and helping to lead the movement forward. If, however, y’all choose to define your denomination of this religion in a way that we don’t fit in, that’s fine. No hard feelings. It’s your choice. You’ll ultimately be excluding a large congregation and we for one will continue trying to build a church made up of others like ourselves.
In response, I would say that the goal of F/OSS is not to be inclusive of anyone who wants to release bits of source code, but to create the conditions under which software, as it has been defined by the community, can be created. Join the church if you would like to make free/open source software as defined and you can go elsewhere (i.e., create a different term) if you are creating something different, even if it is only slightly different. Integrity matters. And again inclusiveness, if it comes at the expense of the main goal, is not a boon but a danger to F/OSS. The OSI will remain relevant by halting the dilution of the term OSI, not by expanding the definition so that it is left with no substance. And in contradistinction to what David Richard maintains, however, there is a great degree of flexibility within this domain but it does not lie in the strict definition of F/OSS but in the realm of interpretation. You are also free, as Mako and I have argued elsewhere to interpret the significance of F/OSS in multiple ways. And I think this is where the political strength of free software lies. There is interplay between a well-defined goal (in this case for creating free software) and a more flexible realm of interpreting the significance of these technical practice. And we wold lose and I might add, a lot if we became flexible about the strict definition of F/OSS and inflexible about its political significance. I get irked with folks like David Richards who would like to bend open source rules to meet their (often commercial) interests and I find it pretty na ve when folks say the political significance of F/OSS is just x (or worse should be x) for in reality its political significance lies in the fact that it has spawned multiple types of political and economic projects. And there is something almost playfully ironic, (or at least it makes me smile) in this fact. Though there is strict definition contained withing F/OSS, this strictness has, at least to some extent, encouraged by an extreme and very healthy form of political proliferation and promiscuity. More than anyone else I know, Mako has most passionately and thoughtfully argued for the importance of what I would call political clarity and integrity. That is, the importance of having a well articulated definition for social movements, for they act, as he says a rallying point to realize a social movement. Urging the Creative Commons to learn from F/OSS and dare to simultaneously narrow and more clearly define their goals, he states it quite nicely in the following terms:
Free software advocates have been able to use the free software definition as the rallying point for a powerful social movement. Free software, like the concept of freedom in any freedom movement, is something that one can demand, something that one can protest for, and something that one can work toward. Working toward these goals, free and open source software movements have created the GNU/Linux operating system and billions of lines of freely available computer code.
In essence, a definition that people can abide by, respect, and perhaps eventually cherish is the condition of possibility to make working political code. And given how hard it is to make social change happen (at least in comparison to build computer code), we should learn from what F/OSS has to offer. And at the same time there is another lesson embedded in F/OSS. The Free Software Definition is well defined; but it must be emphasized, narrowly so. It does not try to do everything and have everyone pledge allegiance to an inordinately complex set of commitments. Clarity, narrowness, and well-defined goals –> these three attributes have powered it far and wide and I hope it remains so. Now, since the term open source is not trademarked, we are left with the problem of how to challenge the current hijacking of the term. For the solution, I will leave you with Karl Fogel, who I think proposes a good solution:
Note that the OSI s objection is not to the Zimbra license per se. The objection is just to Zimbra s calling that license open source . They can use any license they want, but they shouldn t call it open source unless it actually is. Freedom is freedom, and no amount of spin will change that. So what should we do about this? The term open source isn t trademarked. Years ago, the OSI tried to register it, but it was apparently too generic. …But there is public opinion. What Danese and Michael are proposing doing is organizing a lot of open source developers (and I mean open source according to the traditional definition, the one the OSI and I and most other open source developers I know adhere to) to stand up and, basically, say All of us agree on what the definition of open source is, and we reject as non-open source any license that does not comply with the letter and spirit of the Open Source Definition.

MJ Ray: Comments about another W3C WG and WGs in general

Alex Hudson commented:

"Similar comments about another W3C WG: http://ln.hixie.ch/?start=1181118077&order=-1&count=1 W3C should be about authoring material for the web. It seems at the moment, they're more concerned with the stuff that happens after authoring - e.g., how stuff relates in "the semantic web". IMHO we still don't have any powerful tools for authoring either, so the idea that authoring tools will automate many of the "bolt on accessibility" tasks is pretty naive."
After implementing pingback, I have some respect for hixie. It's disappointing but not surprising to read those comments. Not sure what is meant by powerful authoring tools there. My tools are powerful, but I know they're not easy for new users. As I'm getting old and cynical, I'm not sure whether power tools can ever be correct and truly easy - just look at the pigswill spewing out of some Web 2.0 sites. niq sent me a link to the WCAG Samurai Errata and commented:
"The problem with WCAG 2, as with WCAG 1, is precisely that it's a Work of Committee, and seeks to represent too many irreconcilable viewpoints and egos. In some cases, even the ideas behind it are inconsistent. Many (myself included) regard accessibility as being about ensuring a reader with a physical disability can make use of a site (think Steven Hawking). That's also what HTML is designed to support. Others are concerned with the mentally impaired, also a worthy cause, but one that becomes counterproductive when its advocates fail to distinguish between a site that's inherently inaccessible because it presents a complex and challenging subject, and one that's unnecessarily difficult due to poor presentation. Add the two together, blend in some stupidity, and you get "accessible" sites full of classic "friendly" little illustrations like a "helpful" government booklet, and a horribly intrusive "alt" to explain each pointless "ethnic mummy and child" picture."
I think a Work of Committee could be useful, as long as you have the right committee. Thinking about that, I found the group membership list and I'm not sure that's the right committee. For example, I think the ex-Adobe Google-worker must surely have an irreconcilable conflict of interest (inappropriate use of Adobe's Flash and PDF formats and Google's Web Apps have done more than many to harm accessibility in the past IMO), yet is a leading light of WCAG 2.0 - maybe that's why it's gone so dark? Update: Thijs Kinkhorst comments:
"As I read in the draft, suggestions are still possible until the 29th, not the 27th of June."
I'm sure that's different to the email which started me writing this, but please go comment and see if we can make WCAG-2.0 useful.

27 June 2007

Martin F. Krafft: Removing background from images

Every now and then, I want to remove the background from an image and replace it with transparency. Instead of painful pixel work with the select tool, the following Gimp recipe does the job quite well, provided the background is a single colour:
  1. Choose Layer->Transparency->Colour to Alpha and select the background colour in the dialog box. Then click OK.
  2. Use the magic wand tool (Z) to select the contiguous region around your object. Make sure to use a sufficiently high threshold such that the selection line coincides with the image's silhouette.
  3. Press Ctrl-I to invert the selection.
  4. Choose Select->Shrink and shrink the selection by a pixel or two.
  5. Create a new, transparent layer. The selection should still be active.
  6. Make the background colour you previously converted to transparent your foreground colour and choose Edit->Fill with FD Colour from the menu.
  7. Switch the two layers such that the current one moves behind the one containing your image.
The method isn't perfect, but it certainly saves me a lot of time. For instance, my new hackergotchi a tribute to Scotland and the local team of DebConf7 only took me a few minutes to get ready. Suggestions still welcome. NP: Barclay James Harvest: Everyone Is Everybody Else

24 June 2007

Kai Hendry: Back from Debconf7

Kai and Fabio
Kai Hendry at Debconf7

Dirk Eddelbuettel: New OpenMPI packages

Debian had OpenMPI package since early last year when Florian Ragwitz made some initial stabs at packaging. The package has seen a number of NMU and patches since then, but was generally getting cobwebs ... which was too bad because OpenMPI seems to have some wind behind its sails upstream. Unfortunately, little of that got packaged for Debian. After some discussions on and around the debian-science list, a new maintainer group was formed on Alioth under the pkg-openmpi name. Tilman Koschnick (who had already helped Florian with patches), Manuel Prinz, Sylvestre Ledru and myself have gotten things in good enough shape in reasonably short time. And I have just uploaded a lintian-clean package set openmpi_1.2.3-0 to Debian, where it is expected to sit in the NEW queue for a little bit before moving on to the archive proper. The changelog entry (which will appear here eventually) shows twelve bugs closed. Our plan is to provide a stable and well maintained MPI implementation for Debian. OpenMPI is the designated successor to LAM, and apart from MPICH2, everybody seems to have thrown their weight behind OpenMPI. So we will try to work with the other MPI maintainers to come up with sensible setups, alternatives priorities and the likes. If you are interested in MPI and would like to help, come join us at the Alioth project pkg-openmpi. Last but not least, thanks to Florian for the initial packaging, and to Clint Adams, Mark Hymers, Andreas Barth, and Steve Langasek (twice even) for NMUs.

22 June 2007

Eric Warmenhoven: To 3 or not to 3

Apparently there’s lots of interest in the TiVo-Comcast product that I took a picture of. Already that picture has nearly 350 views, and the blog entry got a couple questions about it. And it’s a crap photo of something that was seen at CES. The two questions that were asked were: When can I get it? I have no idea. All I know is that we got 1.0 done and Comcast currently has it. Most likely they’re going to be doing some testing of it privately, and then start market trials in select areas, but I don’t know when or where. (It’s also going to be available for Cox customers, but I have even less information about that.) Should I wait for it or get a Series 3? I can’t really answer that question. I have a Series 3 at home and it’s awesome. For me, if the choice were between this or a Series 3, I’d take the Series 3, despite the several hundred dollar price tag (especially since it’s currently available). Before I got the Series 3, I had the old Comcast DVR; and if I had to choose between that and the TiVo, I’d definitely choose the TiVo. (I’m biased, but I was a TiVo fan even before I got hired. That’s part of the reason I wanted to work here.) Disclaimer Please keep in mind that I’m not speaking on behalf of TiVo. I only work here.

19 June 2007

Scott James Remnant: What we'll get in feisty

This post is a sequel to my “What I want in edgy+1” post, which was written when the developer summit was first announced. Now that the summit (and the following company All Hands meeting) is over, and we’re all back home, this seems as good a time as any to review what was discussed and get a good idea of what feisty might look like. I’ve touched on the problem of predicting time-based releases before. It’s both the gift and the curse of a time-based release schedule that work not completed in time can be deferred to a later release. So take the following with a pinch of salt, some of this may still not make it. General Themes The general theme of dapper was to be a release that could be supported for a long term, conservatism was the goal. We did do some quite exciting work under the hood, such as the switch away from hotplug to a fully udev based system, but in general it wasn’t innovative or ground-breaking. Edgy was intended to be more ground-breaking, but the practical matter of having only a few months to develop it and our own pride in shipping something that still worked meant that it turned out as a shinier, improved dapper. So what’s feisty going to be like? Judging from the discussions at UDS, and the specifications that have been written, the general theme of feisty is to lead the way again with new technologies. The Desktop For the users, perhaps the most obvious change will be the active use of 3D acceleration to draw the desktop where hardware can support it (the issue of binary drivers has not yet been resolved). Windows are more visually distinct from each other through shadows behind them, and transparency for the non-active windows. The relationship between different workspaces/viewports is much clearer as the transition is animated on a cube or sliding pane. And for the bling crowd, window s can wobble, burn, explode or dissolve. There are two different compositors being considered at this point, compiz and beryl; we’re likely to decide which to use at Feature Freeze based on how well they’ve been fixed, developed and supported until that point. Underneath the hood, the configuration of the X server will be simpler and more robust; so even the worst case will not leave you confined to a console without any help. Networking Networking in feisty should be a much more pleasurable experience. The Network Manager project, which has been waiting on the side lines for a couple of releases, may finally get a shot at being in the default installation. For the average user, this makes switching between wired and wireless networks, including setting up WEP and WPA much, much easier. And what if there’s no network infrastructure around? Out of the box support for RFC 3927 link-local networks, and multi-cast DNS resolution (aka. Zeroconf), means that you just need to agree on a network name with others around you to be able to communicate. Of course, once you’re on a network, you still need to be able to share files and access local services. The integration of the Avahi project gives you one-click access to other people’s shared music or files; and lets you share your own, should you choose to do so. Customisations One of the most encountered problems with edgy was it being difficult to install various common packages that aren’t part of the default installation, especially codecs. Projects such as Automatix attempt to tackle this, but can cause problems with upgrading to later releases. Some effort will be going into feisty to make performing these common customisations much simpler, including being able to install codecs or viewers by just trying to open the file. Boot Sequence A long-running project within Ubuntu has been to get the boot and shutdown sequences as fast and efficient as possible. At the time we started, it was common for a Linux distribution to boot in a mere two or three minutes. If you thought edgy booted fast, wait until you see feisty. Feisty is the release where we take full advantage of Upstart, not only bringing the system up as fast as possible but also more robustly than we can do today. And if that weren’t enough, it should look slicker too; without some of the nasty flickering and mode changes that happen today.

Anthony Towns: Chatting about the CDDL

Just prior to the “State of the Coffee Cup” talk on Sunday, Tom Marble sent a quick invitation to Steve Langasek, Sam Hocevar and myself to have a chat with Simon Phipps about the CDDL and some of the concerns that have been raised on the debian-legal list lately – particularly about choice of venue. Unfortunately in the ten or fifteen minutes between the mail and the meeting, we couldn’t find Sam, but we managed to grab Don Armstrong to join in instead. It’s a couple of days later, and I’m going from memory, not notes, so this is paraphrasing. Simon’s primary concern was one of predictability – Debian accepted the Mozilla Public License back when it was released (and prior to Mozilla and other software tending to get dual licensed under the GPLv2) which is what the CDDL was based on and contains almost the exact same terms. Simon’s comment was that if you’ve accepted that then, reviewing new licenses from scratch and coming up with different results really makes it hard to work with you, and worse makes it look like you’re basing your conclusions more on who proposed the license rather than what the license actually says. Don and Steve seemed to mostly appreciate that point, but still thought that choice of venue was harmful and unnecessary, and that it’d be nice if Sun – as pretty much the primary organisation currently behind any of these licenses – would take some steps to reduce that harm: limiting choice of venue to when both parties in a dispute are multinational, for example. Simon’s concern there was that updating the CDDL would require a lot of effort internally – getting buy in from all the groups in Sun using the CDDL, as well as getting the wording changes approved from the appropriate legal advisors, and convincing the lawyers of Sun’s commercial partners that the changes weren’t going to be a problem later; and committing to all that work when a new versions of the GPL is about to be released and it might be a better thing to work on getting the relevant software available under that, or even the GPLv2. On the other hand, Simon thought that making (binding) statements about Sun’s interpretation of the license seemed to (eventually) work reasonably well for the DLJ, so might be something that can be done again for this issue. And while that only counts for Sun, we can fairly easily ask if other authors of CDDLed stuff agree with Sun’s interpretation for their software, and only worry about possible problems if it turns out they don’t. That’s pretty much where we ended up I think, with Simon suggesting that we work out what exactly needs to be clarified with Tom, and then get it passed back up to Simon to get signed-off on. And hopefully that’s what’ll happen over the next little while. :) (The somewhat more interesting question of whether we can combine CDDL’ed OpenSolaris (in particular Solaris libc) with GPLed userspace tools such as dpkg to produce a Debian OpenSolaris distro is still up in the air – Sam’s currently waiting on a response from the FSF legal team on one of the questions that concerns Debian, aiui; but they’re currently flat out working on GPLv3 as you might imagine. Oh well – in the meantime, there’s always Nexenta!)

18 June 2007

Andrew McMillan: DebConf7 so far

I'm at DebConf7 now, in Edinburgh, and it is great to catch up with the great bunch of geeks that is the Debian community once more. As well as working on general stuff through DebCamp (the week leading up to DebConf proper) I'm helping out in producing the video streams running the sound desk or one of the cameras. The streams are highly recommended, and you can find them on http://streams.video.debconf.org:8000/, though for the New Zealanders reading this they do, of course, happen at seriously silly times of the day. Here is the DebConf7 schedule if you want to watch :-(. We'll get the talks up in a downloadable format as soon as we can, and I'll point people at them again then. Highlights of the conference so far have been a talk by Nick Mailer on Debian Day, which was a very nicely presented run-down on the ancient history of intellectual property laws here in the UK, and the very interactive session this evening on Maintaining Packages with Git, which had some very good tips from David Nusinow as well as a lot of support from the audience. I now better understand why Penny is so keen on "git rebase", though hopefully I would have figured that out if I worked on more shared projects. It's great to see 150-odd people in the room, many of whom had some experience with Git, and there were some very heavy users with great insight into it's strengths and weaknesses. Contrast that with DebCon5 in Helsinki where I almost felt Martin Langhoff and I were unheard when we acclaimed it, or even at LCA in 2006, where Martin did a first pass at importing X.Org into Git. Of course Git itself has come a long way from then too. Another very interesting session was Martin Krafft talking about 'netconf', which is his proposal for a replacement of the ifupdown infrastructure using a much more stateless, event driven approach. This definitely looks like a well considered design and I hope he can pull it off. I've got my own talk on Thursday, so I'll be concentrating on pulling that together for the next few days. If as many people come as have said they will (50% of the people signed up for any talk at that time) then it will be a very stuffy BoF room. The venue here in Edinburgh is great, and it's nice to have a good network connection. Everything has been running very smoothly for the participants, as far as I can see, though I know plenty of people have been working very hard to make it so, behind the scenes. Weirdly, after only a short time using IPv6 at home and at work, I am finding I miss not having it readily available IPv6. I unfortunately had to disable my tunnels because adding 350mS latency to everything makes the web very frustrating. Perhaps next year we'll be able to add IPv6 to the desired network features for DebConf8 in Mar del Plata. Good to see that in the meantime the availability of the new IPv6 nameservers for .nz has been announced in my absence though.

Evan Prodromou: 29 Prairial CCXV

I had a great Father's Day weekend with Maj and Amita June. On Friday afternoon, I spent a couple of hours with Patrick Tanguay to visit potential locations for the incipient Montreal coworking space. We saw a great space near the Provigo on Mont Royal and Clark; there's a definite premium for the location, which has to be weighed against the cost of other places. Then Maj and AJ and I drove up to Mont Tremblant National Park. Mont Tremblant is a beautiful park in the Laurentides a few hours north of Montreal. It's best known for the large ski resort in the town of Mont-Tremblant, but the park area is a real draw on its own. We camped in the Lac Monroe area, in the Secteur du Diable (closest to the resort). We spent most of the weekend on the beach at the lake, swimming and wading. Amita June is definitely hitting her stride as a water baby; she wailed like a banshee any time we left the beach. It was great to stretch our camping legs. Quebec is a great place to live if you like camping. There are lots of good national parks (both Quebec and Canadian) and wildlife reserves. The countryside is a beautiful mix of meadows and eastern temperate forest, and the facilities are of a uniform high quality. Also, the parks aren't particularly crowded, even on holiday weekends. Downsides? The bugs. There are blackflies and deerflies that leave gigantic welts and sometimes draw blood. We spend a lot of time slathering on highly-poisonous insect repellent and still get really bit up. The other thing is the short camping season; many campgrounds don't open for camping until June and close up in September. We woke up to rain on Sunday morning, but it cleared pretty quickly, so we were able to leave in the sunshine. We stopped in Mont-Tremblant on the way home yesterday for a nice Father's Day brunch. Amita June obliging fell asleep in the car, and we had a quiet ride home. Yesterday evening, we went to Piknic for a few hours, and had a great time. There was one of those moon-walk bouncy rooms, which Amita loved. What did I get for Father's Day? Well, the camping trip, of course, plus an IOU for a new BBQ. My old table-top one got a leak in its propane valve during the move, so I'm taking that as a signal to upgrade, and Father's Day is a good time for it. tags:

Bad things happen to good people I've been following with interest Biella Coleman's trials and tribulations with the Blue Cross Blue Shield Horizon of New Jersey. Apparently Biella had some dermatological surgery, and the insurance company is not paying up, citing a pre-existing condition. I wonder if they pay out on any dermatological work, since probably all of their customers have skin when they sign up. Biella's extremely resourceful (she doesn't have "healthhacker.org" for nothing) and was able to find a way to put pressure on her insurance company: by filing a complaint with the Department of Insurance. But the most interesting part of the story is that after complaining in her blog, Biella got an email from the Public Relations director of Blue Cross/Blue Shield. Kind of interesting to note which companies are keeping an eye on the blogs, and which aren't. What does it all boil down to? Not much yet, apparently. She's still fighting with the company over whether and how much they'll pay -- although having the PR Director intercede on her behalf has opened some doors. I'm going to continue to follow with interest. tags:

BarCampBlackRockCity I just read a Twitter message from Chris Messina about BarCampEarth, and I'm thinking: I'll probably be in Black Rock City at that point. Does a BarCampBlackRockCity make any sense? And then the other side of my head says: no, it does not. tags:

16 June 2007

Andrew Pollock: [life] In the Mother Country

So I'm off travelling again. I've done way too much lately, and I'm looking forward to getting home and staying there for a while. I flew from San Francisco to London yesterday for my first ever business class trip. United business class is whole different experience to United economy, that's for sure. Aside from getting ridiculous amounts of legroom, and much better cabin service, the thing I like best about the whole experience was the preferential treatment. I arrived at SFO, and there was an unholy amount of people at the economy check-in counters, so it was really nice to breeze around to the business check-in counters and wait in a much more manageable line. At Heathrow, I got to used the priority immigration line, and my bag came out pretty quickly, so I'd breezed through Heathrow and onto the tube faster than you could say "Pussycat, pussycat, where have you been?". Very happy with all of that. I caught a Piccadilly line tube from Heathrow to Acton Town, then changed to the District line to Victoria station. The tube (particularly the first one) was smaller than I expected. The ceiling was pretty low, the aisle narrow, and it just felt pretty squishy. The second one seemed a bit wider and taller. It didn't feel like it could really deal with peak-hour commuting, but I guess maybe the frequency makes up for the capacity... Buckingham Palace Road turns out to have pretty wacky numbering. Just because you're opposite number 80, doesn't mean the odd numbered 80's are anywhere near you. So it took me longer than it should have to find the hotel, and I wandered up and down Buckingham Palace Road for a while before I'd managed to calibrate myself to the numbering. More frequent numbers on the buildings would have helped immensely. So I've hardly seen anything, I'm really just passing through on the way to Edinburgh for Debconf, but I love what I've seen so far. The red double-decker buses. The taxis. The post boxes. The phone booth's. It all feels really really old, but still really really alive. We've got to come back and do the place properly. The office is really nice as well. Very modern looking. Very open-plan like the Sydney one. I wasn't able to sleep on the plane unfortunately (I couldn't convince my brain to switch off), so I was pretty zonked by the end of the day (got into the office shortly after 9am). I had a fairly productive day, and went to the hotel and crashed at about 6:30pm, woke up at about 2:30am and couldn't get back to sleep. Hopefully if I just soldier on through today, I'll get to sleep a bit later this evening and do something closer to a normal night's sleep. I'm catching the train to Edinburgh today (I blame Mark (who doesn't appear to believe in permalinks) for putting the idea in my head). Looking forward to another tube ride and seeing some of the countryside. I've been really apprehensive about this trip ever since I booked it. Mainly because I'm going over to Dublin after Debconf to try and apply for a new visa. For some reason, I'm just really worried that's all going to go pear-shaped. I'm feeling better now that I'm here, but I'll feel even better once the trip to the consulate is behind me. Even better still when I get my passport back successfully. Best still when I'm home again.

14 June 2007

Christine Spang: Impressions

The Real Cambridge is quite a lot different from the US Cambridge. There are vast stretches of green grass everywhere. People drive little brightly-coloured Volkswagons on the wrong side of the street, and in some places one can be walking down the middle of the street and not realize that vehicle traffic can go there too until a car creeps up behind you, trying to get through. Everywhere that’s not explicitly marked “no cycles” (the colleges, historic important buildings, etc.) features dozens of locked up, often step over-framed commuter bikes, decorated with panniers and front baskets. I still find it vaguely nerve-wracking being in a British vehicle, since I’m always expecting cars traveling in the opposite direction to come wheeling towards me. But I have yet to step off the curb and almost get hit by a double-decker bus because I looked in the wrong direction before starting across. The Cam River is frankly quite puny. Walking alongside it you can witness such events as crew boats nearly crashing into tour boats, and apparently a sort of crew racing called “knocking” is often used because of the river’s narrowness. It’s also not very deep, as can be proven by the periodic punt hires along its shores. And here punting is not to procrastinate (very much an MIT-ism) but to propel a punt , which is a flat-bottomed boat with square ends, by pushing a pole against the bottom of the river. It’s difficult to go six hours without being offered a cup of tea, especially if one is visiting many different people. And I have no idea how people can manage to get drunk off of beer, because a pint is quite enough to fill my stomach and leave no room left for more. So much liquid! And the prices of everything here are just about the same as in the US–except in pounds sterling, not dollars. Which means things really cost twice as much. But since the only things I really need to buy are food, drink, and miscellaneous (like anti-death-by-hay-fever-histamine), things will work out alright. Things have been awesome so far, and the local free software-Debian-Ubuntu-GNOME crowd has made me feel right at home. Maybe someday I will actually swap Cambridges for a while. I’ve gotten to see a bit of Cambridge University here too. Since Hanna’s (really awesome) dad is a fellow of King’s College, we got to go in and look around even though it’s exam season and the general public isn’t allowed in — there’s always a person in funny academic robes standing at the gate and shooing away tourists. Right through the gates there is a large, pristine mowed lawn. It’s in such a condition because no one is allowed to walk on it — unless they’re a fellow of the college. Flaunt that. Her dad also supervises the Cambridge end of CME, so we crashed an end-of-the-year garden party for that this past afternoon. And Saturday it’s off to Scotland, which should be just as awesome! And with more people and more Debian! I’m excited.

Next.

Previous.