Showing posts from January, 2011

This Blog Has Moved!

Right, so yes, five years ago I moved to github pages, and never bothered to redirect any of these pages there. Now I've moved on from there, and... Finally I am using my real domain, . My blog is now at .  See you there!

CSS for Developers: Cross Browser Table Border Behaviour

One of the aims of this series is to highlight some stupid gotchas in support for CSS in the different browsers. Today's gotcha is table borders. Yes, yes, I said don't use tables.  What I means is, don't use tables for layout. But you can use tables for, you know, tabular data.  Like, for examples, lists of instruments and their bid and ask prices . But you should know that even when you use strict mode, Internet Explorer has slightly... eccentric... rendering behaviour for tables.  Actually to be specific, it's IE7 only. <html> <head> <title>Table Borders</title> <style type="text/css"> table, td { border: 1px solid black; } td { height: 20px; min-width: 5px; } </style> </head> <body> <table cellpadding="0" cellspacing="0"> <tr> <td>first cell</td> <td>se

My Experiences with Android Development

Because I was missing coding, and because my friend and I had an awesome phone app idea at the weekend, I thought I'd try my hand at developing an Android application this week. I want to give a quick overview of my preliminary thoughts on getting started on this endeavour. Background: I've got more than 10 years Java experience, but any UI for the applications I've worked on was always a web UI.  I am completely new to mobile app development. Getting Started I spent maybe a day and a half reading the excellent Android developer documentation  and attempting to hack out a quick 'droid app. I was surprised to find the Application Fundamentals section actually made sense to me.  There appears to be a clear architecture with design guidelines laid out for developers to follow.  This shouldn't really be a surprise I suppose, but years of hacking around with web UIs with poorly implemented MVC architectures must have left me thinking that all frameworks are le

CSS for Developers: Column Layout Using CSS

This is a continuation of my series of CSS hints / tips / cheats for developers (and other technical-but-not-UI people). The screenshots are in Chrome on a Mac.  The originals were on Firefox on Ubuntu so I can tell you the behaviour is identical. Part Three: Column Layout Using CSS (or: still no excuse to use tables) Today's example is a simple one, but worth knowing all the same.  The aim is, once again, not to use HTML tables to provide any sort of layout.  In most cases not only does using a div reduce the size of your DOM (and potentially help improve the performance of your page ), it's actually a lot less complicated to organise your layout this way. 3.1 Display Elements or Text in Columns <html> <head> <title>Column layout</title> <style type="text/css"> #col1 { background-color: yellow; /**have to know the width **/ width: 30%; float: left; } #

On Changing The Image Of Programmers

Gah!! This is exactly what I was talking about  - it's pink, it mentions shoes, and it's about as patronising as you can get. Would the chart be different if your possible outcomes were  Bill Gates ,  Steve Jobs ,  Mark Zuckerberg , and  Linus Torvalds ?  I bet for a start it wouldn't mention Jimmy Choos or choice of handbags.  And it probably wouldn't be in baby blue either. Which leads me nicely onto the next subject I have strong opinions on: Role models.  Why do we need them?  Do  we need them? If there is any good to be salvaged from that horrific infographic, it's that it gave me what I've been trying to research - some female role models in technology. Unfortunately it hit the other button I was ranting about earlier - they're all very presentable and polished.  I don't doubt their value as role models, it's great to have people like that to try and emulate.  But surely there must be IT women out there who look like real people?  And

GWT: Why VerticalPanel is Evil

At LMAX we adopted Google Web Toolkit pretty early on.  One of the motivations for using it was so we only had to worry about recruiting Java guys, and then we could all work on every part of the application including the web UI.  Sure, you can learn a bunch of different skills if you want to, but it reduced context-switching and kept the skill set we were hiring for to a nice short list. The problem is that GWT does a very nice job of pretending to be Java whilst actually compiling down to HTML and JavaScript.  If you don't have some understanding of the end result (the DOM the browser is going to be rendering) it's going to be hard to get the performance you need from a low-latency trading application . My number one bug-bear with GWT is VerticalPanel .  To the uninitiated developer, this seems like the sort of thing that will be useful everywhere.  You often want stuff stacked on top of each other - think menus, lists, the layout of a dialog.  What is not obvious is th

On How Not To Target Girl Geeks

(First, let me say this post contains opinion, stereotyping and sweeping generalisations.  But that's sort of the point.  Also I don't pretend for one moment to speak for all girl programmers, I can only speak for myself) When I first started this blog, I wanted to just post "proper" technical information.  I wanted to prove that there are girls out there doing "real" programming. I specifically didn't want to talk about my gender.  I wanted to prove by silence that gender is incidental to what I do. But, it doesn't really work that way, does it? Firstly because one of the first things I get asked by guys when I meet them in this industry is "why aren't there more girl programmers?" (that's after they ask "do you work in HR?" followed by "are you a real programmer?" - I'm not joking, this happened this week). And secondly because I'm pretty passionate about the gender issue.  To be specific: I&#

CSS for Developers: The Joy of Floats

As promised, the Long Awaited Follow-Up to CSS for Developers Part One ! Well, long-awaited if you're as afflicted with NADD as I am. Quick recap - the aim of this series is to provide a quick and easy how-to around the magic that is CSS.  It's primarily aimed at developers, although I would hope it's comprehensible to a range of tech-savvy people. (Note: unless otherwise stated, the screenshots are in Chrome on a Mac - given an earlier version of this guide I can tell you the behaviour is identical to Firefox on Ubuntu). Part Two: The Joy of Floats (or: why they don't do what you think they should) Last time I stated that using float is a great way to position elements contained in a div.  Well, it has its downsides too.  Quite a few actually. So this post documents the ones I ran into and what we did on the  LMAX Trader UI  to get it to look the way we wanted. Disclaimer: There might be better ways to do a lot of this stuff - if you locate them via Google

FogBugs and Kiln World Tour

Last Thursday I was fortunate enough to get a place on the FogBugz and Kiln World Tour .  I booked it before I moved jobs, and I'll be honest I had no real interest in the software.  I've been reading Joel's books and blogs since my friend Brent bought me Joel on Software  and made me read it (he had the foresight to know I'd want to hang on to his copy if he'd lent it to me!).  I wanted to see the man in the flesh and hear what he had to say about his software.  Because really, do we honestly need yet another bug-tracking / project-management tool? Who would benefit from FogBugz? Joel 's demo was really good at demonstrating exactly how you might use the software - the processes you might follow, how to raise / update a ticket and chase it, and how you can see what's going on with the projects tracked. I can actually think of a number of companies I've worked for, or friends have worked for, that would see an improvement in productivity from using

CSS for Developers: Horizontal Layout Using CSS

I'm a Java Developer.  But I'm also a Web Developer.  Web Developers have been so badly maligned over the last decade or so that I always feel wary (and sometimes slightly ashamed) admitting this.  There's some sort of assumption that Web Developers (and Front End Developers) aren't real programmers. Similarly, "real" developers don't like to be tainted by coming into contact with that nasty "front end stuff" in case someone mistakes them for a designer. Trust me, no-one is going to mistake a Java Developer for a designer.  For a start, when designers wear geeky glasses it's ironic.  Or chic.  Or something. But developers will be forced to do something around the front end at some point in their lives.  Even if it's because they're sick of manually kicking off some process and want to give the users a big red button to press instead. So, as much to compensate for my own goldfish-like brain as anything else, I'm going to make a

Popular posts from this blog

Dissecting the Disruptor: What's so special about a ring buffer?

Dissecting the Disruptor: Writing to the ring buffer

Dissecting the Disruptor: Demystifying Memory Barriers