What’s neat about elegant languages (by )

Most people who like to use "unusual" non-mainstream language have to have a motivation for doing so. After all, there are reasons not to - a smaller user community, although that can be a good thing, means less libraries, less support for more unusual platforms, and less likelihood of your programming in that language ever earning you money.

When asked, most will say that they find programming in their chosen language easier, but it can be hard to explain why.

However, in a discussion in IRC recently, I think I may have captured part of it:

  • alaricsp: I do a lot of programming in various languages, and I tend to find that the amount of coolness I can do per line in Scheme is higher, and I get less bugs
  • alaricsp: As in, I decide to do something complex, sit down and write a hundred lines of scheme, try to run it and get lots of syntax errors due to typos, fix those, then it's semantically bug free about 75% of the time; and in the remaining 25% there's usually just one simple bug (last one was due to me getting confused with some boolean algebra over lists, doing an any? instead of an every? or something like that)
  • alaricsp: I start in implementation space and build up in thin layers to get to problem space
  • alaricsp: Cheap easy-to-use abstraction means it's cost-effective to have lots of thin layers
  • alaricsp: And thin layers are easier to think about, so less buggy

To which somebody else followed up:

  • sjamaan: Aye
  • sjamaan: I find the barrier to creating an abstraction in OO languages to be very high, for example
  • sjamaan: I actually sigh everytime I have to create a new class file!
  • sjamaan: Whereas I don't even think about creating a lambda
  • sjamaan: I just do it

Memory management (by )

A lot of the core infrastructure in a computer system - such as memory management - is somewhat overlooked for opportunities to improve things, because a vicious circle of conservatism sets in: we tune memory manages for systems that work like POSIX, and then stick with systems that work like POSIX since the memory management is so well-tuned...

So I set myself the task of designing, from scratch, an approach to memory management that's appropriate to an event-driven system based around a purely functional language with mutation expressed via unique typing.

It's far from complete, but here's a brain dump:

Read more »

The workshop’s getting there (by )

My good friend and colleague Andy came over to stay for a while, which meant I had 'entertaining a guest' as an excuse to do some of the fun stuff I've wanted to do for ages.

So we finished making the welding bench! I'd made the top and gotten part way through cutting the legs to length, so we finished cutting them and welded them in place, then welded extra flat strips around the bottom to make it reasonably rigid. It's all just tack welds, and it'll almost certainly need some diagonal struts added, but it stands upright and is surprisingly sturdy; I'm going to experiment with it a bit to see just how many more struts it needs. I'd also like to drill holes so I can mount my vice on it, too.

Then we cleared a space and moved my electronics workbench down into the workshop! This is great news, as it clears up space in the office (albeit revealing the piles of junk that were lurking beneath the bench), means all my tools are in one place (which is most convenient, as things were always in the wrong places), and creates more storage space in the little garage, meaning less stuff on the floor.

I've since reincarnated my power distribution rail, which I had when we lived in Ealing, but haven't used since; the idea being that it'd be good to do my electronics experiments on the end of a dedicated RCD so I don't trip the one in the house. It also splits the output into four circuits, each with a six amp circuit breaker (the smallest I could obtain easily).

I still need to get rid of a lot of waste cardboard that's sitting around, and we're still looking after Seth's motorbike, and there's still junk to be sorted - many things need to be elsewhere; the little garage isn't a place to store things we only use a few times a year, as we have the Big Yellow for that!

Although the lighting's not really good enough when I'm explaining the power rail, here's a quick video tour:

For my next trick, I'll stop procrastinating by building infrastructure, and get on with actually making myself a digital watch with an embedded ARM processor and colour dot-matrix LCD. Watch this space.

My trip to Silicon Valley (by )

The fun starts as we go to board the plane. It turns out I've been randomly selected to be upgraded to Business Class, due to the overbooking system British Airlines uses. Jack, who I am travelling with, raises a fuss on board the plane that I was upgraded and he wasn't, as we were travelling together - so the cabin staff rearrange people a little, and pow, we're both in Business Class, sitting next to each other.

Jack certainly has the power of the Jedi Mind Trick.

It gets more fun when we arrive. I've booked a rental car, with Jack as a second driver. I chose the 'economy' option for the cheapest cars they have. The guy in the garage says "Economy? Pick any in this row, the keys are in them".

We debate between ourselves if he really meant "any" as in the row is a rather sporty-looking Ford Mustang. We decide to give it a try, as long as Jack drives to begin with. Sure enough, he uses his Jedi Mind Trick again on the lady controlling the exit gate... and there we are in a meaty sports car we've hired for a mere £120 for the week.

It's now about 6pm local time, and about 2am back home, so I'm pretty tired. But we find the hotel after a few harrowing run-ins with the differing conventions for traffic lights in the US, drop off our stuff, and head into Palo Alto to meet up with Cedric for dinner.

And then get back to our hotel room (all three of us are cooped up in one; thankfully in separate beds) at 11:30pm, which is something like 7:30am at home. I am TIRED. A quick shower, then to bed. Tomorrow we will go and sightsee...

My 30th Birthday Party (by )

Thankyou to everyone who came!

And to everyone who sent me presents and good wishes from afar 🙂

The photos and videos are winging their way back; we'll link to them as and when we can.

I had a lovely time - I hope you all did, too. I'm overwhelmed by how lovely you all were!

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales