e · l · n

Until everything is migrated, do also have a look at the old tech blog

Find my most recent postings below:

Tutorial: Luigi for Scientific Workflows
21 Jun '16: A Luigi tutorial I held at the e-Infrastructures for Massively parallel sequencing workshop (Video archive) at SciLifeLab Uppsala in January 2015, moved here for future reference. What is Luigi? Luigi is a batch work...
Combining the best of Go, D and Rust?
11 Jun '16: ... ok, don't take this post too dead serious, but I can't help entertaining the thought ... I have for years been looking for a replacement for Python and Java for developments of various data processing tools in bioin...
How time-boxing and a unified trello board solved my productivity problems
26 Feb '16: Figure: Sketchy screenshot of how my current board looks. Notice especially the "Now" stack, marked in yellow, where you are only allowed to put one single card. I used to have a very hard time getting an overview of ...
The unexpected convenience of JSON on the commandline
8 Dec '15: I was working with a migration from drupal to processwire CMS:es, where I wanted to be able to pipe data, including the body field with HTML formatting and all, through multiple processing steps in a flexible manner. I'd...
Wanted: Dynamic workflow scheduling
26 Oct '15: Photo credits: Matthew Smith / Unsplash One thing became even more clear to me today after brewing in my mind for some time: Dynamic scheduling in scientific workflow tools is important. What I mean is that new tasks...
How to be productive in vim in 30 min
15 Sep '15: I had heard a lot of people say vim is hard, very hard. They said it is good, and you will benefit from using it, but that it will take a great investment to switch to using it. While I have came to understand that th...
How to compile tmux 2.0 on RHEL6 / SL6 to get zoomable panes
20 Aug '15: I needed to do this, to get the "zoomable", or "maximizable" panes feature of tmux 1.8+ on UPPMAX, which has only tmux 2.6, so here follows the steps I took: lang-bash cd ~/src # Download and unpack libevent (needed by...
How to compile vim for use with pyenv and vim-pyenv
20 Aug '15: I use pyenv for managing custom python installations on the UPPMAX HPC cluster, and since I use vim with jedi-vim for auto-completion in python, I tried to get vim-pyenv to work. It turned out that the system version of...
How I would like to write Go programs
18 Jul '15: Note I: See also this very interesting discussion on Google+.Note II: ... and also this super-interesting discussion on golang-nuts mailing list (See especially the example and mini-FBP-framework suggested by Egon Elbr...
Terminator as a middle-way between floating and tiling window managers
17 Jul '15: I have tried hard to improve my linux desktop productivity by learning to do as much as possible using keyboard shortcuts, aliases for terminal commands etc etc (I even produced an online course on linux commandline prod...
FBP inspired data flow syntax: The missing piece for the success of functional programming?...
16 Jul '15: Note V: Have added link to a working example in Go(lang), of the final non-working python example code. See this follow-up post with the Go example!Note IV: See especially this excellent comment in the Reddit thread.No...
A few thoughts on organizing computational (biology) projects
23 Jun '15: I read this excellent article with practical recommendations on how to organize a computational project, in terms of directory structure. Directory structure matters The importance of a good directory structure seems...
Flow-based programming and Erlang style message passing - A Biology-inspired idea of how they fit together...
13 Jun '15: I think Erlang/Elixir fits great as control plane or service-to-service messaging layer for distributing services built with flow-based programming, and in this post, I'll tell you why. Edit I: Fixed misleading heading:...
A cheatsheet for the iRODS rule language
11 Jun '15: iRODS, the "integrated rule oriented data system" is a super cool system for managing datasets consisting of files, from smallish ones, to really large ones counted in petabytes, and possibly spanning multiple continents...
Workflow tool makers: Allow defining data flow, not just task dependencies
10 Jun '15: Upsurge in workflow tools There seem to be a little upsurge in light-weight - often python-based - workflow tools for data pipelines in the last couple of years: Spotify's Luigi, OpenStack's Mistral, Pinterest's Pinball...
Patterns for composable concurrent pipelines in Go
1 Jun '15: I realize I didn't have a link to my blog on Gopher Academy, on patterns for compoasable concurrent pipelines in Go(lang), so here it goes: blog.gopheracademy.com/composable-pipelines-pattern ...
The role of simplicity in testing and automation
23 Mar '15: Disclaimer: Don't take this too seriously ... this is "thinking-in-progress" :) It just struck me the other minute, how simplicity is the key theme behind two very important areas in software development, that I've been...
The problem with make for scientific workflows
14 Mar '15: The workflow problem solved once and for all in 1979? UPDATE 2, July 8, 2015: Improved language.UPDATE: I should clarify that the problems discussed below do not apply to some ways of working with make such as this in...
Dynamic Navigation for Higher Performance
11 Mar '15: Improving performance in Delphi Bold MDA applications by replacing navigation code with derived links in the model Guest Post on Model Driven Architecture in Delphi and Bold, by Rolf Lampa This post was originally post...
NGS Bioinformatics Course Day 3: New Luigi helper tool, "real-world" NGS pipelines...
3 Mar '15: It turned out I didn't have the time and strength to blog every day at the NGS Bioinformatics Intro course, so here comes a wrap up with some random notes and tidbits from the last days, including any concluding remark...
Random links from the Hadoop NGS Workshop
19 Feb '15: Some random links from the Hadoop for Next-Gen Sequencing workshop held at KTH in Kista, Stockholm in February 2015 UPDATE: Slides and Videos now available! Spark notebook Scala notebook ADAM By Big Data Genomics...
Links: Our experiences using Spotify's Luigi for Bioinformatics Workflows
12 Feb '15: Fig 1: A screenshot of Luigi's web UI, of a real-world (although rather simple) workflow implemented in Luigi: Update May 5, 2016: Most of the below material is more or less outdated. Our latest work has resulted in t...
NGS Bioinformatics Intro Course Day 2
10 Feb '15: Today was the second day of the introductory course in NGS bioinformatics that I'm taking as part of my PhD studies. For me it started with a substantial oversleep, probably due to a combination of an annoying cold an...
Taking a one week introductory course in Bioinformatics for NGS data
9 Feb '15: This week, as part of my PhD studies in Pharmaceutical Bioinformatics, I will be taking the course "Introduction to Bioinformatics using NGS data" at Science for Life Laboratory here in Sweden. I will try to blog here a...
NGS Bioinformatics Intro Course Day 1
9 Feb '15: Just finished day 1 of the introductory course on Bioinformatics for Next generation sequencing data at Scilifelab Uppsala. Attaching a photo from one of the hands-on tutorial sessions, with the tutorial leaders, standin...

About Bionics IT

This website serves as research and development blog for me, Samuel Lampa, a PhD student and Systems Developer in Stockholm / Uppsala (Pharmaceutical Bioinformatics at UU and Bioinformatics Infrastructure at BILS). At those rare occasions when there's time left for something else, I also occasionally do consulting or contract work through RIL Partner AB.

Find me elsewhere on the web:

Latest posts