Does Complexity Necessarily Translate Into Capability?

Two months ago I started work as a Java developer at Bluerush Media Group.  Shifting gears back into Java EE/JSP/Servlet and mostly backend work from Android development definitely took a while.  On one hand my work now is hidden behind layers and layers of servers, middleware and other “businessy” systems.  I definitely miss being able to have my work appreciated by many people.  Now only my fellow developers can compliment or complain about my work.  But on the other hand, I enjoy working with tested and tried technologies and platforms.  No more worrying about inconsistencies between devices.  No more fretting about what systems I communicate with.  No more frustrating moments of dealing with performance and optimization issues.  Instead there is more than enough computational power lying around that automation and abstraction become powerful tools to approaching and solving problems.  I feel less guilty about using some crazy library to configure itself, gather the necessary data and build part of the system for me.  In short, as with everything in life there are pros and cons to my work.

Just recently I discovered the joy of using JAXB.  It is mindbogglingly convenient to build entire packages of Java model classes from a single XML schema, and having JAXB handle the serialization and deserialization of Java models into XML and back again.   Using JAXB, some XML configuration files, a TestNG suite and some result data in CSV form, I could build out a pretty sweet and rather involved automated testing setup.  This let me run real stress tests on the application I am working on and letting me flesh out the code much faster and with greater confidence.  Or take the use of dependency injection from Spring or Guice, to help a developer initialize a large number of objects with complicated dependencies without getting lost.  The amount of automation and abstraction in Java EE is simply overwhelming.  However it does come with a price: complexity.  So while using the full power of Java EE and various libraries gives my applications a lot of capability, they also make the applications terribly complex.  It only gets more complex, the more “enterprisey” the application becomes.  There is simply no way I could even build the applications that I do, without having lots of complex tools such as a full-on IDE like Eclipse.

This brings me to the point of my post.  At same time as I delved further into Java EE, I am getting more and more interested in Python and Django.  After playing around a tiny bit with PySide building Qt apps in Python, and looking into Django I am surprised by how terse yet functional Python is.  Yes, Python being a scripted language will never outperform a compiled program (or even byte-code compiled Java app) in terms of performance.  But looking at how much computing power is available and how many more steps it takes to write a Java or other compiled source app… I wonder if programming in something like Python can not be more efficient.  What I am especially curious to find out is if one can build and maintain a large complex web app as one can in Java EE, but in Django and Python.  Basically I am curious of the capability of an app is proportional to its complexity.  Or is this just an illusion from living with a language and platform that lets you easily craft monolithic monsters?  Can one get the same results with good architecture, some smart engineering and a flexible language?

Website Hosting Migration

You may have noticed the recent changes on my blog & portfolio website.  I am in the process of migrating my websites, domains and what not to a new hosting service.  A nicer hosting service provider who doesn’t support SOPA/PIPA for one.  Plus is much more responsive and nicer to work with.

Anyways a lot of things are up in the air.  Especially since I am still transitioning in terms of my new work.  Plus I am working on a grey op (not quite black) project, that I plan to reveal shortly.  Please excuse the sporadic changes and some issues might pop up while I get everything sorted out.

Upgraded to WordPress 3!

Well after a long wait, I finally upgraded to WordPress 3. Amazing is all I can say. However rather than doing a simple upgrade, I decided it was time for a fresh install. Just in case, and to get rid of any old configurations or scripts that might cause problems. I still plan on adjusting the theme and fixing the categories which magically exploded from some reason.

News – Google Chrome for Linux, Thunderbird 3.0 & Malware for Ubuntu

Dorian is currently concentrating on writing and getting things ready for Christmas.  So in the meantime, here are some new stories to tide you over:

Hmm… The Future Feels Clean

So do you like it?  The theme on the website that is.  I decided to go with a variant of light greys, royal blue-purple and amber highlights.  It does have a spartan, minimalistic feel but I like it.  I considered rebuilding the theme as an ExtJS or jQuery UI powered on.  But honestly, this works and IMHO looks pretty good.  For a theme that doesn’t use any images.  I plan on tinkering with this theme as time goes on, but I think I like this theme as a base.  As promised, I will go through this theme, clean things up and release it out in the open once I’m done.

Whats next on my list?  Well a good chunk of work, and some partying this weekend to celebrate the coming of the end of the year.  🙂

A Clean Future

The future is white?

Bob, the future has been white since the 60’s.

Autotainment, Big Ideas

