Chris Achinga’s Articles and Written Stuff

šŸ––šŸæ May the Forth be with You!

  • I write about making stuff with code.
  • Total Articles: 78

DjangoCon Africa, My Expectations

The wait is almost over(that’s if you’re reading this before Aug 11th, 2025). This is the second DjangoCon Africa I will be attending, the first one was a few years ago, and I wrote about it here: https://me.chrisdevcode.com/posts/djangocon-africa-2023-a-year-later/ A lot has happened ever since, got to learn about stuff(LOL) about how Django and the DSF. I cannot wait for this year’s edition. You can also checkout the official DjangoCon Africa 2023 report: https://2023.djangocon.africa/news/report/ ...

August 3, 2025 Ā· 3 min Ā· Chris Achinga

Django Models

From my past post: https://me.chrisdevcode.com/posts/django-architecture-models-views-templates/ In Django, a model is what defines your database table. It’s basically a python class that maps to a single table in your database. For example, class Users will simply be the Users table: class Users(models.Model): full_name = models.CharField(max_length=200) bio = models.TextField() def __str__(self): return self.full_name Django’s documentation on models: https://docs.djangoproject.com/en/5.2/topics/db/models/ In Django, a model is a special type of object that represents and stores data in the database. A database is simply a structured collection of data — where you keep information such as users, blog posts, and more. ...

July 2, 2025 Ā· 2 min Ā· Chris Achinga

Django Architecture: Models, Views and Templates

Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. At its core, Django follows the MVT architecture: Model, View, and Template — which is similar in principle to the traditional MVC (Model-View-Controller) pattern. Side note, you can build your Django application using your desired architecture. Django doesn’t necessarily specify any particular form of architectural layering. This article is an extension of the previous post: https://me.chrisdevcode.com/posts/django-project-structure/ ...

July 1, 2025 Ā· 3 min Ā· Chris Achinga

Django Project Structure

Before we proceed, it’s important to understand how a typical Django project is structured. Django’s project structure is thoughtfully designed to make your code clean and maintainable. Whether building a simple blog or a complex web application, understanding this structure is critical for managing your project efficiently as it grows. Below, we’ll explore the key components of a typical Django project and how they work together. Assumptions This post will assume that you have your development already configured for Django/Python development. ...

June 30, 2025 Ā· 3 min Ā· Chris Achinga

Formatting Posts on a Hugo Site

this is my go to documentation for editing posts on this hugo site. it still uses markdown, but with some touch of style here and there. Article frontmatter: Use front matter to add metadata to your content. https://gohugo.io/content-management/front-matter/ --- author: ["Hugo Authors", "PaperMod Contributors", "Aditya Telange"] title: "Comprehensive Frontmatter Example" date: "2019-03-11" description: "A comprehensive guide showcasing Markdown, shortcodes, syntax, and formatting for HTML elements." summary: "Sample article demonstrating various frontmatter fields and their usage." tags: ["markdown", "shortcodes", "privacy", "syntax", "code", "gist", "css", "html", "themes", "emoji"] categories: ["themes", "syntax"] series: ["Themes Guide"] FAtags: ["markdown", "css", "html", "themes"] FAcategories: ["themes", "syntax"] FAseries: ["Themes Guide"] aliases: ["migrate-from-jekyl"] cover: image: images/msg.png caption: "Generated using [OG Image Playground by Vercel](https://og-playground.vercel.app/)" social: fediverse_creator: "@[email protected]" math: true weight: 2 ShowToc: true TocOpen: true ShowBreadCrumbs: false --- Inline Code This is Inline Code Only pre This is pre text Code block with backticks <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Example HTML5 Document</title> <meta name="description" content="Sample article showcasing basic Markdown syntax and formatting for HTML elements." /> </head> <body> <p>Test</p> </body> </html> Code block with backticks and language specified <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Example HTML5 Document</title> <meta name="description" content="Sample article showcasing basic Markdown syntax and formatting for HTML elements." /> </head> <body> <p>Test</p> </body> </html> Code block with backticks and language specified with line numbers 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Example HTML5 Document</title> <meta name="description" content="Sample article showcasing basic Markdown syntax and formatting for HTML elements." /> </head> <body> <p>Test</p> </body> </html> Code block with line numbers and highlighted lines PaperMod supports linenos=true or linenos=table 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Example HTML5 Document</title> <meta name="description" content="Sample article showcasing basic Markdown syntax and formatting for HTML elements." /> </head> <body> <p>Test</p> </body> </html> With linenos=inline line might not get highlighted properly. This issue is fixed with 045c084 1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8" /> 5 <title>Example HTML5 Document</title> 6 <meta 7 name="description" 8 content="Sample article showcasing basic Markdown syntax and formatting for HTML elements." 9 /> 10 </head> 11 <body> 12 <p>Test</p> 13 </body> 14</html> Code block indented with four spaces <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Example HTML5 Document</title> </head> <body> <p>Test</p> </body> </html> Code block with Hugo’s internal highlight shortcode <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Example HTML5 Document</title> </head> <body> <p>Test</p> </body> </html> Github Gist https://gohugo.io/shortcodes/gist/ To display a specific file within the gist: Emoji Emoji can be enabled in a Hugo project in a number of ways. ...

May 21, 2025 Ā· 6 min Ā· Chris Achinga

Moving to My Own Site

