Drain Unblocking Etiquette

Truly an amazing device

Arrive home on Valentine’s Day to hear the three little worlds that can change your life: “The toilet’s blocked”. Oh well.

The thing with tools like drain un-blockers is that you can only find them when you don’t need them. And so it was on this occasion. Fortunately we have awesome neighbours who are much better at keeping track of their stuff than we are. They were able to lend me a device like the one above. It really is wonderful. You pump air into the reservoir and then release it into the blocked pipe using the trigger. After a couple of blasts we were good to go. And all in time for tea.

What with me being so flushed with success (as it were) I kind of lost track of the fact that I’d borrowed next-door’s sink un-blocker and stuffed it down our toilet. I’d washed it carefully and all, but still….. So it was on to Amazon to track down a clean replacement. It arrived today and I’ve dropped it round. Now, between us we can just about handle anything.

Back in Harness

One of the things I really miss about working at the university is standing up in front of people and telling them stuff. I’ve tried it on busses and trains and it just doesn’t work in the same way, what with the shushing and the telling me to sit down and shut up.

But in a week or so I’ll be back at the university for a short run, talking about digital electronics. I’m doing a bit of teaching for the Mechatronics course and I’ll be regaling an enthralled audience with tales of boolean algebra, De Morgan’s Theorem and Karnaugh (first name Maurice) Maps.

I’m going to enjoy it, I’m not sure what the audience will think…..

Buying train tickets is harder than it should be

I hate it when things make me feel stupid. Buying train tickets online seems to be one of these situations. I wanted to buy some tickets to go from from Hull to London on Saturday. My normal approach (use the phone) was thwarted by the error message “Ooops. Something went wrong” when I tried to complete the purchase.

So I headed off to the web. And was met with the above. This is the page for Hull Trains, but lots of companies use the same UI, so I’m not happy with them either.

Questions abound. Why are the prices not shown? What do the buttons on the top actually mean? Why is the page called a Mixing Deck? And what on earth happens when you press the “Lowest fare finder”? Ugh.

After a bunch of experimental clicking and tweaking I finally managed to select the same trains that the phone wouldn’t let me buy. And I was told that there were no tickets available at that price. So “Ooops. Something went wrong” actually means “I’ve told you about some tickets that aren’t actually available".

So, train people, just a word here. When I go to a site to buy some tickets I want a list of journey options with a price next to each one. And I don’t want you to show me journeys that, for marketing reasons, you’ve decided not to sell me any more.

Negotiator Rob

Sometimes I manage to surprise myself. Like today, when I was buying some new tyres for the car:

BMW Sales Person: Names Price
Rob: Names Lower Price
BMW Sales Person: “I’m afraid that would mean we’d have to sell you the tyres at cost price.”
Rob: “Hmm. I can’t see a problem with that”.
BMW Sales Person: “Yes, but that would mean that we would not make any profit on the sale.”
Rob: “Still searching for a problem for me, still not finding one”.
BMW Sales Person: “OK then”.

Now, I realise that “cost price”, is an interesting phrase, and that somehow the garage will be making money on the deal. But at least I didn’t take the first price that was offered. And for me that is a great step forward.

The Virtues of Virtual Machines

I spent a chunk of today building a brand, shiny, new, Virtual Machine on my PC. Each time I do this I’m impressed by how easy it is.

I want to record some installation videos and I want a clean machine to do that with. Also, it’s wonderful to be able to wind back the machine to pre-install state so that you can have another go.

I had to work quite hard to get the machine to let me create a local user, and not link up to an online account, but it is still possible to do this.

Achievement Unlocked: Sofa Mended

What with today being the start of a new month, I thought I’d do just one of the things I thought I’d get done last month.

I’ve mended the sofa.

This just required a bit of patience, a sharp screwdriver, a big bag of stuffing, and a staple gun.

First step was to take the sofa to pieces and then unstaple the cover from the frame. It turns out that a sofa that looks like it has three separate cushions is nothing of the sort. Once you’ve undone the cover you can just peel it back and take a look at the cushions. In my case it was simply a matter of putting some more stuffing on top of the cushion that was getting a bit tired and then stapling the cover back into position. Although I did also have to replace some of the webbing straps as well, cue for more staples.

If you’ve got a sofa that is going soft, it does seem to work as an approach. And I’ve got a lot of stuffing left over which I’m not sure what to do with. And I don’t want any suggestions….

Fit Family

I’ve started taking keeping fit a bit more seriously. I’m using my Apple watch to track my efforts and I’m trying very hard to make sure that I “close all my rings” each day.

