Sunday, October 31, 2010

Exploring New Tech

We seem to be bringing a lot of new web development tools online in the last 18 months or so. The problem is that many of these tools will require a major change in how web development is done. New tech to think about

  • Node.JS (Async I/O)
  • NoSQL (MongoDB, CouchDB, Casandra)
  • HTML 5 web workers
Part of the reason for this blog is to start the conversation on how to use these new tools. 

Web Workers Best Practice

Web workers are a cool new part of HTML 5. They allow background processing in Javascript in the browser which has not been possible before.

However the best methods to approach them is less than obvious. I have come up with a few things

  • Functional Programming 
  • Simple code
  • breaking up large jobs into small parts
Any other ideas?

But really I am thinking that this needs to be out there for 2-3 years before we really figure out how to use the things.

LAMP: Cracks in MySQL

MySQL is a great database. It has a lot of good features and is reliable in a great many use cases. However it sometimes hits its limits, some of these are specific to MySQL some are general issues with SQL databases in general. 

  1. SQL does not scale out very well. If you need to shard a dataset across servers
  2. Tunning can be  bit of an art form. 
  3. SQL is can be subject to injection attacks. (See the cartoon)

Friday, October 29, 2010

LAMP is dimming

For most of the last 10-15 years the LAMP suite has been one of the major modes of web development. LAMP is composed of four parts,

  • Linux
  • Apache
  • MySQL 
  • Perl, PHP or Python
While Linux will stay as part of the standard developers stack for years to come the other three parts of the lamp  suite seem to be getting a bit crufty.

Apache is a fine web server, but it is using a multi process model. Each connection ties up a process. As connections become longer lived with new technology like Commit the memory usage of an apache server tends to grow heavily. Event loop technologies like nginx and node.js may soon take over. For delivering static pages apache still has much to recommend it. 

Next time Cracks in MySQL

The Future of Web Programming

The future model of programming applications will be moving to the web more and more over the next few years. For those of us who have been doing we programming since rocks were soft and dirt was fresh new idea (i.e. 1993) this can only be a good thing. This blog will seek to explore programming methodologies that are on their way in and on their way out.