Category Archives: Thoughts on the World

Tokenism Gone Mad

I went to see Danny Boyle’s production of Frankenstein at the National Theatre, yesterday. It really is a “must see” event. The staging is superb, the script accurately reflects the eloquence of Mary Shelley’s novel, and Johnny Lee Miller’s performance as The Creature was astounding, portraying a moving evolution from incoherent newborn to the intelligent, articulate but frustrated and vengeful central character of the original story. Unfortunately I can’t comment on Benedict Cumberbatch’s performance as he was unwell, but his understudy competently portrayed Frankenstein and the conflicting emotions which drive him.

However, some of the supporting cast decisions were odd, to say the least. Most strange was the decision that while Victor Frankenstein and his brother William were both white, his father was played by a black actor, George Harris. Now Harris is a fine actor, and I have no problem with him playing a rich, powerful man in the right context – 2010 Britain, for example. But to cast him as Frankenstein senior, a Baron in early 1800s Switzerland, and in a story where one of the key themes is the inability of humans to see past The Creature’s physical difference from themselves to his inner abilities, that’s just plain wrong. It grated with me, and from comments I heard it grated with others too.

If that casting decision was PC tokenism, it was misplaced. If Danny Boyle was deliberately trying to contrast the loathing for the creature with our modern acceptance of people of different appearances, then it backfired. Sometimes the obvious route is the right one.

Posted in Reviews, Thoughts on the World | Leave a comment

Are We Nearly There Yet?

The trouble with having lots of gadgets is having to also manage and travel with a vast collection of power supplies, cables and chargers to make them work. I know I’m not alone in being annoyed by this – one of the late Douglas Adams’ last pieces of writing was a rant (there’s no better word) at the tech industry he otherwise loved, and how a lack of standards burdened him with an annoying plethora of single-use cables and transformers.

Maybe things are getting better. We seem to have standardised (for now, until the next bright spark tries to be different) on 5V supplies for most rechargeable hand-held devices, and some (but not all) expect the source to be a standard USB type A socket. This at least reduces the number of independent chargers. That’s the good news. The bad news is the device end. I really don’t get why we can’t standardise on the standard mini B USB port, but the creative types seem to want more variety.

Then there are the devices which take mains input. Set aside the fact that mains outlets come in several varieties, as it’s probably about 100 years too late to do much about that, there’s still the matter of the mains connection into the device (or its power supply). There are at least three standards, and while quite a lot of my kit uses the common “figure of eight” version, sod’s law dictates that my laptop uses the three-pin variant. Oh well…

On a more positive note, thanks to Apple I now have a transformer which is “figure of eight” in and USB out, so that will cover a lot of bases, and I have a pair of mains cables which the appropriate plugs for each region I regularly travel to, so I don’t need to carry adapters.

Despite the fact that my cameras all hail from the same manufacturer, Canon, they each take different batteries and each has a separate charger. The better news is that apparently Canon have declared that their next generation of DSLRs will use only two battery types, but I can’t see how that will help because knowing my luck I’ll still probably end up with a camera from each family.

So what’s the upshot. Here’s what I carry regularly:

  • Figure of eight mains cable with appropriate plug
  • Laptop power cable with appropriate plug, and laptop power supply
  • Mains to USB transformer (clever Apple version, which has a UK plug but also takes a figure of eight cable)
  • USB to mini B (doesn’t actually charge anything, but connects disks, cameras etc. to the laptop)
  • USB to “slim mini B” (I don’t know what they call this, but it seems to be an emerging standard, as my Zaggmate keyboard, Frances’ phone and her Kindle all use it)
  • USB to even slimmer non-standard plug for my phone. Thanks a lot, HTC
  • USB to Apple connector for the iPad
  • USB to HP iPaq connector, to charge the iPaq. In fact, you can’t buy this lead, but it’s amazing what you can achieve with a load of cannibalised bits and a soldering iron

