Curated river of news
Reader
Latest posts from blogs I follow
Factory pattern in Python(opens in new tab)
The factory pattern (or factory method pattern) is a creational design pattern which abstracts away the creation of objects via a factory class. This allows us to defer object creation and alter the type of objects created at runtime.
[Newbie Tip] What to do when you 403 during pypi twine upload(opens in new tab)
I'm pretty new to the pypi packaging ecosystem so recently ran into some trouble pushing a python package:
Goodbye etcd, Hello PostgreSQL: Running Kubernetes with an SQL Database(opens in new tab)
etcd is the brain of every Kubernetes cluster, the key-value storage keeping track of all the objects in a cluster. It's intertwined and tightly coupled with Kubernetes, and it might seem like an inseparable part of a cluster, or is ...
In Defence of DOMContentLoaded(opens in new tab)
Is there any reason to still measure the DOMContentLoaded event? Perhaps…
File over app(opens in new tab)
Patterns vs Platforms(opens in new tab)
You don't have to build a platform.
On the question of why?(opens in new tab)
There’s this famous video on YouTube featuring Richard Feynman and a reporter. The reporter asks the physicist: “Why do two magnets repel or attract one another?” Feynman, instead of directly schooling the audience on magnetism, electricity, electromagnetic fields, electrons, ferromagnetic ...
Two Ways to Turbo-Charge tox(opens in new tab)
No, it’s not (just) run-parallel – let’s cut the local tox runtime by 75%!
Squish Meets Structure(opens in new tab)
Designing with Language Models
Remote Interactive Debugging of Python Applications Running in Kubernetes(opens in new tab)
Let's imagine a situation - you have multiple Python applications running on Kubernetes that interact with each other. There's bug that you can't reproduce locally, but it surfaces everytime you hit a particular API endpoint. If only you could attach ...
Golang: Date and Time(opens in new tab)
Introduction In the 28th post of the series, I will be exploring date and time handling in Golang. We will be covering the following topics: Date and Time parsi
Language Model Sketchbook, or Why I Hate Chatbots(opens in new tab)
Sketchy ideas for interfaces that play with the novel capabilities of language models
React Server Components are a bad choice (for shipping)(opens in new tab)
“Making the case that you should not use React Server Components if you want to ship applications quickly. If you want to learn, experiment, or make content, by all means!”
Site-Speed Topography Remapped(opens in new tab)
Revisiting and remapping my Site-Speed Topography technique for assessing web performance at large
A bicycle for the senses(opens in new tab)
Zsh Global Aliases(opens in new tab)
My favorite zsh feature no one uses
The Right Way to Run Shell Commands From Python(opens in new tab)
Python is a popular choice for automating anything and everything, that includes automating system administration tasks or tasks that require running other programs or interacting with operating system. There are however, many ways to achieve this in Python, most of ...
Merge Sort in Python(opens in new tab)
Third in my series of dives into sorting algorithms is merge sort. Please see bubble sort and selection sort for my previous entries.
Disrupting the Hive: The Inevitable Deconstruction of Office Culture(opens in new tab)
Traditional offices are becoming relics. Productivity and comfort redefine the future of work. Embrace remote or risk obsolescence.
June 2023(opens in new tab)
202: Using Towncrier to Keep a Changelog - Hynek Schlawack(opens in new tab)
Hynek joins the show to discuss towncrier. At the top of the towncrier documentation, it says "towncrier is a utility to produce useful, summarized news files (also known as changelogs) for your project."Towncrier is used by "Twisted, pytest, pip, BuildBot, ...
The Command Pattern in Python(opens in new tab)
The Command Pattern is a behavioral pattern that encapsulates a request or operation as an object. This is advantageous when we may want to defer the execution of some piece of code until later or group and pass around batches ...
Document Driven Meetings(opens in new tab)
Amazon, AWS, Twitch.tv, Whole Foods, Woot, and Audible are among the companies that use document driven meetings to plan new products, features, and processes. This is an example PR/FAQ to help you understand the document format. The format is not ...
Fitting two hard drives and an SSD in a Dell OptiPlex 7010 SFF(opens in new tab)
Update! It turns out that this is a Dell OptiPlex 7010 SFF, not a USFF (as advertised by the eBay seller)! A Dell OptiPlex 7010 SFF I recently bought a Dell OptiPlex 7010 Small Form Factor PC from eBay. I ...
201: Avoid merge conflicts on your CHANGELOG with scriv - Ned Batchelder(opens in new tab)
Last week we talked about the importance of keeping a changelog. This week we talk with Ned Batchelder about scriv, a tool to help maintain that changelog.Scriv "is a command-line tool for helping developers maintain useful changelogs. It manages a ...
<code>display: contents</code> considered harmful(opens in new tab)
Selection Sort in Python(opens in new tab)
Second in my series of dives into sorting algorithms is selection sort. After bubble sort, I wanted to pick another fairly basic algorithm to implement and see if I could optimize it a little further.
Am I the only one that thinks that the direction of React is wrong?(opens in new tab)
“Feels like React is playing his own game by his own rules.”
How I do my to-dos(opens in new tab)
200: Keep a CHANGELOG(opens in new tab)
A changelog is a file which contains a curated, chronologically ordered list of notable changes for each version of a project. This episode is about what a changelog is, with an interview with Olivier Lacan, creator of keepachangelog.com. The next ...
Bubble Sort in Python(opens in new tab)
I’ve always been very focused on building and maintaining large web applications and systems, as such I feel like I skipped over some of the basics early on in my career. Due to this and my curiosity as to how ...
Real Multithreading is Coming to Python - Learn How You Can Use It Now(opens in new tab)
Python is 32 years old language, yet it still doesn't have proper, true parallelism/concurrency. This is going to change soon, thanks to introduction of a "Per-Interpreter GIL" (Global Interpreter Lock) which will land in Python 3.12. While release of Python ...
Golang: Random Numbers(opens in new tab)
Introduction In the 27th post of the series, we will be looking into random number generation in golang. We will be exploring how to create a random number, gen
Testing for slow external Javascript files(opens in new tab)
I recently came across an issue where a web page would “hang”. The page was loaded and everything visible, but all javascript functionality such as click handlers were un-responsive. That was until the page had finished loading a minute later ...
199: Is Azure Right for a Side Project? - Pamela Fox(opens in new tab)
For a web side project to go from "working on desktop" to "live in the cloud", one decision that needs to be made is where to host everything. One option is Microsoft Azure. Lots of corporate sites use it. Is ...
Python's Missing Batteries: Essential Libraries You're Missing Out On(opens in new tab)
Python is known to come with "batteries included", thanks to its very extensive standard library, which includes many modules and functions that you would not expect to be there. However, there are many more "essential" Python libraries out there that ...
198: Testing Django Web Applications - Carlton Gibson, Will Vincent(opens in new tab)
Django has some built in ways to test your application. There's also pytest-django and other plugins that help with testing. Carlton Gibson and Will Vincent from the Django Chat Podcast join the show to discuss how to get started testing ...
A home-cooked app for hiring personal caregivers(opens in new tab)
The Expanding Dark Forest and Generative AI(opens in new tab)
An exploration of the problems and possible futures of flooding the web with generative AI content
Running a specific knapsack test set locally(opens in new tab)
Sometimes you have a test order issue CI that you want to debug locally, and to do that you need to only run the tests that knapsack runs in the relevant shard, in the right order. Here’s how to do ...
Tmux has forever changed the way I write code.(opens in new tab)
Not only is tmux my favorite way of managing my workspace, but I can honestly say it's the one piece of software that has had the biggest impact on the way I write code
Mastodon Is Doomed(opens in new tab)
Mastodon won't be the next Twitter, and it's not because of Bluesky. The ideals and execution won't scale.
Subclassing, Composition, Python, and You(opens in new tab)
Ever seen a code base where understanding a simple method meant jumping through tangled class hierarchies? We all have! And while “Favor composition over inheritance!” is almost as old as object-oriented programming, strictly avoiding all types of subclassing leads to ...