Log

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.

Splitting a numeric code in Python

by Drew Leske, 9 April 2025

Sometimes people do funky things with data. We have a use case where two two-digit codes are mashed together into a four-digit code, and we need to split them. These codes are stored as integers because, well, why not.

To Mock or Not to Mock - Mocking Unit Tests

by Lee Napthine, 14 March 2025

If you’ve ever written unit tests, you’ve probably encountered situations where a function depends on an external API, a database, or a cloud service. These things are difficult to control in a test environment. This is where mocking comes in.

Development updates for the DBSSIN library

by Lee Napthine, 28 February 2025

Over the last year, we’ve been adapting DBSSIN (Database-Spreadsheet-Ingestion) to better fit current projects, and it’s come with its share of development challenges. The ARCsoft team has been pushing the library forward, cleaning up the mapping system, and handling some unique security and access issues.

Advanced querying with Django

by Archie To, 24 February 2025

One of the most powerful features that come with Django is the ORM (object-relational mapping). It allows you to easily fetch data from the database by writing intuitive Python code. However, if you don’t know (maybe read a different article if you do), there is more to Django’s ORM than the simple objects.get and objects.filter. This article aims to take your ability to use the Django’s ORM to the next level.

Working with OpenStack

by Lee Napthine, 31 January 2025

Recently, I built a program that directly interacts with OpenStack cloud operations and its various components. It was a solid learning experience, and I want to share what I learned so future ARCsoft developers can hit the ground running.

Background and context for the Software Development Guidelines

by Drew Leske, 28 January 2025

It can take a while to learn a team’s culture, and there’s no quick solve for that: it’s the culmination not only of the group’s shared experience but the years of lived experience each individual brings in, and it evolves over time and is always unique. Expected practice, on the other hand, can and should be clarified–and if your team culture has “inclusion” as a core tenet, then setting clear expectations is essential to keeping everybody on the same page.

Strapper demo

by Archie To, 28 January 2025

STRAP is one of the most important projects that ARCsoft is working on. To deploy applications onto STRAP, we use a user-friendly web application named Strapper. Today, I will show you a quick demo of how we can have an application up and running with just a few clicks using Strapper.

Build a todolist with SolidJS

by Archie To, 10 December 2024

ARCsoft recently decided to use SolidJS as the frontend framework for our future projects. If you’re new to SolidJS, don’t be afraid. Let’s learn SolidJS together by building a simple todolist app.

Creating Custom Modules for the ARCsoft Library

by Lee Napthine, 9 December 2024

At ARCsoft we have begun building a repository of custom Helpers libraries that will be included in future projects. First on the docket was looking at several giant UI test code blocks in Django. These often span dozens of modules and thousands of lines of code. Quite common throughout was the use of repetitive and non-descriptive JsonResponse calls. Let’s walk through how we compartmentalized these calls into a more cohesive set of custom JsonResponse classes and how we added them to our repository of custom methods that we will use here at ARCsoft. Along the way we will document the setup of the Helpers repository and the essential inclusions to a project for the package to be able to be used, imported, and published.

Adapt a new frontend framework for ARCsoft - SolidJS

by Archie To, 3 December 2024

ARCsoft recently decided to add SolidJS as a new frontend framework to their tech stacks. We have implemented SolidJS on several projects and the results have been promising. In this article, we’ll explore why we needed a frontend framework and what SolidJS offers as a solution.