Planet Apache

October 13, 2005

Ugo CeiSteve’s brown trousers

nojeans.jpgWe all know Apple products have the best design in all of the consumer electronics and computer industry. But yesterday’s event introducing the video iPod and the new iMacs left us shocked and very disappointed.

The Unofficial Apple Weblog (TUAW): “Look at the picture to the right. Steve is not wearing blue jeans! Those are pants, for the love of Pete…and they’re brown!”

You mean: Brown pants with a black turtleneck? Did Steve wake up yesterday morning and, without even opening his eyes, put on the first two things that he could find in his drawers? What will be next? A pink iPod with a red clickwheel? Someone please give the the guy a lesson on dress color matching. ;-)

Carsten ZiegelerBloglines trashed all of my feeds

Logging into Bloglines today, I was surprised twice: first, by a new feature allowing you to navigate using keys. Well, that's great, but the second surprise was that all my feeds are gone! So, nothing to navigate :(
I hope they can restore them as my last export of all feeds, well, is very very long ago...So please Bloglines give me back my feeds.

Update: Just one hour after I complained everything is back. Thanks, Bloglines. And guess what I did first? Yeah, right, I exported all feeds.

Ted LeungPhotography Books

When I was a kid, I learned a little bit of photography via a summer program for "gifted" students. I borrowed my father's 35mm Canon rangefinder camera (which was older than I was) and managed to learn the difference between aperture and shutter speed. Unfortunately I didn't really learn how to use them to control pictures. I know that I definitely understood the implications of shutter speed better than aperture. Since I didn't take a lot of pictures, I didn't get my film developed very often, so I didn't really get the opportunity to learn from the pictures that I did take. After a while, my attention ended up elsewhere, and finally came to rest on computers.

Digital photography has changed all that, and I'm pretty eager to make up for lost time. Our recent vacation was a great opportunity to take pictures in a variety of settings, especially since the kids were both old enough and interested enough to take some interesting day trips. The two older girls hiked right up to the top of the obsidian flow with me. One of the things that I did during our vacation (and a bit after) was to read some books on photography. I checked out a bunch of books and tried to read them over the course of the vacation, so that I could try a little bit more on each day trip.

Here are some quick reviews of the various books:

"Understanding Exposure: How to Shoot Great Photographs with a Film or Digital Camera (Updated Edition)" (Bryan Peterson)

This is the book that picks up where I left off. Peterson covers apertures in a way that made real sense to me, breaking them down into three groups: Storytelling Apertures (f/16, f/22, +), Singular Theme Apertures: (f/2.8, f/4, f/5.6) and Who cares? Apertures (f/8, f/11). That treatment really help me a lot. I switched over to using aperture priority mode much more heavily than I had before. I also felt quite a bit more confident to put the camera into fully manual mode and play around. I did all the waterfall shots on manual, and I also switched to manual on several occasions because the aperture priority wasn't producing what I wanted. There was also a a useful treatment on shutter speeds, but it wasn't as eye-opening for me as the treatment of aperture.

In addition to aperture and shutter speed there was good treatment of front, back, and side-lighting, and some useful tips for metering pictures with the sun in them -- something that Peterson calls "The Sky Brothers", which (unsurprisingly) involves metering the sky and then using the AE lock to shoot the actual composition.

There was also a sidebar on using a tripod. We have a big Slik tripod that we bought years ago to go with our camcorder, so I packed that along on a few of the day trips. Michaela volunteered to be my tripod sherpa for part of the time, and I just carried the camera mounted on it the rest of the time. It's amazing how people's perceptions are affected by things like equipment. When I was taking the waterfall pictures, two or three sets of people asked me to take pictures of them at the falls. In any case, I couldn't have made the waterfall shots, and a few of the other shots that I really liked unless I had the tripod. My hands just shake too much.

"People in Focus: How to Photograph Anyone, Anywhere" (Bryan Peterson)

This book wasn't actually on the list of books that I started with, but while I was in the library card catalog, I searched for other books by Peterson, and this one came up. I'm at the point where I'll photograph anything for the sake of photographing it, so I was curious for tips on photographing people. There was some treatment on photographing people's faces or hands, and on filling the frame (which has improved my people pictures enormously). Also a bit about lens choices, but since I only have one lens, that only made me wish for more, but I already broke the bank for the year just on the camera. A large section of the book was then application of the techniques from Understanding Exposure applied to people.

My biggest thing with photographing people is just working up the nerve to actually do it. There was a section on approaching people which was helpful, but that doesn't help when you're right there in the situation. I guess I'm going to have to start working on that.

The next two books are about visual design. I've always been intimidated by painting, drawing and so forth. Much of my exposure to the arts has been via music. These two books by Freeman Patterson gave me a jumping off point into the world of visual design.

"Photographing The World Around You: A Visual Design Workshop For Film And Digital Photography" (Freeman Patterson)

Patterson stepped through some building blocks of visual design: light, line, shape, and perspective. After that he talked about how to assemble these building blocks into compositions and how they impact/create dominance, balance, proportion, and rhythm. There were lots of photographic examples of all these concepts which helped to get the ideas across.

About a third of the book is exercises/assignments that you could do to start improving your sense of visual design. I think that I'm going to be trying a bunch of these out

"Photography And The Art Of Seeing: A Visual Perception Workshop For Film And Digital Photography" (Freeman Patterson)

This book was a little more "artsy" (for lack of a better description). Sections had names like "Learning to observe", "Thinking sideways", "Abstracting and Seeing" and so forth. Some of this is a little ahead (I think) of where I am artistically. There were lots of very interesting photos, many a little more art-like that the type of photos that I have been making. Again there were some interesting exercises accompanying the various discussions.

The last third of the book was a review of visual design that was reminiscent, but not identical to the material covered in "Photographing the World Around You".

I don't think that I'm going to be getting to these exercises for a little while yet.

"Learning to See Creatively: Design, Color & Composition in Photography (Updated Edition)" (Bryan Peterson)

By the time I got to this book, some of the material was starting to be repetitive, such as the basic visual design elements, and various kinds of light. I did learn about additive versus subtractive colors, which wasn't treated anywhere else.

Peterson also did a general treatment of the various classes of lenses, which was helpful. The biggest thing that I got out of that section was the use of extension tubes as an alternative to dedicated macro lenses.

The section on composition was probably the most helpful. Via other means I had already learned the benefit of Filling the Frame, and the Rule of Thirds. There was some additional stuff about the Rule of Thirds (prefering 66/33 versus 50/50, and preferring the right third as opposed to the left third) that was helpful. The discussion of framing (Frame within a Frame) and the use of edges was also new. Generally speaking I found this section to be really helpful. Part of it is that Peterson's style seems to be perfect for where I am on the photographic learning curve. All of the exercises that he suggested seem like they would be really helpful to me, so I am definitely going to try and do them all.