Yes, I know I should be able to condense my phone and PDA into one device, and I might get one with either a standard USB or Apple connector. See here and here for why I might resist that…

Then for holidays, you add:

  • 2x or 3x Canon chargers, depending on what I’m expecting to photograph
  • Shaver cable and appropriate mains adapter

Is this getting better?

Posted in iPad, PCs/Laptops, Thoughts on the World | Leave a comment

A$$hole Driven Development and Other Anti-Patterns

During a project management meeting today, I was driven to look for a reference to “Document Driven Development”, a great anti-pattern developed a few years ago by the Agile crowd, in order to emphasise the importance of working solutions, not documents, as the goal of IT projects. I was in for a few surprises…

Oddly, although the wonderful “Waterfall 2006” web site still exists, I couldn’t find DDD on it. So I checked with Google and found a couple of references to non-ironic (as far as I can tell) papers on the subject. Yes, some people seem to think that document-driven development is a good idea! Now I might be prepared to concede this for applications where documents are themselves the key business objects (some legal processes, for example), but as far as I can see this isn’t what those papers were referring to. If that’s the case, they really haven’t understood…

What I did find, however, was a wonderful blog post from a few years ago with the excellent title “Asshole Driven Development“, in which Scott Berkun has collected a wide variety of development and project management anti-patterns. It takes a while to read through all the comments, but doing so is quite rewarding, if mainly as a form of therapy. At least you know you’re not alone.

The list is pretty comprehensive, but despite over 300 contributions, I couldn’t see my own bte noir. A lot of large corporate organisations now seem to follow a governance methodology I term IAKOM (the “It’s A Knock Out Method”), known on the continent as la Methode Jeux Sans Frontieres (MJSF). Those of a certain age will remember a series of hilarious television games in which relatively simple tasks (such as carrying a bucket of water) were rendered impossible by the imposition of progressive handicaps and obstacles (such as carrying the bucket up a greased slope against a rubber bungy while wearing clown shoes and being pelted with wet sponges).

Some IT governance is like that. Just when you think you might have a fair run at doing something, a new governance hurdle or document check is inserted into the process. It wouldn’t be so bad if it all made sense, but sometimes it feels almost capricious. Some organisations are more enlightened than others, but as a general industry trend it’s inescapable.

I don’t know what the answer is. If you do, let me know!

See http://www.scottberkun.com/blog/2007/asshole-driven-development/
Posted in Agile & Architecture, Thoughts on the World | Leave a comment

Beauty is Only Skin Deep

I’m currently reading a book called “Beautiful Architecture“. This has at its core the concept that some software structures are inherently elegant, things of beauty as well as great function, like many of our greatest buildings.

The trouble is that for every St. Paul’s there must be a Bletchley Park – an architectural mish-mash which while possibly important, successful or even revered is inherently inelegant, or even downright ugly.
My analysis is that behind the glossy facade, the iPad software architecture has to be the best current example of “Ugly Architecture”.

In many ways it’s strongly reminiscent of PCs in the days of DOS, or maybe Windows 3.0, before the emergence of strong component-based architectures and unifying design standards in Windows 95 and NT.
The fundamental problem is the application-centric model, in which each application is a stand-alone combination of code and data, with very few shared services or components. This naturally leads each application developer to “do their own thing”, implementing separate, widely varying solutions for communications, document storage, printing support and so on. Apart from a token “open in another app…” supported by some applications, there’s effectively no cross-application linking, leading to massive duplication of functionality and data, and some significant functional limitations, for example the inability to directly open a URL embedded in a document.

Each application has its own data area, which may or may not interact with iTunes, web sites or a PC via FTP, websites via WebDAV or various different cloud storage services. Data which should arguably be general visible just isn’t – you can upload video files to the photos area, but they won’t be visible in the videos list. To test a variety of editors with a document you need to deliver a different copy of the document to each app.

