Blog
Integrating an Astro blog with Polar.sh
A seamless writing experience for open-source developers
![](/_vercel/image?url=_astro%2Fastronaut-toys.3gUgGVFa.jpg&w=640&q=100)
Is Python the new JavaScript?
Writing the world's software in Python
![](/_vercel/image?url=_astro%2Fsnake-with-laptop.PVqhgmpv.webp&w=640&q=100)
Keep logic in your database
Sometimes
![](/_vercel/image?url=_astro%2Fhard-disk.kWi62r7Q.jpg&w=640&q=100)
4 ways to create enums in Go
And when to use which
![](/_vercel/image?url=_astro%2Frecord-shop.xS5syMgr.jpg&w=640&q=100)
1000 words a day
A challenge and a commitment
![](/_vercel/image?url=_astro%2Ftypewriter.W5Gu-fmB.jpg&w=640&q=100)
Saving CI minutes when using Graphite
Keep money in your wallet when adopting stacked PRs
![](/_vercel/image?url=_astro%2Fpancake-stack.4lAY3ovu.jpg&w=640&q=100)
Supabase E2E Testing Made Easy With Supawright
Finally, some peace of mind.
![](/_vercel/image?url=_astro%2Fimage-0.Af9C6ybR.jpg&w=640&q=100)
PostgreSQL RLS Policies — A Friendly Introduction
Securing your application: database style
![](/_vercel/image?url=_astro%2Fimage-0.TMFIoorP.jpg&w=640&q=100)
How to Make Your Python Packages Really Fast with Rust
Goodbye, slow code
![](/_vercel/image?url=_astro%2Fimage-0.CkBOU1YO.jpg&w=640&q=100)
🎯 How to Set and Achieve Financial Goals
Build a bright financial future.
![](/_vercel/image?url=_astro%2Fimage-0.vBXn3_4f.jpg&w=640&q=100)
💰 5 Reasons Why It’s Important to Save Money
And 5 tips on how to do it right.
![](/_vercel/image?url=_astro%2Fimage-0.HkaTDuBH.jpg&w=640&q=100)
Python: To OOP or to FP?
That is the question
![](/_vercel/image?url=_astro%2Fimage-0.4zREd_Cx.jpg&w=640&q=100)
Why Every Software Engineer Should Learn SQL
Speed up your programs by properly utilising your database
![](/_vercel/image?url=_astro%2Fimage-0.vuInUfmH.jpg&w=640&q=100)
4 Things You Can Do to Save the Environment Without Leaving Your Desk
Heal the planet from home.
![](/_vercel/image?url=_astro%2Fimage-0.rWEC21bR.jpg&w=640&q=100)
Notes on a Burning Kingdom
A few thoughts on how the UK could better tackle the climate catastrophe.
![](/_vercel/image?url=_astro%2Fimage-0.tzRrKrvN.jpg&w=640&q=100)
Simplifying Dagster Codebases with Dagstd
Boilerplate no more.
![](/_vercel/image?url=_astro%2Fimage-0.06y4jQz4.jpg&w=640&q=100)
The ZSA Moonlander in 1525 Words
A new way of writing?
![](/_vercel/image?url=_astro%2Fimage-0.PJpdOsU5.jpg&w=640&q=100)
Run Airbyte Syncs On A Custom Schedule With Crontab And HTTP Requests
Leverage Airbyte’s simple REST API for complex configuration
![](/_vercel/image?url=_astro%2Fimage-0.yBKroBlX.jpg&w=640&q=100)
Start Your Investing Journey in 4 Easy Steps
An overview of investing strategies and trading platforms for beginners.
![](/_vercel/image?url=_astro%2Fimage-0.AC98EYq5.jpg&w=640&q=100)
5 Simple Ways to Improve Your Credit Score as a Student
From admin tasks to credit cards.
![](/_vercel/image?url=_astro%2Fimage-0.HxhraoAc.jpg&w=640&q=100)
How I Invest My Money as a 20-Year-Old University Student Living In London
And no, it's not daddy’s money.
![](/_vercel/image?url=_astro%2Fimage-0.A2q6gGgt.jpg&w=640&q=100)
The Google Pixel 6 Pro in 915 Words
A positive deviation from the Pixel line-up.
![](/_vercel/image?url=_astro%2Fimage-0.Cg1RmO1M.jpg&w=640&q=100)
Parsing QIF Files to Retrieve Financial Data with Python
A Basic Overview of the Quiffen Package and Why It’s So Useful
![](/_vercel/image?url=_astro%2Fimage-0.FOyfjd6U.jpg&w=640&q=100)
(Legally) Exploiting Bookmaker Differences for Profit with Selenium and Pandas
Never lose a bet again by leveraging simple maths and web scraping.
![](/_vercel/image?url=_astro%2Fimage-0.BwxxWfXW.jpg&w=640&q=100)
Beating Monzo Plus with Python and Pandas
How I used programming to outdo the rising star of British banks
![](/_vercel/image?url=_astro%2Fimage-0.Pf2uq-o-.jpg&w=640&q=100)