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.

Comparing the use of our web development tools to more mainstream ones

by Bhavy Rai, 6 June 2024

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!

Generic spreadsheet ingestion

by Bhavy Rai, 27 May 2024

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.

Introduction to Helm

by Archie To, 24 May 2024

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.

Django authentication and authorization

by Archie To, 29 April 2024

Authentication and authorization are two vital concepts in web development. You don’t want somebody to break into your house, view your private rooms, rearrange furnitures, or take away your stuffs. The same thing applies for your web app. You don’t want a random person to see private contents, make changes or delete important information. Fortunately, Django provides developer an easy way to implement authentication and authorization out of the box.

Performance analysis of database caching versus in-memory caching

by Bhavy Rai, 5 April 2024

Django offers many caching strategies, but most notably supports in-memory caches like Memcached and Redis, or database-centric caching solutions interfacing directly with your pre-defined backend. However, there are a couple of considerations you might want to take into account when choosing a caching solution. Below, I will give an analysis of my findings after implementing both caching with Redis and PostgreSQL/SQLite.

Understanding Django Signals - A Powerful Tool for Decoupled Communication

by Karan Gosal, 5 April 2024

Are you eager to add a touch of magic to your Django web applications? Well, look no further than Django signals! These little messengers enable different components of your app to communicate seamlessly, without the hassle of tight coupling. Let’s dive into how Django signals work and how they can elevate your development experience.

Adding Custom Regions with Colours to the Leaflet Maps

by Karan Gosal, 19 March 2024

In our previous exploration of Leaflet mapping, we delved into the basics of creating a dynamic map, adding markers to it, and also clustering the marker groups. Building upon that foundation, let’s elevate our map’s visual appeal and informational depth by incorporating custom regions with distinct colours. This step-by-step guide will walk us through the process, from obtaining GeoJSON data to adding regions to the map and interactive styling to our regions.

Reducing testing times with parallelization

by Bhavy Rai, 15 March 2024

As your test suite grows, so does the time it takes to run it. This can be a major bottleneck in your development process, especially if you’re following a TDD approach like we are. In this post, I’ll give a brief overview of how parallelization can be used to reduce testing times, and how it can beimplemented in local and CI environments, as well as the many headache-inducing issues that can arise from it. Grab a bottle of Tylenol, and a glass of water, and let’s dive in! 🤕

Introduction to Kubernetes

by Archie To, 11 March 2024

This article is meant for total newbies (such as myself a month ago) in Kubernetes. I will try to explain Kubernetes and some of its basic concepts in the simplest terms possible. However, we assume that you already know some basics about Docker containers. If you don’t, I recommend checking out our Docker basics article.

Splitting a string list in Python

by Drew Leske, 5 March 2024

I’m definitely a fan of list comprehensions in Python (as well as dict comprehensions), but I have some pretty specific ideas about how they should be formatted to be readable. Dict comprehensions are more complex, but even the much simpler list comprehensions can be abused, or misleading even when used well.