Let me explain. The Apple fitness system (to which I am now a slave) measures three parameters each day: how many times you stand up, how much you move and how much you exercise. You get targets for each of these and during the day a growing arc is displayed that represents your efforts. When the arc closes on itself you’ve “completed a ring” and can go back into couch potato mode.

The stand goal (of 12 stands a day - one per hour) can be a peculiarly tricky one to hit. Too much lazing around early in the day can result in you having to stay up to 11:00 pm at night just so that you can get the final stand in. The watch goes ping at 10 minutes to the hour to tell you to stand up at least once (it’s scarily surprising how often I have to reminded to do this) but if you’re deep in a piece of code you can easily miss that.

Recently other members of the family have linked their Apple fitness regime to mine, so that we can compare our progress. This is going quite well, if only as an instructive lesson on how devious people are at “gaming” a system. One member of the family has adjusted his “move” target to a level where simply getting out of bed and raising one eyebrow will count as a days’ worth of activity. Another has discovered that you can start a workout (and thereby gain exercise credit) at any time, which allows time spent watching athletics on telly can be made to count as keeping fit. And I have perfected a sequence of arm waving that works beautifully in convincing my watch that I’ve stood up and taken a walk.

I guess this means that we are all now “lab rats” dancing to the tune of a faceless corporation.

But at least we’ll be slightly fitter lab rats.

Voice Dictation in Microsoft Word

My lovely Surface Go is running Office 365 on the back of my Office 365 subscription (which I reckon is amazing value by the way). The copy of Word on that machine has recently sprouted a microphone button which allows you dictate directly into a document. I had a play with it, and it works really well.

Well enough to make me want the feature on my main desktop. Getting this to happen was not the easy thing that I expected it to be. I thought that just upgrading Office 2016 on my machine would just work.

But it doesn’t.

You have to use the Install option on your Office 365 subscription page. This might be because the dictation feature uses the cloud to perform the conversion, and only Office 365 users can do that.

Anyhoo, it works well on both of my machines. Even if you try using silly accents….

Sticky Scroll Wheel

If you don’t think that the little wheel on your mouse that lets you scroll up and down is important, just try working on a program without it.

It turns out to be rather difficult

My mouse scroll wheel failed today. So I changed the batteries in the mouse, then I moved the radio receiver closer to the mouse. Neither of these worked.

So I just blew hard on the wheel. Result. I’m reminded of the fun I’ve spent debugging over the last couple of days. And I’m also reminded of a saying that seems to work when programming, mending mice or even (and this is a reference to fun had years ago) fixing water leaks.

The fault is never where you think it is.

Peter Principle Programming

There’s a famous management concept called “The Peter Principle” which I’ve always liked. It says that people will get promoted to the level of their incompetence. In other words, if a person is good at their job they get promoted. However, they will eventually reach a point where they are no longer good at their job, promotion will cease, and they will be stuck at that level being incompetent for the rest of their career.

I’m sure it didn’t happen to me.

Anyhoo.. I think that I may be turning into a “Peter Principle Programmer” of late. I’ve managed to create some software that has behaviours that I just don’t understand. I’ve got a bug in my latest version of the Air Quality sensor which is exhibiting behaviour that is just not possible.

Actually, having thought about it properly though, I reckon that lots of people start out in this position. One of the nasty things about learning to code is making something and having no idea what it is doing. The trick when writing code is, for me, always about trying to make it as simple as possible to understand, so that when it goes wrong you have a chance of getting your head around what is happening.

Rob on Brexit

I’ve been agonising about writing this post for ages. On one hand I don’t want people to think that I’m the kind of person for whom the most important thing is a silly satnav idea, but on the other hand I don’t want to say something and then instantly turn half my readers against me. However I really can’t keep silent on this one. I promise that there will just be this one post, and tomorrow I’ll be back onto the daft stuff. So, here goes.

The biggest thing about Brexit for me is that quite a few people I know, admire and respect think it is a good idea. I start a conversation with them about how horrible the whole thing is and half way through they say something like “I wish we could just leave and have done with it”. Which I think is a very bad idea. I’ve rationalised this in two ways. The first is that there are some things about the EU that are very open to criticism. The second is that the UK press, lazy politicians and civil servants have found the EU a very useful thing to blame when things aren’t as good as they should be. And a lot of this mud has stuck.

I end up just going quiet on the matter, because I don’t think that Brexit is something that you should lose friends over, and I’ve not found a way of talking folks round. And it doesn’t, shouldn’t, mustn’t, make me think any less of them, any more than they should think less of me for wanting to stay in the EU.