Each application supports different models for document exchange, and different cloud stores, so a user potentially has to have multiple separate cloud accounts. While “public” cloud storage may be fine for individuals’ personal data (although individuals may still have valid security and privacy concerns), it is a real concern if used for corporate information. In corporate contexts, connectivity, security, copyright, access rights, service levels, data protection and privacy obligations, regulatory and legal constraints may all be compromised or complicated by cloud use, and become significant issues.

There’s also an interesting security implication to this which you don’t often see discussed. Because there’s no accessible file system, and no extensibility model for the application filing model, there’s nowhere for anti-virus solutions to run, and as of today iPhones and iPads are effectively unprotected devices. There are probably numerous iPads in the wild acting as festering reservoirs of infected documents. Those who are security conscious can’t be happy about this, and I know that many corporate security departments are making moves to ban connectivity to corporate services for that reason.

Even if an application interacts with the host PC more directly, you get multiple copies of documents, typically the original, a copy in iTunes and one on the device, with no mechanism to synchronise them or compare version information. Apple’s own applications such as Pages are even worse, with a completely separate iTunes space from their own “My Documents” spaces, and an additional copy step in each direction. This is a version control and management nightmare!

Why could the iPad not support a simple shared filing area with proper two-way synchronisation to the host PC, as the Pocket PC has had from day 1?

The communications architecture is a similar mess. The only application which can communicate with the host PC over USB is iTunes, but iTunes can’t use WiFi. All other apps have to use WiFi, but there’s no real shared comms application infrastructure, so the result is another diverse and fragmented “roll your own” free for all. The most obvious way for a companion device to talk to its host PC, BlueTooth, isn’t supported at all!

The WiFi only design works fine in the confines of, say, a small home office. Elsewhere it’s problematic at best. Paid WiFi (e.g. in a hotel) is typically limited to a single device, so you’ll end up paying twice if you want to connect both devices. Corporate WiFi systems are typically similar, and you may not be allowed to connect the iPad directly. Even if you do get connectivity, these networks are often set up to prevent routing between devices, as a security measure, so that’s that, then.

The alternative is to set up either the PC or iPad as a hot-spot itself. On the iPad, this is only possible on jailbroken devices. On the PC, it can be complicated and opens up potential security issues. Neither is ideal.

Apple’s policies effectively put software development back in the Stone Age, in the particular sense that “monolithic” means “single lump of rock”. Each application has to be “stand alone”, implementing many things which should arguably be shared. For example, each file management application implements its own storage management dialogs, its own comms model, its own browser, its own PDF and Word file viewers, each with their own subset of functionality, dialogs and gesture support, and so forth. There simply doesn’t seem to be any real concept of shared components or companion applications. Let’s be clear: I’m not criticising the application developers for trying their best to provide a comprehensive solution – my criticism is directed squarely at the crass architecture through which Apple force such an approach.

Even those applications which implement the “open in another app…” capability to open documents in other viewers suffer two common problems: you frequently have to open the document natively before you can send it elsewhere, and the act of doing so usually creates yet another copy of the document to manage separately! 🙁

Ironically, where there are shared components they impose significant constraints and limitations. The most obvious is the keyboard. Essentially there’s only one way to get text directly into any application, and that’s to use the on-screen keyboard configured exactly as the application developer decides. It’s “my way or the highway”. This is a dramatic contrast with the Microsoft world, where even a humble 2003-era Pocket PC supports not only a variety of built-in and third-party on-screen keyboards, but also handwriting recognition, character recognition (like the Palm Pilot), Swype, and even limited voice recognition. Importantly, these are all user-selectable at any time text input is required. On the iPad you can buy an app with a different keyboard layout, or dictation capability, but you have to cut and paste the raw text into your target application and typically reformat it to suit. This is simply primitive.

What makes all this worse is that the iPad application approval/delivery model makes it unlikely that anyone will innovate a better solution. No approved application can have legal access to another app’s or central iTunes data. Without approval, you won’t appear in the App Store or run on non-jailbroken devices, so Apple simply impose their will, whether good or bad.

