Category Archives: Uncategorized

"The Origins of Python" by "Lambert Meertens" on a light blue background with the python logo on the right side

Fascinating Article About the Early History of Python

Back in the early 1990s, I was active in some different developer user groups where perl was the scripting language of choice. I remember with great fondness some of the “obfuscated perl” challenges where the goal was to write something as obscure and small as possible… that actually performed some action. The perl slogan was “there is more than one way to do it”, and that was how it rolled.

Then one day I stumbled upon python, which seemed to be almost the polar opposite of perl. I mean… indentation mattered? I hadn’t dealt with that since back when I was programming in FORTRAN in the late 1980s!

And the idea that code should be readable and easy-to-understand? That kind of flew in the face of the obfuscation challenges.. but definitely led to better and more understandable code!

In contrast to perl, the Zen of Python captured one ethic: “There should be one– and preferably only one –obvious way to do it.”

I loved it!

And for a good number of years python was my language of choice. I used it to solve so many problems and do so many things. Most all of that was internal to various jobs and projects. The only public thing really left is my ancient makefaq program, which generated a Frequently-Asked Question (FAQ) list into HTML, text, or DocBook XML from a single source file. (And I have no idea if makefaq works with modern python.)

This background is why I found “The Origins of Python” from Professor Lambert Meertens such a fascinating read.

Anyone involved with python for any time becomes aware of Guido van Rossum and his role in creating python and all of his amazing contributions. But this article goes back a bit further to provide the context for how python came about.

Given that I started using BASIC on an Apple II in 1977, I never did much with ALGOL and had never heard of either TELCOMP or the ABC language mentioned in the article. Nor had I heard of SETL. When I got involved with computer science at the University of New Hampshire in the mid-1980s, Pascal was the main introductory language, and C was a language heavily used for other work. I also used assembly language, FORTRAN, SmallTalk, and a number of others. In a bit of craziness, I did some large scale text manipulation using the version of LISP built into emacs. 😀 (Although I was later to come down hard on the “vim” side of that particular divide.)

So the history provided by Professor Meertens was interesting to see how various strands came together in a way that helped set the stage for what Guido van Rossum would do to make python the amazing language that it is.

Well worth a read for those wanting to understand the historic origins of languages.

Etherpad launch screen

How to Install Etherpad Locally Using Docker

Recently I was discussing with a couple of people how Etherpad works so well for collaborative editing. I realized it had been a while since I’d used Etherpad and, with a plane flight ahead of me, I wondered how quickly I could install it to play with it. It turned out to be extremely easy due to Docker! All I had to do was:

docker pull etherpad/etherpad

docker run -d --name etherpad -p 9001:9001 etherpad/etherpad

And then I just pointed my browser to:

http://localhost:9001

… and… ta da! There I was looking at Etherpad and could start writing my own “pads”!

That was it!

There are of course MANY more things you could do with the docker image. The Docker Hub page for Etherpad goes through all the many options you can use for building and deploying your own image.

But for me, simply pulling and running the image was enough – this is the power of Docker for testing and prototyping. Simple and easy!