Here the ARCsoft team write about things we’ve learned or are excited about! Each member contributes an article periodically, both as part of our mission to contribute to the community as well as to grow personally and professionally.
On the ZooDB project I was tasked with looking into the case for and against
using Content Delivery Networks (CDNs) rather than the locally hosted frameworks
we had currently set up. A decision was made to try them along with their async
and defer
script attributes to determine whether web performance increased and
in which areas.
This blog post gets us started with Visual Studio Code (VS Code). It is intended for onboarding at ARCsoft, and should help sync IDE enironments with the Git projects. Topics include install, startup, formatting, extensions, and shortcuts.
Lately we’ve been discussing project versions and tagging for both releases and packaging. This has come up for tags on container images, and we also have developed a couple of Python libraries which we may want to publish to a public repository. While tags on container images have fairly relaxed restrictions, the Python Package Index for example follows a very prescriptive specification for versioning, and ideally we can find a solution that will work for both and is reasonably meaningful and intuitive.
We’ve talked about Terraform and Helm. Those surely are cool technologies. But you know what’s even cooler? When you combine both of those. This article will show you how to use Terraform to deploy Helm charts, a very popular practice for our infrastructure in ARCsoft.
In this article we describe how a need for parsing Python files led us on a journey starting with plain text parsing, to abstract syntax trees, and then finally to where we wound up with conrete syntax trees, and the lessons we learned along the way.
Terraform is a very popular technology used both in the industry and within the Research Computing Services (RCS) Team. We at ARC Software have used Terraform to build up STRAP and implemented scripts for Strapper to deploy applications onto STRAP (these apps are called Strapplications). So what is Terraform? What makes it so popular?
For one of our projects (ZooDB) we recently ran into a problem when adding new Python libraries to our dependencies, as several of the libraries required build tools in their installation. These tools were not available in the application’s base image nor were they installed as part of the build, so they had to be added. Here we look at what can be involved in building such a container.
Recently, Karan and I had the opportunity to work on a passion project, not related to the work we do with ARCsoft. Doing so gave us the chance to use some of the more mainstream web development tools that we wouldn’t typically use in our day-to-day work. This experience was both enriching and fulfilling, so I wanted to share some of the key differences we noticed between the tools we use at ARCsoft and the more mainstream ones used in the industry. Let’s dive in!
In academia, it is quite common to collect data in spreadsheets due to its simplicity and ease of use. Managing a full-fledged database is boss-level stuff in comparison. However, a database is necessary for making that data available via the web, so we're having to load spreadsheet data into databases in multiple projects. Here's how we started to build a generic solution we can use for multiple projects.
This article assumes readers have a basic knowledge about Kubernetes, as Helm and Kubernetes are closely related. Reading Introduction to Kubernetes is highly recommended prior to reading this article.