Programming languages are miraculous. Somehow they overcome Cartesian dualism. They make matter and form work together. They make body and soul act in unison. They bridge the ontological gulf between the material realities of engineering and the abstract eternal truths of mathematics. And various different languages occupy different places on that bridge,like this:
Historically the two ends of this bridge have been built by different people working in different parts of the computing world. However we are now in an interesting time because the two ends are starting to meet at last.
What have I put up there at the joining place? F#. Hmm.
Wednesday, 26 October 2016
Tuesday, 18 October 2016
On Pausing Before Pressing Alt Shift F10
Whose code this is I think I know
His source is all in Github though
He will not see me waiting here
In case the buffers overflow.
My IDE has deemed it queer
To put a breakpoint just in here
Outside the brackets in white space -
Is that invalid? Never fear.
It writes a wriggly underline
To indicate it might incline,
All things considered, to demur.
You have your viewpoint, I have mine.
The arguments are all in scope
Recursion promises to cope
The tail call's optimised, I hope
The tail call's optimised. I hope.
His source is all in Github though
He will not see me waiting here
In case the buffers overflow.
My IDE has deemed it queer
To put a breakpoint just in here
Outside the brackets in white space -
Is that invalid? Never fear.
It writes a wriggly underline
To indicate it might incline,
All things considered, to demur.
You have your viewpoint, I have mine.
The arguments are all in scope
Recursion promises to cope
The tail call's optimised, I hope
The tail call's optimised. I hope.
Friday, 9 September 2016
Music While You Code - Really?
I just finished listening to Episode 44 of the Coding Blocks podcast (a true epic - well done guys) and - wait a minute: did you really say "we listen to music as we write code"? (16 minutes in) Really? How do you do that?
I find that any amount of music around me pretty soon diverts all my attention and all power of concentration. If music is going in my ears at all then I do not have the option to not listen! How would I listen to music while I am writing code? Those are the exact same neurons that I use for both tasks!
In fact I have a theory that if you make a habit of trying to concentrate on any mental work while there is also music playing, then little by little you are training your nervous system to treat the sound of music as noise that has to be filtered out of your input system.
In time surely this must erode your ability to respond to music fully when you are able to give it your full attention. If you take music seriously then surely you don't want that to happen?
I find that any amount of music around me pretty soon diverts all my attention and all power of concentration. If music is going in my ears at all then I do not have the option to not listen! How would I listen to music while I am writing code? Those are the exact same neurons that I use for both tasks!
In fact I have a theory that if you make a habit of trying to concentrate on any mental work while there is also music playing, then little by little you are training your nervous system to treat the sound of music as noise that has to be filtered out of your input system.
In time surely this must erode your ability to respond to music fully when you are able to give it your full attention. If you take music seriously then surely you don't want that to happen?
Wednesday, 31 August 2016
Now that's what I call a project
Another nice link from the Programming Throwdown boys: a Quartz article explaining that the source code for the Apollo Guidance Computer developed for the lunar landing project back in the sixties has found its way onto Github.
There's a picture of the directory of software engineering Margaret Hamilton (another heroine for the gallery) standing next to a stack of source code printouts. The stack is very nearly as tall as she is. Now that's what I call a Project. I might just print this out and frame it.
I've written plenty of assembler code over the years. Our most complicated selector system would fill about half of one of those binders, and I am generous with comments.
I am just old enough to remember the lunar landings. I don't imagine anything quite like that will happen again.
The nearest is the marvellous results they get from the unmanned probes that have been sent to comets, under the clouds of Venus, and recently out to frosty Pluto (especially brilliant).
But I can't see actual people ever going out there, even to the Moon.
There has been talk of manned expeditions to Mars - - but the resources required for that project would be massive even compared to what was spent sending men to the Moon. Who has that kind of money available, and why would they spend it on space travel?
Back in the sixties it was different - we were in the Cold War: the capitalist nations felt they were under real threat of being overtaken by the rise of communism, and any expenditure was based on that fear.
Neil Armstrong was sent to the Moon because otherwise the Soviets might get there first. After all, they sent the first satellite, and the first man and the first woman into space, and the first probe round the back of the moon, they are just the ones I can think of off the top of my head. And the first dog.
But now of course the Soviets are history, that panic is over, the incentive is gone.
Granted, we do have the technology to send people to the planet Mars. We also have the technology to go out into the Sahara and build some more pyramids. But we are not going to, because we have no reason to.
There's a picture of the directory of software engineering Margaret Hamilton (another heroine for the gallery) standing next to a stack of source code printouts. The stack is very nearly as tall as she is. Now that's what I call a Project. I might just print this out and frame it.
I've written plenty of assembler code over the years. Our most complicated selector system would fill about half of one of those binders, and I am generous with comments.
I am just old enough to remember the lunar landings. I don't imagine anything quite like that will happen again.
The nearest is the marvellous results they get from the unmanned probes that have been sent to comets, under the clouds of Venus, and recently out to frosty Pluto (especially brilliant).
But I can't see actual people ever going out there, even to the Moon.
There has been talk of manned expeditions to Mars - - but the resources required for that project would be massive even compared to what was spent sending men to the Moon. Who has that kind of money available, and why would they spend it on space travel?
Back in the sixties it was different - we were in the Cold War: the capitalist nations felt they were under real threat of being overtaken by the rise of communism, and any expenditure was based on that fear.
Neil Armstrong was sent to the Moon because otherwise the Soviets might get there first. After all, they sent the first satellite, and the first man and the first woman into space, and the first probe round the back of the moon, they are just the ones I can think of off the top of my head. And the first dog.
But now of course the Soviets are history, that panic is over, the incentive is gone.
Granted, we do have the technology to send people to the planet Mars. We also have the technology to go out into the Sahara and build some more pyramids. But we are not going to, because we have no reason to.
Monday, 13 June 2016
The Real World
In the Real World, While and Until don't necessarily mean what programmers take them to mean.
I had a discussion with someone with a card that said, Valid until June 2016. Does than mean it is valid until the start of June 2016 and then stops being valid? No, because this is the inclusive "until". It stops being valid after the point it is valid until. This works with dates because it is unambiguous what is "after" June 2016.
Same with my weekly bus ticket. Where it says it is valid until Tuesday that means including Tuesday and then stops being valid on Wednesday. In code you would write this as "valid until date > Tuesday" not "valid until date = Tuesday".
People in Hull often use the word While where you might expect Until. For example, you might hear "it was posted on Monday so it won't arrive while Thursday".
I had a discussion with someone with a card that said, Valid until June 2016. Does than mean it is valid until the start of June 2016 and then stops being valid? No, because this is the inclusive "until". It stops being valid after the point it is valid until. This works with dates because it is unambiguous what is "after" June 2016.
Same with my weekly bus ticket. Where it says it is valid until Tuesday that means including Tuesday and then stops being valid on Wednesday. In code you would write this as "valid until date > Tuesday" not "valid until date = Tuesday".
People in Hull often use the word While where you might expect Until. For example, you might hear "it was posted on Monday so it won't arrive while Thursday".
Wednesday, 16 March 2016
New Heroine
Interesting... following a link from Lambda The Ultimate to this Model View Culture article
I had no idea that the Sacred Language itself (ie Assembler) was created by a woman, Kathleen Booth. So I have a new heroine to put next to Grace and Ada.
Unlimited Respect!
I had no idea that the Sacred Language itself (ie Assembler) was created by a woman, Kathleen Booth. So I have a new heroine to put next to Grace and Ada.
Unlimited Respect!
Tuesday, 8 March 2016
A lot to learn
A change is as good as…
I've put Linux on the laptop. Specifically, Mint 17.3, from the cover disk on the February issue of Linux Format magazine. This went on amazingly quickly and, er, just works. I've plonked Emacs on here as well and Haskell and Git.
I went through a humiliating evening trying to create a restore disk for Windows 7 and for some reason this wouldn't work. There were workarounds that involved logging in with increasing user permissions but in the end I thought I'd risk it and load Ubuntu anyway, with the aim of dual booting with Windows 7. However the Ubuntu installation crashed and took access to Windows with it. I could still run Linux from a live CD but boot nothing from the hard disk. Serves me right. Somebody smarter than me could perhaps have got Windows back. But then I thought, hang on, just how much would I miss the Windows stuff if it all went away? So I stuck the disk in and said to Mint, go ahead, all yours, and here we are. Looks good! And there is a lot to learn...
I've put Linux on the laptop. Specifically, Mint 17.3, from the cover disk on the February issue of Linux Format magazine. This went on amazingly quickly and, er, just works. I've plonked Emacs on here as well and Haskell and Git.
I went through a humiliating evening trying to create a restore disk for Windows 7 and for some reason this wouldn't work. There were workarounds that involved logging in with increasing user permissions but in the end I thought I'd risk it and load Ubuntu anyway, with the aim of dual booting with Windows 7. However the Ubuntu installation crashed and took access to Windows with it. I could still run Linux from a live CD but boot nothing from the hard disk. Serves me right. Somebody smarter than me could perhaps have got Windows back. But then I thought, hang on, just how much would I miss the Windows stuff if it all went away? So I stuck the disk in and said to Mint, go ahead, all yours, and here we are. Looks good! And there is a lot to learn...
Subscribe to:
Posts (Atom)