Summary
If I had to suggest a reading order for these books it would be:

  1. Understanding Exposure
  2. Learning to See Creatively
  3. People in Focus (if you are interested in people photography)
  4. Photographing the World Around You
  5. Photography and The Art of Seeing

Of course, the thing that I really need to do now is go and apply myself to some of these exercises.

Tetsuya KitahataPL/SQL + PDF = PL/PDF

Generate PDF files / Oracle HTML DB

http://plpdf.com/

Memo, memo ...

Apache News Blog13 October 2005 - Jakarta Commons HttpClient 3.0rc4 Released

ApacheCon US 2005 in SanDiego

The Jakarta Commons HttpClient team is pleased to announce the fourth and hopefully final release candidate of HttpClient 3.0. RC4 fixes a number of hard to find bugs left over in the previous release. We strongly recommend that all users upgrade to HttpClient 3.0 RC4. Please download and enjoy.

----

-- The Jakarta Commons HttpClient Team

Diwaker GuptaSecure products, not security products

We had a speaker from Goldman Sachs today for the Homeland Security class. Pretty interesting talk. I was impressed by the amount of efforts giants such as Goldman-Sachs have to put in to be on top of things. And I was surprised by how knowledgable (technically) the speaker was. It seems they are really doing a lot of things to safeguard themselves against all kinds of attacks and catastrophes. They are trying to build what they call a resilient enterprise.

I liked one quote in particular from his slide: We need secure products, not security products. Its an interesting thought – if our entire hardware, software infrastructure was built ground up with security in mind, would we still need things like virus shields and spam filters and intrusion detection systems?

Rich BowenThe Daddy Long-legs and the Fly

Diwaker GuptaSan Diego this week

A lot of things are going on:

Unfortunately, all of these things cost too much for me to get into :( Besides, I have a paper deadline on 17th so can’t take that liberty.

While I’m on events, let me take this chance to mention Upcoming and Eventful – two new additions to the “social” apps bandwagon – these are event calendars. Upcoming was recently acquired by Yahoo, and there’s a lot of momentum behind Eventful (EVDB) too.

October 12, 2005

Rich BowenHome automation

On the home automation front, I now have the following working.

When I walk into my bathroom, it turns on the light. However, if it is earlier than 6:30am, or later than 9:30 pm, the lights turn on at half intensity. Kinda nifty.

The laundry room and walk-in closet have cheaper Lowes-variety motion sensor lights, since in there I always either want the light on or off, and I want it to go off as soon as I leave.

The living room light turns on and off (and dims and brightens) by buttons on the television remote control.

And my halloween lights (orange christmas lights) turn on and off every time someone visits this website, or directly accesses http://wooga.drbacchus.com/x.cgi. Sure, this last isn’t very practical, but it makes me giggle.

Oh, yeah, and I have a little key-fob-style remote control by my bed that lets me turn on or off any of the lights in the room.

Next, I’m saving up for the x10 thermostat - slightly more practical, and very high geek factor. However, I think I’ve probably spent enough on this particular geeky hobby, at least until I get another royalty check. ;-)

Ugo CeiI consider myself lucky…

… that my plane from Amsterdam was delayed by just two hours. I could have traveled by train and found myself in the same situation as Carsten.

Ugo CeiDave Winer doesn’t like OpenDocument

Dave Winer: “After years of maintaining absolute control over user’s data in Microsoft Office, the new version promises to give total control to the user, and creates a path for developers to siphon users from Microsoft to new or specialized products. One would think that this would spawn an explosion of new products designed to please Office users but that’s not what’s happening. A group of large technology companies is proposing a competing set of formats, and has formed an alliance to confuse the market, and at least double the work of any developer who might want to support their products (with almost no installed base) alongside Microsoft’s (with a monopolistic dominant installed base). “

Yeah, right. Since Microsoft has a dominant installed base (illegally acquired or not), let’s just give up any hope of defining a format that is really open and unencumbered by ambiguous licensing terms and patents. Doing so would just be “confusing the market”. Bah!

According to Wikipedia, however:

All of this is in contrast with the competing “Microsoft Office Open XML” developed by Microsoft. Microsoft has released their format royalty-free, but with additional conditions not imposed by OpenDocument. Independent analysts have stated that Microsoft’s licensing requirements will prevent many competitors from ever implementing Microsoft’s format. The extent of this incompatibility is the source of significant controversy between Microsoft and other parties. The text below attempts to capture these differences, since they are often one of the reasons people consider using OpenDocument.

One is left wondering whether Dave’s opinion isn’t at least a little influenced by his dislike of Tim Bray, who is very supportive of OpenDocument. And of Atom.

Leo SimonsYou know your project is too big when...

...IntelliJ its code scanning takes more than a day.

...compiling it takes more than a day.

...the amount of lines of SQL DDL statements exceeds the amount of lines of sourcecode for your RDBMS.

...grepping it for 'Whoopsiedaisy' takes more than a day.

...the supporting SVN repository is bigger than the entire ASF SVN repository.

...the supporting CVS repository is bigger than the entire Sourceforge CVS repository.

...the Visual SourceSafe repository is bigger than the entire Windows VSS repository.

...it reads and writes more different mimetypes than there are registered mimetypes.

...it includes both an MTA and an office suite.

...the most expensive Oracle experts will tell you "sorry, we can't handle that kind of data volume".

...the most expensive HTTPD experts will tell you "sorry, we can't handle that kind of traffic".

...it is harder to bootstrap than maven 1.

...it requires 5 different versions of GCC to fully compile.

...it is written in more than 12 different programming languages.

...the object code doesn't fit on a DVD.

...more than 20 books are published about it by Microsoft press..

...more than 20 books are published about it by O'reilly.

...it is a better test case for the JDK than the actual TCK.