i put a pause on writing technical articles. mainly because the platforms i love have become a hustle to use and they don’t make it easier for people not registered on those platforms to read content. i’m trying out some static site generators, would love to have content publicly accessible without any unnecessary stuff i put a pause on writing technical articles. mainly because the platforms i love have become a hustle to use and they don't make it easier for people not registered on those platforms to read content. i'm trying out some static site generators, would love to have content… — šŸ‰ (@achinga_chris) May 18, 2025 ...

May 19, 2025 Ā· 1 min Ā· Chris Achinga

Become a Good Attendee and Listener at Developer Meetups and Tech Conferences

There’s no shortage of advice on how to deliver amazing talks or workshops at tech conferences, not to mention tips for preparing killer proposals and navigating the call for speakers. But what about attendees? Sure, there are guides on becoming a good listener or an engaged participant, but this piece is different. This is about my experience and what makes a great attendee and listener. Organizers & Speaker’s Sweat: A Behind-the-Scenes Look Before we dive into how to be a top-tier attendee, let’s take a moment to appreciate the efforts it takes to organize a tech event or deliver a talk. ...

December 12, 2024 Ā· 5 min Ā· Chris Achinga

DjangoCon Africa 2023, Almost a Year Later …

The Announcement I only saw Django Conferences happening in European and American countries. From the content and updates shared on X and by speakers/attendees, I realized that these events had serious content to share. I envied that. This right here, the X(tweet šŸ˜‚) on May 10th. Hello World šŸ‘‹šŸ¼ We are more than excited to announce the first-ever DjangoCon event in Africa. It will take place this year in Zanzibar, Tanzania, from 6th - 11th November 2023! Please visit https://t.co/qC69TfKnPt to learn more! 1/3 🧵#djangoconAfrica #djcafrica #djangocon pic.twitter.com/gypAJD07hX ...

July 10, 2024 Ā· 4 min Ā· Chris Achinga

Before starting React, I think you should ...

React is a front-end JavaScript library. So you probably want to know the basics of JavaScript before diving into react, otherwise you will end up having a rough journey which isn’t good for your productivity. I wouldn’t advice you to fully rely on my article, I had a quite rough journey and after I finally understood React, I better document it for a future me. In this article, I’ll highlight the essentials and most important things to learn and provide a link to the resources as we gear up to creating your first React application. ...

June 9, 2024 Ā· 2 min Ā· Chris Achinga

Deploying A React app on GitHub Pages

GitHub offers more than just a host for your code. In this short tutorial, I will walk you through deploying a static react app/project on GitHub Pages. I will be using one of my React projects from GitHub: %[https://github.com/achingachris/myRepos] A programmer’s learning tool is by practicing –I said that… Let’s Get Started: This tutorial assumes you already have your react project setup and ready to deploy Step 1: Install the Dependencies (gh-pages): I use npm for my projects, so while in your project root directory, open the project on your terminal or cmd (windows). ...

June 9, 2024 Ā· 1 min Ā· Chris Achinga

Git and GitHub SSH Configuration

Installing git Install git from here Choose a selection based on your operating system. For Linux and Ubuntu OS, you may use this alternative: Open your terminal and paste the command below: sudo apt-get install git Ensure you have a GitHub account. If not, create one here Join GitHub. First of all, we’ll configure your details to git. ā€œAssuming your GitHub username is DevAcc, and the email used on GitHub is [email protected]ā€ On your terminal, use the following commands: ...

June 9, 2024 Ā· 2 min Ā· Chris Achinga

GitHub Students Developer Pack

Access the best real-world tools, learning events, and training to shape the next generation of software development, using student benefits from GitHub Education GitHub Education helps students, teachers, and schools access the tools and events they need to shape the next generation of software development. %[https://education.github.com/] Well as a student whose goal/dreams or maybe ambitions are to prosper in the developer zone, GitHub Education offers the bridge to your success using the GitHub Student Developer Pack. Really cool tools available for free of course. ...

June 9, 2024 Ā· 6 min Ā· Chris Achinga

The GitHub CLI (gh repo clone)

The GitHub CLI (gh repo clone) GitHub CLI beta version was released a while ago, and it comes with really cool features. I have been using and interacting with GitHub without necessarily visiting the website, that’s fun right. An alternative to using GitHub CLI is HUB, which was there before GitHub cli was introduced. GitHub CLI is an open-source project, here on GitHub. I had an article before on using GitHub CLI and its commands, so this is kind of like an update because the cli is up on version 1.x.x right now, better to stay on the know/updated. To get the latest releases of the cli https://github.com/cli/cli/releases ...

June 9, 2024 Ā· 2 min Ā· Chris Achinga

Using Github's CLI on Ubuntu & Commands.

gh cli web Working with GitHub has never been boring, as a matter of fact, it’s the best part of the development process on my side. As usual, we use git and other distributed version control systems like Mercurial and many more. I have been using the GitHub cli since February this year, and it is great. So let me show you how I got to use it. I’m on Ubuntu by the way. But I guess the process is the same on other OS, I’ll check it out. ...

June 9, 2024 Ā· 2 min Ā· Chris Achinga

Using Netlify Forms

It’s normal to have a back-end on your website for your forms to be functional. Say no More! Netlify offers hosting to static websites and serverless technologies, and it comes with super great features including form handling without a back-end. Let’s build a form with Netlify: What you will need: Netlify account GitHub account First off let’s start with a simple html form: Create a new html file and paste the snippet below: ...

June 9, 2024 Ā· 1 min Ā· Chris Achinga