Archive for January, 2007
The ripple effect is too good not to mention
Saying that the backup system at work is a bit of a mess is a vast understatement; it is neither elegant nor well tested (apart from the early morning panic of “WHAT HAVE YOU DONE?!”), however what it lacks in finesse in makes up in brute force. The backup system backs up just about everything that can be backed up and puts it all down onto an industrial cartridge backup tape which I dutifully switch out every morning and wander home with every night. I am our work’s off-site backup.
Knowing how promiscuous the backup system is for our networked drives means that I can take some liberties with it when backing up other goodies. At first this took the shape of backing up my local test server which had quickly become indispensable. A power spike one weekend had miraculously only murdered the root filesystem and had left the huddling masses of web sites in progress unscathed. A swift bit of scripting later and it was dumping a compressed copy of the server files and database onto our network drive which is of course then whisked onto the magnetic media and stored for 3 weeks before it is reused. The crux of this backup system was the soft links that were placed into a spectacularly descriptive folder called “backup”. This folder was trawled nightly and links were followed, giving me the illusion of a controllable backup system.
The advent of our dedicated server presented another backup problem. Being offsite meant that it was impractical to just dump 300+ MB of files each night despite our connection speed and paying for a dedicated backup solution seemed like overkill (these will be words I shall no doubt devour in the future). Having tried and loved Unison after it being recommended by a friend, it seemed like the perfect companion, but the only guide I could find on the tinterweb concerned rsync which is like the crazy, low-IQ uncle of Unison. The tangled route now stood: dedicated server files were transferred by rsync to my local server, my local server bundled them all up into a compressed file and dumped them onto the network server, the network server then backed up any and all files onto a tape.
A paradise with skies of hellfire ensued; a few dry runs of what would happen if the server went belly up proved promising with data and base all restored with little effort. Before I left for my Christmas holiday however, a spot of aberrant behaviour started.
Aberrant behaviour is something all computer users should have a gut feeling for, if something works and then stops working without your intervention, it means that something is wrong (for home users, this is usually other users). For servers, this usually means that something is very wrong. The dedicated server was running fine, log files (reported and checked daily) revealed nothing out of the ordinary. The problem was narrowed down to the test server; when it tried to bundle everything into a compressed file somehow a cyclic soft link had snuck in, meaning the compressed file was hitting the free space limit (of 8+ GB).
Arguably I could have just deleted the soft link and not tinkered with the near-critical backup system so close to Christmas but I like digital extreme sports. I switched to a Unison based system but only managed to neaten up some of the more frayed edges today. The main part of this revolved around the SSH keys which one tutorial covers pretty well.
The keying itself isn’t new or interesting, but the restrictions you can place on the target computer is. The authorised_keys2 file allows you to set a number of options before the key itself, the few covered in the tutorial is the command and forwarding restrictions. What is most helpful though is the “host” parameter.host="127.0.0.1" ssh-dss AAAAB3NzaC1k[...]9qE9BTfw== sample commentThe host field allows a CSL of hosts that are allowed to connect using the key. For a fixed IP situation like I’m in, this allows a pretty significant degree of security, coupling this with the “command” parameter means that you can hammer down precisely what the key can and can’t do and who can and can’t do it.host="127.0.0.1",command="/usr/bin/unison -server" ssh-dss AAAAB3NzaC1k[...]9qE9BTfw== sample commentThe command is what is run when a Unison client connects to a server to check it’s repository. This means even if the password-less key fell into malicious hands the possibilities of misuse are restricted.
Of course, this isn’t without risk. If the keyfile did fall into the wrong hands and the IP address was somehow spoofed, it would give them access to the Unison server which would allow them to read the filesystem without restriction and possibly change the stored data (Unison being bi-directional). Unison does have a sanity check when one repository is empty and the other isn’t, however a great many more sanity checks, either through Unison or judicious scripting, would be necessary to ensure malicious use is minimised.
Overall, it’s one of those risk/reward scenarios; I’m now always in possession of the most up-to-date copy of my important dedicated server files versus the risk of malicious practice which has (I hope) been minimised as much as possible.
You gave me life now show me how to live
New design, blah blah blah, a bit more to do to it before I consider it “finished”. My last atrocity of a design I fell out of completing because it failed the morning-after test which is tantamount to a death knell. The only reason I left it up was because I had already put it there and it was at least better than having the default design up.
Fast forward 6 months and my creative vein was suitably tapped for an afternoon which is how long it took to push out the current presentation. The devil is always in the detail and I’ve spend a few days tweaking; the first thing to go was my insistence on using the fantastic Silk icons for everything which I’ve now toned down. The font in the titles and buttons is the cunningly named Din.
The design came about by me having a sit down on Sunday and cherry picking from other blogs which parts I liked and which I didn’t. Previous designs have always had a darkly coloured background and light content area which tended to make them feel very boxed-in, so out that went. Verdana was out of the window as it never seemed to mirror the tone of the content I was writing; I’m sure a typography expert could elucidate exactly why that is. Plain ol’ Arial now runs this site, Tahoma was on the cards for a while but I switched as large screeds (my my, that’s actually a dictionary defined word) of text just ended up looking like television snow. The header and footer both stretch the length of the screen but only have content in the first 760 pixels, this helps to anchor the page which is needed if I’m not fencing in the content with colour. Buttons for switching between the other sections of the site, at the minute they’re nicely in line with the columns so I’ll have to address that if I decide to add another site (or just include Japanographia). The mouseovers are all DOM scripting, something which I’m going to build on when I get the time.
Image based headers for the right hand menu so that not everything within the content pen is Arial. Dotted lines instead of solid ones again let it feel more open and not hemmed in. The lines are backgrounds to maintain consistency across browsers and I needed to remind myself how to accomplish them in Photoshop. The date stamps for a post are now contained in a boxout in memorium for MezzoBlue; the time has been omitted as I’m not prolific enough to post more than once a day. I’ve also planted three of my panoramas awt the top of the sidebar on the homepage which seemed like a good place to detail any decent photos I’ve taken recently. I’ll rotate out the three panoramas for 6 regularly sized photos in a few months.
There is a laundry list of other little things which I’ve tried to take account of (such as colouring links according to unvisited/visited/active state, Jacob Nielsen would scorn me for not doing that before). There is of course another, equally long list of things to complete and style such as the archive and the category sections as well as other Wordpress features (like plain content pages etc.)