(To answer Berin's question, please feel free to join in.)

Seriously, Cocoon is not too big, it is just badly partitioned. In some ways, saying cocoon is too big is saying that CPAN is too big or Wikipedia is too big.

Cocoon (nay, Java in general) just needs a proper package management system. They're hoping OSGi is going to be "it". Looking around at all the existing package management systems, its probably not. You need some bits of metadata, but you also need the ability to augment that metadata with bits of scripting. Eg like Python's distutils or Ruby Gems.

Steve LoughranIBM donates the RUP to OSS? WTF?

I am snickering in disbelief. According the Register (meaning it may not be true), IBM are donating bits of the Rational Unified Process to Open Source, because OSS apparently needs it.

Apparently too much time is wasted in compliance documents, and dev processes are inefficient; an open source RUP will help collaboration and the sharing of best practices among independent software vendors and the wider software development community.

Ask anyone who has used RUP and RatRose if their life was improved. Then ask them if adopting xUnit, Ant, Maven, CruiseControl and Gump has helped. It is not the Open Source projects that need to learn their dev processes off the Rational Team, it is that the rational team need to discover Agile Development for themselves. Indeed, I cannot but wonder if this donation of the RUP to OSS (what does that mean? Can I fork my own process?), is an attempt to justify the RUP's continued existence.

For people that never encountered the RUP, it was an iterative process built around Use Cases, UML design, rapid cycles, and the generation of lots of documents. And it was marketed as a software application. Not a process that you could take, leave or adapt. No you bought the tools to let you use RUP 2000, and if there was a new tweak that only came out in 2001, you needed to upgrade your RUP tools to match.

IMO, the actual products that came of the team, RUP, Rational Rose and ClearCase were the best arguments against the process itself. If RUP was so good, why was RatRose such an unusable and overpriced nightmare that powerpoint was a better tool for designing applications.

Apache News Blog[Miscs] Jakarta Tomcat to Apache Tomcat

ApacheCon US 2005 in SanDiego

The Apache Tomcat Project is now on the process of migrating from a subproject under the umbrella of the Apache Jakarta Project into its own TLP (Top Level Project) in the Apache Software Foundation.

New Website:
http://tomcat.apache.org/

Stay tuned.

cf. Communities/Projects in the Apache Software Foundation

Marcus CrafterWaiting waiting waiting.... :)

Carsten ZiegelerTravelling by train - never again

This is a short story about what happened on my journey back from Amsterdam last week. If you're just interested in technical stuff, just stop reading NOW
Still there? Fine :) After trying to get back from the GetTogether last week, I'm now sure, I will avoid travelling by train whenever possible. The journey was really interesting and it was like in a movie where some guy tries to get in time to a different place. Now I guess, those of you trying to get back to Belgium (like Jorg) had fun as well, but listen what happened to me.
A arrived 30 minutes early at the central station in Amsterdam, immediately found the right platform and waited for the ICE to Duisburg. The signs above the platform already showed that the ICE will arrive in time. Ok, so the only thing missing was to find where my waggon would come to hold to get to my reserved seat. Not that easy in Amsterdam but finally I found the information. In the meantime there were several announcements on the platform in Dutch, but as they are usually doing the announcements in three languages it couldn't be important, right? Ten minutes to go and the platform started to get empty. Strange, so I looked at the sign: still showing that the ICE would arrive in just ten minutes. And then out of a sudden there was an announcement that the ICE would not drive through Amsterdam central station on that day and that all passengers should use the next train to Arnheim. The sign above the platform was cleared and that was it. Uh? Ok, fortunately I found a group of some other Germans understanding a little bit of Dutch and they had heard that we had to go to platform four and there would be a train to Arnheim. Ah yeah, and the ICE to Duisburg should wait in Arnheim for us.
Ok, no problem, so we went to platform four, but no train to Arnheim could be seen. Some other guy had heard that the train would leave in another ten minutes. Great, so everyone heard just a piece of information and by combining them we knew how we could get possibly back. Anyways, unbelievable, but ten minutes later the train arrived and we entered it, found a seat and off we go. Of course, we asked the train conductor how we are supposed to get back. And the only thing he knew was that the ICE should wait in Arnheim - and he didn't want to give further information as we were on a Dutch train and the ICE was a German one...
And then, three minutes after we left Amsterdam central station the train came to a full stop and we heard the following announcement: "Our way is currently blocked by another train which engine broke so we can't go any further. We don't know when our travel will continue. We inform you as soon as we know more." Argh, so we were stuck in Amsterdam in the middle of nowhere and noone knew what would happen with our ICE in Arnheim.
But fortunately, eight minutes later the problem was solved and the journey continued. The rest of the journey to Arnheim went very smoothly and during the trip we heard the announcement that the ICE will wait in Arnheim on the other side of the platform where we would arrive. Fine, so everything should come to a good end, right?
The train arrived in Arnheim, we hurried out of the train, went to the other side and - wait a minute - no train to see! So what should we do now? Fortunately some mintes later we were informed: "Unfortunately, we don't know when the ICE will arrive in Arnheim. We inform you as soon as we know more." Uh? They don't know? Did the train disappear? David Copperfield is currently touring, so could it be...Seriously, we tried to get more information at the station but noone knew more. After fourty minutes waiting several people went away and took a taxi to get to somewhere in Germany to continue the travel from a "better place". I was with a group of four other Germans as the rumour came up saying that the train would arrive in one hour from now. Actually, it seemed that this was the next ICE - but we didn't really trust that information. So as we were about to leave to share a taxi, a Dutch guy came over who wanted to travel to Germany with the ICE as well. And now with a Dutch speaking person we tried to get hold of some officials to get more info. And unbelievable but true, we got the information that actually the ICE was about to enter the station. Apart from telling us the wrong platform, the ICE actually arrived just three minutes later and we could enter.
The ICE had a problem with the engine, so apparently it never made it to Amsterdam. It stopped in Arnheim, was repaired and then returned from there.
Ok, now we were in the train and everybody found a seat - well nearly. Five minutes after the train left Arnheim, there were some people insisting on their reserved seats. Now, there were two things wrong with this imho: first, the reservations were for Amsterdam (to somewhere), as the train started in Arnheim, they were obsolete - actually I had a reservation as well, but didn't care as I was happy to have finally a seat (and a train!). And second, there were still free seats. So instead of pickung up just a free seat, those guys insisted on their seats, the people sitting there had to move to the free seats (sometimes just one row behind!) and then everyone was happy! And in fact this was such a big problem, that some minutes later the official announcement could be heard, that all seat reservations were still valid and that people not having a reservation should not take reserved seats. Now, a lot of "relocation of people" took place. Very funny, but imho totally useless. Fortunately, the guy who had a reservation for my seat never showed up...
Anyway, now the train was 90 minutes late, and it was obvious that I wasn't able to get my booked connection from Duisburg to Paderborn. Arriving at Duisburg station some time later - the travel went without further problems - I immediately went to the big schedule plan and found out that there was no direct connection to Paderborn anymore. Ok, no problem, I thought, and went to the info desk and ask for the next possible route. It turned out that the next train would leave in just one minute on the other end of the station (approx. 450 meters) - but in case, the guy at the info desk wanted to give me the next (and final) posibility as well. But now he had problems with the printer and it took a little bit longer to print the route. As soon as I had the paper in my hands, I hurried to the other end of the station and saw from down the stairs that the train was still there (the train was three minutes late). Great, I thought, started to run up the stairs and as I was in the middle, the train departed. Damn, if only the printer had worked the first time...
Ok, so another one hour wait for the final train which arrived just in time. I entered the train, found a free seat and wondered three minutes later why the train was still in the station? Then the conductor gave the nice information that there was a police mission on the rails between Duisburg and the next station, and he didn't know how long this would take and when the train was allowed to leave. Now, at this time, I really needed something to bang my head against very hard several times. Fortunately? I didn't find something appropriate...
But after 15 minutes we were finally allowed to leave. The problem was that I had to change trains in Hamm and if the train would be on time, I had 20 minutes to change trains. Now, this train already had a delay of 18 minutes...but luckily the train made it just five minutes before the next one to Paderborn should leave the station. So, happily I run to platform 2, where the train should leave and found out that noone - no passenger and no train - was there. So I looked up the sign, which stated that "today the train will leave from platform 5". Grmpf, so back downstairs, running to platform 5, entering the train, finding a seat and off the train went. One hour later I happily arrived in Paderborn. Puh. What a journey - it took me more than eight hours while the usual trip takes about four and a half.
Actually, it's really interesting as I use the train only once or twice in a year, but each time I do, something goes wrong :( And the great advantage of a car is that you can leave whenever you want. Fortunately my next journey will take me to California, so I guess I will not go by train there...