OK. I am starting to love my iPad, but the software architect within me is incredibly frustrated. This great hardware is hamstrung by a clumsy, unimaginative, software architecture and oppressive centralist control by those who worship according to The Book of Jobs. It could be so much better.

</rant>

Posted in Agile & Architecture, iPad, Reviews, Thoughts on the World | Leave a comment

Some Good News

I’ve just had a bit of excellent news – my submission for the 2011 Enterprise Architecture Conference in London has been accepted. The provisional title is “Practical Enterprise Integration – Realising the Benefits of a Strong Canonical Architecture” and I’m going to tell the story of the evolution and benefits of a strong Enterprise Integration Architecture at National Grid with which I’ve been closely involved over several years.

Interestingly, a very similar submission last year didn’t make the cut. Whether the change is due to an increase in the quality of my submission, or a decrease in that of the competition, only time will tell… 🙂

Posted in Agile & Architecture, My Publications, Thoughts on the World | Leave a comment

The Y2KXI Bug

I don’t know whether I’m alone, but I’ve had two separate problems with computer systems which didn’t survive the transition from 2010 to 2011, making me wonder if there’s a more generic “Y2KXI” bug, like the famous Y2K bug, only more subtle…

On New Year’s Eve, my X10 home automation stuff was all working. On the 1st, the lights failed to come on at the appropriate time. After a bit of investigation, I checked the clocks in the two timer/controller units, both of which now showed a date in 2012. Clocks reset to the right time, things returned to normal.

Then last week I had a problem where I discovered my PDA was corrupting appointment times, converting the vast majority of my appointments to an all-day slot a day after the original date. This was clearly happening a few minutes to a few hours after synchronisation, and the original appointments in Outlook on the laptop were OK. At first I blamed the iPad (well you would, wouldn’t you), or maybe a component of Office 2010, which I have now partially installed on my PCs, but some testing confirmed that the problem was occurring even when neither of these had had a chance to affect the data. I then realised that QuickAgenda, which I had installed to show my diary on my PDA’s home screen was running very slowly, almost as if it was processing something…

Gotcha! With QuickAgenda removed not only has the corrupt appointment problem gone, but I’m also finding synchronisation much quicker and less prone to duplicate appointments. However, this wasn’t a problem in 2010.

Has anyone else noticed this?

Posted in Thoughts on the World | Leave a comment

Death and Service

My brand new iPad died today. One minute I was taking notes on it. Next minute, dead as the proverbial fat bird with a big beak, or the Norwegian Blue (lovely plumage).

There are three theories which fit the available data:

  1. This was a typical failure on the leading edge of the bathtub curve, and I was just unlucky.
  2. iPads are unreliable, and I am going to learn some new swearwords when the process repeats.
  3. Steve Jobs’ spyware installed on all iPads to monitor for uncomplimentary content detected my draft post on the shortcomings of the iPad’s software architecture, and Apple took pre-emptive action.

What is, however, beyond reproach and the reason I’m writing this post is the absolutely exemplary service provided to me at PC World in Coventry. The young chap quickly established that a straight replacement was appropriate, but because I am away from home he’d have to retrieve my receipt details electronically. This proved rather more difficult than expected, as the original sales assistant in Guildford had somehow bypassed the supposedly mandatory step of capturing my name and postcode. However, the Coventry guys persisted, with searches on multiple back office systems, and eventually tracked my receipt down. The swap was promptly made, and I’m already up and running again.

The quality of customer service at DSG (the company who own Dixons, Curry’s and PC World) used to be a source of jokes. However, the excellent service I received today is not untypical, in my recent expereience. I would like to formally extend my thanks and compliments to them.

Posted in iPad, Personal News, Thoughts on the World | Leave a comment

Keep Taking the Tablets

I’ve recently purchased an iPad, partly to satisfy some unrequited gadget lust, partly to satisfy some real needs for which I hoped it might be a good match, and partly to try and understand what all the fuss is about. As a long-time user of both Tablet PCs and Pocket PC (Windows Mobile) PDAs, I’m in a fairly unique position to judge what works well and what doesn’t. So far, it has to be said, I’m distinctly underwhelmed.

