Archive for the 'Programming' Category
Wednesday, June 13th, 2007
..is the confusion between the equals operator in maths and the assignment operator in most programming languages.
Posted in Programming | 4 Comments »
Friday, March 16th, 2007
I have had a vague plan that someday I might teach my kids to program. Originally I planned to use a Logo dialect but Sean recently sent me a link to Scratch, the new programming environment for teaching children how to program. Its a graphic interface that runs on Macs and Windows is highly interactive and piggybacks on the turtle graphics model of Logo. However scratch is a much richer and more interactive environment with sounds, animation and a graphical programming language that insulates you completely from the VI/Emacs wars so prevalent in other programming communities
I’ve only had a quick play with it tonight but so far, so good.
Of course sooner or later, they will have to graduate to Python (the one true programming language).
Posted in MIT, Programming, education, logo, scratch | 1 Comment »
Wednesday, July 19th, 2006
These are rules I’ve gathered in my head over the past ten years. I can’t claim ownership of them all and I’m sure they have been articulated in many other places. A conversation at lunchtime about how hard it is to do commercial software development prompted me to do a brain dump.
By commercial software development I mean making a piece of software in order to sell it to many customers (as opposed to a handful) or to provide a service used by many customers.
- 100-1: This a good ratio of end-users to developers to aim for as a starting point. With less than this you don’t get feedback and the feedback you do get will tend to take you in strange directions. Remember if you build a stadium you have to fill it every weekend to make a return, software works off similar ratios.
- Build it - Then Sell it: The corollary sell it, then build it, is a different business, called consultancy. A Consultancy business doesn’t scale the way a software business does because you build a different product for each customer and sales is related to the number of associates you can recruit to do the heavy lifting. Building it means finding a niche and timing it just right so that the market is ready for your product. Irish software companies can build the stuff but their timing is usually off (they often suffer from being too early).
- 6 months - 12 months: It takes 6 months to build anything worthwhile and it takes another 6 months to raise the quality to the level where you can let it out of the house without a curfew. But what if I hire really great people, I hear you say? Well if you hire really great people, then their and your ambitions will be greater too, so you end up building something more complicated which takes 6 months…
- Show and Tell: Get the development team to demonstrate progress every week, by running a demo of the current code base. If they miss a week, then make doubly sure you get a full demo the following. Do it from a full install of the kit, not a development environment.
- Build the Installer first: Installers keep you honest, stop you fudging development problems with patches, isolate you from the development environment and force integration early.
- Project Plans are good: Microsoft project gets a lot of stick (and I’ve given it some myself in the past) but I can’t think of a better tool for giving you a ball park view of how long a piece of work is going to take. See a future post for how I plan. Remember the map is not the terrain, the best value of a plan is to be able to assess when half the time is gone, whether half the work is done.
- Using is Testing: Unit test suits are good, automated test suites are good, user acceptance test suites are good, but there is no substitute for sitting down and using the product. Better still, get somebody else outside the team to sit down a use the product. One hour watching a novice user with a new piece of software is worth 24 hours of automated test.
- Don’t extend the date - cut the features: You have to ship it, otherwise you end up like Vista or worse DECnet Phase V, constantly revising your feature set to meet changing customer requirements. XP has lots to say about this and its prioritisation mechanisms allow you to make cuts easily.
- Fire the asshole:You have a team, its working pretty well, you have this one super guy, but hes a bit of an asshole, rubs people the wrong way, gets abusive when asked for help, schedules, dates etc. Get rid of him. Software development is a team activity.
- Its a marketing function: Commercial software development is about supplying a customer’s unmet needs and/or desires. Its not about J2EE, Spring, Web-Services, Python, C#, Design patterns etc. etc. That is software engineering which is a sub-discipline of commercial development.
Posted in Business, Programming, Software, Startups, Vendors, Web 2.0, economics | 14 Comments »
Wednesday, June 28th, 2006
Richard Rodger is making a sweet offer on his blog. Download his software (it does CSV amd XML file mangling), blog about it and get a free license.
He says,
You can write whatever you like. Tear us to shreds or sing our praises. It’s all good. We just want links 
Go on, you know you want to…
Posted in Business, Java, Programming, Software, Startups, dublin, irishblogs | 3 Comments »
Wednesday, June 21st, 2006
Michi Henning writes about The Rise and Fall of CORBA on the ACM Queue website. In the article he describes the history and development of the CORBA standard and details why it has been relegated to a infrastructure backwater. They key reason for CORBA’s failure that resonates with me is the following statement,
The OMG does not require a reference implementation for a specification to be adopted. This practice opens the door to castle-in-the-air specifications. On several occasions the OMG has published standards that turned out to be partly or wholly unimplementable because of serious technical flaws. In other cases, specifications that could be implemented were pragmatically unusable because they imposed unacceptable runtime overhead. Naturally, repeated incidents of this sort are embarassing and do little to boost customer confidence. A requirement for a reference implementation would have forced submitters to implement their proposals and would have avoided many such incidents.
Posted in CORBA, Programming, Software, Web Services, iona | 2 Comments »
Thursday, May 25th, 2006
Reg Cheramy lists 13 reasons to consider Microsoft for Web 2.0 Development.
The one reason not to? Your stuff will probably not run correctly in Firefox or Safari.
Posted in Microsoft, Programming, Software, Web 2.0 | No Comments »
Wednesday, May 24th, 2006
Enterprise Ireland has just circulated copies of the presentations made at the recent Web 2.0 conference at DCU.I’ve taken the liberty of converting these to HTML and providing them here.
Marc Canter, BroadbandMechanics,
Jeff Clavier, Softtech Ventures.
Daniel Waterhouse, 3i,
Nasser Batley, Dresdner Kleinwort Wassterstein,
In addition to the speakers the following Irish companies made presentations regarding their businesses.
Apologies if I got the ordering of the Irish companies wrong, but I an working from memory.
If any of the original authors would prefer not to have their content hosted here, drop me a line and I’ll remove it.
(Apologies for the weird indentation, wordpress voimits all over nested lists)
Posted in Business, EnterpriseIreland, Ideas, People, Programming, RSS, Software, Web 2.0, del.icio.us, dublin, irishblogs, myspace | 2 Comments »
Tuesday, May 23rd, 2006
EI is running a one day Software Process Improvement Conference that will be presented in both Cork and Dublin. Its free, and you can register online. However you will have to use IE to register as the page doesn’t render properly in Firefox.
Posted in EnterpriseIreland, Programming, Software, Startups, dublin | No Comments »
Wednesday, May 10th, 2006
ApacheCon 2006 is being held in Dublin this year. Hard to turn down an opportunity to tech up, especially with no flight or hotel costs to stuff up your justification email.
Posted in Apachecon, Programming, Software, Startups, opensource | No Comments »
Wednesday, May 10th, 2006
- Freshmeat announcement page (update : fixed borked link)
- Celtix Home Page
- Product page from the Iona Website
- The Celtix Demo page
Posted in ESB, Java, Programming, SOA, Software, Vendors, Web Services, iona, opensource | No Comments »