HTML/JSON REST RDBM

Maybe it is me, and the people I have worked with, but it seems very hard to find a simple plug-and-play REDM UI.

My thought is to have a generic Ajax interface that pushes and pulls JSON to and from a Spring or Catalyst HTTP REST server, that pushes and pulls data based upon meta information contained within a database, picking up foreign and primary keys as appropriate.

Then non-UI part would take no more than a week from start to finish, but can I be bothered?

Rotten Apple

It’s shiny, chic, as pretty as a laptop gets — and it is a pain in the arse to use.

Equality of Access

The much lauded user interface may look good, the fonts certainly do, but it is impossible to navigate without a mouse or track pad, which makes use for the blind and partially-sighted (me) very difficult.

For months I thought there was no shortcut available to move the system caret to the menu bar, so had to find the cursor and direct it and click for every almost menu operation. In the end, it turns out that Fn+CTRL+F2 will do the trick – but what a crippling key combination, and somewhat revealing of Apple’s research into Universal Access. Having remapped that, I now only lack the ability to skip to menu items with a single keypress.

The FN+CTRL+trackpad combination to zoom the cursor area is superb, but why not take it a stage further, and allow me to zoom within a window? Is it because OS X, like Win32, is built on an anciet kernnel, because the multi-national corporation that develops it has refused to spend sufficient funds on developing something new?

Why is there no auto-complete on directory names within the ‘Finder’ application? I have to type in full or use the trackpad/mouse…?

Why can I not select a ‘folder’ and press a key to open it, but instead need to use the trackpad/mouse?

Coding

The main attraction of the Mac was the perceived simplicity of building C/CPP applications – without the need for an expensive development kit, or a touch-and-go Cygwin. Yet the first install of Xcode failed, the second succeeded even though it wouldn’t run, due to a version mismatch – and the install instructions (to run a perl script) simply produce ‘illegal operation’ errors.

This is even worse than Windows 95.

I’m sure I’ve more bile to note later, prior to reporting to Apple.

Cross-platform

Try connecting to a Win NT 4.9 share. Ugh.

The Ideal Job

After so many years working in the same still-young field, certain themes have become apparent as prerequisite for an enjoyable and most successful contract.

  • Self-less purpose
    It may sound self-righteous, silly, or naive, but true commitment is based in self-belief, and money alone does not buy this. Self-less does not necessarily mean saving the planet by throwing oneself in front of bulldozers – it could mean creating a better working environment. In any case, it is strictly the opposite of selfish.
  • Like-minded folk
    An office of complaints, constant gripes and grievances, and perpetual unhappiness leads to badly written, poorly maintained code, which leads to an office of complaints, ad nauseum.
  • New technology, when necessary
    …and not just for the fun of it. If there is a reason to use a new technology – software, management technique – it must be tested, understood, and thoroughly embraced.
  • Everything is a compromise
    Ideal coding does not exist in reality: to paraphrase Plato, ideals do not exist in the world of forms. Equally, not everything in the client or business owner requests can ever be delivered within the time they will allocate. Everyone has experienced this, our shared reality, and so everyone needs to admit to the necessity of pragmatism to achieve any progress. This is the foundation of Agile.
  • Communication
    Rambling meetings and waffling e-mails annoy everyone eventually, even if, being British, they are too polite to admit it. Such events are the first signs of weak management, and should be redressed with the adaptation of informally formal channels of communication, that follow an established and commonly-understood model, which can be tightened as required. That is Agile, again.
  • Freedom of expression
    Another seemingly wimpy idea, but unless in the office staff feel free to question and doubt, to suggest and engage with all levels of a project, then they will do so out of the office, which will lead to either riotous pub scenes and work-place subterfuge, or a high staff turnover.