Interview: Fog Creek (Going Beyond Code to Become A Better Programmer)

Pete Goodliffe from Pete Goodliffe

I recently did a short interview with the guys at Fog Creek on the subject Becoming a Better Programmer. You can view it here.

It's a heroic editing effort! Between unreliable network connections and probably a 40 minute conversion they've heroically cut it down to ten minutes, and made me look rather like Max Headroom.

There's been lots of great feedback about this, so I'm glad it's inspiring people.

Did Bell Labs initially try to hide that C was based on BCPL?

olvemaudal from Geektalk

During research for my talk “History and Spirit of C and C++” (pdf, 11Mb) I realized that the reference manual Ken Thompson wrote for B in 1972 (pdf) was in parts a verbatim copy of the reference manual that Martin Richards wrote for BCPL in 1967 (pdf) (in particular look at page 6 in both documents or see slide 118-126 in my presentation). I guess that is fair as B is semantically basically the same language as BCPL. However, the odd thing is that in the more official reference manual for C dated 1974 (pdf), BCPL is not even mentioned at all.

“Good artists copy, great artists steal.” Perhaps this is just another kudos to Bell Labs, but I certainly found it interesting. It has to be said though that in all the interviews and later writings I have seen by members of Bell Labs, including Ritchie and Thompson, they are very open about BCPL being the main inspiration for B and C.

Release news: Hungry Bunny & KeyChainItemCRUDKit

Pete Barber from C#, C++, Windows & other ramblings

Not a technical post today, just a bit of news on the things I've been working on.

Firstly, my latest SpriteKit game written in Swift is now available on the App Store. It's called Hungry Bunny and is effectively an endless runner/skill test. It's free with ads.

Secondly, now that Hungry Bunny is complete I've returned to working on another project. This is nowhere near complete but I got to the point where I needed to securely store an OAuth2 token on iOS. I came across the Keychain API. However, the API for this was long winded and I only wanted to use it in a simple manner. Therefore I created a Swift framework to provide CRUD access to it along with a higher level interface where any type conforming to NSCoding and be saved, loaded & deleted.

This is available on github and also as my first ever CocoaPod. All the docs are in the README plus there's an example iOS program (Single View App) and the Unit Tests.

avast!’s virus scanner uses a self-issued trusted root certificate

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

tl;dr - avast’s web shield functionality appears to insert itself into SSL connections using a self signed trusted root certificate and a simple kind of man-in-the middle “attack” on SSL. I would recommend you turn off web shield’s https scanning or choose another virus scanner. I read about this on a blog post that was linked from Hacker News where someone claimed that Avast’s virus scanner for Mac OS inserts itself into SSL-encrypted connections using a self-signed certificate.

Eulogy for my Dad

Frances Buontempo from BuontempoConsulting

My Dad loved many things and it therefore falls to me to mention mathematics. Non-geeks tend to say things like “He had a gift for that,” as though geeks know a magic incantation or are “naturally clever”. My Dad was clever. However, one of my lecturers at University frequently reminded me that “Genius is 1% inspiration and 99% perspiration.” David loved maths and was willing to spend many hours learning more, usually in order to teach his students or to share the latest puzzle he was thinking about with anyone willing to listen. Recently the puzzles had tended to be the Sunday Times Puzzler. After showing him how to program in Python he submitted a few that were accepted. You can still see them on the internet if you search. He has left ripples in the ether.
He cared about sharing results and ideas, and instilled in me the joy of someone moving from disbelief to confusion to understanding and conviction. The world is often a bigger and more amazing place than we first assume. I recall him getting a paper published he had written with some students. Not only did he credit the students, he also persuaded the publishers to include the negative results – things they tried that went wrong. Many academic papers avoid doing this, but he felt it is important to stop others from going down the same blind alleys and to learn from your mistakes.
I know he inspired many people. In my brief career as a teacher I met many who had been his students at Christchurch and they always spoke highly of him. He had a knack for explaining things and making sure you had understood. He was also willing to listen to me trying to explain things to him – including how to code in python and what I was trying to do with my “new work” chapter in my PhD thesis. He was willing to ask “Why?” and allowed me to ask as well. I have never grown out of this and that leaves me with an unsatisfiable curiosity. That makes it OK to ask “Why?” about his unexpected death. Not being a mathematical question, we are unlikely to get a clear and compelling answer, but it’s ok to ask.
The day after he died, I saw a nine digit number in large neon on the top of a building-front. It had all the digits except the number “1” – I forget which was repeated. I have no idea what the number meant, but I know if he’d been there he would have noticed it as well. Whenever I notice symmetries in tiles or paving slabs, or broken symmetries, curious numbers or patterns I will think of him. And have been doing for years. His excitement and curiosity about mathematics could be infectious if you were prone to it. Some people might say “Stop being a geek,” others just raise an eyebrow. Once in a while you’ll find someone else who’s noticed it too or looks when you point and wonders with you at the patterns and meaning that point to something greater in an otherwise chaotic seeming world.
I have no idea why the digit 1 was missing from the number on the building, let alone what the number was trying to convey, but having spotted a surprising number of physics books on the bookshelves of a man who claimed physics is just watered-down maths, I am reminded of a quote attributed to Feynman:
"I would rather have questions that can’t be answered than answers that can’t be questioned."
It’s always ok to ask “Why?” We may never really know but we may discover beautiful and interesting things on the way. Or perhaps I should end with another actual Feynman quote

“The most important thing I found out from [my father] is that if you asked any question and pursued it deeply enough, then at the end there was a glorious discovery of a general and beautiful kind.”

Debian Release Code Names РAide M̩moire

Tim Pizey from Tim Pizey

The name series for Debian releases is taken from characters in the Pixar/Disney film Toy Story.


The unstable release is always called Sid as the character in the film took delight in breaking his toys.

A backronym: Still In Development.


The current pending release is always called testing and will have been christened. At the time of writing the testing release is Stretch.


Release 8.0

Jessie is the current stable release.

After a considerable while a release will migrate from testing to stable, it will then become the Current Stable release and the previous version will join the (head) of the list of Obsolete Stable releases.


Release 7.0

The current head of the list of Obsolete Stable releases.


Release 8.0

Obsolete Stable release.


Release 5.0

Obsolete Stable release.


Release 4.0

Obsolete Stable release.


Release 3.1

Obsolete Stable release.


Release 3.0

Obsolete Stable release.


Release 2.2

Obsolete Stable release.


Release 2.1

Obsolete Stable release.


Release 2.0

Obsolete Stable release.


Release 1.3

Obsolete Stable release.


Release 1.2

Obsolete Stable release.


Release 1.1

Obsolete Stable release.

Previous versions did not have versions.

Improved syntax highlighting with org2blog and custom CSS

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

As mentioned in an earlier post, I changed my blogging workflow to org2blog for writing and editing posts in Emacs and only push them up to my WordPress blog when the posts are almost done. I still do the final editing in WordPress so I can tweak the SEO settings and all that, but the majority of the work happens in org-mode now. One area that really needed improving was the appearance of the source code that I put in posts.