Do something - how Just getting going is better than thinking

In this presentation, my great inspiration David L. Marquet, drops a quote that I somehow hadn’t heard before:

[When changing our ways of working] we act our way to new thinking, rather than think our way into new ways of acting.

This aligns well with many lean and Toyota Production System (TPS) principles. Toyota kata by Mike Rother shows how this practice is used extensively throughout Toyota.

I just had a mini-experience of this, where I wanted to document a pretty unwieldy conversation that was touching highs and lows in a large-ish writing undertaking we’re doing at work. Rather than start, because I didn’t know where, I thought about the best approach.

In my mind, each idea for how to approach this task, was presented and discarded. Then I just went ahead and did it. I opened a place where we had previously written parts of...

Read More

Twitter rug-pulling using my twitter handle

My old twitter handle marcusoftnet is being used by someone that is not me.

Don’t trust a word they are saying. It’s a scam. I deleted that account a year after Elon took over Twitter. Since then I haven’t used it. I have, however, used this handle on other sites and this blog - and it’s become my official handle on the internet.

They are stealing content from my LinkedIn to make it look more like me. With this content and over the course of a few months they have created a trustworthy profile and accumulated a few thousand followers.

Then they launched a crypto-currency with my employers name. So … yeah… that’s one way to introduce yourself as a newly employed person at a company. (More on that below)

Read More

Git hooks to keep my blog clean

As I wrote in the last post I’ve created a little script that spell checks all my blog posts. That was about 3000+ spelling mistakes.

And I then created a similar script to lint the markdown on all blog posts. Another 1250 warnings and errors.

Now that I’ve cleaned that up - I never want to do that again.

No - rather I would like to check for problems every time I make a change. Preferably just before I check stuff into Git.

Turns out - there’s a built-in Git-tool for that.

Let me show you how I put these things together to make a guarded check-in that don’t allow spelling or linting errors to be committed into the repository.

Read More

Spell checking all my blog posts

In the _posts directory of this blog I have 1247 posts… Some of them are not very good or readable since they are WAY dated - I wrote the first in 2006. During these years I have also used a number of different tools and ways to write the blog (starting with Blogger way back when). Much have changed. With the tooling and with me.

One concrete example is that in my code editor now, I have instant and brilliant spell checking. I’m using Code Spell Checker which seems to be the default choice for many.

It’s great but work on one file at the time. I wanted it to work on all my files at the same time. Let me show you how I made that work.

Read More

Looking for a job - some advice I wish I had

I have just landed a new job! (Super-happy about that and I’ll write a separate post on it later).

But that means that I leave one of the heavier periods in my working life - looking for a job in early 2025. I’m not kidding - there’s been tears and a few screams of frustration, self-doubt and generally low-watermarks of Marcus.

I wanted to write a few words for anyone else that is in the situation, share a few tips and advice that I wish I had. And in some case, had taken, because I heard some of these but didn’t apply them.

Read More

Grading aggressivity from a transcript using LLMs

Just out of The Meeting, between the president of USA, the President of Ukraine and the American Vice president. Just baffled with what I saw.

After hearing the meta-discussions about what was said by who and how for years now I just realized that we probably will have a discussion about who really was aggressive or really just wanted to cooperate.

I realize that this is something that LLM (large language models) are really well suited to solve. So I tried two. This blog post describes what I did.

Read More

Conways Game of life using HATEOAS and HTMX

I’ve been playing around more with HTMX and one of the really cool features that I think we need to talk more about is the ability to trigger client side events from the server. This is accomplished by using the hx-trigger header and elements on the page can listen for events using hx-trigger: myEvent from body.

This means that it’s easy to inform the client that something has happened and then let the client take appropriate actions. For example, imagine that we put an item in the shopping cart. The server responds with the event SHOPPING_CART_UPDATED. A lot of elements on the page can now update based on this event; counter in the shopping cart, list of “other people also bought”, a banner with discounts etc.

Event driven client side architecture. Just imagine what this could do for micro frontend, where each component might...

Read More

HTMX on .NET Minimal API with Razor Slices

HTMX is great! And I really like .NET Minimal APIs. Let’s put it together and see how it works.

When I first thought about creating a backend for HTMX using .NET I went down the rabbit hole of Razor Pages. Which was not great I have to say. That programming model is weird and I don’t like it. But in my spelunking I found Razor Slices which will work great as a template engine.

That means that we have a lightweight and easy to grasp backend with Minimal API and then use Razor Slices to render the HTML.

Read More

HTMx - tutorial part VI - Clean up

When I describe what HTMx does to people that has never heard about it I often end up telling them about the good old days when we wrote server-side rendered apps, but sadly that replaced the whole page. And then came SPA frameworks and all you got downloaded in the first page access was a <div id="app></div>, then the app got rendered by JavaScript from JSON and the whole concept of the web, HTTP and REST got lost.

HTMx marries these two together. But showing the main.ejs as it stands right now reminds me too much about the old days. Let’s clean it up, and we will soon see that it will look much like a modern SPA, with the huge difference that it is using server rendered HTML that and is easy to grasp.

This is the sixth post in a series that I’m making...

Read More