Loo-sing It

I’ve created a little spreadsheet costing up the various bits I’ve assembled so far for the toilet replacement.  It’s pretty much on budget so far but that will soon get blown by the tiling and flooring as of course they didn’t come in as prime considerations at the time I started planning.  Initial thoughts went like this:

 Hey.  Let’s change the toilet!

  • Ok, first we need to rip out the old one and replace it with a snazzy new one on a frame!
  • Yeah, and a new sink!
  • Yeah, and new walls!
  • Cool, let’s get all that stuff and make a start!

The stuff duly arrives plus I spend two weekends trawling DIY shops and I’ve done the prep work and then I eventually realise that as this is a wall mounted toilet you need to work out what the final floor height will be for that to make any sense.  I will also need to tile the frame of the toilet before I can actually mount the thing.  So despite the fact I’ve got most of the stuff now I actually still need tiles and floor right now if I’m to mount it correctly and keep downtime to a minimum.

Small rooms mean lots of thinking.  Plumbing supplies no matter how ‘easy fit’ still require planning and have proprietary hieroglyphs and youtubes instead of written instructions.  I bought a flexible water hose to connect the cistern because that was the only one I could find with the right fitting in the shop.  I wasn’t totally sure I wanted to install a flexible hose where I couldn’t see it and finally I find a step-by-step guide to doing this kind of thing that says No, Don’t Use A Flexible Hose – Use Copper Pipe You Moron.  I then realise I should’ve just ordered the default compression joint it recommended alongside with the toilet as that would have saved this hassle.  Then I start panicking that I’ve got the wrong thickness plasterboard for tiling over and that my walls will now come out too far and basically it’s all a complete disaster.

However, it’s not a disaster.  Not yet.  I’m essentially no further on than I was two weeks ago but I’ve managed to half fit the sink and I at least have a roomful of bits.  I’m still running a simulation on the second part of this build – assembling parts, playing through scenarios.  It’s certainly 90% planning when you’re doing this for the first time.  It’s mentally exhausting but I’m learning a lot.  I’m also very glad I didn’t take the old toilet out just yet..

Replacing an Art Deco toilet

I’m lucky enough to live in a nice neighbourhood in Amsterdam dating from when the Olympics were last in town in 1928.  The style of the houses is the know collectively as the Amsterdamse school and is typified by an Art Deco and Expressionist theme – curves, use of repeating lines, horizontal ladder effects, extensive use of marble and occasionally opulent materials all go to give the streets an almost magical character if you’re a fan of the style.  These themes are continued in wood, window frames, chimney breasts inside the houses.

While our house is not amazing to look at from the outside it has some lovely detailing in plaster and wood, big single glazed windows and high ceilings which look fantastic but have of course made the place pretty cold and prone to draughts.  This goes double for the toilets which both are on external double brick, uninsulated walls that are tiled with a stone floor.  Having survived three cold winters with these toilets we (particularly female house members) finally have had enough of their cold beauty and I’ve plucked up enough courage to start to tackle them.

So prompted by impending Winter this weekend I’ve finally made a start on the first toilet with a view to improving thermal performance and make it reasonably modern looking while preserving its Art Deco heritage.  Here is a before photo:

Note the beautiful stone floor, the large amount of tiles, the precariously perched sink, the lovely window frame and the hideous glass above the door.  It’s a real mixed bag of a room and currently it’s very cold with no heating.  My plan is to put in a false wall with 2cm polystyrene insulation along with a free standing corner built floating toilet.  Finally we’ll cover that freezing floor with some thin space-age insulation I’ve found and on top of that some form of easily maintainable surface.  The sink will be replaced with something sympathetic but less splashy (see the current height of the tap) and we may even put a heated towel rail in there too.

So far, I’ve stripped the tiles and made a start on the plasterboard and insulation.  As it’s double brick I’ll have to watch the ventilation as the bricks will still need to breathe out the moisture they absorb if they’re not to freeze and crack.  I’ll be saving some of the original tiles for re-use.  A lot were already damaged and broken on the wall as they had been applied directly to brick in mortar and patched up multiple times.  Despite that though they seemed to come off easily enough…

