Developer environments — on-spot!

Arvind Devarajan
Techscape
Published in
2 min readMay 26, 2021

--

TL; DR: For quickly setting up your (containerised) development environment for working with Python, Julia language, Java, Scala, Rust, or Haskell, just do this:

First, install docker / docker desktop

and then:

For Linux / Windows Sub-system for Linux:curl -sSL https://raw.githubusercontent.com/onspot-tools/devlab/master/scripts/install.sh | sh

OR

For Powershell:iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/onspot-tools/devlab/master/scripts/install.ps1'))

Now, what are devlabs?

Ok, your day job is a developer, and you are also a night geek. You are a polyglot. And you play your games with software, your blood is made of software.

You keep learning new languages and keep experimenting with new stuff. Today it is C#, tomorrow Haskell, and the day after Python. And then you jump into Julia. Well, anything.

And whenever you jump like a frog, and whenever you want to contribute to that ecosystem, the first thing you need to crack is:

Installing development tools and the tool ecosystem

Yes, this is the first big thing, before you even start your work on that language.

Enter devlab — a quick and on-spot development environment setup for various languages. All with a consistent look and feel, and all with a Jupyter lab/notebook for a quick test of the language features, a quick test of that algorithm, and a fast-track into your road for your next big thing.

Each devlab is a base-set of language tools for different languages, all packed into a container. All of these are available as images in the dockerhub, waiting for you to pull them, and just start!

Starting a devlab starts the juputer-lab server, and you can simply start using your language of interest — either from Jupyter itself, or starting it as a shell/terminal for command-line tools.

A taste of devlab-haskell

What I’ve done here is started devlab-haskell, and used it for explaining Haskell syntax in 60 seconds. Just like it is done for F# by fsharp for fun and profit.

Check out this:

Haskell in 60 seconds

--

--