For several years in the mid-noughties, my main laptop was a convertible Tablet PC (actually a succession of Toshiba M-series tablets). I liked these devices with their dual ability to function as a subtle note-taking device in meetings or on the move, and as a fully-fledged laptop most of the time. Ultimately, though, such devices are too great a compromise: too heavy, battery-hungry and stylus-dependent for use as an eReader or travel companion, not powerful enough to meet my demands for a laptop capable of supporting virtualisation, multiple development platforms and heavy duty image processing. My main laptop is now a 15″ Toshiba, and it does the main jobs very well, but I’ve lost my subtle note-taker, unless I want to lug an old tablet PC as well.

Also, since 1999 I’ve always carried a Pocket PC, for the last 5 years a succession of HP iPaq 4700s (sadly, they don’t last forever). My PDA is brilliant for checking my diary, playing games, as a music player and for a variety of other uses. Thanks to the German company SoftMaker I even have a fully-fledged office suite which is absolutely compatible with Office 2003, right down to the menu and options dialog structures. I have composed some quite large documents using it, but unfortunately the screen size makes it just too fiddly for heavy-duty use.

It’s also unfortunate that HP set the bar so high with the iPaq 4700. I should really have been able to update it with a device including a phone, mobile internet connectivity and GPS, but two attempts to do so have ended in frustration (see “Digital Convergence – Still Waiting” and “Annoyance-Based Technology Selection” for details). Even HP haven’t really managed to replace it – their nearest current equivalent is much chunkier and has a much inferior low-contrast screen.

Enter the iPad. Before I start complaining, let’s acknowledge that this is a great piece of hardware design which does some things really well. For a start, it’s a brilliant eReader: clear, light and an ideal size. When I print documents for off-line reading, I usually print two pages to an A4 side. The iPad screen almost exactly matches this A5 preference, but with the great advantage that I can easily zoom in or change fonts and text orientation if required. To read web pages I can either exploit the mobile capabilities, or save them to PDFs on my PC.

As a mobile web browser it generally looks very promising. Again, the size is just right, with none of the compromises of phone/PDA solutions. Apple’s lack of Flash support is an occasional pain, but otherwise no problems so far.

It’s also going to make an excellent portable photographic portfolio. The screen is widely acknowledged as one of the best on any portable device, with wide viewing angles and good colour fidelity, and my photos look great on it. Getting iTunes to show a sensible album structure is a bit of a challenge (of which more later), but I’m now fairly satisfied, although I may end up using third party software which doesn’t insist on renaming my files and hiding the filenames!

Battery life is great when measured by the standards of fully-fledged laptops: at least two days fairly steady use on tasks like document reading, note taking and web browsing. Of course strictly speaking we should measure by the standard of a monotasking PDA  (I assume that “monotasking” is the opposite of “multitasking”, but I may have just made that up :)), and on that basis it’s not so good, but still acceptable.

So the hardware is great, and everyone loves the glossy touch interface. The problem is that, as the saying goes, beauty is only skin deep. The elegant facade hides an astonishingly crude and restrictive software architecture, which puts me strongly in mind of a 1990 DOS computer (albeit with a glossy graphical skin). The problems of that architecture will be the topic of my next post…

Posted in iPad, PCs/Laptops, Reviews, Thoughts on the World | Leave a comment

21st Century Schizoid Man

My good friend and sometime manager, Mike Rawlins, has just started a new blog ruminating on leadership. In his first post, he discusses the question of how to decide what to do, to “do the right thing”.

Now I’m not sure whether his guidance on decision making process is generic, or whether that process depends on your organisational position and role in determining “the right thing”.  I don’t know whether the key difference in our perspectives is between leadership as a manager versus leadership as an influencer, or the difference between managerial and technical leadership, or the difference between synthesising solutions and deciding which to adopt, but Mike’s article portrays a very different perspective to mine.

