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.
Sebastien's blog
Random Thoughts
Wednesday, December 16, 2009
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.
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:
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:
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:
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:
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:
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).
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:
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:
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:
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:
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:
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:
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.
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.
Subscribe to:
Posts (Atom)
The postings on this site are my own and don’t necessarily represent positions, strategies or opinions of my employer IBM.