The future has been white for a long time, thanks to the likes of Stanley Kubrick and the folks at Apple.  Thats why the theme I’m crafting for this website, is called “Clean Future”.  I took the “Open Sourcerer” theme by Alan Lord, and modifying it until it suits my tastes.  I’m still debating whether it will look like a glass UI or hand-drawn doodles.  Maybe I’ll go all out and create a full AJAX powered UI.  We’ll see.  I’m sure it will remain white and light grey.  And I’ll take it as far as I feel it makes sense to do so.  So if anyone has any suggestions feel free to leave them in the comments below.  I’ll make the modified theme available once I finish working on it.

Tech News – Canonical Bringing Music to Ubuntu, LH Strikes Again & Affero GPL Can’t Fix the Cloud

Canonical Launching a Music Store?

Rumours on the world wild web point to the possibility of Canonical building an iTunes-like music store.  Works for U thinks such a move would add another viable revenue stream for Canonical, even if it seems to stretch the resources of the firm.  If this music store comes to Ubuntu, I’m sure many users will enjoy using it.  And it will help Canonical start a community of artists, musicians and software firms to using Canonical and Ubuntu as a platform for selling content and applications.

The Linux Hater Tries Karmic Koala

No one knows who hides behind the LH mask.  Is he an enlightened but disgruntle Linux programmer?  Or is the king of all trolls?  Who cares!  Read up his (or her) review of the “fail” that is Ubuntu’s Karmic Koala.  You’ll get a kick out of it.

Kubuntu Needs Documentation Help

nixternal (Richard Johnson) calls for help to improve the sad state of the Kubuntu documentation.  If you are a tech writer and enjoy using Kubuntu, please help out.  UPDATE: You should know how to use DocBook to help.

Affero GPL Can’t Fix the Cloud

One of the great opportunities and threats for commercial open source is the emerging cloud computing landscape.  However Matthew Asslett (451 Group) points out the Affero GPL doesn’t negate the threat of no monetary contributions from cloud providers to commercial open source vendors.  Yes it doesn’t.  But the licenses were designed to get  source code contributions from developers.  Business models need to focus on selling value (some scarce resource based on real scarcity not an artificial one) to clients, and some clients will not see the value.  There will always be those that get away.  The Affero GPL does help “guide” most cloud providers contribute back.  If anything the GPL will give more freedom and opportunities for many more smaller players than a few large ones.  And that solves many more economic and social problems than anything else.

News – Chromium OS is Here

Chromium OS is Here

Google just announced their Chromium OS project.  This will act as the open source precursor to Chrome OS.  And the folks at Canonical are helping Google build it.  Exciting times ahead, especially for netbooks users and cloud computing advocates.  Thanks to the 451 Group‘s Matthew Aslett team for posting about this.

The Joys of Seamless Upgrades

Upgrades often is a naughty word in programming and system administration.  When a system admin or programmer starts an upgrade, often it is with clenched teeth and an expectation something will break, explode or spontaneously combust.  So congrats to the WordPress guys for releasing another seamless, non-breaking, and easy to do upgrade.  And yes this blog now runs on the latest greatest WordPress 2.8.6.

Now if only upgrading my Drupal sites could be as simple and trivial.

Review of Ontario Linux Fest 2009

Two weekends ago I went to Ontario Linux Fest 2009, held here in chilly Toronto for the third year in a row. And for such a young conference, it was quite good.  In fact good enough, that longer review of the event is in order:

Morning Keynote – Changes to the GPL

The day started with me rushing out the door in the morning, to catch a morning bus.  I made a bit later, missing the first part of Bradley Kuhn‘s keynote.   I rushed in, grabbed my conference package, put on my name-tag and rushed to hear the second part of the keynote.  Brad discussed the changes between versions 2 and 3 of the GPL (GNU General Public License).  As someone who followed the licenses and uses the GPL in my current project (justCheckers), it was pretty interesting to hear about why behind the changes.  The original GPL2 was quite brief for a software license, but not quite as understandable as the GPL 3.  The GPL 3 helped simplify the license, made it international and got rid of some icky loopholes.  After the keynote, I did a quick swag run even buying a fleece from the Eclipse guys from Redhat.  (And no Nick, I wasn’t there just for the swag I just haven’t gotten around to contributing to Eclipse just yet.)  I then quickly popped quickly back in for the first track of sessions.

Session 1 – Enterprise Content Management (ECM)

