Sunday, 22 June 2014

I'm giving up on Python

Python is a pretty language in general, it has lots of very cool features and there is a lot to like.

But, is has no braces.

It's uneditable, unless you want to spend hours hitting the TAB button,  taking great care not to introduce unnecessary errors.

You cannot move code around trivially.

You cannot auto-indent it.

It's like using a chisel and a granite slab to code.  Or driving a Ferrari in England.  Or hiking in high heels.

No, Nein, Нет, Non, Naï, לא, Nej, Nee, 无,  Minime, いいえ, NOPE.

(I have no issues with editing an existing Python program. Just wouldn't code a whole one.)

Saturday, 21 June 2014

Wednesday, 18 June 2014

How to arrange for tabs in your code

1. Set up a new computer downstairs.
2. Copy your messy .emacs file onto this machine.
3. Play 'catch the fish' with your cat whilst you look at the keyboard and type emacs
4. Go back upstairs to do stuff.
5. Realise that emacs's server hasn't started and don't think as to why that possibly could be.
6. Go downstairs, do M-x server-start without looking at the screen (because you're still fishing the cat)
7. Profit.

I blame the cat.

Tuesday, 17 June 2014

SVN --invoke-diff-cmd branch shipped

So what happened that took the time?

1. I forgot *everything* (and had to re-re-re-read the manuals)

2. My main laptop died (RIP frogburg, it croaked it's last) and so I had to build everything back from scratch on my remaining machine.  I also have a new desktop that I had so far avoided to set up, which I did at the same time.

3.  Because the trunk had changed quite a bit, my feeble attempts to merge initially produced a veritable mess that added to the general confusion.  It didn't help that this was my first merge that required actual work, nor did it help that I had a complete new install and for a few days didn't realise that kdiff3 wasn't installed, and thought that my code was broken (which it was, but not in this place) and so, I of course kept looking in the illuminated place for the door keys.

4. Somewhere in the new trunk code, a miracle happens.   That is, it picks up the actual command line input en passant 3 functions deep whilst it reads the config file, and I had to break out gdb to search the haystack.

5.  Every time I get stuck (or bored) I read a page of the TCP/IP book.  I read a lot of TCP/IP book.

Anyway, here is the new branch, this time as a patch.

Sunday, 8 June 2014

Laptop and Doorstep Book Stand

I bought a laptop stand because, somehow, it seems that no matter what you do, you always end up craning your neck or twisting your arms, it's never possible to place what you want to look at 'just so'.  This contraption definitely does the trick:

You can easily type on the laptop keyboard (it does bounce a bit), but I think using a wireless keyboard and mouse is more comfortable anyway, as I like the screen to be further away than my arms reach.

Drawbacks are that you need to remove whatever is on it to adjust it, and if you undo the screws all the way by accident, you'll end up with a handful of icky greasy bits (and a spring) that you have to puzzle back together again.

The good thing about it is that it's very portable and quick to assemble and that it makes it easy to socialise laptops and those heavy doorstep books that are awkward to handle[1], and it also stops the laptop from getting too hot.

And it's great to be able to adjust the view to yourself, instead of you adjusting yourself to the view!

[1] What's not shown in the picture is that you get a couple of big rubberbands which allow you to place books so the spine doesn't fall through the middle and also make it possible to shift the laptop into the perfect position.

Friday, 6 June 2014

Rewriting my SVN branch

My invoke-diff-cmd branch cannot simply be merged, and it looks like I need to rewire things quite a bit.

So, apart from learning python for my new project (more of that in a soon to be typed blogpost!) and playing around with pylint and reading up on HTML5 after I had some great suggestions on how to improve my 'Fail to Plan, Plan to Fail' application,  I'm still trying to figure out what is actually going on in the new svn diff code, and the way I'm currently feeling about this all is probably best described as in this video below:

Then again, I'm pretty sure I'll be dining on curried chicken quite soon ;-)