Bertrand DelacretazJava 5 for Mac OSX

Via Pier: Apple have just made their J2SE 5.0 Release 3 Developer Preview 2 available on their Apple Developer Connection website.

I haven't tried it yet, and I hope it installs on Panther which I'm still running due to the Checkpoint VPN client which still not running under Tiger (and Checkpoint have not replied to my request for information about what to expect when).

Matthew LanghamWho wants to be a millionaire? Stranger and stranger...

The German version of this popular TV program had some surprises in store in last Monday's episode.

First off, the 10 contestant round consisted of a son and mother (from Paderborn, where I live no less). They had applied independently of each other and only found out when they both arrived for the episodes recording (the son lives away from home). You may think that is pretty strange, but read on. Amongst the other 8 contestants in that round - was someone else the mother and son knew - also originally from Paderborn.

The father of one of the other contestants had been the son's Greek teacher at school!

This contestant managed to make it up to the 500.000 € question but couldn't come up with the right answer, so he quit. The question was: Which of these famous nobel physicists played soccer for their national team: Gustav Hertz, Niels Bohr, Pierr Curie and Henri Becquerel. The correct answer was given later as Niels Bohr.

But wait, now it turns out that in fact none of the listed answers was correct. Only Niels Bohr's brother played for the Danish national team and not Niels himself.

Ugo CeiGmail weirdness

I just noticed that in the last hour or so, almost all mails that I send via Gmail’s SMTP service don’t get delivered to their original recipients but end up in my Gmail inbox instead. What’s stranger is that those are visible only on the Web and not via POP. I’m doing various tests to see if I can understand what’s happening.

David ReidMid Afternoon, Wednesday

Gloriously warm sunshine, light wind, great view - time for a relax in the sun before heading home!

Marcus CrafteriChat and MSN?

Instant Messaging is one of those interesting services that's proliferated with multiple protocols, features and vendors over the past couple of years. While some services have merged or offered compatibility (eg. AIM/ICQ, etc), most of them are largely incompatible.

On the Mac, iChat is the default pre-installed chat client, which supports AIM/.Mac and Jabber accounts. The unfortunate thing is that iChat doesn't natively support MSN - which if you're like me, blocks out a whole bunch of people, etc, that use only this type of IM client.

The problem with iChat is even worse though, because if you have an iSight or want to use iChat's Mac->Mac SIP VoIP client, you must use iChat. So usually this leads to us running multiple chat clients at the same time with different accounts (and then Skype on top of this), or abandoning iChat (and those features) completely in favour of something like Adium - both solutions aren't optimal, and generally speaking also a waste of resources.

The situation has changed though in OS X Tiger which now supports Jabber. Jabber servers (if so configured) allow connectivity to other IM services such as MSN (yippi!), so if your Jabber server supports it, it's possible to import your MSN/etc contacts into Jabber and communicate with them via iChat as if they were normal iChat citizens.

For example, take a look at the Australian Jabber server's iChat site. Under the section "Gateways and Transports" they mention support for other protocols. Using this form, you can submit your Jabber account details, and your MSN account details and import your MSN contacts into Jabber. For simple end to end IM it seems to work fine.

The only caveat is that iChat only lets you connect to one Jabber server at a time (why I'm not sure?), so if you're using Google Talk, unfortunately you have to decide between Jabber or GTalk, as again unfortunately, Google Talk is currently an island. The Google Talk website does mention that they're working on opening connectivity so hopefully this changes in the near future.

Rodent of Unusual Size (Ken Coar)'You have burned so very brightly'


And then he crushed his head.
Updated: Wednesday, 12 October 2005 05:51 EDT

Aw, crap. My 19-inch KDS Avitron monitor appears to be heading South, and fast. I've been getting flickers for a while, but now it's gone and started doing that wasp-waisted thing. I've been thinking about going to a flat-panel; I suspect it's sure be a lot less expensive to run. I suspect the Death of a Monitor here is due to running continuously since I first got it. I was taught a long time ago that it was better to leave these suckers on than to switch them off at night and on again in the morning. Now, that was several years ago, and that advice may not apply to modern devices — in which case I've contributed to the poor thing's ill health.

Oops. Now I'm smelling a sort of 'wet electronics' odour so I think I'll be shopping for a monitor today. I wonder if the flat-panels are really affordable now, which are the best [value], and whether they can keep up with fast changes like games or DVDs..


Comments (0) Trackbacks (0)

Andrew SavoryXara Xcellent!

The best vector graphics package I've ever used, Xara X, is going open source! And being ported to linux and the Mac!

This is about the only program I really missed when I moved to linux and then the Mac, so this is great news.

Matthew LanghamVideo iPod coming? arrived!

Rumors have been flying for the past few days on whether Apple is set to launch an iPod with "video playback ability" anytime soon. Word is that today's event in San Jose may in fact reveal the real deal. Obviously, Apple is going to have to bring out an iPod with video at sometime in the future to remain in a strong market position. And what better time to do that than October, just before the holiday season swings into action.

Update: iLounge.com has a picture from the new iPod ads.

Later: New iPod with video playback (30GB and 60GB), new iMac and new iTunes. The new iPods (white or black) are thinner than the old ones and the battery life is longer. Prices start at 299$. The iTunes store now sells music videos and will also offer TV series episodes. The German iTunes store is selling the videos for 2.49 €.

Diwaker GuptaY! MSN Messenger?

Whoa! This is interesting news (via Slashdot):

Microsoft and Yahoo are set to announce on Wednesday a blockbuster interoperability deal that will reshape the landscape of the fragmented instant messaging market. The companies will connect their IM networks so users on each can communicate with one another using text and voice chat free of charge.

I wonder how will AOL take this. As for me, I don’t particularly care. So long as Kopete can handle everything, I’m not concerned.

However, as I have mentioned before as well, my preferred network is Jabber. So far I have only been able to convert 3 people – Asim, Ragesh and Jaya – to Jabber, which is quite depressing given the number of people using Y! or MSN on my buddy list. Come on people! Help me out here. Go Jabber.

Diwaker GuptaDoku tests

Just some more playing around with the dokuwiki syntax

Interwiki links:

Jaya – custom replacement

Diwaker GuptaKonqueror hidden goodies

I’m liking Konqueror more and more each day. Just today I discovered this wonderful neat trick. I had noticed that once in a while some weird characters would appear all over my konqueror window and I thought the display was going bad or something was messed up in Konqueror.

Well, it turns out that if you press “Ctrl”, Konqueror will assign single-character hotkeys to each of the visible links on the page. And so you can just press ‘1’ or ‘X’ or whatever key konqueror has assigned to a link to jump to that page without ever having to move around your mouse. And its a great accessibility feature as well – when I don’t have a mouse handy, I hate pressing tabs to move around links.

And I just realized that Konqueror is really smart in figuring out exactly which links it should consider. Try it out for yourself.

Neat.

Update (2005/10/12): this not only works for links, but also for form fields and buttons! I’m attaching a screenshot below.

konqueror-keys
 
 

Ian HolsmanSkypePhone & DECTweb

Does anyone out there know if the DECT-USB dongle will work with any DECT enabled phone?

See: Skype + LinkSys announce a cordless phone for more info about everything

Diwaker GuptaHappy Dussehra

Today is Dussehra, so happy dussehra folks! Dussehra was not very big in my household when I was growing up. So I don’t have any particularly strong feelings for this festival. But the general ‘victory of good over evil’ feeling makes me feel good :)

