On automation of work, relationship, and everything else

OK, so this story is circulating the Russian-speaking web for a few days now.  Somebody got it translated to English and Business Insider picked it up.

After the guy left for a new job, his former coworkers were looking through his work and discovered that the guy had automated all sorts of crazy things, including parts of his job, his relationships, and making coffee.

While it’s nice of them to link to the GitHub repository with all the scripts, I hate to see how this is being over hyped.

Firstly, the title itself – “A programmer wrote scripts to secretly automate a lot of his job — and email his wife and make a latte”.  There is nothing secret about this.  Mundane tasks are mundane tasks and we all hate doing them.  Programmers and sysadmins have the tools to automate those, so that’s what they do.  In fact, it’s quite a common practice.

Secondly, the language of the article:

After the guy left for a new job, his former coworkers were looking through his work and discovered that the guy had automated all sorts of crazy things, including parts of his job, his relationships, and making coffee.

How are scheduled messages “crazy things”?  I think these days you can even do that with mouse clicks in something as stupid as Microsoft Outlook.  And with all the APIs these days, it’s trivial to send SMS messages or make your own scheduled coffee.

In regards to coffee in particular, The Linux Documentation Project used to have The Coffee HOWTO for as long as I can remember (back in late 90’s at least).  It was updated in 2004 and is still available as Coffee Making HOWTO.

This article just once again highlights how far apart are business people and technical people in their understanding and use of technology.  In fact reminds me a story from one of my previous jobs when a release of a new major project on which the team worked for a few month was frowned upon, while the news of a replaced image slider on the website’s homepage got a standing ovation from the full room of staff… Sad, sad truth about the state of the world.

And just so that I don’t leave it on that sad note, if you are not too technical and want to look at some of things which are trivial to do, have a look at IFTTT website, which can help you connect your web services (social networks, emails, calendars, etc), smart devices (Android and iPhone gadgets, lights, etc), locations, and certain actions in just a few clicks.  And it’s all free too.  And if that’s not enough and you want to automate more, including some of your business stuff, have a look at Zapier.  They are awesome too.

Stop wasting time on silly things.  And maybe even learn to code…

27 languages to improve your Python

Nick Coghlan writes:

One of the things we do as part of the Python core development process is to look at features we appreciate having available in other languages we have experience with, and see whether or not there is a way to adapt them to be useful in making Python code easier to both read and write. This means that learning another programming language that focuses more specifically on a given style of software development can help improve anyone’s understanding of that style of programming in the context of Python.

To aid in such efforts, I’ve provided a list below of some possible areas for exploration, and other languages which may provide additional insight into those areas.

The languages and areas are:

  • Procedural programming: C, Rust, Cython
  • Object-oriented data modelling: Java, C#, Eiffel
  • Object-oriented C derivatives: C++, D
  • Array-oriented data processing: MATLAB/Octave, Julia
  • Statistical data analysis: R
  • Computational pipeline modelling: Haskell, Scala, Clojure, F#
  • Event driven programming: JavaScript, Go, Erlang, Elixir
  • Gradual typing: TypeScript
  • Dynamic metaprogramming: Hy, Ruby
  • Pragmatic problem solving: Lua, PHP, Perl
  • Computational thinking: Scratch, Logo

On acting professionally

A few weeks back, there was this story about Sarah Sharp quitting Linux kernel development due to some issues she had with communications on the Linux kernel mailing list (aka LMKL).  I never cared much about this sort of things, so I skipped the story altogether (people disagree, no big deal).

Today I was catching up with my RSS feeds, and the story came up again (via this post and discussion thread in Russian), which linked to this Slashdot comment nicely summarizing the story.

Among all the other comments, there was a link to the related email from Linus Torvalds, where he opens up a bit about the “professional” behavior and communication.  I think it’s absolutely brilliant and everybody should read the whole thing.  But I’ll leave this small quote here for myself:

Because if you want me to “act professional”, I can tell you that I’m not interested. I’m sitting in my home office wearign a bathrobe. The same way I’m not going to start wearing ties, I’m *also* not going to buy into the fake politeness, the lying, the office politics and backstabbing, the passive aggressiveness, and the buzzwords. Because THAT is what “acting professionally” results in: people resort to all kinds of really nasty things because they are forced to act out their normal urges in unnatural ways.

6 great monospaced fonts for code and terminal in Fedora


Fedora Magazine covers “6 great monospaced fonts for code and terminal in Fedora“.  Their choices are:

  • Hack
  • Inconsolata
  • Source Code Pro
  • Fira Mono
  • Droid Sans Mono
  • DejaVu Sans Mono

It’s been a while since I considered a change to the monospaced fonts that I’m using.  The top three fonts in my list from a while back are Fixedsys Excelsior, Monaco, and Microsoft Consolas.  I used Fixedsys Excelsior almost exclusively in all my terminal windows.