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

HTMx - tutorial part V - Validation

This is the fifth post in a series that I’m making about HTMx that I think is utterly amazing and will change how I (we?) write web apps in the future.

You are more than welcome to read from here, but then I would recommend getting the code from this point, if you intend to type along.

The application is working fine, but there’s zero validation in place. I wanted to do some simple validation on the client (and here I have a bug) and then also show how to do validation on the server-side and return an error message from there.

Validation can be tricky and often lead to a lot of code. But it’s an obvious addition to the code.

Read More

HTMx - tutorial part IV - Updating other parts of the application

This is the fourth post in a series that I’m making about HTMx that I think is utterly amazing and will change how I (we?) write web apps in the future. You are more than welcome to read from here, but it will be hard following along code-wise if you haven’t stepped through part I, part II and part III first.

In the last part we built out most the actual application, which means that we are left with the fun part here. There’s one section of the application that is not working yet - the footer. In the footer I wanted to show a tally of the number of items, the number of completed items, and also the number of late items.

Keeping track of numbers like that can be a bit messy since we need to update them when we are doing other actions, like...

Read More

HTMx - tutorial part III - Building the application

This is the third post in a series that I’m making about HTMx that I think is utterly amazing and will change how I (we?) write web apps in the future. You are more than welcome to read from here, but it will be hard following along code-wise if you haven’t stepped through part I and part II first

In this part we will build the core logic of the application and start to create todo-items and store them in Firestore.

Read More

HTMx - tutorial part II - Sign In With Google

This is the second post in a series that I’m making about HTMx that I think is utterly amazing and will change how I (we?) write web apps in the future. You are more than welcome to read from here, but it will be hard following along code-wise if you haven’t stepped through part I

In this part we will allow our users to sign in with Google.

Read More

HTMx - back to basics

I felt the urge to write a tutorial. Maybe I’m the last human that will write one now that AIs are baked in everywhere. But that urge comes when I stumble on a new things, ways of working or ideas - and now I’ve reading, playing around with and used HTMx for awhile and I’m hooked.

HTMx totally rubs me the right way now that building a plain old web site, with some login-capabilities and personal data requires a SPA framework of hundreds of megabytes (2.802.804 lines of code…).

That’s a lot. And a lot to learn. Finally, the whole “API returns JSON” - “SPA framework turns JSON to HTML” dance feels pretty redundant, when you think about it.

I’m going to try to avoid to make this and Old Man Rant (tm), but first let’s go back in time to life before SPAs, and I’ll show how we...

Read More

Retrospective thoughts

I’ve just attended a discussion about process improvements in general and retrospectives specifically, together with a few ScrumMasters. I wanted to take the time to jot down some of the good ideas that popped up as we talked.

Read More

Book review - Lizard Optimization

Lizard Optimization is another great book by Gojko Adzic. I have probably read everything he’s written by now and I think this book is one of the best he’s put out there.

In the book Gojko gets a chance to use not only his fun and engaging writing style, but also his fascination for weird events and fun stories. He puts those two elements together to help us to appreciate the rare, annoying and down-right bizarre usages of our software. One of Gojkos earlier books was called Computers vs Humans and was only about stories where computer misusage, bugs and strangness led to fun and even dangerous situations.

In Lizard Optimization, Gojko makes the claim that there is value in these unintended usage, strange bug reports and frustrated admin-users. They can actually guide us to pivot how our software can be used. By following-up on what the misconceptions or...

Read More

A small open-source story

Back in 2010, I was very interested in BDD (Behaviour-driven Development) as a stepping stone into agile testing-thinking as a general great tool to foster better conversations.

Since I was working on the .NET platform I naturally looked at SpecFlow which was very much in its early days back then.

Those two interests, in hindsight, might have been the most important things in my programming career.

I wanted to write this, not to boast (because it’s not much to boast about honestly), but to inspire and celebrate the amazing ingenuity and drive of our community.

Read More