Fredrik Sjöstrand
fronkan.bsky.social
Fredrik Sjöstrand
@fronkan.bsky.social
Software engineering, ML and data in general, but python in particular! very occasional blogging at: http://fronkan.hashnode.dev. Storing code at: http://github.com/Fronkan.
While I built multiple applications and packages at home and work, this is the first time I pushed something to pypi!🥳

It was inspired by this episode of @pythonbytes.fm: pythonbytes.fm/episodes/sho...
Where Michael said someone should build a package based on a blog post covered. Well here we go!
October 7, 2025 at 8:22 AM
Testionary (test-dictionary) is a tiny package that provides a dictionary subclass that allow you to track which keys has been accessed and modified.
Available on pypi.org/project/test...

github.com/Fronkan/test...
GitHub - Fronkan/testionary: Inspectable dictionaries for testing in Python
Inspectable dictionaries for testing in Python. Contribute to Fronkan/testionary development by creating an account on GitHub.
github.com
October 7, 2025 at 8:14 AM
I think this is a really good point from @jamellebouie.net. I find outsourcing the formation of my view on a topic to an LLM a scary proposition. This is also why I'm a bit wary around coding assistants. When am I outsourcing so much of my thinking that it impacts my understanding of the problem?
i just find this so bizarre. searching through texts and doing the reading for myself is how i actually think through ideas! trying to put together a sentence is how i figure out what i actually want to say!
Everyone Is Using A.I. for Everything. Is That Bad?
www.nytimes.com
June 18, 2025 at 9:35 AM
Here is an image of the editor I live coded in 7 minutes using #textual with it's own source code open.
June 3, 2025 at 11:47 AM
A post based on a lightning talk I had at work a while ago at this point. I live coded a text editor with syntax highlighting in 7 minutes, using Python and Textual.

fronkan.hashnode.dev/writing-a-te...
fronkan.hashnode.dev
June 2, 2025 at 11:19 PM
While I have published any blog posts in quite a while, I have been drafting a few posts. I hope to start pressing publish a bit more.
June 2, 2025 at 11:16 PM
Passing this note along for others. I wrote down some thoughts on how to write better workarounds through comments and tesring a couple of years ago, fronkan.hashnode.dev/tips-tricks-....
May 31, 2025 at 4:00 PM
Thanks to @willmcgugan.bsky.social and the textualize team for this time. Textual seems to be a TUI library that is second to none, python or otherwise. I'm sad that the company didn't work out, but glad that you gave it a go as textual made me fall in love with the terminal applications
What’s next?
Some years ago I had the opportunity to work fulltime on project of mine. This was at a time where I fully intended to take a year off, but being able to make a living off a project of your own creati...
willmcgugan.github.io
May 28, 2025 at 12:09 AM
Well, maybe it's more the immutability 🤔
When writing elixir, it still feels strange to code without for loops
May 7, 2025 at 5:33 AM
When writing elixir, it still feels strange to code without for loops
May 6, 2025 at 11:10 PM
Seeing PEP-735, Dependency Groups,
included in the latest version pip makes me really happy!
With both uv and pip supporting them I'm pretty sure I can move away completely from requirements.txt 🥳
PEP 735 – Dependency Groups in pyproject.toml | peps.python.org
This PEP specifies a mechanism for storing package requirements in pyproject.toml files such that they are not included in any built distribution of the project.
peps.python.org
May 1, 2025 at 6:19 AM
I would generally agree with this perspective on LLMs. To me the aggressive stance against there usefulness looks more like a counter reaction against the hype. Are they as useful as the hype-side tries to tell you, absolutely not. Are they useless, also no.
There are a lot of critiques of LLMs that I agree with but "they suck and aren't useful" doesn't really hold water.

I understand people not using them because of social, economic, and environmental concerns. And I also understand people using them because they can be very useful.

Thoughts?
April 25, 2025 at 2:44 PM
With everything going on and the virality of bad news it's easy to miss the progress happening. Like a person had a mechanical heart for 100 days as a temporary solution until getting a heart transplant. Even being discharged from hospital during that time 🤯

youtu.be/f7cuOS7nmDY?...
Man Survives 100 Days With Titanium Heart Transplant
YouTube video by ColdFusion
youtu.be
April 2, 2025 at 8:03 AM
😂
BREAKING! Guido van Rossum, the legendary creator of #Python, has officially reinstated himself as Benevolent Dictator for Life (BDFL).

Feat. Guido van Rossum, @pumpichank.bsky.social, @snarky.ca and @mariatta.ca

Stay tuned for the documentary coming this summer!

www.youtube.com/watch?v=wgxB...
BREAKING: Guido van Rossum Returns as Python's BDFL
YouTube video by Honeypot
www.youtube.com
April 1, 2025 at 10:46 PM
After listening to the latest episode of Developer Voices (pod.link/developer-vo...), I installed Nixos in WSL. It looks quite interesting. Also, I love how I can run both ubuntu and Nixos in WSL at the same time.
Developer Voices
Deep-dive discussions with the smartest developers we know, explaining what they're working on, how they're trying to move the industry forward, and what we can learn from them.You might find the solu...
pod.link
April 1, 2025 at 10:42 PM
Tried out asdf yesterday, mainly to manage erlang and elixir. Feels like it would have been nice if plugins could manage build dependencies for you. Copy-pasting the install commands from the readme obviously wasn't hard, but increased the friction slightly
March 28, 2025 at 8:17 AM
Beside the changing table we have a box of baby socks. I found 3 socks, non of which where equal to the others. Looking around I found another one, which obviously didn't match the other 3. I gave up and started on a new pair, guess I will find 5 non-matching socks the next time ¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯
March 21, 2025 at 11:11 AM
I am very annoyed by LLMs highjacking the term AI
March 20, 2025 at 4:51 PM
Been vim-curios for a while. Seems like #neovim with Kickstart(github.com/nvim-lua/kic...) is what I needed to get going😁
GitHub - nvim-lua/kickstart.nvim: A launch point for your personal nvim configuration
A launch point for your personal nvim configuration - nvim-lua/kickstart.nvim
github.com
March 15, 2025 at 10:35 AM
Reposted by Fredrik Sjöstrand
its amazing how chatgpt knows everything about subjects I know nothing about, but is wrong like 40% of the time in things im an expert on. not going to think about this any further
March 8, 2025 at 12:13 AM
Reposted by Fredrik Sjöstrand
🐍 Calling all Python data engineers!

I’m looking to chat with Python developers working in data engineering—whether you’re building pipelines, wrangling data, or just figuring things out as you go.

Details 👇
March 9, 2025 at 1:35 AM
Reposted by Fredrik Sjöstrand
Hi everyone,

Just to announce that the handle bsky.app/profile/nico... is not Bruno, but an impersonator. That account has already been reported.

Bruno can be reached at bsky.app/profile/soli....
bsky.app
February 23, 2025 at 1:45 AM
This is absolutely mind-blowing! 🤯
what do y'all do with your unclosed tabs?

I've been running pong inside all 240 of mine

blog with a bunch of details over here: eieio.games/blog/running...
February 22, 2025 at 7:37 PM
Came across a poll on linked-in on how to create private fields and methods in Python. Almost 50% of the over 1100 respondents picked __my_var.
The technically correct answer of "private, what do you mean private?" didn't exist 🧐 and _my_var, what I believe is industry practice was way lower 🤔
February 21, 2025 at 7:36 AM
I didn't have time to finish advent of code last year, but I have now picked it up again. Its nice to have some coding challenges to think about while on parental leave 🧑🏼‍💻
February 21, 2025 at 7:19 AM