First impressions of Github Codespaces

Github recently launched their new Github codespaces service – an online, in-browser Integrated Development Environment powered by Visual Studio Code. This environment allows someone to quickly load a virtual machine and a complete code editing interface, that is all accessible within the browser without having to install anything on the users machine. If you are familiar with products like Amazon Web Services’s Cloud 9 IDE or its predecessor C9.io this will probably feel very familiar.

As one of the lucky few who were given access to the GitHub Codespaces beta program I had the opportunity to test it out and offer my thoughts on behalf of the Aristotle team below.

First impressions

There were a few small changes that needed to be done to the Aristotle Metadata home page, (including making this blogpost) and it was easy opening a Codespace to start working. Opening a code space for a project is literally as easy as GitHub says – click “Open in Codespace” on a repository and it does the rest – no need to configuring or decommission a server, its all handled for you.

Our website is a basic Jekyll static site, and offers a great basic test of whats available in Codespaces already. Loading a fresh Codespace took less than 2 minutes, which is comparable to AWS Cloud9. As someone who used Cloud9 when it was still C9.io, Codespaces reminded me a lot of that – its a simple way to open an editor and a virtual machine for a GitHub project.

The documentation for Codespaces is also great. What I didn’t know is that GitHub can also load your dotfiles directly into each new Codespace, so your preferences (.bashrc and similar files) will follow you across Codespaces.

Editing files

Being based on Visual Studio Code, Yes, Codespaces has a Dark Mode.

Although if you are using different browsers to open your workspace (which I had to do for reasons below), your colour scheme preferences won’t follow you across browsers. I’m not a regular user of Visual Studio Code, but it seems to includes all the standard features you expect from a browser, such as syntax highlighting, VIm and Emac keybindings (which work very well in browser), and autosave which is enabled by default, and I promptly disabled.

You can also drag-and-drop files from your local machine into Codespaces filesystem, and preview and edit certain non-text files in the browser, such as images, both of which are really handy for web development.

Terminal emulator

Codespaces includes a powerful terminal editor that seems to be based on a stock Debian image. The only thing I didn’t like is that separate terminals are accessed using a dropdown instead of with tabs, but this is a minor detail.

Big news: Docker is here, and it works well.

One of my biggest issues with C9.io was the lack of Docker support, which was solved when AWS bought Cloud9 but comes with the extra complexity of configuring your Amazon machine. So being able to simply run Docker in the browser is great. Docker-compose isn’t installed by default, and I haven’t had a chance to see how that works.

The only issue I found with the terminal emulator was you can only paste with right-click into Chromium-based browsers like Chrome or Edge, Firefox users beware.

Serving sites

Codepsaces does a great job of handling port forwarding for you , so you can simply start you server process (on a non-Port 80 port) and if GitHub detects a localhost:PORT combination it makes it accessible for you by clicking on the URL, as shown below:

Loading and reloading Jekyll was fast, and by the time I clicked the forwarded link or switched tabs to preview changes to the site, it was already refreshed. However, this is another Chromium-only feature the clikcable port forward links don’t work in Firefox this seems to be fixed now in Firefox.

One other minor issue is you can’t open your site in a private window or different browser to view the server without logging into GitHub. This isn’t a huge issue, but if you are trying to view what your site looks like under different browser or when logged out it can be troublesome.

Final thoughts

This is amazing and may become my default IDE – as a co-founder who is spending less time as a developer, and more time in meetings, writing emails, strategy papers, letters and tenders, this is just amazing! Most of my daily tools are Windows based, so I’ve been spending a lot of time getting Windows Subsystem for Linux working alongside the rest of my daily workflow, which comes with its own headaches. So being able to quickly checkout a branch, make changes and take some load of my local machine seems very promising.

There are a lot of features here to review that I haven’t had a chance to look at, including collaborative workspaces, Git integration and connecting with a local version of Visual Studio, but from a quick glance everything works smoothly.

Overall, it’s an extremely quick way to get started on a project, and I look forward to writing an update after I’ve had a chance getting the Aristotle Metadata Registry software, with all its many dependencies, running in codespaces under Docker-compose.

The Aristotle Metadata Registry is no stranger to cloud innovation. If you want to learn how to access a cloud-hosted metadata registry as simple as Github’s Codespaces get in contact with us.

Discuss this post on our community forum: https://community.aristotlemetadata.com/

Sam Spencer

Aristotle Marketing Team

Other articles you might enjoy

Uncategorized
Aristotle Marketing Team

Bridging the Skills Gap in Healthcare Data: Why Training Needs to Catch Up

Australia’s healthcare sector is swimming in data, but struggling to staff it. From digitised records to AI-assisted diagnostics, the systems are there. What’s missing is a steady pipeline of people trained to manage, govern and actually use that data safely. Right now, most clinical and operational staff aren’t taught the

Read More »
Uncategorized
Aristotle Marketing Team

Beyond Compliance: How Healthcare Teams Can Build a Better Data Culture

The frameworks that govern clinical information,  HL7, ICD-10, SNOMED, matter. But they’re only one part of what makes data usable, safe, and trustworthy. Compliance doesn’t cover everything. Especially when your organisation’s data is spread across dozens of systems that fall outside the usual health informatics scope. Staffing tools, research portals,

Read More »
Uncategorized
Aristotle Marketing Team

80% of Your Data Team’s Time Is Wasted: It’s Time to Fix That

Data teams are hired to solve problems, build models, and unlock insights. But in most organisations, that’s not where they’re spending their time. Too often, they’re stuck cleaning up messes, chasing down missing files, reconciling inconsistent sources, and piecing together context that should have been documented right from the start.

Read More »
Uncategorized
Aristotle Marketing Team

Why Most Metadata Tools Stop Short (and What to Do About It)

Metadata tools have become table stakes for organisations that care about data governance. But here’s the problem: most of them only work on the systems you already know about. And if your metadata strategy only sees what’s already documented, you’re not managing your data, you’re managing an illusion of it.

Read More »