Cheryl McKinnon from Nuxeo did a talk on ECM.  I can definitely relate to having to hunt down information in the mess of Office documents and e-mails at the office.  I can just imagine what happens at larger organizations that have less rigorous guidelines to handling documentation.  So I definitely see the need software that handles such data, especially in terms of productivity and maintaining documents for regulatory purposes.  I can’t understand why every organization doesn’t have at least a wiki.  Interesting note that the concepts I learned in a university course on information science, really applies here.  Managing the capture, collaboration, review, publish, archiving and search-ability of information is really a science on to itself.  No wonder open source vendors like Nuxeo, Alfresco and MindTouch that provide ECM solutions in a flexible and low-cost way are such a big hit for enterprises.  There also was a neat discussion on how Nuxeo can do both centralization (bring documents into itself) and management of meta-data (like the locations and “tags” related to scattered documentation).  Really neat.

Session 2 – Ubuntu Moblin & Netbook Remixes

Jorge Castro from Canonical of Ubuntu community fame presented the Ubuntu Moblin and Netbook Remixes.  As with any live demo, the demo technology co-operated with Jorge like any demoed technology or self-conscious prima donna.  Still the Ubuntu Moblin Remix looks gorgeous.  It sports a nice, simple, elegant and understandable user interface.  However this remix qualifies as a tech preview more than something to hit the mass consumer.  Still I think people will be impressed when they change over from Windows to something like Moblin.  It looks a far bit of effort was put into making refactoring the UIs to fit a smaller, wider screen.  The Netbook Remix looks great too, and if you are reading this and running Ubuntu 9.10… switch over to the Netbook UI, you’ll love it even on your main system.

Lunch Chat 1 – Free Software and Its Impact on the Future of the Software Industry

I skipped out on the last session of the morning to pester Brad Kuhn with a few questions.  It started with an innocent question about his opinion about certain companies planning on moving from the GPL to the Apache licenses.  Brad figured out that I had read one of Matt Asay’s blogs on the topic, and went on a mini-rant.  Apparently Matt is one of Brad’s “nemesis” (not that they don’t get along rather their views on software freedom are quite different).  Brad envisions a future where software stops being a “big box” industry of packaged software products to more of a lawyery/consultancy profession.  I have to agree with him on that, and I don’t mind such a future being a consultant by trade.  However I did point out the difficulty one runs into with consumer-level products or projects.  Basically how does one sufficiently fund a project like Inkscape?  One way would be to sell a proprietary product, which defeats the purpose of going open source.  Another way would be to offer a service.  The heart of the problem is how to finance a regular development and enhancements (like usability) on a regular basis… and still get someone to pay for it willingly.  It isn’t an easy problem to solve… A problem that I plan on working on in my semi-stealth project… But Brad tried to convince it wasn’t as big of a deal as I think it is.

Lunch Chat 2 – Decoupling User Interfaces from the Application Backends

Feeling now famished for lack of a breakfast, I went out with Scott from the GTALug for pizza.  Scott is into user interface design both on a hardware and software level.  We both agreed that user interfaces should be loosely coupled to their backends.  In enterprise web application design the concept of different views for different users and environments comes to mind.  Scott introduced me to the concept of a framework that allows for completely decoupling the user interface with the underlying application, called Metisse.  It allows for building UIs at runtime using a widget palette or toolkit… brilliant!  That would let developers concentrate on what they are good at: application development and design.  And HCI/usability/graphics designer concentrate on what they are good at: design kick-ass usable user interfaces.

Session 3 – Building Business Applications Using SugarCRM

Right after lunch, I went to a more practical session by John Mertic, a developer at SugarCRM.  The session was naturally about developing applications using SugarCRM.  It looks a very nice application, and CRMs apparently can solve a lot of problems centred around customers.  Even just using SugarCRM to manage a client’s organizational contacts would save a lot of my time at work.  However since I work in Java and not PHP, thats not really an option.  But it looks like a neat application, the latest version SugarCRM 5 being all built in PHP and using the YUI (used to use ExtJS).  There is a vibrant community forge and marketplace around the application.  Neat.  Also neat that John just published an Apress book called: The Definitive Guide to SugarCRM.  See a pattern, yet? 😉

Session 4 – World Domination, Documentation and Ponies

