Search Results: "jan"

1 November 2006

Antti-Juhani Kaijanaho: I was wrong

It’s snowier now than it was then.

30 October 2006

Axel Beckert: BarCamp Zurich -- Resume

The BarCamp Zurich 2006 is over. On the way there I thought about what I would do during time slots with no interesting talks. But when I tried to make up my personal schedule, I noticed that I rather would have the opposite problem: Too many interesting talks at the same time… Well, to many interesting talks at all, although I only went to tech talks and left out the biz talks. I first went to the Podcasting & Co. talk by Timo Hetzel, since I never heard or made a podcast, but was curious about podcasts in general. Besides statistics and rankings he spoke about where people listen to podcast (most listeners seem to do that during commuting), what people like in podcasts, why companies podcast, etc. And that a very big share of all podcast listeners use iTunes as podcast client and except juice (never heard of it before) all other podcast clients seem to be irrelevant. My conclusion: I haven’t missed anything not having listened to or made podcasts neither do I need to listen or make podcasts in the future. They’re irrelevant. To me. :-) Then I had to choose between the talks AJAX@localhost (PDF) by Harry Fuecks and Realtime Collaborative Text Editing and SubEthaEdit by the Coding Monkeys. I heard about realtime collaborative editing once know that it’s a challenging task for the developer. I also know what AJAX is (and that I would only use or recommend it for bells and whistles, but not for content in general), but “AJAX@localhost” sounded like writing normal applications using AJAX. It sounded interesting and evil at the same time. I had to go there! ;-) Others had similar expectations after reading the talk’s title, so I was quite surprised that it was about something completely different, namely about debugging AJAX on the localhost but under conditions usually only appearing if you’re running AJAX application not from localhost but from somewhere on the net: You may have different lags with every request, so some requests may reach the server before others, which may screw up the whole AJAX application, if the developers didn’t think about it and only tested it on localhost. (Hence the talk’s title…) My conlusion: I will use and recommend AJAX even more seldom, since there seem to be even more design misconceptions than I thought before. But I’ll once have a look at the Webtuesday meeting, he mentioned. For the third time-slot, I didn’t need long to decide where to go: I already knew a little bit about Microformats and I wanted to know more. Tag Trade also sounded interesting, but the second part of the talk’s title, Paid Learning sounded like business and so I had no scruples to cold-shoulder that talk. I probably didn’t learn anything really new in the microformats talk, but my knowledge about microformats is now more concrete, and after talking with Cédric Hüsler later during a break, I would even trust myself to start and define a new microformat. Then I went to the HG Caféteria together with Gürkan and two German guys. While waiting in the queue, we were talking about our jobs and our favourite Linux distributions. I got some rhubarb pie and a rum truffles, assuming that the Caféteria uses no alcohol in their products like all other SV restaurant I know. But this one seemed to have quite a lot of alcohol, since it felt like my breath was burning… Well, this resulted in my second SV feedback form submission… Next I went to Alex Schröder’s talk about multilingual websites, Oddmuse and the Emacs Wiki, although also the talk A-Life about simulating evolution sounded promising. Alex asked the listeners about their experiences with multilingual websites and showed what Oddmuse offers as partial solution to the general multilingualism problems. But regarding the comments from the auditorium, there probably won’t be a perfect solution until computers can translate perfectly… The next talk I visited was Gabor’s talk about his master thesis Organizing E-Mail which resulted in a soon to be released Mozilla Thunderbird extension called BuzzTrack. From the other concepts he showed, I found Microsoft’s SNARF (Social Network and Relationship Finder) and IBM’s Thread Arcs most interesting as well as the fact that there is no e-mail client seems to have a majority at all. Directly after Gabor I had my own talk about Understanding Shell Quoting, so I also couldn’t go to Adrian Heydecker’s talk about Learning with Hypertext and Search Engines. I had only about three and a half listeners of whom several to my surprise where here because they didn’t know what “shell quoting” is. I really didn’t expect that. But that seems to be one of the differences between a BarCamp and a Linux Conferences: People come here to see something new, something they haven’t heard about before. On Linux events most people come, because they already heard about some special topic and want to know more or learn something about it. On Linux event my shell talks usually were attracting many visitors while at a BarCamp, talks presenting an idea, a concept or a tool seem to much more interesting for the attendees. So for the next BarCamp I perhaps exhume my Website Meta Language talk which never seemed to hit the nerve of Linux event attendees, since it tried to “sell” a different concept of generating website than most were used to. At least one listener excepted the talk to be named “shell escaping”, but IMHO escaping is only one quoting technic and it’s not only used for quoting. But perhaps I should take the word “escaping” in the title though for the next time. Happily most of the listeners seem to have learned something new from the talk and Silvan Gebhardt was really happy about his new knowledge about ssh ~ escapes, although I mainly talked about how to quote them than how to use them. :-) During the last slot I visited the session about the upcoming BarCamp Alsace 2 and the yet to be planned BarCamp Rhine, a BarCamp to be held on a ship traveling from Basel in Switzerland down the Rhine, stopping in Strasbourg, Karlsruhe, Rhein-Main-Area and perhaps even Cologne and Amsterdam. Contrary to my initial thoughts, the day was over very fast and I had no single boring minute during the BarCamp. Wow! After we’ve been kicked out of the building by ETH janitors, we joined again at the Bar N-68. On the way there I met Urban M ller who attended BarCamp Zurich, too. We talked quite a lot and it was very interesting to see behind the scenes of e.g. map.search.ch. Later I joined the French speaking table, talking with Gregoire Japiot from WineCamp France and Alex Schröder. Around 9pm I left the N-68 as one of the last BarCampers, tired but with new knowledge, new ideas, new acquaintances and a new hobby: BarCamping. What a luck that BarCamps aren’t that often, otherwise I couldn’t afford this new hobby. ;-) As a relaxing end I met with Alex Schröder and Christophe Ducamp on Sunday morning for brunch in the restaurant Gloria in the Industriequartier. When we were leaving the Gloria I noticed their book board with a lots of BookCrossing books and I took “The Da Vinci Code” with me, since I saw the movie and people were telling me that the book is much better. I’ll see…

