Wednesday, February 22, 2012

Lego Style Software Design

My company recently got the chance to work on a very interesting project (which unfortunately I can't divulge at the moment).  What made the project fun to work on, aside from the product level challenges, was the fact that we were given much more architectural flexibility than usual.

Amongst the work emerged the following:




Sunday, February 5, 2012

Python Functional Tools

I got the chance to come by a pretty cool project recently: Python Moka.  It consists of functional programming friendly implementations of standard Python dictionary and list classes.  Then it struck me:  wouldn't be nice to have Erlang-ish pattern matching functionality to Python?

So I crafted a small Python package scratching an itch I have had for way too long:  function dispatching based on pattern matching.  For those interested, here are the relevant links:



Feedback welcome :)

Thursday, February 2, 2012

EC2 architecture notes

I've updated the home page of Systemical: you'll find a bunch of useful links to documents:


Enjoy :)

Friday, January 20, 2012

Amazon AWS tools - jldaws

Today I am open-sourcing yet another project.  It consists in a collection of Linux scripts related to Amazon Web Services (AWS).

The project's home page can be found here whilst the code repository is there.

Thursday, December 8, 2011

My life in the Cloud

I am pretty much 100% in the Cloud now. Here's how I do it.

Services

  • Email:  Google GMAIL (with "Tasks")
  • Calendar:  Google Calendar
  • Documents:  Google Docs (with a sprinkle of DropBox, going away soon enough)
  • Music: combination of Rdio and Grooveshark
  • Movies: Netflix  (on my Android devices, Apple TV and MacBook Pro)
  • Code: Github
  • Project Issue Tracker:  Lighthouse
What I gain:
  • Mobility
  • Availability
  • Persistence
  • Version Control
I don't need to worry about loosing / forgetting my laptop for work:  I just grab a spare one at work. Hence, business continuity is greatly improved over the traditional Microsoft "stack".

So, on my Linux/OSX PCs, I only need the following installed software:
  • Google Chrome  (the auto-sync feature for bookmarks, extensions etc. is way cool :)
  • Eclipse (with PyDev, Google Plugin, Egit)
  • git
When it comes time to setting-up a complete working environment, I can turnaround one in under 1/2 hour

Security
The first reaction I get when I expose my workflow:  is this Cloud stuff secure?  To which I respond with a combination of the following:
  • I would rather trust Google and their army of sysadmins than me when it comes to external security threats
  • I never write down passwords nor credit card numbers in documents. Period.
  • Doing business comes down to trust - being part of society requires trust
  • My data is more secure located in the Cloud than on my laptop / desktop : those are too easy to lift
Availability
Another common reaction is about availability. I don't know about you guys, but Internet Access is pretty available nowadays and certainly Google is. For those of you worried about this dimension, consider:
  • I have access through my Android mobile devices (carrier #1)
  • I have access through my 3G dongle (carrier #2)
  • I have access through my Cable Modem (carrier #3)
Yes I subscribe to 3 different carriers - I don't remember the last time I lost connectivity and was out of commission, business wise.