The eagle eyed will notice the del.icio.us sidebar feature on the design sheet and also the code has been commented out in the markup. This is forthcoming and is something that I’m going to program myself so I can actually achieve something interesting with Wordpress and also play around with SOAP in a non-work environment. You can see the removed Silk icons in the sidebar as well which just seemed to detract from the overall design.
I have also linked to prototype (used in the button mouseovers) and scriptaculous scripts as I am still planning to do something with them (apart from compressing them…) in the near future; probably something along the lines of my previous external link highlighter which worked quite well, perhaps something a bit more subtle this time around.
Still a lot to do, but I’m already immeasurably happier with this design than I was with the previous one.
Inescapable Ambience
Before yesterday evening, I wasn’t a huge believer in opportunity. I always believed that I would realise opportunity when and if it arose and would at least have time to blink and adjust my hair before either making use of or discarding it. I meet girl at party; girl is single, pretty and funny; I babble for a minute, mooch, then in my rapidly sobering mental state, believe that said girl is avoiding me (of course, why wouldn’t she). I depart unremarkably. Then yesterday evening I walked by her at a supermarket entrance. Slow motion, hair blowing in the wind and the protagonist obtains his epiphany.
I can quantify why I didn’t do anything at that point (I actually remembered her name post-party which I sometimes sporadically manage) but the base reason is because I’m too much of an introvert; which is a flowery term for social coward. The opportunity to say hello, casually mention I talked to her at that party had evaporated a heartbeat later. I turned to see her, friend in tow, running through the rain and away. Nothing more to say, no running through the rain in grand music, no dramatic silence as she turns in the incandescent light. Reality is far more stark and arduous.
There is no real point to this post, no overbearing message I choose to divulge, but then there never was an overbearing point to this blog overall. I ostensibly used it first of all as a graveyard of incidental programming spasms I suffer from, but now I realise it’s just the annals of an introvert; and what is bound to be a dirty word nowadays, a journal. This is never going to be as frank and disarming as some personal blogs, but until I figure out exactly what the hell I want both myself and this place to be, it doesn’t even have the potential to be.
I won’t fly around your fire anymore
I giggled churlishly today at a great many things. Perhaps inappropriately at times but always with good cause.
First is the news that my number one most favourite client has filed for insolvency. I’ll reveal the name posthumously if the corpse isn’t reanimated to dance a jaunty jig once again; but I have been given explicit instructions from on high not to start work on any large amends until a deal is brokered or news passed-on. This drastically reduces my workload as I thankfully only had large amends left to complete, especially when the amends take seven words to describe and seven hours to implement. Of course I realise what “Can we click on the map?” implies, but it’s so much easier and more in line with my cynical demeanour to quickly retort “Sure, you can do that now. Do you want it to do anything when you click?” Thankfully my line-manager is an excellent filter for my wholly unprofessional attitude towards clients who have the same intelligence as an inbred sheep.
My second titter came when a server of one of our hosting providers went belly-up. It started innocuously enough when one of our clients (in this relationship we act as an intermediary of sorts) phoned informing us that users were unable to place and keep things in their highly virtual shopping baskets. Strange, although a quick think through if the process points to session files, or lack thereof, being the culprit. Alas, no. Session files were present and correct, however their zero-byte size meant this problem was a server problem. Calls to the server owner, whom I affectionately label “The Cowboy”, met with the news that he was far from a computer and his comrade would fix things. An hour later and the server stopped responding entirely. It’s difficult not to feel smug and let out a hearty cranial guffaw when I’ve complained before about unprofessional working practices, especially when I now have a like-for-like comparison with my dedicated server.
The third tickle came when I realised just how much these past two days embodied my past year: a mix of highs and lows, from break-ups to dream holidays things eventually even out and return to a natural equilibrium. Normally I would balk at summarising things so simply, but in cases like this, it serves to give perspective. My break-up was particularly messy emotionally, primarily because of my brain’s refusal to accept the apparent; but on the other side of the coin it elucidated who my friends were and it’s only now that I realise I’m better off than I’ve ever been.
So it was with New Years; I got to spend it with a large group of what I can only describe as awesome people, yet as the morning waxed I sat there lackadaisically, moping over my lack of social prowess while others seem to manage it so effortlessly (shirtless or not). It took me less time than I had feared to realise that it was but one party, and if I take nothing from it then it will have been waste rather than an experience. The day-after, the expression that was persistent was “Got to kiss a lot of frogs”, though I feel pigs would be more accurate.
With that perspective, the reason for my churlishness in giggling is revealed. Insolvency inevitably means loss of jobs and of livelihood; an unavailable server means loss of profits and loss of face for all involved. If 2006 has taught me anything, it’s that balance is tantamount to happiness.
If you’re free you’ll never see the walls
The splash-page for chaostangent.com now sports an entropy laden new look which mirrors my mood for the past few days. Much thanks must go to misprinted type who provided not only the excellent Photoshop brushes but also the degraded font (Shortcut). I wasn’t originally going to put it live until I had updated the design of this subdomain as well as done some scripting to make the splash screen a little more interactive. As it is I thought I’d put it up just so the now ancient “chaostangent is changing” message is removed; the lack of my brain functioning also doesn’t help scripting.
I certainly wouldn’t call this blog anywhere near ready for release, either in design or customisation (I shall subdue Wordpress all in good time); however I would rather have something present than nothing. Of course having now linked to this blog (of which there were none previously) it means that I am now at the mercy of the search engine indexers.
Given how infrequently I update this meaningless wasteland of words I won’t say “expect big changes soon” as I’ve long realised I enjoy creating sites far more than I do updating them. If I were to make a prediction I would say the next entry will probably be akin to white noise trying to mask my failing enthusiasm.