28 October 2006

Antti-Juhani Kaijanaho: First snow

I woke up this morning and found the following scene outside the window: It’s first snow and I think it is on time. First snow rarely lasts, though; it is likely this snow will have melted away by midweek, if not earlier. Permanent (well, one that lasts until spring) snow generally comes a month later. Last year permanent snow came just before Christmas.

19 October 2006

Kai Hendry: Where was I?


School children learning about Free software
I feel a little stupid for my last post about my unstable machine. It was the hardware to blame and my hard drive finally crashed during a Linux conference in Mendoza, Argentina. Typical. At the conference there wasn´t much new for me and I regret that I didn´t get organised enough to give a talk about the Web and WHATWG stuff. Though I did manage to meet good people and talk about some topics that are of interest to me. As usual the fabulous friendly CafeLUG geeks from Buenos Aires were there, led by the wonderful DD Marcela. I also met an inspiring guy from Cordoba who founded a successful software company that works with free software. His brother gave a great talk about it at the conference. I really love to see Free software power people to start a business. Oh and about my thinkpad X40 hard drive replacement. With the help of another new friend Fredrico from Mendoza, we called up IBM in Buenos Aires and arranged a new hard drive and a battery within 5 days! I didn´t know if my machine was under warranty still, phew. Unfortunately IBM called the next day saying they didn´t have any stock and the wait from the US is about 2 weeks. Since I have no idea where I will be in two weeks (ok, probably Sao Paulo, Brazil) I cancelled that request and now I have found a free Windoze (hopefully not trojaned) terminal just over the Andes, in Santiago Chile. Tough life!

Kai Hendry: Where was I?


School children learning about Free software
I feel a little stupid for my last post about my unstable machine. It was the hardware to blame and my hard drive finally crashed during a Linux conference in Mendoza, Argentina. Typical. At the conference there wasn’t much new for me and I regret that I didn’t get organised enough to give a talk about the Web and WHATWG stuff. Though I did manage to meet good people and talk about some topics that are of interest to me. As usual the fabulous friendly CafeLUG geeks from Buenos Aires were there, led by the wonderful DD Marcela. I also met an inspiring guy from Cordoba who founded a successful software company that works with free software. His brother gave a great talk about it at the conference. I really love to see Free software power people to start a business. Oh and about my thinkpad X40 hard drive replacement. With the help of another new friend from Mendoza, we called up IBM in Buenos Aires and arranged a new hard drive and a battery within 5 days! I didn’t know if my machine was under warranty still, phew. Unfortunately IBM called the next day saying they didn’t have any stock and the wait from the US is about 2 weeks. Since I have no idea where I will be in two weeks (ok, probably Sao Paulo, Brazil) I cancelled that request and now I have found a free Windoze (hopefully not trojaned) terminal just over the Andes, in Santiago Chile. Tough life!

