🖖🏿 May the Forth be with You!
- I write about making stuff with code.
- Total Articles: 83
🖖🏿 May the Forth be with You!
Disclaimer: Written by Chris, Editted and Audited by Gemini Mastering the Art of the Professional Email: A Step-by-Step Guide In the modern workplace, your email etiquette is often the first impression you make. A well-crafted email commands respect, avoids confusion, and gets results. A poorly written one leads to misunderstandings, wasted time, or worse—it gets ignored completely. Whether you are emailing a colleague, a client, or a prospective employer, following a standard structure ensures your message is received exactly as you intend. Here is your guide to writing professional, standard emails every time. ...
I had my reasons when I wanted to self-host my technical articles. I just didn’t like the constraints most blogging platforms would put on users before they could actually read my content. One thing I hadn’t figured out was the SEO and the performance of my posts and site. I used to get some paid articles to post on my blogs, and those two factors were a major selling point. ...
This is a talk I gave at DevFest Mt.Kenya, in November, 2025. AI Ethics in Africa: Building for Communities, Not Just Corporations — DevFest Mt. Kenya Region What Do I Feel? Ever seen a really good ad, could be about a music video that’s really cool, or maybe an application that helps you do some cool shit, then when you click on the link, you get that annoying message: “Not available in Your Country”, that’s exactly how I feel about most of these AI things that are happening. ...
this might be too early for a 2025 year review, but thankfully, this isn’t a technical one, so i can just do it whenever i feel like. What’s Up? i’m not sure if it’s imposter syndrome, blockers, or just that phase where you feel like no matter what effort you put in, things don’t work out as planned. not really sure how to classify that. but hey, i’m alive, that’s all that matters, right. ...
TL;DR Please join our Mombasa, Kenya chapter of Ubuntu LoCos (we are planning for an Extended Ubuntu Summit, 2025): https://launchpad.net/~ubuntu-mombasa I had no idea that Ubuntu (from Canonical) had such a community! I only learnt about that during DjangoCon Africa x UbuCon Africa. It was from a great and an inspiring talk by Sebastian Trzcinski-Clément, From Einstein to monkeys: learnings for successful leaders. Ooh, and btw, Sebastian had an amazing and very engaging session that made me think about something … (well, not a billion-dollar idea). It sparked a great reflection on how developer communities are run and all that! ...
Article Banner — This image is AI generated, looks great right! I suck at Canva (imagine that) The ideal topic would have been: The Secret Life of ChatGPT: What 700 Million Users Reveal About AI but that feels too “AI” generated. (another but …) but first Nerds for Stats Category Statistic Adoption 700M weekly active users (WAU) by July 2025 (~10% of world’s adult population) Message Volume 18B messages per week (~2.5B per day) by July 2025 Growth Factor 5× increase in daily messages between Jul 2024 and Jul 2025 Work vs Non-Work (Jun 2024) 238M non-work (53%), 213M work (47%) per day Work vs Non-Work (Jun 2025) 1.91B non-work (73%), 716M work (27%) per day Main Usage Categories Practical Guidance, Seeking Information, Writing = ~80% of all conversations Writing Use 40% of work-related messages; ⅔ editing/critique/translation vs ⅓ generating new text Tutoring/Education ~10% of all messages Programming 4.2% of all messages (contrast: ~33% of Claude’s work-related conversations) Relationships/Companionship 1.9% (personal reflection), 0.4% (games/role play) Interaction Types Asking = 49%, Doing = 40%, Expressing = 11% Work-Specific Breakdown 56% of work-related = Doing; ~75% of those are Writing tasks Work Activities (O*NET) 81% of work use = (1) getting/interpreting info, (2) making decisions/solving problems/creative thinking Demographics – Gender Early (2022): ~80% male names. By Jun 2025: 48% male, slight female majority Demographics – Age ~50% of all messages from users <26 years old Geography Faster growth in low- and middle-income countries Economic Value Estimated consumer surplus ≥ $97B in 2024 (U.S. alone) Oooh and if you hate numbers, I have some good graphs for you … ...
I’ve been working with Green World Campaign Kenya on AIRS—Automated Incentives for Regenerative Stewardship. One recurring challenge: how do you connect real‑world events (like verified land restoration) to smart contracts without rebuilding everything on‑chain? The answer: oracles. What is a blockchain oracle? An oracle connects a blockchain to the outside world. It delivers data or computation results from off‑chain sources (APIs, sensors, other chains) to smart contracts, and can pass on‑chain outcomes back out to external systems. ...
I had some good time playing around with Google’s NotebookLM, and I remembered there’s this project I do with Green World Campaign Kenya, that is somehow really hard to explain to normies(non technical people). So … Here’s something that may help … What is AIRS? The abbreviation? Sure, it’s Automated Incentives for Regenerative Stewardship Now, what really is AIRS? Automated Incentives for Regenerative Stewardship (AIRS) is an initiative that leverages satellite technology, on-ground observations, blockchain, and smart contracts to transparently reward Kenyan farmers for regenerative land stewardship, transforming their environmental achievements into tradeable digital assets. ...
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/ ...
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. ...
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/ ...
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. ...
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 The gist shortcode has been deprecated in Hugo v0.143.0. For GitHub Gists, you can embed them directly using HTML script tags: <script src="https://gist.github.com/user/23932424365401ffa5e9d9810102a477.js"></script> To display a specific file within the gist: <script src="https://gist.github.com/user/23932424365401ffa5e9d9810102a477.js?file=list.html"></script> Note: The gist shortcode is deprecated and will be removed in future Hugo versions. Use the HTML script approach above instead. Emoji Emoji can be enabled in a Hugo project in a number of ways. ...
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 ...
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. ...