francis

Programming



Maintenance programming

Friday, 20 June 2008 8:42 A GMT
Comment left here - it's also worth following some of the links in the article.Never install the Java Decompiler, JAD, and look at the library code you are dependent on.Just don't.If you do, however, never run the FindBugs utility (which I re

Getting the number of months between two dates in Ruby/Rails - updated

Wednesday, 2 April 2008 12:30 P GMT
Here lies the one that works, not the old one I posted ages ago. It also uses dates instead of timestamp differences and should therefore not break if you ask it to go before the Epoch (some time in 1970 I think):

Email sent in response to the vision thing geekup email

Monday, 31 March 2008 9:08 A GMT
Start here to see what this is in response to. ... how many of you go back to the pre-web days? I do - graduated in 1987, I've had to practically start again 3 or 4 times in the last 20 years - Un

Java is bad for your brain talk at Barcamp Manchester

Monday, 3 March 2008 9:25 P GMT
Following on from the talk I tried to give on why Java is bad for your brain at Barcamp I thought I'd dig out some of my old blog posts and present them here - try and explain the argument (which is more of a feeling

SOAP calls make activerecord stop working, oh my

Friday, 29 February 2008 5:22 P GMT
Create an active record object, retrieve some stuff from a soap service and then get this:NoMethodError: You have a nil object when you didn't expect it!The error occurred while evaluating nil.has_key?        fr

Java: finding nodes with xPath and how to Dump out XML DOM as a string

Tuesday, 14 February 2006 5:48 P GMT
Java: finding nodes with xPath and how to Dump out XML DOM as a string

Standing on the feet of others

Sunday, 1 January 2006 10:01 P GMT
Have a look at http://www.paulgraham.com/hamming.html

Quick 'C' programming tip for aligning those pesky bytes in structures

Saturday, 17 December 2005 4:04 P GMT
Wot is says on the tin

Java is the new 'C' part 2

Saturday, 17 December 2005 12:13 A GMT
Carry on, grasshopper

Java is the new 'C' part 1

Monday, 12 December 2005 3:15 P GMT
More recent writings on the history of programming languages

Cohesive Libraries

Monday, 12 December 2005 3:05 P GMT
http://www.regdeveloper.co.uk/2005/12/11/cohesive_code_packages/Hi KevinI know what you mean about the java.util package.On a slightly related note I'm studying for the Business Components Devloper exam and you need to learn serveral interface specs.

At the feet of the master

Wednesday, 7 December 2005 8:30 P GMT
This is a reprint of something I wrote ages ago. Thought it might amuse.

Java Business Componets Developer Certification

Thursday, 6 October 2005 10:30 A GMT
What I'm reading and working through to prepare for my Java Business Componets Developer Certification

Management Graphs

Monday, 5 September 2005 2:27 P GMT
Response to an article in the Register about rules of thumb.

Wireless Linux - not so easy, more PHP

Saturday, 6 August 2005 12:11 A GMT
I installed Mandriva Linux on an extra drive I put into my big server machine. Could not get the US Robotics wireless card to fly at all. Found some stuff on source forge but it didn't work for me (needed kernel source to build it - way too hard).Wen

Nulls again

Sunday, 12 June 2005 10:54 A GMT
Nulls have been the bane of my life as a database programmer and they got me again today. I was getting a constraint violation on an optional foreign key from MySQL.My PHP data entry system was returning the empty string when the user hadn't entered

Standing on the shoulders of giants: Part 1

Friday, 10 June 2005 11:12 P GMT
Part one of an article about how I managed to create a dynamic data entry system using PHP

Scare your users, Python

Tuesday, 17 May 2005 9:46 P GMT
HmmmJust got asked to remove a feature I demoed over 6 months ago because it "scares" users. Relatively sophisticated way of refining a data set with a pop-up that allows you to refine the what you can see in a column on the web page, then

MySQL, Python, etc.

Saturday, 14 May 2005 10:59 P GMT
MySQLDecided to move my project to MySQL because it seems to be more of a standard compared with Postgres. This is a pity because I like Postgres a lot, but you have to go with the flow and if I'm going to work on some non-Oracle skills I should at l

Open Source

Friday, 13 May 2005 10:59 P GMT
Lots of competent people, who think carefully about the problem, making small contributions is how it works. Don't knock it. I'm a bit jealous of people who have made a contribution, which I know is weird of me. At times I feel like I'm trying to do

Javascript and Radio Groups

Tuesday, 26 April 2005 10:59 P GMT
Say you are trying to validate that at least one element in a radio group has been selected.This hacking is because if a radio group only has one element you can't treat it as an array so if the length is === (points to the the same object) as an und

Diary

Sunday, 24 April 2005 12:51 A GMT
What's the matter with peopleToday I remembered why I hate driving.Incident 1:Coming up to a set of lights just before a 30 zone. I'm in the outside lane, doing about 40. Car on inside wobbles part-way into the outside lane, sees me and wobbles back.

Converting Java XML to PHP XML

Monday, 28 March 2005 8:30 P GMT
Thought I might make some notes about this to help the next person along.Firstly, PHP5 on windows just has the XML SAX parser installed by default so, even though there is a PEAR XML library, you don't need it.AttributesThe Java classes have a org.xm

Got my vote

Sunday, 13 March 2005 8:59 P GMT
If you want to see a very coherent and logical explanation of why software patents are such ridiculous nonsense see http://www.kuro5hin.org/story/2005/3/9/93357/91614.Can you imagine a world where the particular genius of your favorite author's rende

PHP

Monday, 7 March 2005 12:26 A GMT
Got talked into looking at PHP rather than Python.I really like it: it's got a lot of the lovely features of the unix shell (heredocument and `), you can have nice structures likeif ( cond ) : exprendifSo you can block your code properly. I have alw