18 October 2006

Aigars Mahinovs: Did I miss anything?

Catching up on blogs, emails and Debian mailing lists I see that nothing really important has happened while I was off-line: the dunc-tank caboodle escalated and died down when the majority voted that it was not worth the commotion, some people got upset at some other people and decided stop working on Debian because of that, Mozilla went even more bonkers about its trademarks. The dunk-tank scandal ended just like I thought it would. As one could imply from my eternal unstable concept, I do not see making releases as a the main thing that Debian contributes to the society - it is more about the integration and cross-empowerment of all the packages that Debian has. In that context, making a release is a not the most important job in Debian, but it need to be done from time to time. Release management combines technical and social challenges - there is not much of novelty in it (I imagine). So, from this perspective, there is nothing bad in money being paid to do this mundane and hard work, if we really, really need to release in a specific time frame (IMHO the only reason to release Debian in 2006, as opposed to 2008, is the Lars tattoo bet). If we return to “release when its ready” paradigm and aim for about one release every 2-3 years (and I see nothing really wrong with that) then paying release manager will not be needed. Money is about getting things done on a schedule. It does not make things good (or bad). It does not make thing important (or not). It make things go by the schedule (unless you pay by the hour). It is the obvious solution to releasing Debian in December. Now two questions need to be answered - will it work? and do we really want to release in December? The second thing - in any group of 1000 people anyone can easily find a lot of people that he would not love/not respect/disagree with/disregard/hate and be unable to work with. It is no reason to stop working on Debian, unless one does it only to be universally loved. It is inevitable that we will need to learn to do what we like to do without paying attention to the irritations. And about the trademarks - in Debconf 5 in Helsinki I was giving a talk at the Debian Day, just after I helped to win the first big fight against software patents in EU, and Branden (who was GPL at the time) asked me what do I think Debian should do about its trademarks. Both then and now I strongly think that trademarks and any other litigation inducing concepts (except enforcement of GPL) have no place whatsoever in free software. I think Debian should lead the way and give up the “Debian” trademark. And Mozilla should follow the lead. So what if there is a pron site “Debian chicks”? You will not solve that with litigation anyway (at least not in a year or two) and why should we really care? So what if some one make a distro and calls it SuperDebian? If someone will really think that it is related to Debian but better (especially despite warnings to the contrary), then that someone will really deserve to get the trojan planted in that distro. And again, against a well prepared criminal, litigation will not help much. So, did I miss anything?

Steve McIntyre: LiMux - bringing Debian to Munich's local government

As promised yesterday in my report about the Munich BSP, I'd like to talk some more about LiMux, the project being run within the City of Munich to replace all of their desktop Windows systems with Linux. The team kindly offered us the use of their offices in central Munich as a base for the BSP last weekend, and on Sunday afternoon they gave us a demonstration and answered lots of our questions. The following is from my (known-faulty) memory...

Jan-Marek, LiMux and Florian Jan-Marek and Florian talked us through their setup. They're using FAI to automate installation of systems, along with LDAP to store lots of configuration information and GOsa as a user-friendly front-end to that configuration. They've integrated these to enable some very clever management features so that all aspects of the city-wide system can be maintained from one central point. As new machines are introduced onto the network, they can be configured into one class or another: simple desktop clients up to so-called "depot" servers, used as seeds for further clients. Individual user profiles can be tweaked, giving users access to new applications as they are needed. Shared resources like network storage and printers are set up automatically from the LDAP database. Access to USB storage devices can be controlled on a per-device, per-user basis for security. That's quite an impressive feature list. Most of the work has been in configuration and systems work rather than custom packages on the clients themselves - the vast majority of the packages installed come straight from the standard Debian archive, with some backports (like a newer version of KDE). Building on top of standard packages means that they have access to a huge amount of Free Software without having to do all of the work themselves. A small team (10-ish at the moment, growing to 100 or so in the future) can effectively deploy and manage desktops and associated servers for a huge number of users - they're expecting to be supporting on the order of 30,000 systems 2 years from now. The team have just recently made their first stable release and are starting to roll it out across the city, one department at a time. There are the familiar issues involved in the deployment, of course. For example, users don't want to help test pre-release versions to help nail bugs, but then complain loudly when they find bugs in the first release. And in such a large project to migrate from predominantly Windows (NT4!) desktops to KDE on Linux, a major part of the effort needed is in user training. There is quite a bit of support and custom work needed to convert people's MS Office macros over to working on top of OpenOffice. And there are still quite a number of users who will remain using Windows for specific applications that still don't have Linux equivalents yet. Apparently the "Wine Cellar" group will help on that front. *grin* In terms of collaborating with Debian, the LiMux team are expecting to help in a few ways. As bug reports are filed against their applications (apparently very few so far), they'll be pushed upstream along with (hopefully) fixes for them. They will also be devoting some full-time developer effort to security work; it would be good for both sides if this effort can be shared.

