Build stuff; Break stuff; Have fun!

100DaysToOffload

Finally, we arrived at home after our trip back from our vacation. What should have been a 5-hour trip resulted in 13 hours. We started at 6 in the morning and opened the door to our home at around 7 in the evening. Luckily the kids were supportive, and we were able to stay sane.

Props to the Berlin Airport for causing so much trouble. 🫠


26 of #100DaysToOffload
#log
Thoughts? Discuss...

I’ve found this quote somewhere, sadly I don’t remember where. A small research about this, suggests only a similar quote from Winston’s Churchill: “Perfection is the enemy of progress”. If someone knows, where this is coming from, please let me know.

I wanted to write about this topic for a while now, so this post title was written with an empty body and waiting to be completed.

Read more...

It should have happened much earlier, but I had 2 people I still have followed and were not migrated to other networks. I was mostly interested in their doings and not their views. Sadly, they talked more about their views and not their doings.

Read more...

I still think too much about stuff, instead of just doing something.

For example writing posts. I have a lot of ideas but something was holding me back. I’ve already completed the #100DaysToOffload one time. And I thought I’ve found a good Flow on writing posts. But there is always room for improvement.

Read more...

I was silent for a long time now. The same pattern I had last year. I would blame the summer for this, but I think there are multiple factors here. I had plenty of projects going on in the past half year, privately and professionally. And I still have a lot on my plate. But I also want to complete the #100DaysToOffload challenge again.

Read more...

Since March, I have used Cursor on and off for plenty of tasks. For example, I did a complete Redux to Redux-Toolkit migration for one project, in which I learned a lot. Mostly, for which tasks I should use Cursor and which not. If you start with Cursor, you should use it to implement a bigger feature, to learn all the quirks. It will take time, and I value the time using it for the Redux→RTK migration. And now, I typically use Cursor for smaller tasks. Or just break down the bigger ones and enhance them so they are suited for Cursor.

For a while, I struggled with the right model. The auto mode worked in some way, but I was not perfect. So I tried to explore the models directly and wanted to learn, which I can use for which task. But since Claude released Sonnet 4, I exclusively use this model for everything. It is astonishing how well Sonnet 4 works.

Recently, I have found a good workflow. I collect some Tasks and execute them one by one. And while Cursor/Sonnet 4 is thinking and working, I do some chores in the House. Which is a Win-win for all of us here. 😅

I trust Sonnet 4 so much, that I'm thinking of trying out Claude Code. Which, in theory, fits better into my terminal workflow. Cursor is a fork of VSCode which is too much UI distraction for me. But I appreciate the diff tool, which works good for me. And I never found a good one for the terminal.


21 of #100DaysToOffload
#log #dev #cursor
Thoughts? Discuss...

It’s fascinating how time flies. In my mind, we are some days after celebrating the new year, and now we are almost half done with the current year. 🤯

Weiterlesen...

I don’t do it deliberately, but over the years I used some tools as to-do list without declaring them as such. For example, my open tabs in Firefox on mobile and desktop. Both are basically different to-do lists because I use them on different topics.

As next is my mail client. The inbox is also like a to-do list. Every mail I keep in here needs work. Not immediately, but I should do it every so often.

Messengers are also used as a to-do list. But more of people I should write some day.

My calendar is another one.

And the one I realized that I’m doing this, was Claude. I use the app on my phone and saw that I only kept old conversations, where I think I will later come back to them and continue my research.

On the last weekend, I thought about unifying them into one. I do some agile with my wife in the apple reminders app. We are having once a week after breakfast a short conversation on what we want to accomplish in this week. And then we put the to-dos into a list. We also have one list for each quarter with stuff that, we think, needs to be done in this period. So I already use the reminder's app for family stuff and some small to-dos that don’t fit in my to-do apps above. 😅

While I write all this, I don’t know whether I should unify all in the reminders app or just keep it as it is. Because, if everything is in one app, it could be a bit overwhelming? 🤔


19 of #100DaysToOffload
#log
Thoughts? Discuss...

Wow, I wrote this post nearly 2 months ago. Why didn't I publish this one?

Currently, I'm on a path to improve the UX a bit by giving more feedback on actions.

Last time I brought a CSV import error to the frontend, which otherwise failed silently and had been a requirement from the start.

The next step is to show a success message after the user imported CSV Data successfully. The difficulty here was, that I didn't want to convert my import component into a client component. So I was unable to use useActionState. My solution now is, that I created a Catch-all Segments route. Now, after a successful import, I can simply redirect to this page and show a success message. Which is not ideal, and I would prefer something like useActionState for server components, but it is what it is.


18 of #100DaysToOffload
#pelletyze
Thoughts? Discuss...

After procrastinating this for far too long, I sat down and did a new setup of Paperless-NGX on my NAS.

For this, I followed the setup guide for docker-compose: https://docs.paperless-ngx.com/setup/#docker

This guide requires you to have Container Manager installed on your NAS. Under /volume1 I have created a folder called docker which has another folder called paperless in it. So the path will be /volume1/docker/paperless.

My adjustments to the docker-compose.yml file:

    volumes:
      - /volume1/docker/paperless/data:/usr/src/paperless/data
      - /volume1/docker/paperless/media:/usr/src/paperless/media
      - /volume1/docker/paperless/export:/usr/src/paperless/export
      - /volume1/docker/paperless/consume:/usr/src/paperless/consume

And a different port: someportnumber:8000.

My changes to the docker-compose.env:

PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_OCR_LANGUAGE=deu

And the correct IDs for USERMAP_UID= and USERMAP_GID= which you can get from id -u and id -g. The guide will tell you this as well.

Notes

The guide uses docker compose ... to run docker-compose, without the dash. Synology uses docker-compose ... with dash, to run it. I was searching, why this was not working on my side. So, this could be one reason. 😅

Database Error

I've got this error: PostgreSQL Database directory appears to contain a database; Skipping initialization. Which resulted from an old installation. Because I wanted to a fresh start, I needed to remove the old data and found this command: 🚨 docker-compose down --volumes 🚨 Be careful, this will erase all related data.

Webserver Error

Because I'm stupid, I used the wrong timezone and got an error. ValueError: Incorrect timezone setting: Germany/Berlin The correct timezone I needed to set in docker-compose.env was: PAPERLESS_TIME_ZONE=Europe/Berlin.

Conclusion?

I've used docker-compose because I broke my installation for too often with the Container Manager. And in the end, it's just a UI wrapper which confuses me. So I go with docker-compose, which I'm used in the past for client projects. The setup was straightforward, excluding the errors I had, which were self-made in the end.


17 of #100DaysToOffload
#log #toFutureMe #paperless
Thoughts? Discuss...