Sunday, December 30, 2007

Blog's Best Friend

While I enjoy reading Steve Yegge's blog, I suspect that sometimes he likes to take the piss out of his readers.

Nothing wrong with that, mind you. This kind of postings is what makes the blogsphere so entertaining, that's why we enjoy the bile blog too.

But of course, the argument that you can solve the software maintenance problem by picking a new language that reduces the number of LOC is utter nonsense. Whoever tells you that with a straight face is trying to sell you something (himself?).

Imagine mankind invented a new language that allowed to write all of Shakespeare's books in one page. Would that make it easier to read/understand/appreciate them?

Wednesday, November 28, 2007

Product development job in Sydney CDB anyone?

My company is hiring.

We are a fairly small, friendly and highly focussed product development company.
We write connectivity solutions for stock exchanges, brokers and other financial market participants. Our main technology is Java, with some C/C++ thrown in (via JNI). The role is very technical and we are looking for high caliber candidates.

Have a read through the position description below and have a look at our web sites.
If you are interested please send your CV etc. to fabio.gavilondo@orcsoftware.com

(PS. We have customers all over the world. Some travel may be required from time to time).


Software Engineer or Senior Software Engineer (depending on level of experience)


Tenure: Permanent

Key tasks:
  • Participate in the design and implementation of CameronFIX products and their features (about 70%)
  • Provide technical support and incident resolution for CameronFIX products and their features (about 25%)
  • Provide technical pre-sales support (about 5%)
Key skills and experience:
  • Significant experience in Java based product development
  • Broad capability across related technologies (e.g. JMX, JMS, JDBC, RDBMS, Spring)
  • Excellent knowledge of OO programming
  • Experience in network level programming
  • Experience in multi-threaded programming
  • Ability to troubleshoot and resolve problems under time pressure
  • Ability to take tasks to completion.
Other desirable skills and experience:
  • Exposure to Test Driven Development
  • Exposure to the FIX protocol and/or FIX engines
  • Financial markets knowledge
  • Exposure to (near) real time systems development.
Key personal strengths:
  • Strong customer focus
  • Self organizing
  • Self motivated
  • Enjoys working and contributing in a team environment
  • Excellent communication skills both in technical and business level contexts.

Monday, September 3, 2007

ClearCase merge support for Ant

I you use Ant, ClearCase and continuous integration this one is for you.

There are situations where you need to ensure that a ClearCase view/branch is up-to-date with another view/branch (e.g. the mainline) before the build can proceed. Of course you also want to automate this step, and maybe even make it part or you continuous integration checks (e.g. build fails if the 2 branches are not in sync).

Unfortunately, Ant's ClearCase optional tasks don't offer support for merge operations.

I have written a 'CCFindmerge' Ant task and submitted it to Apache to remedy that situation. It will probably be included in some future Ant version, but if this feature is important to you I suggest you vote for it to speed up the process.

Wednesday, August 29, 2007

This little Mac utility is too cool not to share. Taking screenshots has never been that easy.

Monday, August 27, 2007

Has Agile hit the Pareto wall?

We know how it goes: 80% of the effects comes from 20% of the causes.

It seems to me that the 20% that matter when it comes to agile software development has long been invented and documented.

Everything I've read about Agile recently is just more variation on the same: yet another way to write test cases, yet another way to organize your index cards on the wall, yet another way to run a stand-up meeting...

I'd love to be corrected. Otherwise all these agile feeds will start to disappear from my blog aggregator in order to make place for some fresh content.

Wednesday, July 4, 2007

Back to the roots

After some years of agile consulting and a brief intermezzo at a big financial institution I am again about to join a small and innovative product company with a leading product in their space.

Product development, trading software, highly concurrent systems ... that should be fun! And did I mention I am free to choose whatever hardware and operating system I want to use? Good bye Windows.

Sunday, July 1, 2007

Hani's interview

Hani is hiring. Imagine the job interview:
  • Please introduce yourself - do you prefer Rod Johnson's moobjuice or Gavin Fleury's turd lubricant with your javalicious breakfast?
  • Why are you interested in Formicary's baby jesus buttplugs anyway?
  • What other 5 things don't I want to know about you?
  • Could you explain why OSWorkflow is the only true kind of genitalia waggling since FogBugz's ASP to PHP compiler?
  • What are the advantages and disadvantages of Ruby orifice rubbing compared to poopoowibblewomwoming in Java?
  • How is the OpenSore interface implemented in Axis2? How would you refactor it away using NetBeans and a time travel machine?
  • How fast would fowlbots die without regular dependency injections by The Bearded One?
  • Ok, enough of your spastic, retarded gibberish! I've got the right job for you. It's with the Maven team at Apache...
I hope someone who gets to the interview stage is so kind to share his/her interview experience with us!

Wednesday, June 27, 2007

Google not functional?

There has been some discussion in the blogsphere lately as to what the Next Big Programming Language might be. At the same time the functional programming camp has been stressing that with the advent of multicore CPUs functional languages will find their way into mainstream programming because they make it easier to write thread-safe programs (being side effect free and all that).

It was interesting to read that Google's internal choice of programming languages (C++, Java, Python and JavaScript) does not include FP (JavaScript has first-class functions, but it lacks other caractheristics to make it a full-flagged functional language).

Surely if anyone would benefit from FP for massively parallel computation it would be Google?