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.

Ingestion Made Easy!

by Priya Srinivasan, 11 August 2023

ZooDB already possessed an ingestion script, capable of efficiently processing hundreds of rows of zooarchaeological bone data. This script was traditionally executed from the command line by the developer. However, to enhance the user experience and streamline the ingestion process, we created a user-facing feature to allow the researchers to upload and process their data via the web application. In this article, I describe the crucial parts of this feature and how it was developed.

Workflow Tips

by Nick Wurzer, 2 August 2023

If you’re like me and this is your first exprience coding in the real world, it may take a while to get familiar with Git and GitLab. This may initially slow you down when working on tasks, so I aim to speed up the learning curve by showing some useful features of Git and GitLab. If you’re already familiar, then read on for a good review!

For an introduction to Git version control see Priya’s blog post.

Setting up Pylint tests for a Django Application

by Priya Srinivasan, 31 July 2023

In this article, I will be walking you through the procedure of installing Pylint which is a widely used code analysis tool that helps identify any potential issues in the code, helps to improve the overall quality of the code by enforcing coding conventions. Maintaing code quality and establishing and following coding standards are very important when it comes to developing any software application. Pylint helps us to achieve this.

Frontend and Backend Web Development

by Nick Wurzer, 29 June 2023

This topic may be old news for most readers, but I feel that a general overview of frontend and backend web development is missed by the computer science program at UVic. There are many resources on Google about the topic, however I found that after reading a few of them carefully I still couldn’t fully understand what these terms meant. I aim to save somebody like me the googling when they start working on their first web application.

Terraform, Let's Encrypt, and PowerDNS

by Drew Leske, 16 June 2023

A colleague asked for some information on this so I’ll post this here in hopes it might be useful to someone out there (or just me in a year when I vaguely recall doing something similar.) This is a quick description of how I use Terraform to generate Let’s Encrypt certificates using our PowerDNS instance. This is more of a quick reference than anything else.

Displaying Dynamic Data with a Django View Function

by Priya Srinivasan, 31 May 2023

Django is a powerful Python web framework and it provides a straightforward way to display dynamic data in web applications. It has a template system for displaying content on the web. Templates can be combined with view functions to display data dynamically. This article will describe how to use a Django view function to retrieve and display dynamic data. Step 1: Define a View Function Initially, we need to create a view function as follows, that can handle the request and return the response containing the dynamic data.

Using SSH with Visual Studio Code

by Nick Wurzer, 11 May 2023

We use virtual machines a lot and many people like coding in VS Code, but some may have never used VS Code to code on another machine before. This post is a tutorial for setting up SSH in VS Code so that you can edit files on another machine right in VS Code.

STRAP at BCNet Connect 2023

by Drew Leske, 3 May 2023

Last week Archie and I presented our work on the STRAP project at the BCNet Connect 2023 conference in Vancouver. As last week was the end of Archie’s co-op terms with us, this was a great way to cap off all his hard work with the ARCsoft team since joining us in December 2022.

Writing unit tests for a Django web application

by Priya Srinivasan, 30 April 2023

As websites expand, manual testing becomes more challenging. Interactions between components can lead to errors in other areas, and more changes are needed to ensure everything continues to function correctly. To address these issues, automated tests can be used to run every time changes are made, ensuring reliable and consistent testing. This blogpost demonstrates how to automate unit testing of your website using Django’s test framework.

Strapper real-time deployment log

by Archie To, 18 April 2023

This real-time deployment log feature was implemented by following a tutorial on Django Channels. All of the code below can be found in the Strapper GitLab repository Setup Install daphne and channels: $ pip install -U daphne channels["daphne"] In app_starter/app_starter/settings.py: INSTALLED_APPS = [ "daphne", ..., ] ASGI_APPLICATION = "app_starter.asgi.application" Configure ASGI app Since wsgi doesn’t support long-lived connections, we will have to serve our app as an asgi app. In app_starter/app_starter/asgi.