I’m sure Jaya will be writing something more informative on Dussehra, so keep a watch!

Paul Quernathought of the day

Programing itself isn't hard, it just happens to deal with hard problems more often than other tasks.

I don't personally think multi-threaded programing is inherently hard, but put a hard problem on top of a multi-threaded program, and it is still hard. I think that many people associate the disasters found in many multi-threaded programs with the hard problems they are trying to solve. Transference of hardness. Thoughts?

Ian HolsmanOracle and InnoDB.. my 2c's

I actually think it will be business as usual for MySQL. and that oracle will continue to licence it to them for the long term.

Why?

well.. there are other technologies which are available to MySQL to choose from.

They have a year or so they have before their existing licence runs out in which they can adapt the codebases of the offerings to fit their model, and make the improvments required to match the features currently offered in InnoDB. (or even get it to do 80% of the features with a promise of future innovations)

Where can they look?

  • Berkely DB (yes I know they have this as an option already)
  • Postgres
  • FireBird
  • NuSphere’s Gemini
  • CA’s Ingres
  • Gigabase

I’m sure there are more.. I don’t follow the space that closely.

Brian & Monty are smart guys, I’d even hazard a guess that they have some handler hidden away in case of this eventuality.

So I belive the lesson to learn is to make sure you have more than one supplier for any critical component, and enough of a buffer zone that the threat to switch is credible.

So why did Oracle buy it? not for this reason. or if they did, I don’t think they did their due-dilligence properly and underestimated how easy it would be to switch out InnoDB with another technology. A year is a long time in the development world when you have ‘hungry’ developers who know their shit and are stuck in a hard place.

Sam RubyOpenID code complete on Rails

I’ve now got basic function test coverage for the OpenID consumer functionality.  It required me to intercept get and post requests to the test.host, and get rails to recognize and process them.  I also had to add two methods to ActionController::TestResponse to make it more closely emulate Net::HTTPResponse.

I can test degrading from smart to dumb consumer, but in order to test things like non-DiffieHellman session types, further alterations to the consumer will be required.  Also test complete means that at this point I should expect to interop with well behaved implementations, not that this code is fully immune to attacks.  For example, I don’t yet verify TrustRoots.

Inevitably, there will be bugs, but at this point each bug should be expressible as a test case.

The most interesting bug that was found during this process was a case where the signatures did not match, where the difference was only in trailing blanks.  The root cause was running with MYSQL version <= 5.0.  Such a problem would have been very difficult to track down in production.  But it was easy to fix.

The complete set of unit and function tests (several of which includes multiple virtual HTTP requests) takes about 7.5 seconds to execute on my three year old ThinkPad — comparable to how long it would take to compile a similar sized application written in Java.  And this includes my weblog tests as it hardly seemed worthwhile to remove them.

Ruby on Rails continues to impress me.

October 11, 2005

Steve LoughranOracle vs MySQL

Excellent commentary on Oracle's purchase of InnoDB by David Megginson.

Buy owning the current storage subsystem for MySQL; Oracle can kill the twin-licensing model of MySQL. Personally, I have never been happy with their interpretation of GPL; any access to the database, even over the wire, constitutes a GPL use in their eyes. Going pure GPL would be an interesting strategy there. However, it will significantly hit their cash flow, which can impact development costs.

At its very least, this decision is a metric of the threat that a good OSS database is to oracle. Oracle happily encouraged linux when it increased their slice of the total costs; moving from unix to commodity PCs with linux freed up extra cash for the database. But any attempt to threaten oracles core business seems to generate an aggressive response. Which, when you consider that they are primarily a one-application-vendor, probably makes sense. Let's face it, if you were an Oracle shareholder, their current action is exactly what you want.

It has therefore given OSS startups a new exit strategy. No longer to business plans have to hope for service revenue, or a buy-out by IBM. Now you need to own the copyrights for an essential bit of code that threatens Oracle.

Rodent of Unusual Size (Ken Coar)Testing!


Yes, a test.
Updated: Tuesday, 11 October 2005 16:36 EDT

Testing..


Comments (1) Trackbacks (0)

Steve LoughranToo many SKUs

SKU::= Stock Keeping Unit. something you put on the shelves for punters. And Windows Latehorn will have 20 of them, though some are EU crippleware releases nobody will ship.

Still the list is scary. That will complicate testing no end, at least for anything that tries to integrate with the OS. I also think the hard split between professional and home use isnt based on laptop usage data; data I have shared with MS and Intel in the past.

Silliest is the way that the new Aero UI is only shipped on Premium editions. the new improved UI is meant to be the main selling point for the OS. If some SKUs ship without it, then, well, that's just silly. Its like Apple shipping with a lite version of the mac that only offers the Unix command line and X11. Also silliest is how the low end versions dont support listening sockets. What is so wrong with VoIP that people in third world countries aren't allowed to use it?