OK, I admit it as a writer masquerading as a software developer,  (Or is it the other way around?) I actually enjoy writing documentation.  Some would even say, I enjoy writing documentation too much.  So I jumped at the opportunity of hear Emma Jane Hogbin talk about world domination through good documentation.  Actually I was disappointed by the lack of talk on world domination.  But there was much talk of ponies… oh and documentation.  I swear I’ve never heard anyone comparing documentation to wearing high heels.  I guess the analogy of it being sexy and painful makes sense.  But then again I’ve never (or do I ever plan to) worn high heels, so I’ll trust the ladies on this one.  Still it was an awesome and enlightening talk.  I’ve never consider all the various audiences (devs, users, marketing) and types of documentation.  I must agree with Emma’s statement, that if you are doing a lot of work documenting how to use your program… maybe reconsidering how the UI is done is in order.  The concept of automating documentation and using an XML source is new to me.  But I will have to look into technologies like pywebdoc, Mallard and DocBook.  Emma went through the Capture, Organize, Translate, Output, Review and Revise cycle, using the Status.net documentation efforts.  (Emma’s project on writing open source documentation.)

Session 5 – The Look at Introducing FLOSS into Education

Karlie Robinson of On-Disk did a talk about her experiences with connecting the OLPC, Fedora and RIT together.

Afternoon Keynote – How Linux is Like Music

The conference wrapped up with Joe ‘Zonker’ Brockmeier‘s afternoon keynote.  Zonker is an incredible speaker, and he also threw plush penguins at the crowd which instantly made the keynote awesome.  Alas I didn’t have any thing worthy to add to the conversation so I didn’t get another plush penguin. 🙁  But I’m getting ahead of myself…  Zonker talked about how we should move away from the tired analogy of choosing operating systems like cars.  Rather he suggested how choice of OSes and Linuxes should be compared to bands and musicians:

  • Fedora -> Frank Zappa
  • SuSE -> The Who
  • Ubuntu -> Duran Duran (Hurrah, I mean huh?!?)
  • Gentoo -> Write your own sungs in your own built studio (Damn right!  Sorry, ecstatic ex-Gentooer here.)

A bit zany, but with a nickname of Zonker… 😛 Ok, I’ll stop teasing.  But he did go into the problem of widespread Linux adoption: better self-marketing, pre-installed PCs (we are getting there slowly), market shift to the cloud and mobile (at least we have that one covered to a degree) and  the in-fighting that the F/OSS community seem to love (welcome to the new face of anarchy and things to come?).

The Pre-After Party

At this point most of the participants went out to either go home or wait out the time for the reception.  Having come alone, I felt like I’d love to mingle at the afterparty but I needed to do something while I waited.  Fortunately, the KDE 4 guys (Troy Unrau, Shawn Starr and Eugene Trounev) were quite welcoming and let me tag along with them.  Troy was pulled into the speaker’s dinner so I didn’t get to talk to him much.  But Shawn, Eugene and I chatted for a bit, grabbed a quick bite to eat at Burger King and came back to chill at the venue.  Shawn works on developing plasma, while Eugene makes graphics for KDE Games.  Actually if you count myself and Troy in, we each represent a different aspect of the KDE  project: Shawn – developers, Eugene – artists, Troy – marketing and myself – the humble user/wannabe contributer.

When Eugene found out about my semi-stealth project, he suggested I should join the KDE Games and look into the Gluon project.  I’m planning on getting involved, once I’ve hacked around with Qt, something I started on recently.

The After Party

The conference wrapped up with a reception sponsored by Google.  Actually I got a good amount of useful swag from Google, and the free booze was much appreciated.  At the reception I got to mingle with the presenters, organizers and participants of the conference.  I got to discuss the finer points of revision control systems (CVS, Subversion and Bazaar) with a Bazaar/Launchpad developer, Aaron Bentley from Canonical.  Also got to watch Brad Kuhn and Jorge Castro get into a heated but amicable debate about Mono, software patents and why Canonical should stop releasing and supporting proprietary software.  And I got to chill and talk about Apache Qpid (a reliable message queueing system, think something like IBM’s MQ) with Redhat’s Rajith Attapattu.

I left the reception really, really late.  And I got home around 2 in the morning, which just goes to show how awesome of a conference OLF2009 was.  After the conference I felt a lot smarter, enlightened and inspired to contribute back to the Linux and libre software community.  I’m almost sure I’ll be at OLF2010 whenever that comes around.

Links to what others had to say about OLF2009:

  • Troy Unrau [http://troy-at-kde.livejournal.com/23041.html]
  • Eugene Trounev [http://my.opera.com/it-s/blog/show.dml/4455292]