Fredrik Sjöstrand @fronkan.bsky.social · 01/05/2026Obsidian for markdown and support for mermaid together with a coding agent has been absolutely wonderful for creating timeplans. The agent pulling data from multiple excel files and creating a unified plan. Also having it update the mermaid Gant charts as people fire off new things in meetings 000
Fredrik Sjöstrand @fronkan.bsky.social · 07/10/2025While 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!pythonbytes.fm 010
Fredrik Sjöstrand @fronkan.bsky.social · 07/10/2025Testionary (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.comGitHub - Fronkan/testionary: Inspectable dictionaries for testing in PythonInspectable dictionaries for testing in Python. Contribute to Fronkan/testionary development by creating an account on GitHub. 000
Fredrik Sjöstrand @fronkan.bsky.social · 18/06/2025I 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? 010
Fredrik Sjöstrand @fronkan.bsky.social · 03/06/2025Here is an image of the editor I live coded in 7 minutes using #textual with it's own source code open. 010
Fredrik Sjöstrand @fronkan.bsky.social · 03/06/2025A 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 000
Fredrik Sjöstrand @fronkan.bsky.social · 03/06/2025While 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. 100
Fredrik Sjöstrand @fronkan.bsky.social · 31/05/2025Passing 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-....fronkan.hashnode.dev 041
Fredrik Sjöstrand @fronkan.bsky.social · 28/05/2025Thanks 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 applicationswillmcgugan.github.ioWhat’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... 2123
Fredrik Sjöstrand @fronkan.bsky.social · 07/05/2025When writing elixir, it still feels strange to code without for loops 000
Fredrik Sjöstrand @fronkan.bsky.social · 01/05/2025Seeing 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 🥳peps.python.orgPEP 735 – Dependency Groups in pyproject.toml | peps.python.orgThis 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. 000
Fredrik Sjöstrand @fronkan.bsky.social · 25/04/2025I 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. 030
Fredrik Sjöstrand @fronkan.bsky.social · 02/04/2025With 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?...youtu.beMan Survives 100 Days With Titanium Heart TransplantYouTube video by ColdFusion 010
Fredrik Sjöstrand @fronkan.bsky.social · 01/04/2025After 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.pod.linkDeveloper VoicesDeep-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... 010
Fredrik Sjöstrand @fronkan.bsky.social · 28/03/2025Tried 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 000
Fredrik Sjöstrand @fronkan.bsky.social · 21/03/2025Beside 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 ¯\_(ツ)_/¯ 000
Fredrik Sjöstrand @fronkan.bsky.social · 20/03/2025I am very annoyed by LLMs highjacking the term AI 000
Fredrik Sjöstrand @fronkan.bsky.social · 15/03/2025Been vim-curios for a while. Seems like #neovim with Kickstart(github.com/nvim-lua/kic...) is what I needed to get going😁github.comGitHub - nvim-lua/kickstart.nvim: A launch point for your personal nvim configurationA launch point for your personal nvim configuration - nvim-lua/kickstart.nvim 000
Fredrik Sjöstrand @fronkan.bsky.social · 14/03/2025"follow and pin" might be the bluesky equivalent of YouTubes "subscribe and ring the bell". Likeing it will put it in your liked list, but if really want to see it you should pin it as well. 000
Fredrik Sjöstrand @fronkan.bsky.social · 14/03/2025Not doing much serveless stuff, but it sounds interesting. I have been playing around with duckdb for some larger than memory data and it's been pretty great. Was running queries over piles of parquet files 😁 020
Fredrik Sjöstrand @fronkan.bsky.social · 14/03/2025I checked out the repo and I would say that pyproject.toml or setup.cfg is the preferred way to configure setuptools now a days. Generally, using static information instead of a build script makes packages safer and more easily introspected. Personaly, I prefer pyproject.toml as it's standardized 110
Fredrik Sjöstrand @fronkan.bsky.social · 14/03/2025I would for example use `pyproject.toml` for the package information rather than `setup.cfg` and defently avoid `setup.py`. `setup.py` is powerful but we try to use static information now a days. Pyproject.toml is the latest and most standardised way, making it easier to try other build systems. 000
Fredrik Sjöstrand @fronkan.bsky.social · 14/03/2025Now a day's we have a lot of options for building packages, but, for a long time setuptools was more or less the only option. It's been around for a long time and things has changed quite a bit during that time. So if you use it, just make sure to see what current practice is. 100
Fredrik Sjöstrand @fronkan.bsky.social · 13/03/2025Built a few packages using setuptools but never published anything to pypi. Just company internal stuff. I don't know how uv shakes things up but, previously I have heard good things about flit (flit.pypa.io/en/latest/in...) for pure python packages.flit.pypa.ioFlit 3.11.0 — Flit 3.11.0 documentation 100
Reposted by Fredrik SjöstrandMike Ginn @shutupmikeginn.bsky.social · 08/03/2025its 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 126187644575
Reposted by Fredrik SjöstrandSavannah Ostrowski @savannah.dev · 09/03/2025🐍 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 👇 54413
Reposted by Fredrik Sjöstrandpytest.org @pytest.org · 23/02/2025Hi 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 51412
Fredrik Sjöstrand @fronkan.bsky.social · 21/02/2025Python is a "language for consenting adults". We tell you with a single leading underscore that you shouldn't touch it and trust that you understand the implied risk of using it. 000
Fredrik Sjöstrand @fronkan.bsky.social · 21/02/2025The leading double underscore will cause name mangling, a feature that is nice for avoiding naming conflicts when doing inheritance. In practice I very rarely see this used. It's slightly more annoying to get to because of it but it's not private in any strict sense. 100
Fredrik Sjöstrand @fronkan.bsky.social · 21/02/2025Came 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 🤔 100
Fredrik Sjöstrand @fronkan.bsky.social · 21/02/2025I 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 🧑🏼💻 000
Fredrik Sjöstrand @fronkan.bsky.social · 07/01/2025Day 1 of parental leave and things are going very well. First time having her in the stroller while shoveling snow and it went flawlessly 😄 And with a path cleared, we could take a walk with the stroller for the afternoon nap 😴 010
Fredrik Sjöstrand @fronkan.bsky.social · 04/01/2025This is probably a pretty good tip for me 😅 Although I don't have nearly as much time to write nowadays, that draft folder has been growing. And published content sort of hasn't 000
Fredrik Sjöstrand @fronkan.bsky.social · 19/12/2024It feels quite strange to have only two days of work, this being the last at the office, left before my 7 month parental leave. I also realised I haven't been away from work or education longer than like 2 months since I was 6 🫢 000
Fredrik Sjöstrand @fronkan.bsky.social · 12/12/2024I really enjoy hacking together small automation tools for non-programers that solves some annoying problem 👨🏼💻 000
Fredrik Sjöstrand @fronkan.bsky.social · 07/12/2024I don't know if it's by coincidence or the all-knowingness of the algorithm. But this video popped up in my feed and I really resonated with it. "Complexity homeostasis" is an interesting idea and feels like a valuable concept youtu.be/czzAVuVz7u4?...youtu.beWhy Can't We Make Simple Software? - Peter van HardenbergYouTube video by Handmade Cities 000
Reposted by Fredrik SjöstrandSeth Larson @sethmlarson.dev · 06/12/2024Legitimate supply-chain attack affecting Python package "Ultralytics" abused multiple levels of GitHub Actions shell injection vulnerabilities in workflows to publish malware to PyPI. 4177
Fredrik Sjöstrand @fronkan.bsky.social · 05/12/2024I felt like I was guided through todays #adventofcode. From the start I knew what bart 2 would be, but the problem felt difficult. So I focused on doing that part and when I came to the second part I could see the solution very clearly. Just build out from the checking code and problem solved 😊 010
Fredrik Sjöstrand @fronkan.bsky.social · 04/12/2024Well, then I should write up the correct way to use the recursive operator in yq to replace values in nested YAML. Because it got it wrong and it would be nice if it gets it right when I, inevitably, have to ask it again 😅 010
Fredrik Sjöstrand @fronkan.bsky.social · 02/12/2024Although, it was for sure the wrong move in this case 😅 Breaking it out, for sure was the correct abstraction and I knew it. I just thought it would be fine 😛 010
Fredrik Sjöstrand @fronkan.bsky.social · 02/12/2024I just want to add that this doesn't make me a die hard fan of DRY (Don't repeat yourself). While generally pretty good advice, it can also lead to you implementing the wrong abstractions. This often manifest in functions with different modalities. I personally like WET (Write everything twice) 110
Fredrik Sjöstrand @fronkan.bsky.social · 02/12/2024Me in the middle of solving #adventofcode: "I will just copy-paste and change this code, that will be much quicker" Me when debugging my solution: "Damn it, I missed to fix this in both places" 010
Fredrik Sjöstrand @fronkan.bsky.social · 02/12/2024Accidentally woke up early today, so 2/2 days on #adventofcode. This is going way better than expected 😁 020