Next week I’ll work up to replacing the toilet itself, mounting the new sink and finishing off the walls.  Then the part I’ll be really looking forward too is the detailing and seeing what I can re-use and save from the room, what I can improve.  The intention is of course it should be a lot warmer but I also want this room to become an updated version of its original intention.  If I can get it right here then perhaps I’ll get motivated enough to tackle the other toilet, the kitchen and the million other things that will then need doing.

Ode to a Preemptive Multitasking Kernel

The login prompt gave you no clue,
If I/O bound or CPU,
Free RAM was high and cycles free,
As you unpacked directories,
then uptime indicated that,
you fork your process, vmstat.


This tiny bud of bootstrap code,
Blossomed therein motherlode,
A caustic strain that cause rendition,
Hit resource boundary condition,
Dumped a core and left you blue,
And scratching chin upon the loo.


Another try, tweak’d interlocking,
Perhaps those mutexes were blocking,
Assign some new shared memory,
Eye pee see ess, min-us emm pee,
And at last you seem now able,
To run in some semblance of stable.


Your server program is now ready,
To accept connection from Blackberry,
Client packets and block’d ports,
Iphone, Android java sorts,
XML, decrypting blobs,
A panoply of resource hogs.


These jobs they come and then they go,
The process table tells us so,
With clarity we do recall,
System V, BSD, all,
those antecedent behemoths,
whose children make clean from their dust.


You mask and storm an interrupt,
Which I ignore and push above,
An essence, your priority,
With threads all flailing to run free,
You time your sleep and so quiesce,
(I take a moment to persist).


The walls fall quick, the mem’ry snaps,
Hex explodes into our laps,
The dissolution of connection,
Teardown lasting microseconds,
Leak’d bytes free again to spill,
light process destruction thrill.


The login prompt gave you no clue,
If I/O bound or CPU,
Free RAM was high and cycles free,
As you unpacked directories,
now uptime indicated that,
you fork your process, vmstat.

Creative Commons License
Ode to a Preemptive Multitasking Kernel by Richard Bown is licensed under a Creative Commons Attribution 3.0 Unported License.

Inspired by a lively disussion. Thanks to Chris and wiki and Rosegarden as ever. I’m experimenting with CC licences for the first time so don’t shout at me if it’s all wrong.

Get Real Coders

The next time you’re asked to do a coding test in a job interview, ask them why? If your potential new bosses aren’t able to determine from your CV and from talking to you what level of experience and understanding you have then you probably don’t want to be working for them in the first place. Take it from me, they’re just trying to fill headcount – this is fine if you just need a job (because let’s face it, sometimes you just need a job right?), but if you want a career then forget about them or at least as them “Why?”

I’ve had lots of interviews and I’ve given lots of interviews. I’ve never given anyone a coding test and I never will give anyone a coding test. The attribute that every coder must have is honesty – honesty to themselves firstly and realising that you are fallible as well as honesty to others and realising that what you build affects other coders, users and everyone who will come into contact with your solution. Having a nice portfolio is useful, having experience is perfect, but honesty about yourself and your abilities is more important to me.

Spending an hour telling someone who is really not that interested in hearing it what polymorphism is, or the difference between an abstract class and an interface is a waste of everyone’s time. Do they not know themselves? What are they trying to prove by having you tell them? How does this help you fulfill the dead-end job they’ve got lined up for you?

Don’t spend the rest of your life working for idiots. One of these days I’ll be hiring.

Well, it just about works

The electric wires that come into the building have to be changed soon, so this is going to have to do for the bench right now. Once the sparky work is done the full desktop can be put on and shelves/boxing above. For the moment though it’s still a great improvement. Plus I’ve got carpet down now.

20110918-202644.jpg

Basement Desk

I’ve always been good at taking things apart. The bedrooms here are ravaged now, free of the built-in furniture that made them neat-but-wasteful spacewise. Instead my basement is full of the remnants. So a few weeks ago I hatched a plan to use this stuff for a project: basement desk.

Tried making plans but in the end in proper DIY style decided to just go for it and make it up as I go along.

20110912-213557.jpg

20110912-213715.jpg