Make Coding Easier with Hydrogen

#mozsprint 2017 Interview Series

Mozilla Open Leaders
Read, Write, Participate
4 min readMay 31, 2017

--

Lukas (@_lgeiger) is a student at RWTH Aachen University and an avid open source contributor. I met Lukas at our recent Working Open Workshop in Montreal where I learned about his work on Hydrogen and nteract. He’s working to create an easy to use coding environment to lower the barrier to start coding and for experts to be more efficient.

I interviewed Lukas to learn about Hydrogen and how you can help June 1–2 at #mozsprint.

What is Hydrogen?

Hydrogen is an open source package for GitHub’s Atom text editor that allows users to run their code with an interactive REPL session with your language of choice.

It lets you choose which code to execute based on your needs to provide the interactive coding experience you dreamed of.

Hydrogen can connect to any Jupyter kernel installed on your system or running on a remote machine. This makes Hydrogen completely language agnostic and allows for various rich media types so your output will be rendered in the most beautiful way possible.

Why did you start working on Hydrogen?

When starting programming with Python in my undergraduate physics course, I was searching for a tool that provided a richer and more interactive coding experience.

After working with jupyter notebooks for a while I discovered Hydrogen and was completely sold since it dramatically improved my productivity.

After using Hydrogen for some time, I noticed a few missing features and decided to look at the source code to see if I could fix it myself. This lead to my very first lines of CoffeeScript and my first pull request on GitHub. I was very kindly welcomed and invited to be a maintainer and from there on started to contribute on a regular basis and participated in more open source projects.

Working on open source together with people from all around the world is an amazing experience and a tremendous learning opportunity. For me, it is the best programming course that exists.

How is this different from Jupyter Notebooks?

Jupyter, in particular the jupyter messaging protocol, provides the base architecture of Hydrogen.

While Jupyter Notebooks and nteract use .ipynb files to combine executable code, narrative and output inside one document, Hydrogen doesn’t require a specific file format, instead it uses plain text files.

This means other people can edit and execute your code without requiring special tooling like Hydrogen or Jupyter.

Hydrogen can run code cell by cell, similar to a notebook environment, but additionally allows for a lot more control over what to execute, increasing productivity for advanced users and making it easier for beginners to understand what each part of the code is doing.

What problems have you run into while working on this project?

The biggest challenge we faced was how to provide a easy to install package without requiring specific compilers or dependencies. We were able to fix this by developing prebuilt binaries for the Javascript bindings of zeromq making it easy to install on every system.

What kind of skills do I need to help you?

We really value every kind of contributions. You don’t need to be a programming expert to help us. If you use Hydrogen please provide feedback on the usability, features you like to see or audit our documentation to make it approachable for everyone.

Hydrogen is a package for GitHubs Atom text editor, both of which are built in Javascript and CSS.

Knowledge of Javascript (ES6), React, Flow or MobX helps for hacking on Hydrogen, but don’t hesitate if you’re not familiar with these. We’re all here to learn and are happy to help!

How can others join your project at #mozsprint 2017?

We would love if you try out Hydrogen, explore our features, audit our documentation to see if we’re missing information or add examples on how to use Hydrogen with your favorite language.

For more ways to contribute, please take a look at our #mozsprint issues and join our Slack channel.

What advice do you have for someone starting to contribute to open source?

Find a project that you are passionate about or using your self and try to fix the things that annoy you. If you are stuck with something don’t hesitate to ask for help or to submit a “work in progress” pull request. But most importantly have fun doing it.

Join us wherever you are June 1–2 at the Mozilla Global Sprint to work on Hydrogen and many other projects! Join a diverse network of scientists, educators, artists, engineers and others in person and online to hack and build projects for a health Internet. Get your tickets now!

--

--

Mozilla Open Leaders
Read, Write, Participate

A cohort of Open Leaders fueling the #internethealth movement through mentorship & training on working open. Work Open, Lead Open #WOLO mzl.la/openleaders