Rodent of Unusual Size (Ken Coar)Pushy solicitors


Sometimes they just don't know when to quit.
Updated: Tuesday, 11 October 2005 15:32 EDT

Rrrgh! We live in a complex that is marked 'no soliciting.' Nevertheless, occasionally someone wanders through trying to get support for something (usually a new restaurant).

Just now it was some woman wearing a button labelled 'ACORN' on a white T-shirt, carrying a clipboard, and trying to drum up support for raising the minimum wage. I told her we don't respond to door-to-door solicitations, but she insisted she wasn't soliciting; she wasn't trying to sell me anything.

(It turns out that ACORN is apparently a national effort/organisation, not just Raleigh. I thought it might be local, since Raleigh is 'The City of Oaks.')

Now, mostly I'm in favour of the minimum wage tracking inflation. And as long as she stayed on that track I was with her. But when she started talking about the poor downtrodden schlub workers, she started to lose me — because an awful lot of those I've encountered don't give a crap about their work, and IMHO aren't even earning the minimum wage. But a lot do, so in general I remain in favour of raising it.

Then she hauled out the clipboard and tried to get me to sign a petition. I told her I don't sign petitions brought to my door by strangers, and she interrupted me and started to say something about how it wasn't a petition. I overrode her with remarks about how I definitely don't respond to it in a no-soliciting area, and she interrupted again, trying to insist she wasn't soliciting.

Even as I closed the door in her face she was trying to hand me something. I sicced the apartment manager on her.

Look, ACORN, whoever the hell you are, you should make sure your canvassers understand some basics. Like, if they're going to break the law (soliciting where it isn't allowed, which could also be construed as trespassing), they should be polite about it. And if someone says "no", say thanks and move on. Arguing just wastes everybody's time and is bad for your group's reputaion. Continuing the in-your-face approach is not on.

This woman's basic clewlessness in this area not only alienated me, but her pushiness pissed me off so much that she probably got kicked off the property. I certainly hope so.


Comments (0) Trackbacks (0)

Steve LoughranPublic appearances

I'm going to be Amsterdam next week, presenting Taming deployment with SmartFrog. It's going to be a fun week -we just need to put the demo together.

