How to call R from Perl: on inter-process communication


I'm glad the title caught your attention. Why call R from Perl - or have code in language X call code for language Y, for any X and Y, for that matter? Sometimes it's just hard to choose among languages you're fluent in, especially if you're a bit of a polyglot and don't have a clear favourite. Perhaps you value diversity, just like modern companies value diversity in their workforce: different programming languages, just like employees with different backgrounds, offer distinct advantages and strengths that can be drawn from when creating a product.

I happen to have a language I strongly favour, and I consider my programs are already diverse enough, even though they all got written by a single white male. I also managed to have a job in bioinformatics without installing R for quite a while. I am not riding that streak any more because a specific thing I needed to do only exists as an R package, so I learned how to use R from Perl. This merits celebration with a blog post, so I'm gonna tell you how to call R from Perl and also more generally about IPC.

Continue reading How to call R from Perl: on inter-process communication...

Instructions for your program from an online spreadsheet


Suppose you're a programmer contracting for a client who pays you to do analyses on a bunch of data. They give you a slightly different spreadsheet every week, and you're so lazy that you've scripted everything up. The only thing you need to do is take that spreadsheet, save it on disk or whatever, and press "run".

Here's an idea for a workflow that goes one step further, using GitHub's online editing. Of course GitHub's competition offers this too, and I dislike this Microsoft owned company as much as is currently in fashion.

Continue reading Instructions for your program from an online spreadsheet...

How to use fewer variables


Using variables may benefit program readability, but many programmers regard it as a bit of a weak move (source: Yegor Bugayenko- programmer, blogger, and entrepreneur). Giving stuff names is emphasised in beginner tutorials, and I expect many of my programming readers use variables a little bit too much, perhaps not realising it is merely a programming technique. I will explain the drawbacks of this technique, and give some alternatives, so that by eschewing it you might improve your craft further.

Continue reading How to use fewer variables...

Marx on Agile


Agile is a modern way to organise software development. Karl Marx (1818-1883) was a philosopher, economist, historian, political theorist, sociologist, journalist and revolutionary socialist. His ideas, and revolutionary socialism he kickstarted, have caused quite a stir in the XX century, and it's still not certain whether they were good or not, because they were never properly implemented and truly tried. I'm not going to try convince you to agree with Marx, dear reader, or say that I do. We're going to merely examine some of his ideas, and see how they apply to the modern tech world.

Continue reading Marx on Agile...