Tux in
the office! It was quite striking to see Tux, the Linux penguin, as a visible logo in local government offices! The team have clearly made some excellent progress on this exciting project, and I'm sure that I can speak for all of Debian in wishing them the best of luck in the future. I'll be watching with interest...

17 October 2006

Antti-Juhani Kaijanaho: Dealing with multiple parallel sources of translations

I get translations for dctrl-tools from multiple sources: one translator has direct commit rights to my darcs repository, others bug me; still others use Rosetta (dctrl-tools upstream). On top of this, I just found out that there are active translators working on the Ubuntu branch of dctrl-tools in Rosetta. There have been several cases of different sources of translations having different parts of the programs translated, so it would make sense to combine them somehow. Dear LazyWeb, how do I combine translations from all these sources?

John Goerzen: Goodbye, Dutch Avenue

This morning, we closed on the sale of the house we've been in since 2002.

We're excited about Grandpa's farmhouse that we're having renovated, and it will be great when we get to move in there in December or January.

But it's sad to leave the place that has been home for these last few years. Terah and I got a chance to spend a few last minutes over there today.

All sorts of memories came back. We remembered our long walks up and down the driveway, hand in hand, laughing and talking. We remembered sitting out on the west edge of our property watching the sun set behind the trees. We remembered playing with our cats, having friends and family over, the excitement when we moved in, all the hard work we put into renovating the old part of the house, and so many more things.

We also been looking back and laughing at things that were really pretty annoying at the time: having no water because of ants, having to move out for a few days on Valentine's Day because of a skunk, being without power for most of a week because of ice (and having to cut my way in and out through the driveway).

