Kelvin Wangonya — writing about software, life, and whatever else
Senior Data Engineer at Jenga
- An album for every year of my life
- Handling missing dict keys, revisited
- On Disabling Javascript
- Handling NULL values for "not equal" checks in SQL
- Be careful with join type typos
- with statements don't create scope
- Spotify Cleaner
- man pages have sections!
- Learning touch typing
- On embracing asynchronous communication
- Pydantic validators don't raise validation errors immediately
- Trying out Ubuntu 23.04
- Python __slots__
- Incron
- Taking notes
- Adding anything to i3blocks
- mysql-dump specific tables
- Grokking algorithms notes
- Checking string contains substring
- Handling missing dict keys
- Kadane's algorithm
- Running multiple programs in parallel from a bash script
- Processing iterators in parallel
- Getting the Python version at runtime
- You can use your database as a simple calculator
- Setting up PostgreSQL on Arch Linux
- Setting up MariaDB on Arch Linux
- Getting the running Go version
- Writing DRYer tests using pytest parametrize
- What happens when you run PSQL slash commands?
- Working with celery signals
- Shallow & deep copying in Python
- Variables & mutability in Rust
- When to use Python's enumerate() instead of range() in loops
- difflib - finding close matches of strings from a list
- HTML to JSX compiler
- Python 'is' vs '=='
- Making your SMART goals smarter with stretch goals
- Automatically counting and numbering HTML elements with CSS counters
- Publishing your Python packages on TestPyPi before publishing on PyPi
- Testing Click applications with pytest
- Performing CRUD operations with a CLI app using Firebase
- Prompting users for input
- Adding arguments to CLI commands
- Adding options to CLI commands
- Using setuptools to package your Python app
- Setting up your Python environment for Click
- Fibonacci sequence with Python recursion and memoization
- Creating a simple ToDo API with Django
- Caring for your health as a developer
- Lexical variable scoping with Javascript
- Javascript arithmetic cheat sheet
- Difference between a Python module and a package
- Displaying a css spinner on ajax calls with fetch api
- Skipping tests
- Capturing print statements while debugging
- Asserting exceptions with pytest
- Getting started with pytest
- Python's heapq module
- Sorting algorithms with Javascript (Part 2)
- Sorting algorithms with Javascript (Part 1)
- Javascript lookaheads and lookbehinds
- Javascript array iteration with some() and every()
- 'this' and arrow functions
- Finding an element in the array (the ES5, ES6 and ES7 way)