Category: Software

Processing QCON 2008

It has been over a week since I visited the Qcon conference in London. It was a great experience that gave me lots of new thoughts and inspiration.

Here are my Top Quotes and Thoughts over the three days of sessions:

  • Stateless Architectures push the “state” problem to the database, the trend is to reclaim the state in the application server and services, and put state close to the user
  • To make really scalable solutions: divide, split, partition, work asynchronously, no state
  • Transactions are not that important
  • “If you can’t split it, it doesn’t scale”
  • Clouds and Grids are very interesting and usable today, see Amazon S3 and EC2
  • Java APIs are out, new (scripting, functional, non-typesafe) languages are in
  • There are a lot of competing shared object cache solutions out there! (Terracotta, Coherence, Cache, Gigaspaces, …)
  • REST is an ESB, the Web is a perfect working example of an (Enterprise) Service Bus
  • Continuous Performance Testing is not used by many teams
  • extreme: Continuous Production Deployment, some projects deploy each half hour to production (Flickr?)!
  • new API’s: less is better than wrong API’s
  • I like this phrase: “continuous health”
  • “the re-celabration of drag ‘n drop” (now with Ajax/Web 2.0)
  • you need a “compute cloud” when you get slashdotted!
  • “logic as a service”
  • the ultimate mobile app: “show me the nearby restrooms!”
  • first build something simple, then think of all the “…ilities”
  • what would (Yahoo) pipes do inside the enterprise? Think of it of a dynamic and flexible “business objects” for all the information flowing around
  • the concept of “openess of data”: a lot of data gets out into the open and becomes publicly owned. See the conclusion of the book: “Everything is Miscelleaneous”, businesses do not own their data anymore, only their product. Business trend is transparency.
  • what about privacy issues in a product such as “Google Health”?
  • “coupled by latency”: functionally or logically uncoupled components can still be coupled this way!
  • make failover part of your regular upgrades
  • the need for hierarchies dissappears when you make everything findable and/or taggable
  • If everything is findable and taggable we can get rid of the intrinsic or explicit relation ships: relationships are tags that appear by just tagging.
  • the accountability of software also holds for organic food: effective, reliable, reasonably priced. Compare bloathed software to industrial food: unneccessary features are like unneccessary additives.
  • Agile: where business meets development
  • scale in – scale out – scale up
  • what is this “Map-Reduce” I keep hearing about?
  • Idempotent things scale well
  • dynamic relocation of people at conferences due to Twitter: am I at the right track? (e.g. “This talk is great” or “Boring talk, try to leave now!”
  • If you tie a quote or idea to a session, I’ll tag you a star!

    Many Eyes, Many Perspectives

    A while ago I was pleasantly surprised to hear about a project called “Many Eyes” that is hosted (and sponsored?) by IBM alphaware. That project was featured on IT Conversations. Not only the title of the project, but also the goal, reminded me a lot of the article that I got published during the last year of my Software Engineering study. The article was called “So many users, so many perspectives, sharing glasses and throwing remote controls”. It was about visualizing (dynamic) datasets and sharing the visualisations (using the glasses metaphor) with other online users, to aid collaboration between them.

    The Many Eyes project does something similar: upload a (static) dataset (a text, or excel sheet, …) and choose a kind of graph to analyse the data. Then you can share this graph with others, publish it, and discuss it online.

    The similarities in name and goal struck me…

    I wonder if you can hook up some cloud processing on big datasets and then presenting the results with Many Eyes…

    Resources:

  • Many Eyes
  • So Many Users, So Many Perspectives article
  • the Many Eyes talk
  • Software and Foodware

    Since I read in “The Myths of Innovation” that one way to generate new ideas is to look at other fields, I often try to relate new concepts to computer science and software. It is always fun to run into a new metaphor for software development.

    Triggered by a newscast of social innovations I started to compare recent developments in the food industry with the software business.

    There is a trend from industrial food towards ‘organic foods’. Foods that are grown slowly, without pesticides, on local farms, where animals are treated well.

    People are getting more conscious about the food they are eating. And what is more: conscious food consumers are willing to pay more for food that they know is better for the body and environment. See the growth rate of the Whole Food Market in the States. People want more information about what they are eating: how is it grown, where does it come from, can I see a picture of the farm? Information technology makes this possible.

    There is a market for artisan foods.

    Back to the software. If we consider the big industry projects that people are ‘just using, for instance office and windows. You can question whether this is good software that makes you happy, makes you feel healthy. It is the one size fits all kind of software, made by big corporations you do not know much about, and where you, as a customer, are one of thousands.

    The source code is hidden and stored in big vaults. As a consumer, you ask yourself: Is the code well maintained? Is it treated well? Is it written in a healthy environment? You simply cannot tell.

    The new style of software, lets call it organic software, is coming from single developers, small companies and little social networks.

    The development is out in the open and gives the consumers insight on where it comes from.

    The source code is treated well, at least you can see how well it is taken care of. The organic software is put into freely accessible storage and published via tools such as fisheye to make their whole history available and shows the activity related to that code. No hidden additives!

    These software projects grow organically, putting in features only when there is a demand for it: new releases are discussed in open communities. This is grass fed software, as it lives in the open field! The automatic builds with unit tests nurture the code base continuously.

    Here comes the artisan software: made with joy and care!