Mike portrays as key the ability to focus on key issues, and exclude those which are “not relevant”.

In my experience as an architect and technical leader, I spend a lot of time understanding and analysing the different forces on a problem. These design forces may be technical, or human: financial, commercial or political. The challenge is to find a solution which best balances all the design forces, which if possible satisfies the requirements of all stakeholders. It is usually wrong and ultimately counter-productive to simply ignore some of the stakeholders or requirements as “less important” – any stakeholder (and by stakeholders I mean all those involved, not just senior managers) can derail a project if not happy.

Where design forces are either aligned or orthogonal, there is usually a “sweet spot” which strikes an acceptable balance. The problem effectively becomes one of performing a multi-dimensional linear analysis, and then articulating the solution.

However, sometimes the forces act in direct opposition. A good example, currently personally relevant, is system security, where requirements for broad, easy access directly conflict with those for high security. In these cases the architect has to invest heavily in his skills in diplomacy – to invest a lot of time understanding stakeholder positions. One common problem is “requirements” expressed as solutions, which usually hide an underlying concern which can be met many ways, once understood.

In cases of diametrically opposed requirements, there are usually three options:

  1. Compromise – find an intermediate position acceptable to both. This may work, but it may be unacceptable to both, or it may fatally compromise the architecture.
  2. Allow one requirement to dominate. This has to be a senior level business decision. As an architect, you then have to be sensitive to whether the outcome is genuinely accepted and viable, or whether suppressing the other requirements will cause the solution to fail.
  3. Reformulate the problem to remove or reduce the conflict. In the security example the architect may come up with a cunning partitioning of the system which allows access to different elements under different security rules.

Of course, you can’t resolve all the problems at once – that way lies madness. An architect uses techniques like layered or modular structures, and multiple views of the architecture to “separate concerns”. These are powerful tools to manage the problem’s complexity.

It’s also important to remember that the architecture, and its resolution of the various design forces (i.e. how it meets various stakeholder needs) have to be communicated to many who are not technical experts. The technical leader must take much of this responsibility. I have had great success with single-topic briefing papers, which describe aspects like security in business terms, and which are short and focused enough to encourage the readers to also consider their concerns separately.

One area where I do agree with Mike is the need to listen to the voice inside, and carry decisions through with integrity. For an architect, the question is whether the architecture is elegant, and will deliver an adequately efficient, reliable and flexible solution. If your internal answer to this is not an honest “yes”, you need to understand why not, and decide whether you and your users can live with the compromises.

And finally, the architect must protect the integrity of the solution against the slings and arrows of outrageous projects. Monitor in particular those design aspects which reflect compromises between design forces, because they will inevitably come under renewed pressure over time. You have to not only do the right thing, but ensure it is done right.

Non-Sequiteur

About the weird title: Mike is attempting to create his blog based largely on 1970s Prog Rock references. As a tribute to such an excellent idea, I feel compelled to join in (at least on this occasion)!

Posted in Agile & Architecture, Thoughts on the World | 1 Comment

A Confident Prediction

I have been mildly surprised at various recent articles on the web, expressing surprise that Windows 7 is so popular compared with Vista. This brings to mind the old saying “those who do not learn from history are condemned to repeat it”, and suggests to me that many of those commentators don’t know their history…

I remember the grand old days of Windows 3.0. This was Microsoft’s third attempt to deliver a window-based environment on the PC, and had a load of technical innovations which showed that this could at last be a reality. In practice, it was a bit flaky, with some enormous frustrations (does anyone else remember the old File manager?!!)

Then came Windows 3.1. This was solid, fast, and worked so well that some people are still using it.

Windows 95 introduced a radically overhauled architecture, with the object-oriented user interface we all know and love, and a much cleverer structure for common components like drivers and communication components. In practice, it was a bit flaky, with the odd enormous frustration.

Then came Windows 98. This was solid, fast, and worked so well that some people are still using it.

