Could I Have Some More Friction in My Life, Please?
Writing about the big beautiful mess that is making things for the world wide web.
blog.jim-nielsen.com [1]
Maybe we need a little more friction in the world. More things that merit our time. Less things that donāt.
I can resonate with this post, less friction feels like it leads me to thinking less, having less skin in the game, understanding less, feeling less fulfilled. Vibe coding [2] is a new trend of 2025, it feels like the future, but it does not quite feel like the present yet. Itās riddled with errors and I only get frustrated when it doesnāt work. I like having some friction that leads me to think and pay attention. There might be a future where this is not required for some things like coding up crud apps, but that does not feel like today.
Note
This post is a thought [3]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://blog.jim-nielsen.com/2025/more-friction-please/
[2]: /vibe-coding/
[3]: /thoughts/
Published
All published posts
2493 posts
latest post 2026-05-11
Publishing rhythm
A Gentle Intro to RSS
A guide to RSS for the less tech savvy.
Derek Kedziora Ā· derekkedziora.com [1]
Some of the best things from the old internet are still preserved with RSS. Content is shared via simple files, which means the slow-loading, ad-stuffed and tracker-filled clutter of the modern internet are mostly absent.
There arenāt any algorithms. RSS readers are wonderfully dumb. Thereās no AI sifting through content to find whatever will outrage you the most. You just get new posts and mark them as read. Itās a calmer world.
With RSS I follow lots of people writing about normal people things. People blog about getting back into playing the drums, a fun book they just read, a tough problem theyāre working through and the other day to day things of life. This type of content tends to get buried on social mediaāāāit doesnāt get the clicks and sell ads like fear and outrage do.
I feel like a curmudgeon, but i feel all of these things. I dont think that the new web is completely terrible, what is terrible is that the options of an algorithm ran by companies with differing goals is seemingly the only option. RSS still works, its fantastic, I personally love it, but theres on...
Command Line | gitignore.io / docs
To run gitignore.io from your command line you need an active internet connection and an environment function. You need to add a function to your environment that lets you access the gitignore.io API.
docs.gitignore.io [1]
This is a very interesting cli, its so simple. I stumbled accross the gi command awhile back and was like pfft, I dont want to install something for that. Didnāt even realize that you donāt install it, its just http. Their install instructions lead you to putting a curl funtion in your bashrc.
function gi() { curl -sLw \"\\\n\" https://www.toptal.com/developers/gitignore/api/\$@ ;}
This now has me wondering āWhat else can build like this?ā
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://docs.gitignore.io/install/command-line
[2]: /thoughts/
-
linkarzu has a way to navigate his entire mac using a hyper key. Everything looks so tight and polished, also a lot to remember! Lucky he has a system of mnemonics that make it easy to remember. His setup is very Mac focused using mac only apps, so this would not work for me, though Iām sure I could get something similar on linux. He did mention Kanata which is cross platform.
What I do # [1]
I use a far different system that is fast loose and easy. On every system I run I have 9 workspaces that let me put 9 applications, I can easily move apps to different workspaces and have a side by side if I need. The core of what I do is terminal, web browser, and chat. Those go on workspaces 4,5,6, whch are home-row keys. If Iām running obs, that is on 8, steam goes on 1. but I have some freedom to move. Sometimes 2 will be an image editor or a video editor, sometimes something else all together, but I can quickly go to each app.
What I like from Linkazru # [2]
I do like his layered approach. I run a 42 key keyboard so things can get a bit cramped quickly. And when thinking in mnemonics you only get 26 letters in the alphabet, but prefixing these with another layer this number goes...
External Link
X (formerly Twitter) Ā· x.com [1]
Oh, I feel this. I go through the effort of removing dum ai comments so the ai looks less ai.
youāre not allowed to write comments in your code anymore, because if you do everyone will just think itās ai generated.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://x.com/ForrestPKnight/status/1927398791398719997
[2]: /thoughts/
The adapter pattern in python
The Adapter pattern is a design pattern that allows objects with incompatible interfaces to work together. It provides a way to convert the interface of an object into another interface that client...
Rob Parsons Ā· robp.dev [1]
This has me wondering if I need to really learn more patterns, data structures, and algorithms. This looks particularly useful when trying to combine several objects that you dont have full control over and make them behave similarly.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://robp.dev/the-adapter-pattern-in-python/
[2]: /thoughts/
If you need to target a specific k8s node in the cluster, you can use labels.
You want to treat your nodes as much like cattle as you can, but sometimes
budgets get in the way. You might be like me and just run any free hardware
you can get in your cluster, or you might have some large storage or gpu needs
that you canāt afford to put on every node in the cluster.
kubectl get nodes --show-labels
# add the bigpool label
kubectl label node k8s-1 bigpool=true
kubectl get nodes --show-labels
# remove the bigpool label
kubectl label node k8s-1 bigpool-
To use the label in a pod set spec.nodeSelector to the label that you
applied.
apiVersion: v1
kind: Pod
metadata:
name: busybox
spec:
containers:
- name: busybox
image: busybox
nodeSelector:
bigpool: "true"
Adding a Dynamic Now Page in Jekyll
Make an auto-updating now page on a static site like Jekyll, Hugo, 11ty or Gatsby
Derek Kedziora Ā· derekkedziora.com [1]
wow looking at how this is done kinda draws me towards jekyll a little bit, I did not realize some of the similarities that it has with markata.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://derekkedziora.com/blog/dynamic-now-page
[2]: /thoughts/
-
css if() just landed, Iām struggling to understand what I an do with this that I canāt do with something as old as classes. I can get it if I donāt have control over html [1] creation or js to add classes. The example that Una shows includes data that could directly be a classname with a set of styles in css rather than this crazy css variable unpacking out of a data attribute and an if statement.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: /html/
[2]: /thoughts/
wants
Personal website. Webby personsite. Amateur hour round the clock.
maya.land Ā· maya.land [1]
Allen Carr1 on quitting smoking:
[Carr] recommends working to really notice and internalise that disconnect [between what we want and what we enjoy]. He tells smokers to pay attention to their next cigarette. Itās like mindfulness but for noticing the unpleasantness.
I can appreciate the restraint here, theres something about the mindfulness behind it all.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://maya.land/wants/
[2]: /thoughts/
wants
Inspired by mara.town/wants [1]
want but do not enjoy # [2]
- New hardware that cannot be repaired
- Disciplining Children
- Nice landscaping which requires regular maintenance
enjoy but do not want # [3]
- breakfast
- Fancy things
- Manual Labor in moderation
- Vacations to far away places
References:
[1]: https://maya.land/wants/
[2]: #want-but-do-not-enjoy
[3]: #enjoy-but-do-not-want
Linux Is About Choice
This Luke Smith video came across my feed Linux, Bitcoin: When Tech Projects
Become āToo Popularā¦ā Donāt forget the
goal. [1]. Itās interesting to hear
his perspective about Linux, FOSS, Free Software being the end goal, and that we
are loosing sight of the goal. This sentiment really aligns with the early
FOSS movement from Stallman, but was this ever the goal?
Taken over by apathetic interests # [2]
Luke talks about these projects getting taken over by people with no passion
for the original goal of freedom and privacy. They want the projects to grow,
get bigger, and become mainstream. This feels exactly the opposite of
anything Luke would want, so my bias alarm goes off here. Honestly I do see
some of the grossness of projects like this that were grassroots, for freedom
and privacy get taken over for money grabs. Iām completely out on bitcoin so I
cannot make any comment there, but I Truly believe that the Linux kernel is
not a money grab as Luke makes the new face of bitcoin s...
Blogroll
Blogroll - a collection of awesome people I follow online
Waylon Walker Ā· reader.waylonwalker.com [1]
I rolled out the blogroll today, nothing pretty, but is one single page of the rss feeds I follow.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://reader.waylonwalker.com/blogroll/
[2]: /thoughts/
-
Markata got a shout out part way through the latest episode of LNL, I will go back, re-listen and take some of the feedback. His thoughts on Markata were interesting. On one hand it really is a thing for me that works for me, and as a person with too many side projects I donāt have the focus to really give it polish. On the other hand it really confirms why listen to podcasts, news, finger on the pulse, opinions and how often these guys are wrong, they are not the expert they probably look at 6 things like this a week. He said that it was some sort of javascript thing, that maybe he could fix or customize with javascript if he wanted, kinda shocking, I thought maybe I accidentally added node modules or something dumb, nope, I have a whopping 1.4% js. So most of the comments were plain wrong. I get it he probably peeked at it for 30s and realized it wasnāt the thing for his problem. At the same time I should probably do a better job at marketing what it really is, cleaning up the docs and demo.
Note
This post is a thought [1]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: /thoughts/
[1]
Such a great message right now. I feel like everywhere I turn is negativity, especially social media. It feels like so many things are trying to divide and create hate. āThisā is what we should be doing with social media. There are a lot of elements of āthere are two ways to have the biggest building in town, tear down all the bigger buildings, or just build the biggest fucking buildingā, If you want to be successful in X then surround yourself with others successful in X. This is a catalytic skill that everyone needs to have in their belt.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: /static/https://josephthacker.com/personal/2025/05/13/root-for-your-friends.html
[2]: /thoughts/
Iām currently [[replacing-google-search-apps-with-self-hosted-web-apps]] and
decided to create a simple b64 encoder/decoder, just start typing to enter
text, escape to deselect, then e/d to encode/decode.
Iām trying to make these apps super simple, self hosted [1] out of minio, static
html [2], and javascript. Itās been fun to get back to some simple interactive web
development like this. No build just a website that does something. No broken
builds, no containers to deploy, just push to minio.
encoded = btoa(content);
decoded = atob(encoded);
Here is the result.
[3]
References:
[1]: /self-host/
[2]: /html/
[3]: https://b64.wayl.one
f2 [1] by ayoisaiah [2] is a game-changer in its space. Excited to see how it evolves.
F2 is a cross-platform command-line tool for batch renaming files and directories quickly and safely. Written in Go!
References:
[1]: https://github.com/ayoisaiah/f2
[2]: https://github.com/ayoisaiah
-
Great conversation with Billy Basso the creator of Animal Well on the code architecture of Animal well. Itās all hand crafted C++. He talks about early games he tried to build being heavy in oop, and really got lost in oop. Animal well is very flat, there is no inheritance, just lists of entities that all implement similar methods in their own way. Layering and order of entities becomes very important. Its crazy how much he had to think about hardware and MS build being very helpful with this, but needing to know all of the console apis.
Note
This post is a thought [1]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: /thoughts/
Just fucking code.
justfuckingcode.com [1]
This is great, beautifully captures a modern backend view of https://motherfuckingwebsite.com/. I honestly resonate with almost all of this. I have found myself in more trouble than help when trying to fully vibe out a project. It never refactors, it leaves it shit everywhere, it mostly does what you say, until you get to something that seems easy, so you try to do it yourself, but you break its brittle piece of shit into pieces any time you try to touch it. AI coding help is great, mcp seems like it really has some game changing abilities, but hands of vibe coded crap aint there yet for me.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://www.justfuckingcode.com/
[2]: /thoughts/
-
I did not realize half of this, and it took me at least 4 watches through this to catch everything.
Note
This post is a thought [1]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: /thoughts/