I've also just signed up to give two lectures at Bristol University's software engineering course; my old `When web services go bad' talk, then an introduction to JUnit. It's funny lecturing: nobody heckles. Compare that to something like ApacheCon when half the Ant committers are in the front row, just waiting to catch me making a mistake. But if I can teach students about why unit testing matters, I will be happy.

Apache News Blog12 October 2005 - Apache Axis (Java) 1.3 Released

ApacheCon US 2005 in SanDiego

The Apache Axis team is pleased to announce the availability of Apache Axis (Java) version 1.3. This version gives Axis the ability to run inside applets, more efficiently process attachments, and preliminary support for MTOM, not to mention the usual round of bug fixes. More info is available in the changelog.html in the release.

You can find the release at:

http://www.apache.org/dyn/closer.cgi/ws/axis/1_3/

The Apache Axis webpage (which contains info on mailing lists, bug reports, etc) can be found, as always, at:

http://ws.apache.org/axis/

----

-- The Apache Axis team

Berin LoritschConcern Creep

We have all heard about scope creep. It's when extra features have been required to be incorporated into your system. How about concern creep? Concern creep is when extra methods find their way into an interface because it would be convenient even though the use for those methods are relatively small. If in fact we need a new method in a base interface somewhere, perhaps you need to think about a new interface. It starts out innocently enough, a little here, a little there. Unfortunately it is a broken window and if it is left unfixed the code will become less and less usable. Funny how code seems to decay quicker when there is less care taken about your contracts.

A good interface is worth its weight in gold. At least as far as your statically strong typed languages like Java are concerned. It's the mixing of aspects that clutter the code and make it seem rediculously complex.

Davanum SrinivasANNOUNCE : Axis 1.3 Release

Greetings, Web Services fans. The Axis team is pleased to announce the availability of Axis (Java) version 1.3. This version gives Axis the ability to run inside applets, more efficiently process attachments, and preliminary support for MTOM, not to mention...

Andrew SavorySwitching default JDK on Tiger

Via Simon. After installing JDK1.5 available via Developer Connection:

cd /System/Library/Frameworks/JavaVM.framework/Versions/
sudo rm CurrentJDK
sudo ln -s 1.5 CurrentJDK

And then ...

java -version
java version "1.5.0_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-61)
Java HotSpot(TM) Client VM (build 1.5.0_05-40, mixed mode)

Bingo!

Matthew LanghamCocoon GetTogether session roundup

If, like me, you were not able to attend the Cocoon GetTogether in Amsterdam, then go to this page and check out all the presentations and recordings. Great stuff.

David ReidTuesday lunch

After a long walk, time for lunch!

David ReidMonday Lunch

Summit of Pique de Entacada

Rodent of Unusual Size (Ken Coar)Do not call


This means you, schmuck. Or should.
Updated: Tuesday, 11 October 2005 06:36 EDT

The U.S. national 'do not call' list to keep the telemarketers away from the dinner table has actually worked better than I expected it would. However, the last couple of weeks have shown a new twist on it that's nearly as bad.

See, the list applies to telemarketers seeking new commercial contacts. For instance, among others, it doesn't apply to:

  1. Charities
  2. Companies with which you have done business in the last eighteen (18) months
  3. Political groups/polsters

And that last bunch here in North Carolina, USA, appears to have discovered this loophole. Easily eighty percent of the calls we've gotten in the last couple of weeks have been from pollsters or political candidates. Most of them have been recorded. Some of them have been from the candidates' groups themselves, but some of them have been endorsements. One even left a recorded message on our answering machine last night.

My response is: I don't intend to vote for any of you berks. If you feel compelled to get in my ear, I feel equally compelled to keep you out of office.

While part of me is outraged and seriously torqued at this latest rash of in-your-face-ness, and wants the do-not-call list to extend to these politicobozos as well, another part is wondering about the civil responsibility to keep informed. But the first part shouted that one down, saying 'If they have a message they want to get across, let 'em use the standard "pull" style media, and not "push" it into my unwilling ear.'

Feh.


Comments (0) Trackbacks (0)

Ben HydeBypassing the Toll Booth

The business model I find most facinating is the two sided network effect; where the business acts as a middleman or a distribution channel between two distinct groups. eBay is my standard example bridging between buyers and sellers. Single’s bars where men and women rondevous are another fun example.

I often use the example of a bridge with a toll booth as a way to help visualize this model. I often emphasis the role of the two cities that grow up on either side of the bridge; the complementary industries. Other times I emphasis the role of discrimitory or value pricing as a means for the bridge owner to encourage a larger network. For example bridge owners will agree to lower prices for travelers with an alternative, i.e. those who aren’t locked in. Bridge owners will cheerfully lower prices for travelers who, like the poor, who don’t derive significant value from their travels.

The media business is member of this class of business models; bridging between entertainment producers and consumers. Technology has been lower the cost to create substitute bridges and they have been desperately striving to avoid displacement.

In their thrashing around one technique they have been trying is digital rights managment. This tactic has lots of problems; in particular it misses the point entirely: their bridge is now irrelevant. DRM is a strange attempt to use technology to create chasm which the industry can then offer to bridge; it’s all backwards.

But, there is another problem with DRM. It doesn’t play well with pricing. Nobody in the bridge business wants to charge his entire universe of users the exact same price. Such a strategy would be fatal, at least in the presence of competition.

Pricing in network businesses is a balance between extracting taxes from the network while assuring that your bridge is carrying the most and best traffic. When two fo these bridge businesses compete the one that strikes the balance best wins. Most niave approaches to DRM ties one arm behind your back.

So this story is no suprise Musicians tell how to beat system (Bruce Schneier).

First off it’s obvious that Musicians would be happy to tell their listeners how to get around the bridge; because any information about alternative routes over the river has two positive effects for them. It helps them reach more of their customers and grow their own networks. More interestingly it improves their ability to negotate with the bridge owner - lowering his tolls and increasing their cut.

The second part is more interesting though.

Sony BMG says it is not trying to prevent consumers from getting music onto iPods. Fans who complain to Sony BMG about iPod incompatibility are directed to a Web site (http://cp.sonybmg.com/xcp) that provides information on how to work around the technology.

So Sony cuts the iPod owners a break because it would be very bad for Sony’s network.

Diwaker GuptaNew tag: research

I’ve realized that if I spend as much time reading “research news” as I do reading “tech news”, I’d probably be doing much better in research (in terms of having new ideas, getting inspired with creative thoughts, and just generally to know whats going on elsewhere). So I’ve decided to add a new tag “research” and try and regular post items that are relevant to my research (or just interesting from a research point of view).

So to start off this tag, let me just mention today’s faculty recruit talk. This was a talk by Santosh Vempala. He’s a faculty in the Math department at MIT, and is now interviewing at some schools for a Computer Science position.

His talk was interesting and impressive in a number of aspects. For one, he did not use powerpoint. Infact, he did not use a computer at all! He did it the old fashioned way – using transparencies and a overhead projector. However, that doesn’t mean his presentation was not good. Quite the opposite – the quality of his slides was exception. Each slide was extremely well thought out, colorful (imagine all the hard work! all slides were done manually) and brought out the relevant points without going into too much detail.

He had a diverse audience, so it was also very nice that he was able to reach out to almost everyone in the audience without losing people in technical details. The talk was on spectral methods and their applications in clustering. The idea was simple, the applications far reaching. To top it all off, he had a cool demo (try the query ‘jaguar’) and data from some real applications. Works that are based in theory and have some real, pratical applications are the most attractive to me.

Diwaker GuptaModern Cryptography

I’m taking a class on Modern Cryptography this quarter, and it is so cool. Its not easy, mind you. I have problems doing almost all homeworks, but nonetheless its fun. For one, it gives me a chance to excercise the grey cells a bit, otherwise I feel I’m just rusting out, you know. Secondly, I’ve been meaning to learn some cryptography for quite a while now and this seemed like a good starting point.

Besides, Mihir is an excellent teacher. He’s a bit particular about the writing though – it has to be formal, concise, with all notation and formalisms – which is nice, actually. Just today Kashi and I were discussing how such formal writing is useful in writing up systems material as well.

Ok, back to work now. 6 days to go.

Diwaker GuptaKonqueror

I’m playing with with Konqueror as my default browser these days. Its not bad actually. (*turns off auto-spell check for text boxes*).

Actually lately Firefox has been a reall memory hog eating up a lot of my RAM. And every now and then I do need to fire up Konqueror so I thought why not give it a shot. Besides, I hadn’t really been using Firefox’s themes and extensions so there was not much I was going to miss out.

The advantages of Konqueror’s integration with the rest of the desktop might actually outweight the few things that it still lacks. It has Adblock, uses KDE widgets to render HTML buttons, excellent rendering, its fast and lightweight, extremely configurable.

The few cons: javascript support is still not perfect (this is mostly due to the fact that people don’t support Konqueror when they write their applications. Setting the user agent to Safari usually solves the problem – Google map being point in case); I miss the PageRank extension; there is no del.icio.us support right now (but I hear its being worked on).

Besides, having a konqueror window open has its own advantages: its a complete file browser, and combined with KDE’s IO slaves and network transparency, this just rocks. I can read man/info pages, browse the web, check out my TxD account, view powerpoint slides, PDFs, code – all in the same window.

We’ll see how long I last.

Dan DiephouseThe Shining Re-release

Rick just showed me this fantastic trailer for the “re-release” of The Shining. I laughed through the whole thing…

Berin LoritschWhen is a project too big?

One of the problems with setting up the Cocoon project is that it is huge. The project will cripple Eclipse on a 512MB machine, and the code scanning required for IDEA causes the initial project setup to take a real long time. All I want to do is try out my thoughts on a simplified Cocoon rails-like project setup. So far the biggest barrier is just getting the project set up.

Apache News Blog11 October 2005 - Jakarta Commons-IO 1.1 Released

ApacheCon US 2005 in SanDiego

The Jakarta Commons-IO team is pleased to announce the release of Jakarta Commons-IO version 1.1.

Commons IO is a library of utility, file filter, endian and stream classes that aim to make working with IO much more pleasant. Many of these classes probably should be in the JDK itself.

This release fixes all open bugs, and adds various enhancements, including:
  • FilenameUtils - A static utility class for working with filenames without File objects
  • FileSystemUtils - A static utility class that allows you to get the free space on a drive
  • IOUtils/FileUtils - read and write files line by line into a List
  • WildcardFilter - A new filter that can match using wildcard file names

This release is binary and source compatible with 1.0 according to our tests. There are some minor semantic changes caused by bug fixes which should not affect the vast majority of 1.0 users - please check the release notes for full details. To simplify the API, there has also been a deprecation - please check the release notes. We recommend all users of commons-io-1.0 upgrade to 1.1 to pickup the numerous bugs fixes.

Commons IO Website:
http://jakarta.apache.org/commons/io/

Release notes:
http://jakarta.apache.org/commons/io/upgradeto1_1.html

Download:
http://jakarta.apache.org/site/downloads/downloads_commons-io.cgi

----

-- The Jakarta Commons-IO Team

October 10, 2005

Hamilton VerissimoOff to the US, again...


I‘ve been hired for a few months to provide some customization and even improvements on Castle towards the requirements from a specific company, which from the NDA I‘ve signed few days ago and the nature of their business (finance, investments), I can‘t tell whether I‘m allowed to disclose its name.


Anyway, I‘m flying to Boston next friday, gonna spend just one day there and gonna fly to Washington, DC. Then I‘m gonna hire a car and drive for a few hours, or several hours as I‘m highly skilled in getting lost; so I‘m very excited about getting lost thousands of miles away from home.


But the coolest thing is that this whole experience proves how Castle is being embraced by serious people who share our values, and companies pushing it to complex, mission critical, systems.


This is definitely an extra motivation to keep up the good work knowing that there are lots of silent users around the world who approves our work.


Congrats Castle community!

Ian HolsmanApache Marketing & Economics Blog is up

I’d like to welcome Susan Wu (Apache’s CMO ) to the blogosphere.. you can see her thoughts (and others shortly) on The Feather.

Steve LoughranXaml-in-web

Interesting new article up on MSDN, Windows Presentation Foundation on the Web: Web Browser Applications

Essentially this is how you host/run Xaml apps inside IE; the browser will host a .NET/WPF application inside the browser, even in a frame inside it.

When you compare it to flash, it probably is a richer programming env, and if the promised GUI tools come together, then yes, you can define better tools in it. But I see the same problem that Java Applets have: it is just not worth the effort of doing complex GUIs when the basics of the web works. Ajax complicates the mix even more, because you get good interaction from the web pages too. And then you have to consider how broadly available WPF is. It will ship on windows vista, and somehow retrofit to winXP, which means "no more universal than ActiveX".

There's an amusing bit at the end of the article discussing migrating a legacy HTML site to XAML, ", it may not be technically or financially possible to convert your entire Web presence to Windows Presentation Foundation". How about "It may not make any sense whatsoever"?

Apache News Blog04 October 2005 - Apache Jakarta JMeter 2.1.1 Released

ApacheCon US 2005 in SanDiego

The Apache Jakarta JMeter Development Team has released the version 2.1.1 of Apache JMeter, and now it is available from the mirrors - see:

http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi

Select the "browse download area" link, navigate to binaries or source as appropriate, and you should find the files for 2.1.1. If not, try another mirror.

No major changes in this release, but a few new features:
  • New Include Controller allows a test plan to reference an external jmx file
  • New JUnitSampler added for using JUnit Test classes
  • New Aggregate Graph listener is capable of graphing aggregate statistics

And a convenience function:
  • Can provide additional classpath entries using the property
  • user.classpath and on the Test Plan element.

There are also some bug fixes, including:
  • Summariser stopped working in 2.1
  • JMeter should now run under JVM 1.3 (but requires 1.4 to build)

For more details please see the Changes file in the distribution. - http://jakarta.apache.org/jmeter/changes.html

----

-- The Apache Jakarta JMeter Development Team

Sam RubyOpenID Consumer on Rails

I’ve roughed in the consumer pieces to my OpenID implementation.  Except for the autodiscovery, all the pieces were things I could lift from my test cases, and in one case, from the server support for dumb consumers.  My implementation attempts to be smart consumer, but will degrade as necessary.

Despite the fact that I can self-authenticate, I won’t feel confident about this until I get some real test cases in place, but in order to do that, I needed to have a rough idea of what I will need to mock up, as the consumer doesn’t merely redirect, it actively will attempt to fetch resources.

Along the way, I hit some problems, that I will share with others:

  • Trying to implement a consumer and a server on a single Ruby on Rails WEBRick instance immediately causes a deadlock.  The daemon suggestion you find there doesn’t work as the Rails Mutex is the problem.  Apparently, this can be turned off via a configuration parameter, but the recommendation is to use a real web server.
  • Trying Apache initially in CGI mode doesn’t immediately work, furthermore, it quickly makes WEBRick unhappy.  The error messages you get aren’t immediately obvious, but the root problem is that the session files are owned by different ids, and this causes problems.  (Sessions?  I didn’t even know sessions were turned on).  The instructions on how to disable sessions are in the process of being disavowed and changing in the next release.  These instructions look promising, but for the moment, I simply removed the session files and have standardized on CGI.

Now, onto the implementation.  Rails is opinionated software, and the world needs more opinionated software.  I, for example, believe that any self respecting class named URI::HTTP should have get, post, put, delete, and head methods, and for now, I’m adding get and post.  These should also serve as useful hook points for me to mock up, but first I need to figure out how TestControllers dispatch requests.  It looks like everything I will need to know can be found in the In the process method defined in test_process.rb, but along the way I’ve figured out how to a url_for method, and in my opinion, TestControllers should have a url_for method.

Steve LoughranVisual Haskell

I don't know whether to be impressed or scared: Visual Haskell. Needs VS.Net 2003, and not one of those unstable successor releases.

On the subject of vs.net and MSDN, I got email last week telling me that I had until three weeks ago (yes, that is the past tense) to decide what release of VS.net I want in my new 'premium' subscription. Putting aside the silliness of splitting architect, professional and test development in three (which do you choose?), I'm not happy with having to select in MSDN what I want either.

Jim JagielskiUse Ruby and Relax

Talk about your 180's. RoR has really gotten me into the joy of Ruby, even without using Rails.

It's hard to get used to the "everything is an object" idea, because we're so used to all the caveats other languages have. But once you learn to trust Ruby, things just flow. And Mixins just make it all better. For example, on some apps, I needed to be able to skip selections within an Array ("grab every 3 elements"). The below little hack makes that super easy to implement, and use those methods naturally and natively.



class Array
  def each_x(x)
    (0 .. (length.to_f/x).ceil - 1).collect { |i| yield(self[i*x]) }
  end
  def every(x)
    each_x(x) { |i| i }
  end
  def collect_x(x)
    each_x(x) { |i| yield(i) }
  end
end


Matthew LanghamShiny Happy People

I've been thinking a lot about the state of Open Source business lately and putting together my slides for EuroOSCON - where I want to basically tell the story of what we have been doing for the past five years and in particular detail some of the mistakes we made while getting commercially involved in Open Source. I keep humming some of REM's lyrics when thinking about the sugar coated chrome Open Source business headlines I seem to be increasingly reading:

People people
Throw your love around
Love me love me
Take it into town
Happy happy
Put it in the ground
Where the flowers grow
Gold and silver shine

Is it just me or is Open Source business currently in danger of being overly visible through Shiny Happy People and forgetting the virtues that enabled the current success? Nah, I'm just turning into a grumpy old man.