We'll have memories, photos, and some small souvenirs from our old house. But we'll miss it, too, just like we missed our house in Indianapolis and its pond with attack geese. (That's another story.)

When we moved to Kansas, my grandma, who grew up a few miles away, heard our address and said, "Dutch Avenue! That's right at home for me." It was right at home for us, too.

9 October 2006

Wouter Verhelst: On Firefo^WIceWeasel

Recently there's been some awe in the Free Software and general Linux world from several people over the fact that Debian is dropping Firefox from its distribution, and planning to replace it with GNU IceWeasel. Personally, I don't see what else the Firefox maintainers should do. While I can understand the Mozilla people's concern over modified (read: possibly trojaned) versions of Firefox and that they need to protect their trademark against abuse, I can't believe that there can't be a better way to handle this than to require review of every patch in the Debian package. After all, packaging a browser requires more than just writing a script that gets it compiled and that gets the compiled stuff in the .deb archive. There is also branding to be done—the Debian firefox package contains a search engine for Debian packages. I doubt this is part of the original firefox source, and there are more things. Additionally, sometimes you may have to change stuff so that it works with the specific quirks of the Debian distribution, or other things. Finally, in accordance with its published policy on the matter, the Debian distribution also wants to be able to distribute security-patched versions of Firefox after Debian Stable releases; and we want to do that not just by throwing in the new version of Firefox, but by using the older version, patching it so that the security bug (and only the security bug) gets fixed, and releasing that. We can't use the official mozilla.org/mozilla.com source for that, since they cease security support after half a year or so (which is, by far, not enough for Debian); and the discussion in the bug report on the matter does not inspire confidence that we would be allowed to release a security-fixed version of firefox and still call it firefox. The alternative would be to forget about our own security releases and ceding to the braindead mozilla.org/mozilla.com security policy, but I have a pretty public opinion on that one. So that leaves us with not adhering to their braindead trademark policy, which requires us to choose another name. And as it happens, there already appears to be a piece of software that not only is a forked Firefox, it also drops non-free software from the release, something which Debian has to do anyway. So why not use that instead? BTW, yes, I did call their trademark policy braindead. No, IANAL. But you don't have to be a lawyer to see that doing something like the way Debian manages its trademark—you're not allowed to call it "official" unless your product is bit-by-bit the same thing as what Debian produces—is sane enough without being a nuisance like the firefox trademark policy.

Wouter Verhelst: Go Antwerp, Go!

Yesterday was Election day in Belgium; 318 municipal governments were elected, along with 5 provincial governments (of whom nobody really knows what they do) and in some large cities (such as Antwerp, where I live) also district governments. One secret hope I had was that the extreme-right Vlaams Belang party would not get any more successful than they already are. The good news is that they in fact didn't. The bad news is that they didn't lose any votes either. They gained .6% (or so) on the 33% that they already had, which basically is a stagnation. The very good news, however, is that Patrick Janssens, defending mayor of Antwerp, gained a good 16% in votes to arrive at 35%, becoming the largest party of Antwerp. Finally, sanity is beginning to return. Go Antwerp, Go!

Martin-Éric Racine: Linutop - Internet for the masses

I promised last week that I would be telling more on October 1st, about the mysterious Project X that I had been sporadically blogging about over the last few months. Better late than never, so here's the story: Casablanca I met Morocco-based French entrepreneur Laurent Bervas via his blog in January 2006, while looking for countries nearby EU with a promising ICT market, because of growing obstacles in getting work in my field, due to my not being an EU national. By the time the situation had reached the ridiculous extreme that friends were continuously loosing juicy recruitment bonuses, simply because their employer's HR department had issues with hiring non-EU nationals despite EU policies that clearly favor foreigners married to an EU national I figured that I ought to do something creative and see which of the countries bordering with EU might offer interesting opportunities. Laurent was blogging about all the exciting opportunities he kept on seeing, since he relocated to Morocco to conquer the high-end Real Estate market. One day, he wrote about Morocco becoming a rising figure in the outsourcing business for the Francophone market, which prompted me to contact him. After a couple of weeks of discussion, he cautiously dropped his idea for a niche market he had spotted: a simple Linux-based set top box to surf the Internet. He then asked if I would be interested in developing it and in launching a startup with him to promote it. I gladly accepted. Startup That's when Laurent decided to introduce me to an old friend of his, Fr d ric Baille, who spent several years at Compaq, culminating with a role in the team that launched the iPaq. Fred's help was instrumental in defining the market positioning of our product. Laurent and I discussed the product features at length over IM and immediately agreed that the OS would be based on Free Software. That left the hardware part unresolved... or so did Laurent think. Years ago, I briefly worked in the management team of an Estonian data security startup. This gave me the opportunity to network with several movers and shakers of the Estonian ICT. Among them was a promising ASIC and industrial design startup that produced really cool Thin Client hardware. The answer to our hardware needs, I figured, could easily be fulfilled by them. My idea of contracting the hardware to Estonia was initially received with skepticism, so I made a simple proposal: why don't we hold the inception meeting in Tallinn and meet with the potential hardware supplier at the same time? Fred and Laurent accepted, so we spent part of April 2006 there, with me acting both as their friendly tourist guide and as the middleman for the introductions. Fred and Laurent immediately fell in love with Tallinn's designer bars, omnipresent WiFi network and blond-a-plenty. Most of all, their visit at our potential hardware supplier gave them the answers they needed: Estonia is IT. Overview The hardware we selected is built around the AMD Geode LX, a nifty Pentium-compatible single-chip computer. It comes equipped with VGA output and four USB 2.0 ports, along with high-quality audio via 1/8" input and output jacks, plus a built-in encryption engine. We added 100baseT Ethernet connectivity (with provision for other networking options) to that, to complete the platform. For the software part, we used ingredients from Debian's Etch release, focusing on a configuration that would enable easy access to the most popular applications for home and small business use: Instant Messenger (Gaim), Multimedia player (Totem), PDF reader (Evince), Web browser (Firefox), word processor (AbiWord). The result is this: Press Coverage The editorial team at IT-Neeger (an A-level Estonian ICT blog) immediately scooped the story [in Estonian] and it produced such a strong response that the traditional Estonian media contacted the IT-Neeger team to write a feature article (stay tuned for details). The local Slashdot, Minut.EE, also reported [in Estonian] on the IT-Neeger article. Thus, myself and Laurent Bervas spent the better part of this week being blogged, interviewed and podcasted by a variety of Estonian and French publications, which is how I only got around blogging this bit tonight. Marketing Contrary to our competitors, we fully intend on keeping this platform open, so our initial market will actually be Free Software developers with a penchant for innovation. As such, our first 50 units are exclusively intended for interested developers who want to improve upon our initial idea and participate in defining the final product. Inquiries are welcome!

8 October 2006

Russell Coker: started growing a beard


At LCA in January this year there was an auction at the end (an LCA tradition), and most people were feeling very relaxed and happy after plenty of good food and drink and bid with reckless abandon (another LCA tradition).

To help things along a few of us volunteered to do various things if various amounts of money were reached. The full list is here.

Anyway my contribution is to grow a beard for the next LCA. Recently I had been thinking that it was about time to start, and this morning I discovered that I had misplaced my shaver, so I start today. I had wanted to get a clean-shaven picture for the first blog entry, but things didn't work out for that. The above picture is two days of growth (members of my local LUG are probably used to seeing me look like this).

I will strart by blogging a picture every day, and then start to space them out as it grows. The apparent results of beard growth should exponentially decrease over time so the rate of pictures would best be based on the log of the time.

3 October 2006

Edd Dumbill: Living and coding on a Mac

For most of this year I've been working mainly on a Macbook Pro, having deserted my Ubuntu desktop.  Somebody wrote to me recently, kindly enquiring how this life was going, and asking some questions in particular.

Although of limited interest to some, I decided to answer the mail here, if for nothing else to record my views for future reference.

Q: How is developing on a Mac? Is TextMate really that good?

Developing Rails applications on a Mac is sweet, and yes, TextMate really is that good. My jilted .emacs languishes in lonely misery.

Developing other (non-Mac) stuff on a Mac is a real pain however, because nothing's where you'd expect it after years of Linux use.  Like several other developers I've seen, I run Ubuntu Linux in a virtual machine under Parallels for such work.

It's not just that Macs lack apt-get (as you can get it with fink), it's that they lack the reliability of Debian or Ubuntu's package repositories to underpin it. Running Linux in a virtual machine is far easier.

On the subject of TextMate,  perhaps the best compliment I can pay it is that using it reminds me of the last text editors I really felt at home in, CygnusEd and then FrexxEd on the Amiga. TextMate's most serious flaw is the inability to create split views, however. It seems to me that's a key programmers' feature, to be able to read from one source file at the same time as editing another.

Q: Is the hype about Ruby on Rails true?

I still think so. I resisted it for 6 months because I tend to be averse to anything that gets such a large amount of publicity, but then stepped aboard the train around the time of Rails 0.13.

I've not really looked back after my initial experiments seemed to bear out the claim of developing "ten times faster than PHP". I'll admit I find it hard to keep up with all the extra developments that get added at the Rails cutting edge, but then again I don't really need them.  Most of those additions are refinements, rather than core changes. Constraints on my time mean I tend to write in a common Rails subset, as opposed to flexing my muscles with the obscure but clever bits.Even if your taste isn't for Rails, then the trend that Rails, Django and friends have started is improving the web development playing field for all.

Q: What makes you happy and sad about the Mac?

The things that the Mac still scores on are:
The interesting thing to me is that none of these are very difficult to surmount, for want of a little resource.  The day of the Linux desktop, so perennially around the corner, will yet come.

As a balancing postscript, I will mention that there are some things that are Mac irritants to a sensible Linux person, which include filesystem case sensitivity, lack of decent SSH agent (yes, I've tried them all), not knowing what to kill -9 when things go pear-shaped, Apple's arrogance, crippled nature of some default apps (iChat won't put multiple accounts in the same window, Safari doesn't support keyboard navigation at all well, Quicktime player won't play movies fullscreen).

29 September 2006

Antti-Juhani Kaijanaho: Graph reduction

Graph reduction is the basic operational model of lazy functional programming. The idea is that the program is represented as a huge λ-term abstract syntax tree, and the program is executed by performing outermost-leftmost β-reductions to this tree, and whenever a subtree must be replaced by another tree (such as, when performing the substitution operation), the root node of the replacee is overwritten by the root node of the replacement (or a redirection node pointing to the replacement) instead of making copies (the body of an abstraction still needs to be copied, of course). The effect is the familiar laziness: when a function refers to its parameter more than once, the argument term is shared between the parameter references instead of making copies, and so any reduction in any one of them is shared by all of them. For some strange reason, I decided I must write a set of C functions that demonstrate graph reduction. I wrote them, and then in order to test them I expanded them to become a complete implementation of λ-calculus (extended with integers) graph reduction. The program can be found here; it is written in portable ANSI–C. It is able to show the complete trace of reductions. It is intended for demonstrating the technique, and therefore is effectively a stupid interpreter and does not implement any of the sophisticated optimization techniques that industrial-strength functional language implementations routinely use. Example usage:
$ cat examples/fib
TRUE = t.f.t
FALSE = t.f.f
IF = x.x
NIL = x. IF x TRUE NIL
ISNIL = x. x TRUE
CONS = car. cdr. x. IF x FALSE (y. IF y car cdr)
CAR = cell. cell FALSE TRUE
CDR = cell. cell FALSE FALSE
MAP = f. xs. IF (ISNIL xs) NIL (CONS (f (CAR xs)) (MAP f (CDR xs)))
AT = n. xs. CAR (DROP n xs)
DROP = n. xs. IF (n = 0) xs (DROP (n - 1) (CDR xs))
TAKE = n. xs. IF (n = 0) NIL (CAR xs (TAKE (n - 1) (CDR xs)))
FIBS = CONS (CONS 0 1) (MAP GENFIB FIBS)
GENFIB = pair. CONS (CDR pair) ((CAR pair) + (CDR pair))
FIB = n. (CDR (AT n FIBS))
$ ./graph-reduction -t -S10K -H1M examples/fib
graph-reduction 1.0 by Antti-Juhani Kaijanaho, report bugs to antkaij@mit.jyu.fi
[heap_size=1048560,stack_size=2621440]
examples/fib> FIB 3
[...]
1 + (1 + (0 + (f[4].f[4]) (y[11].(x[5].x[5]) y[11] 0 1) (t[3].f[4].f[4])))
1 + (1 + (0 + (y[11].(x[5].x[5]) y[11] 0 1) (t[3].f[4].f[4])))
1 + (1 + (0 + (x[5].x[5]) (t[3].f[4].f[4]) 0 1))
1 + (1 + (0 + (t[3].f[4].f[4]) 0 1))
1 + (1 + (0 + (f[4].f[4]) 1))
1 + (1 + (0 + 1))
1 + (1 + 1)
1 + 2
3
examples/fib>
(In the trace output, each bound variable is annotated by a scope identifier that effectively allows me to ignore variable caputure problems.) I plant to further extend the language to handle algebraic data types and simple pattern matching, to get rid of the noise of simulating these concepts in the traces. Technically, perhaps the most interesting part of the program is that it contains a fully portable copying garbage collector.

Antti-Juhani Kaijanaho: Tsar Trek

This poster was on a bulletin board at the university:

Antti-Juhani Kaijanaho: What have I been doing?

On the server:
$ history awk ' print $2 ' awk 'BEGIN  FS=" "   print $1 ' sort uniq -c sort -rn head -10
    234 really
     34 fg
     25 cd
     24 screen
     23 tail
     22 ls
     17 less
     16 spammer
     13 host
     11 man
Spammer is a simple shell function:
spammer()  
        really iptables -I INPUT -s $1 -j REJECT
 
On the laptop:
$ history awk ' print $2 ' awk 'BEGIN  FS=" "   print $1 ' sort uniq -c sort -rn head -10
    297 echo
     62 ./graph-reduction
     53 darcs
     30 gdb
     10 make
      6 ssh
      6 LC_ALL=fi_FI@euro
      6 cd
      4 valgrind
      3 top
./graph-reduction is a program I wrote during the week. I’ll blog about it separately. the LC_ALL lines are likely all LC_ALL=fi_FI@euro luit slrn so that slrn would send Latin and not UTF-8 (the latter is strongly discouraged in sfnet).

28 September 2006

Biella Coleman: The Silence of Failure in Silicon Valley

After about 6 months of initial research in the Bay Area, I had to make a choice over the future direction of my more directed fieldwork. Would my project be on Silicon Valley, its religious fervor for the exuberant technology start-up, with the geek entrepreneur (probably with some affiliation with Standford) at its center stage, or would it be more broadly about free software and the culture of geekdom? I chose the later, for various reasons, but I think I wanted to write a dissertation that did not bleed with cynicism but instead flowed and flowered with a lot more joy than could have been possible if I had stayed within the grasp of the start-up and the venture capitalist. That said, I learned a lot about SV, took a lot of notes, and read most anything I could get my hands on whether the work of San Jose Anthropologist,Jan English-Lueck or published in magazines like Mother Jones, Harpers, and even the National Geographic. One of the luminaries that writes about SV from a cultural perspective is Paulina Borsook. And she is fine writer who admittedly has ticked me of on occasion (to be precise because she collapsed too much of geek culture into that of the specific SV world in Cyberselfish, which at the time I found almost personally offensive, probably more than it should have). Today I just came across a short, older but very illuminating piece of hers The Disappeared of Silicon Valley (or why I couldn’t write that piece) which is as much about the limits of historical representation in general as it specifically about the failings of start-ups in SV at the end of the recent boom and bust cycle. So her goal was simple enough: To find people involved in starting new high-tech whose companies had died.. and to find them to get a more visceral and cultural window into this experience. But it was a near to impossible task. Despite her impeccable record with confidentiality and a far flung social network, she could not get anyone talk about these ostensible failures. There has been a good amount of writing on the limits of historical representation because the archive or what comes to be the archive is a function of power and it is usually the powerless who are left out, as the work of Michel-Rolph Trouillot has so eloquently shown. But while it is true that some CEO of a dethroned corporation may be powerless in some sense of the word, it is not what we associate with the word. But in fact, the power of stigma of failure in a region that magnifies an already well-develiped cultural fetish of success (especially, I imagine, among male graduates, of places like Stanford Buisiness School), is enormous, so much so, that it seems one can only write about the experience, as Barsook has done so well, through the reality of a lack, through silence.

27 September 2006

Aigars Mahinovs: Howard worldwide

I am hooked. I love to listen to Howard Stern. Up to now I have been doing it quietly by downloading it from P2P ever since I heard about him from a 60 minutes appearance just before moving to satellite radio on 1st January of 2006. Finally Sirius started transmitting their radio stations to the Internet (for a fee). 13$ a month is not cheap for Internet radio (that is common to be gratis), but Howard Stern makes up for every penny of that with 5 hours of great talk show 4 days a week. And the dozens of other channels are just bonus. If I were in the coverage zone of the Sirius satellite, I would get a receiver and look forward to the Stiletto, but as I am in UK, I have to make do with the Bittorrents shared by a highschool janitor and now with live streams from Sirius.com for 13$ per month. Luckily, the streaming works perfectly in Linux. (I did have to supply a USA address when registering, so I gave them the address of Google headquarters :) ) One more case where a gratis P2P downloads create a devoted fan and generate a sale. Now I am just relaxing and enjoying channels 100 - Howard, 9 - The Pulse, 12 - Super Shuffle and 33 - Area 33.

26 September 2006

Evan Prodromou: 4 Vend miaire CCXV

In all the fuss over the last few days I haven't mentioned that our friend Jani Patokallio has been in town this week. Jani is a longtime, dedicated Wikitraveller who's been instrumental in the success of the site; his dad is the Finnish ambassador to Canada so he gets the occasion once in a while to be in our neck of the woods. It was great to have him here. First, it was good because we finally managed to go out to Maamm Bolduc, the fantastic nearby diner/restaurant with the great poutine that I mentioned in Journal/20 Prairial CCXIV. Great according to montrealpoutine.com, that is. And I have to confess: it was an incredibly good poutine. Maj and I got the v g , which was rich with fried mushrooms and peppers, and Jani got the bourgignon, full of wine and beef. I think we all left satisfied. We also managed to head out to Chu Chai, the Thai restaurant on rue St Denis with all the fake meat. Jani brought his brother Miko who's at McGill right now, and they didn't seem to mind the tofu and seitan and stuff, so it must be good. I also had showed Maj the Debian:HugAFinn game, and we resolved to earn some points while we had two Finns in a relatively captive situation. I think both J & M were nonplussed by our hugging advances, but once they learned that it was in the interest of gaining points, they acquiesced stoically. Fine people, the Finns! tags:

Thanks Matt Matt Brubeck pointed out a 7-line shell script to fix the ssh UI problem I pointed out on Journal/2 Vend miaire CCXV. At least I think it was Matt -- he didn't sign his comment. This makes the second time in the last week or so that someone else has edited my WikiBlog. I guess it's a good thing, but it's making me think I need to work out some formal way to do commenting. tags:

Next.

Previous.