One solution would for me to be like the chap at the end of the novel “1984”, when he actually learns to love “Big Brother”, the leader of the tyrannical state in which he is unlucky enough to live. Perhaps if I became a true believer it would would all make sense to me and I’d be happy about it, rather than the despair that I find myself in at the moment.

The way I see it, Brexit is only good for three kinds of people:

  1. The rich. It doesn’t matter to them whether the UK is in the EU, out of the EU or a smoking crater in the ground. They’re rich. They can just take their money somewhere else. But if the price of everything in the UK drops, their millions can go that bit further. And with the UK out of the EU they can bend rules and relax standards to allow them to make even more money. Which brings me to speculators….

  2. Speculators. While it is not legal to bet on a horse and then shoot all the other horses in the race, it seems that is is perfectly OK to place bets on the financial markets and then do things that drive them in the direction you want them to go. And if you are cynical enough to build up your brand at the same time you can make it into the Brexit circus.

  3. Brexit circus. This includes nasty businessmen who drive down the economy whilst profiting from this and building their horrid little brands. It also includes TV pundits who do solemn pieces to camera about “the worst political crisis since the corn laws”, having completely forgotten that their lack of due diligence when all these matters first arose has led directly to the problem. And then there are the social networks which don’t just allow falsehoods to fester, but also provide tools to better target the lies, all the time making profits. Ugh.

Anyone else is going to have to suffer through this whole affair, while the good name of the British is dragged through the mire. I never thought I’d be ashamed to be from this part of the world. I thought that folks out there would always celebrate our honesty, openness and natural tendency to try to do the right thing.

I can’t seen an end to this in the short term. I know that eventually we will be back in the EU at some point because nothing else will be found to work. But there is going to be a lot more pointless pain and upset until then. Oh well. At least I feel a bit better for having written something about it.

Satnav Upgrade Fun

Whenever we drive to our favourite cinema in Beverley the journey used to take us over a number of ploughed fields. At least that is what the car navigation system thought, what with the road having been added comparatively recently.

So today I thought I’d fix that and spent a little while downloading 22 Gigabytes from the BMW servers, unpacking it onto a micro SD card and then upgrading the internal maps in the car.

I’m pleased to be able to report that all that data seems to have done the trick, and map wise things are a bit more up to date.

Christmas Code Crack Answer

I’m feeling a bit guilty about this (in so far as I ever feel guilty about anything). A while back I asked both of my readers the meaning of this cryptic message:

Yes, that is Z9 by the way. And Y5. I find the sequence fascinating. And I use it every year when I build our Christmas tree. It’s the installation order of the individually marked “branches” that clip onto the central core. If I get the order wrong the tree gets bigger as it gets higher, which is not a look that I like. I’ve no idea why the numbers are the way they are, or the mysterious need to go off into different letters and numbers in the middle of the sequence. But now it is on the blog at least I’ll not lose it for a while.

Sofa So Bad

The sofa in our living room has a few problems. Mostly these are caused by the fact that I always seem to sit in the same place when watching the telly. What can I say, it’s the perfect seat for pictures and sound.

However, my “tv sweet spot” is now 2 inches lower than the cushion next to it. We had some folks over at Christmas and when they were sat next to me they seemed to tower over me. I’m not used to people towering over me. It feels wrong somehow.

So today I’ve started the process of fixing the problem. The solution I’ve going for is what I’m going to call “cushion pinhole surgery”. I’m going to open up a seam in the low cushion, add a bunch more stuffing and then either sew the hole back up again (posh solution) or stick some duct tape over it (lazy solution).

So, today I’ve ordered a big bag of foam pieces. Soon I should be sitting pretty again.

Peter Principle Programming

I seem to have the ability to write programs that are just that bit more complicated than I can get to work. I think this is an extension of “The Peter Principle”, which states that in an organisation any given person will be promoted to their “level of incompetence”. In other words, you stop being promoted when you get to the level where you can’t do the job.

I’m working on the code for the Air Quality sensor and I’m running up against the worst ever kind of fault. The one that occurs so rarely that you can’t easily cause it to happen. And if you add code to find out what is going on the problem vanishes. There are usually two possible reasons for this:

  • it is a timing bug, which occurs when a given set of events occur in a particular sequence

  • it is a memory corruption bug, where a process damages the contents of a value in memory which is picked up subsequently and causes the program to fail

I’ve done all the sensible things to try and isolate the problem. I’ve moved things around in memory to see if the fault changes. I’ve changed the order of code elements to see if that causes different things to happen. As of now, I can’t find out what is going on. Oh well, there’s always tomorrow.