Skip to content

Technology

The 30-Day Map Challenge

Map challenge overview

Every year, cartography enthusiasts, geographers, data visualisers, and mapmakers from around the world come together to participate in the 30-Day Map Challenge. Organised by Topi Tjukanov, this event celebrates the art and science of mapmaking. Whether you’re an experienced Geographical Information Systems(GIS) professional or just starting out, this challenge invites you to create and share a map daily, guided by a unique daily theme.

The 30-Day Map Challenge is an inclusive and open-ended initiative that fosters creativity and experimentation in mapmaking. Each day in November presents a different theme, ranging from “Points” and “Lines” to “Fantasy” and “Historical.” Participants are encouraged to interpret these prompts flexibly, utilising any data, tools, or artistic styles that resonate with them.

Git and GitHub for efficient project management and collaboration: a mini-tutorial

Version control is an essential part of software development good practices, especially when combined with an online repository that enables easy collaboration with other people. One of the most common tool combinations is using git for version control and GitHub as the online hosting repository.

Despite being more common nowadays, and despite the long term benefits it brings to the table, much software development done in research environments like universities does not use version control. Maybe this is because researchers do not know about it or because they do not know how to do it right, or they see it more as a burden. This mini-tutorial on Git and, especially, GitHub aims to help users with those first steps and point them in the right direction to learn more about the topic.

An example of a software design pattern for European option pricing using UML diagrams

Design Patterns were first introduced in the seminal book Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, who are collectively known as the "Gang of Four" [Gamma et al. (1994)]. This book forms the foundation of Object-Oriented design theory and practice. A Design Pattern is a general, reusable solution to a commonly occurring problem in software design. These patterns are based on the philosophy of finding standard solutions to common problems in software engineering challenges.

Just as there are standard designs for car engines, like the four-stroke engine, design patterns serve a similar purpose in software. Each pattern provides a tried-and-true solution to a specific problem. Some of these patterns focus on object creation, others on structuring systems of objects, and still others on how objects should communicate.

Python Development on M1 Macs

I recently received a new MacBook Pro for work. Great! The only catch is that Apple discontinued their Intel-based line of MacBook Pros in 2021 and their new line of laptops use the Apple silicon M-series coprocessors. This might not seem like a problem at first, but the Apple silicon processors use ARM-architecture instead of Intel's x86 architecture. For Python development, this is a potential problem because not all Python packages are installable for ARM architectures.

Fine Tuning Django User Permissions

Read the full blog post in Dan Davies's Blog.

The RSE team is involved in an increasing number of software projects requiring a front-end web app. The main advantage to having a web app element for your research software is that users can interact with it via a web browser, without having to install anything to their local machine. There are of course downsides, including the need to deploy, host and maintain software somewhere suitable. However, there is a wide range of popular frameworks to make the whole process a lot smoother.