BitRun - Hello World
Ever wanted to mess around with new language without going over trouble of installing it? Or show an experimental piece of code, executed it and see the result without switching between terminal and editor? Teach someone a few coding tricks? Embed a snippet of code that could be executed? Join the club!
Problem
In the past year i had a pleasure of working on a lot of things. And you can image, not everything is written in the same language. Learning new frameworks, languages or dev tools became almost a daily thing. Which is good, can't complain here.
When i needed to experiment with code realized that most of the time went into context switching, going back-and-forth between terminal and the code editor (ST3), when all i actually needed was a split screen. Yeah, code on the left - result on the right. Hell, i even created a simple markdown editor a while back. It's exactly what i wanted, but unfortunately i couldn't find anything that could do the same magic with programming languages. Okay, okay, there are quite a few tools out there, but man, look at them? Ugly as hell, messy. Perhaps the best looking one is js2.coffee, except it was only designed for javascript/coffeescript.
Frontend-fiddling tools market is pretty crowded these days. Most popular online editors are jsbin, jsfiddle, codepen, etc. My main problem with all of them was either their interface (too much junk, cluttered) or simply not the right tool for the job (interviewing people). Oh yeah, no backend stuff either. So i decided to come up with something that could support multiple programming languages, easily configurable and of cource be free.
Solution
My work on this new tool started back in August and was just a single Go file that provided an API. And it was hardly any API, just a single endpoint that accepted POSTs with code chunks and returned code execution output. Eval-as-a-Service, in other words. It quickly became a pile of crap (hey, its a side project) and i decided to scrap the codebase and start from scrath. For the good.
Was about time to give my new project a name. Oh well, the hard part is domain: all the good stuff is already taken by cybersquatters. Anayways, after a day or two i came up with a name: BitRun! It runs bits of code. Powered by Docker it provides ability to quickly expand the arsenal of languages. For starters i added Ruby, Python, Node and Go. Later came PHP, Bash, C, Elixir and Rust. So far so good. Added a nice and clean UI on top of that and BOOM. We have something now!
Enter BitRun
Features
Here's the meat:
- Multiple runtimes: Ruby, Python, Go, Node, Elixir, Rust, PHP, Bash, C
- Extras: CoffeeScript, ES6 (via babel)
- Custom execution commands
- Max snippet execution duration: 10s
- Memory per run: 64mb
- UI customizations: light/dark theme, font size and orientation
- Save code snippets
- Embed code snippets
Try the embed yourself:
Bitrun is really fun to work on and i use it myself pretty much every day to prototype code and experiment with new things. Give it a try!