Reader
Latest posts from blogs I follow
-
-
Building pathological input for Java HashMaps - hash collisions generator(opens in new tab)
I recently stumbled upon an article about the Weierstrass Function, which led me to another article about Pathological Objects in mathematics—meaning functions, numbers, etc., that have deviant, irregular, or counterintuitive properties. There was a time when even the introduction of ...
-
193: The Good Research Code Handbook - Patrick Mineault(opens in new tab)
I don't think it's too much of a stretch to say that software is part of most scientific research now. From astronomy, to neuroscience, to chemistry, to climate models. If you work in research that hasn't been affected by software ...
-
The computer is the network - 123dev #87(opens in new tab)
Latency, bandwidth, and wires
-
Devops vs SRE(opens in new tab)
Should you be doing Devops or SRE? The answer is yes!
-
-
Measure What You Impact, Not What You Influence(opens in new tab)
When implementing performance fixes, it’s imperative that you measure the right thing—but what is ‘right’?
-
Folk Interfaces(opens in new tab)
People reappropriating existing software to solve their own unique problems
-
Full-height Github "checks" box in Firefox(opens in new tab)
The scrolling checks box on Github really irritates me. Follow these instructions to make it full height on Firefox. 1. Take this CSS: .branch-action-item.open > .merge-status-list-wrapper > .merge-status-list, .branch-action-item.open > .merge-status-list { max-height: fit-content !important; } 2. Tell Firefox to ...
-
Effective Github Notifications(opens in new tab)
Github notifications can be overwhelming, but with effective email filtering they can be turned from an encumbrance to being highly valuable. Here’s some filters to get you started (in Mail.app on a mac) to make them more useful. Luckily Github ...
-
You Should Be Using Python's Walrus Operator - Here's Why(opens in new tab)
The assignment operator - or "walrus operator" as we all know it - is a feature that's been in Python for a while now (since 3.8), yet it's still somewhat controversial and many people have unfounded hate for it. In ...
-
192: Learn to code through game development with PursuedPyBear - Piper Thunstrom(opens in new tab)
The first game I remember coding, or at least copying from a magazine, was in Basic. It was Lunar Lander. Learning to code a game is a way that a lot of people get started and excited about programming. Of ...
-
-
Recipes and Tricks for Effective Structural Pattern Matching in Python(opens in new tab)
The `match`/`case` syntax that got introduced to Python in 3.10 looks like basic `switch` statement which we all know from other languages - in Python however - it's much more than just an alternative `if` syntax. So, let's explore advanced ...
-
-
Recursive Optional Dependencies in Python(opens in new tab)
One of my (slowly evaporating) reasons why I like putting packaging metadata into an executable setup.py is the ability to have optional dependencies that are combinations of others. As of pip 21.2, this is possible without running code.
-
-
It's Time to Say Goodbye to These Python Libraries(opens in new tab)
With every Python release, there are new modules being added and new and better ways of doing things get introduced. We all get used to using the good old Python libraries, but it's time say goodbye to `os.path`, `random`, `pytz`, ...
-
Why We Sleep - Summary, Review & Thoughts(opens in new tab)
We spend 1/3rd of our life sleeping. But why do we sleep? We don't live in a sleep loss epidemic?
-
Joining Ought(opens in new tab)
A new role at an AI research lab working on tools for open-ended reasoning
-
Advanced Features of Kubernetes' Horizontal Pod Autoscaler(opens in new tab)
Scaling application on Kubernetes using _Horizontal Pod Autoscaler (HPA)_ based on their CPU or memory usage is pretty simple. There are however many more features of HPA that you can use to customize scaling behaviour of your applications using external/custom ...
-
191: Running your own site for fun and absolutely no profit whatsoever - Brian Wisti(opens in new tab)
Having a personal site is a great playground for learning tons of skills. Brian Wisti discusses the benefits of running a his own blog over the years.Links:Random GeekeryJamstackEleventyNetlifyPlausible AnalyticspytestBeautiful Souppyinvoke - Invoke!rsyncInternet Archive : archive.orgRichStatamicjamstack.orgA static site generator should be ...
-
-
190: Testing PyPy - Carl Friedrich Bolz-Tereick(opens in new tab)
PyPy is a fast, compliant alternative implementation of Python. cPython is implemented in C. PyPy is implemented in Python. What does that mean? And how do you test something as huge as an alternative implementation of Python?Special Guest: Carl Friedrich ...
-
“Don’t Mock What You Don’t Own” in 5 Minutes(opens in new tab)
A common issue when writing tests for real-world software is how to deal with third-party dependencies. Let’s examine an old, but counter-intuitive principle.
-
Data and System Visualization Tools That Will Boost Your Productivity(opens in new tab)
As files, datasets and configurations grow, it gets increasingly difficult to navigate them. There are however many tools out there, that can help you to be more productive when dealing with large JSON and YAML files, complicated regular expressions, confusing ...
-
189: attrs and dataclasses - Hynek Schlawack(opens in new tab)
In Python, before dataclasses, we had attrs. Before attrs, it wasn't pretty.The story of attrs and dataclasses is actually intertwined. They've built on each other. And in the middle of it all, Hynek.Hynek joins the show today to discuss some ...
-
Stop Messing with Kubernetes Finalizers(opens in new tab)
We've all been there - it's frustrating seeing deletion of Kubernetes resource getting stuck, hang or take a very long time. You might have _"solved"_ this using the terrible advice of removing finalizers or running `kubectl delete ... --force --grace-period=0` ...
-
The Block-Paved Path to Structured Data(opens in new tab)
How block-based interfaces can help us create more structured data on the web
-
Automate All the Boring Kubernetes Operations with Python(opens in new tab)
In this article we take look at how you can leverage Kubernetes Python Client library to automate whatever annoying Kubernetes task you might be dealing with, whether it's creating/patching resources, watching events, accessing containers or anything else.
-
188: Python's Rich, Textual, and Textualize - Innovating the CLI(opens in new tab)
Will McGugan has brought a lot of color to CLIs within Python due to Rich. Then Textual started rethinking full command line applications, including layout with CSS. And now Textualize, a new startup, is bringing CLI apps to the web.Links:richrich-clitextualTextualize.ioRich ...
-
PSA: Cannot open Credentials Manager(opens in new tab)
I blew several INCREDIBLY frustrating hours trying to troubleshoot issues installing Google Workspace Sync and Microsoft Office 365 on multiple Windows 10 workstations today. Searching for “failed to create profile” errors when setting up a Google Workspace Sync user for ...
-
Daily Notes Pages(opens in new tab)
Daily notes as a frictionless default input for personal knowledge management systems
-
End-to-End Monitoring with Grafana Cloud with Minimal Effort(opens in new tab)
Monitoring is usually at the end of a checklist when building an application, yet it's crucial for making sure that it's running smoothly and that any problems are found and resolved quickly. Building complete monitoring - including aggregated logging, metrics, ...
-
4 integers are enough to write a Snake Game(opens in new tab)
… actually you can use only 2, but this will make your life a little more miserable. Contents Introduction The code The memory layout map vars shape The game loop The function that moves the snake: The function that displays ...
-
Goodbye, Google Analytics - Why and How You Should Leave The Platform(opens in new tab)
With the recent events relating to _Google Analytics_ platform, it's becoming very clear that the time has come for many of us to migrate from Google Analytics to different platforms. In this article we will go over both the _"Why?"_, ...
-
A blog that is a single executable binary(opens in new tab)
Contents Introduction The code Running the sample blog Adding a new blog post to the sample blog How everything works The model and a neat pre-processor trick The server Conclusions Discussion Introduction Recently, while browsing lobste.rs, I had the chance ...
-
Python f-strings Are More Powerful Than You Might Think(opens in new tab)
Formatted string literals - also called _f-strings_ - have been around since Python 3.6, so we all know what they are and how to use them. There are however some facts and handy features of f-string that you might not ...
-
A Picture Worth a Thousand Programmes(opens in new tab)
Bringing visual explanations and embodied knowledge to programming tools
-
I've promised myself never to use gradle(opens in new tab)
The current article won’t be an exhaustive technical analysis of Gradle but more like a spontaneous rant. Firstly, the time I am willing to allocate to learning a build tool will always be strictly limited. Secondly, I try to be ...
-
Optimising Largest Contentful Paint(opens in new tab)
Let’s look at some more technical and non-obvious aspects of optimising Largest Contentful Paint
-
Programmable Notes(opens in new tab)
Agent-based note-taking systems that can prompt and facilitate custom workflows
-
Ultimate CI Pipeline for All of Your Python Projects(opens in new tab)
Every project can benefit from a robust continuous integration pipeline that builds your application, runs tests, lints code, verifies code quality, runs vulnerability analysis and more. However, building such pipeline takes a significant amount of time, which doesn't really provide ...
-
Hash, displace, and compress: Perfect hashing with Java(opens in new tab)
This article explains a straightforward approach for generating Perfect Hash Functions, and using them in tandem with a Map implementation called ReadOnlyMap. It assumes the reader is already familiar with concepts like hash functions and hash tables. If you want ...
-
On implementing Bloom Filters in C(opens in new tab)
This article assumes the reader is already familiar with the C programming language and some basic concepts concerning hash functions. The target audience (as is often the case on my blog) is undergrad CS students or seasoned developers who, just ...
-
-
Optimizing Memory Usage in Python Applications(opens in new tab)
When it comes to performance optimization, people usually focus only on speed and CPU usage. Rarely is anyone concerned with memory consumption, well, until they run out of RAM. There are many reasons to try to limit memory usage, not ...
-
-
Upcoming Python Features Brought to You by Python Enhancement Proposals(opens in new tab)
Before any new feature, change or improvement makes it into Python, there needs to be a _Python Enhancement Proposal_, also knows as PEP, outlining the proposed change. These PEPs are a great way of getting the freshest info about what ...
-