Is anyone else spotting a pattern here?

Windows 2000 introduced a load of technical innovations, merging the “NT” and “9x” code bases into a single workstation line and a separate server stream based on the same core. Interestingly, although this worked pretty well, I even caught Microsoft salesmen saying to corporate clients “there’ will be an update out next year – wait for that”.

That was Windows XP. This was solid, fast, and worked so well that some people are still using it. I still run it on my laptops, although the big beast now runs Windows 7 (and Frances’ laptop manages on Vista).

If you look at the history of other Microsoft products (Word, for example), you see the same pattern: an “architectural innovation” release, followed by two or three consolidation releases which build on the new architecture and make it stable. Any the reality is that the same is equally true for many other software suppliers – see my recent postings on Bibble for another example.

So here’s my threefold confident prediction:

  1. Windows 8 will introduce a load of new technology, which will move the world of computing on. It will also be full of frustrations and most people will hate it. The critics will pan it and explain that it’s the end of Microsoft and computing as we know it. There will generally be a great wailing and gnashing of teeth.
  2. As a result, some people will still be using Windows 7 in 2020. It wouldn’t surprise me if a few are still also using XP, 98 and 3.1!
  3. Windows 8.1/9 will be solid, fast and people will love it.

Don’t say I didn’t tell you!

Posted in PCs/Laptops, Thoughts on the World | Leave a comment

Lots of News

Quite a lot of news…

Migration of our web sites and email to the new hosting server is almost complete. See previous article/rant for some of my findings. After some initial frustration with my hosting provider (WebFusion) when I discovered the
limitations of their new Linux shared hosting services compared with the old one, I have to say a big “Thank You” for their efficiency in finding a better solution for me, and providing me with effective technical support to get it up and running.

If you do have any problems with our sites or email, let me know…

I’m currently developing a new blog, based on WordPress. This will make it easier to post “on the fly” than with the current solution, hand-carved from XML and ASP (now PHP).

When the new blog is running, I’m going to have a regular post for fans of my photography, so you can see what I’ve been working on. In the meantime, I’ve updated my gallery pages so they are a bit easier to navigate, bookmark and search.

And talking about my photography, I’ve recently been accepted by the Alamy stock agency. So please all rush at once and spend lots of money licensing my pictures for all those uses you’ve dreamed of but were too polite to mention 🙂

See you soon,

Andrew

Posted in My Publications, Personal News, Photography, Thoughts on the World, Website & Blog | Leave a comment

In Damnation of PHP

<rant>Apologies if the title is a bit strong, but I think it’s the nearest I can get to the opposite of “In Praise of PHP”

I’ve just spent a week-end migrating my website to a new hosting server. As part of that process, I had to rewrite all my old ASP code using PHP. Here’s what I learned:

  1. The Apache/Linux community have misleadingly changed the meaning of “ASP”. If you bought a Linux-based hosting service 5+ years ago with “ASP”, it meant a *nix port of Active Server Pages. That worked for me, as I could develop it on Windows. Now, if you buy a Linux hosting service with “ASP” it means “Apache Server Pages”, and the embedded language is Perl. Useless!
  2. PHP has positively the worst combination of features for a language:
    • A c-based language’s sensitivity to case, ending semicolons and curly bracket counts,
    • None of the protections against errors in the latter that a C++/Java (or VB) language gives you, like strong typing and forced variable declaration,
    • No single-step debugging. Now I accept that this may not be 100% true, so don’t all write in with the names of all the debuggers I didn’t find in a quick search for tools on Sunday morning, but certainly I don’t have one at the moment,
    • It runs differently on Windows and Linux, and in a way I haven’t yet understood 100%, so I can only test by uploading to my live website.

That said, I’ve still got it! I’ve managed to convert my blog and my book reviews, and I’ve actually improved on my old code for the latter. Just please let me have VB.NET back for my next major project.

OK. </rant>

Posted in Code & Development, Thoughts on the World | Leave a comment