Sebastien's blog

Random Thoughts

Wednesday, December 16, 2009

Composability as a way to control Complexity

I came across this great video of a conversation with Brian Beckman on Complexity in computing, on MSDN's Channel 9.

In that video Brian Beckman compares Inherent or Essential complexity (of the problem you, programmer, are trying to solve) and Accidental complexity (not inherent in the initial problem, but introduced by the many technologies and programming languages you have to use for example.)

He also introduces Functional Programming, how it limits the ways to hook things together, dependencies on the context in which software components executes, and how that makes it much easier to compose complex systems out of small building blocks.

In summary, Composability is the way to control Complexity, and Functional Programming helps achieve radical Composability.

Monday, November 30, 2009

Reading list - Elements of Programming

I just finished a fun book on the mathematical foundations of programming: Elements of Programming by Alexander Stepanov and Paul McJones.

I highly recommend this book if you're interested in a deeper understanding of programming or looking for principles to decompose software into components.

Monday, November 23, 2009

Connecting to WPA2 networks with Ubuntu 9.10

Upgrading to Ubuntu 9.10 / Karmic broke my Wireless connection. I can connect to open networks but with hidden WPA2 networks the Network Manager Connect button is always disabled...

Looks like others are running into that bug too: https://bugs.launchpad.net/ubuntu/+source/network-manager-applet/+bug/446394. A fix has been committed in the Gnome repository, but there's no official installable package for it yet.

If you're impatient like me and need the fix now, here's how to build it:

Thursday, November 19, 2009

Scratch - Programming and Component Assembly for All

Scratch makes the cover story of the November issue of the Communications of the ACM. The whole article is available on the MIT site here and the ACM site there.

Here's an overview of Scratch, from their web site:

Wednesday, November 18, 2009

Simpler than JSON?

With XML falling out of fashion, JSON is all the rage these days.

The last few years we've been using a simple online store application to demo application composition with SCA. That store app allows you to pick fruits and vegetables out of a catalog and put them in your shopping cart.

There's versions of the store app in different languages, Java, Python, and an HTML+JavaScript client in the Apache Tuscany project, and more languages to come over time. The shopping cart is currently represented in XML in an ATOM feed.

I've been wondering... Should we switch from XML to JSON? Is JSON simpler? Is the JavaScript syntax so great? Any alternatives? Let's try and compare different representations of our shopping cart:

Sunday, November 1, 2009

ApacheCon US 2009 - Apache is 10 years old

ApacheCon US 2009 returns to the San Francisco bay area, considered to be the original 'home' of the Apache Software Foundation.

The conference starts on Monday in Oakland, and will celebrate the 10th anniversary of the Apache Software Foundation.

Details are available there, including free Hackathon and BarCamp events on Monday and Tuesday.  If you're going, don't miss the Apache Tuscany track:

Wednesday, August 26, 2009

Recovering JPEG images from a damaged compact flash card

I've started to blog again...

I've not been lucky with data storage devices recently.

Last week my Thinkpad crashed. The disk got shredded into pieces under the Linux /lost+found directory. I had to crawl through it for two days to manually recover some of the files I cared about.

A few weeks ago the compact flash card in my digital camera got damaged too, giving me a "This card cannot be used" error message. I had two 2 GB of JPEG images on that card: family photos that I didn't want to lose! After reading the troubleshooting section of my Nikon's user manual I was almost ready to buy some expensive recovery software, or ship my card to a company that recovers images, when I thought:

Wednesday, February 6, 2008

Apache Tuscany SCA 1.1 released

I've been busy working on the Apache Tuscany project. We've just announced our 1.1 release, here's the announcement:

The Apache Tuscany team is pleased to announce the 1.1 release of the SCA project.

Apache Tuscany provides a runtime environment based on the Service Component Architecture (SCA). SCA is a set of specifications aimed at simplifying SOA application development. The specifications are being standardized by OASIS as part of the Open Composite Services Architecture (Open CSA).

Monday, November 26, 2007

Back from ApacheCon US

Back from ApacheCon US conference in Atlanta. Already two weeks ago... I was on vacation last week.

I attended a few interesting technical sessions:

Saturday, October 6, 2007

Airbus A380 landed in San Francisco

On Thursday morning the new Airbus A-380 landed in San Francisco for the first time!

Here are two photos taken from the bay shore across the street from my office:

Wednesday, October 3, 2007

Developing an SCA application with Apache Tuscany and Eclipse

I'm working on Apache Tuscany. Tuscany implements the Service Component Architecture (SCA) specification.

The last few months I spent a lot of time in Eclipse developing SCA samples and demos for Tuscany. I found myself tweaking my various Eclipse workspaces again and again to do the following:

Tuesday, October 2, 2007

How to use Apache Tuscany with WebSphere 6.1

Recently a number of Apache Tuscany users started to use our Tuscany SCA 1.0 release on top of WebSphere v6.1 and ask questions about it on the tuscany-user list.

To be able to help I had to set up WebSphere v6.1 on my Laptop and configure it to work with Tuscany. It was pretty straightforward so I thought it'd be useful to share the steps here:

Tuesday, September 25, 2007

I've been busy the last few weeks, we just released Tuscany SCA 1.0. Here's the announcement...

The Apache Tuscany team is pleased to announce the 1.0 release of the Java SCA project.

Apache Tuscany provides a runtime environment based on the Service Component Architecture (SCA). SCA is a set of specifications aimed at simplifying SOA application development. These specifications are being standardized by OASIS as part of the Open Composite Services
Architecture
(Open CSA).

This Apache Tuscany release represents a major milestone as the first 1.0 implementation of the core SCA specifications, including:

Friday, August 31, 2007

Apache Tuscany Java SCA 0.99 released

I've not blogged for a while as I've been busy working on Apache Tuscany... We just got our 0.99 release out.

Here's the announcement:

Wednesday, November 22, 2006

Ubuntu - Linux for human beings

Yesterday I had to install Ubuntu on my laptop. Ubuntu is a pretty popular Linux distribution, also known as "Linux for human beings" because it's supposed to be easy to use.

I am working on the Apache Tuscany project and somebody had opened a bug report complaining about build issues on Ubuntu so I wanted to test it and see what was going on.

The postings on this site are my own and don’t necessarily represent positions, strategies or opinions of my employer IBM.
Jean-Sebastien Delfino
View my complete profile