Enjoy the detours!

barfooz.xyz

Typescript

https://toot.cafe/@danbruegge/113599034688863789

Done in the morning without problems, again. 😎

Code

Because of my current work schedule, I had no time, so no progress here. I have looked into today's challenge, but still need to do Day 4. Over the day I had some ideas which I like to test and play with. It's doable. Reminds me a bit of 2D tile maps. Which is a long time since I did anything with it. Maybe I was 14–16 years old. In my RPG-Maker days. Because of family stuff on the weekend, I don't see me completing the Day 4 challenge before next week. I completely underestimated how hard these challenges are, for me. 😅


49 of #100DaysToOffload

#log #adventOfCode #adventOfTypescript

Thoughts? Discuss...

Typescript

https://toot.cafe/@danbruegge/113593611272804600

Done in the morning without problems. 😎

Code

First time, where I will not get it done on time. So far, I've committed my current state and pushed it to my gitea instance. Let's see if I can get it done tomorrow. I think my solution is simple enough, but I lack experience in this area. In the last hour, I was just try and error'ing my way through the code.

It really annoys me that I didn't make it. As an excuse, my workday was quite heavy, and I need to recharge first.

Maybe tomorrow will be better. ✌️


48 of #100DaysToOffload

#log #adventOfCode #adventOfTypescript

Thoughts? Discuss...

Typescript

https://toot.cafe/@danbruegge/113587602136584312

I solved this one “early” in the morning. This one, was also a no-brainer.

Code

https://toot.cafe/@danbruegge/113588572520140901

This was a nice and fast one. I always enjoy playing with Regexp. Only Part 2 gave me a struggle, because of my thought process. I tend to do things much more complicated than they should be. :D

Here is a little example:

export function getDoMulCalls(input: string): any {
  const startRe = /^(.*?)don\'t\(\)/g;
  const middleRe = /do\(\)(.*?)don\'t\(\)/g;
  const endRe = /do\(\)(.*?)$/g;

  const startDos = Array.from(input.matchAll(startRe), match => match[1]);
  const middleDos = Array.from(input.matchAll(middleRe), match => match[1]);
  const endDos = Array.from(input.matchAll(endRe), match => match[1]).filter(endDo => !endDo.includes("don't()"));

  return [...startDos, ...middleDos, ...endDos].map(getMulCalls).flat();
}

This will not give you the solution to Part 2. I thought this was simple and clever at the same time. But I needed to start fresh and remove the cleverness from the code. Bonus, I've learned something new with JavaScript and Regexp. :)


47 of #100DaysToOffload

#log #adventOfCode #adventOfTypescript

Thoughts? Discuss...

Right on time. Sadly, this post is on the next day, but I've completed both challenges before midnight. :D

Code 2024

https://toot.cafe/@danbruegge/113585692081934453

Part 2 gave me a real struggle. I just got it by luck and think that my original solution is still right, provided all the information there was on the page. Out of desperation, I have thrown my solution for Part 2 overboard and decided to try a different approach. It makes sense. But if you compare it with the information on that page, it makes less to no sense. Until this point, I've had a lot of fun and hopefully the challenge tomorrow is not easier, but the information on the page tells everything you need to know.

Typescript 2024

https://toot.cafe/@danbruegge/113585716545107593

Like Day 1, this one a no-brainer. But I remember from last year, it gets more difficult by each day.

Conclusion

For AoC Day 2, Part 2, I took too much time into the solution. Because it was not obvious. But...mimimi. :D


46 of #100DaysToOffload

#log #adventOfCode #adventOfTypescript

Thoughts? Discuss...

In 2023, I've participated in the Advent of Typescript for 8 Days. Currently, I don't understand why I didn't continue with it because it made a lot of fun. This year, I've resolved to complete as much as I can in Advent of Typescript, but also to join the Advent of Code 2024 and do here also as much as I can.

Code 2024

https://adventofcode.com/2024

For the Advent of Code 2024, I've decided to make it plain and simple with vite + typescript. To do more Test Driven Development, I will first write a test and add the code after.

https://toot.cafe/@danbruegge/113577659265521768

Typescript 2024

https://www.adventofts.com/

Visually, Advent of Typescript looks really nice. They let you write and test your types inside the browser, which makes writing there quite satisfying.

https://toot.cafe/@danbruegge/113577755016361905

Conclusion

I'll have set up a git repository, which I update after each Day is done. After the Advent of … is done, I'll publish the repo on GitHub.

Day 1 for both was basic. Let's see how the other days will be. I'm looking forward to that, they will be challenging, and I will learn a ton of new stuff.


45 of #100DaysToOffload

#log #adventOfCode #adventOfTypescript

Thoughts? Discuss...

I've compiled a list of names where companies and clients spelled my last name wrong in my past freelance carrier.

  • Brueggemannmann
  • Bruggemann
  • Brügggemann
  • Brüggeman
  • Brügemann

It's funny because you have to live with this name while the project is going on. To fix it, they have to delete your account and redo the account creation. Which typically takes 1–3 days or weeks. This depends on the company.

I will update this list in the future. :)


44 of #100DaysToOffload

#log

Thoughts? Discuss...

Some idea I had, after a podcast's episode from a German podcasting guys.

First, you need to get your hands dirty by just using what you are trying to learn, without any theory lessons. After you got some experience, take some lessons, and you have a more profound understanding of the theory with practical experience.

It sounds stupid and a waste of time. But this is how I learned since I can remember. Pure theory isn't helping, typically, for me. Furthermore, theory with practical examples is not working best. It is working while you are doing it, but I forget a lot of stuff this way when I don't practice the learned much.

My typical way of learning something new is to face the problem, trying to solve it with my general knowledge. I learn the hard way how something works and read afterward how it actually should be or how it was intended to be.

For example, as I learned python, I came with my PHP+JavaScript knowledge and tried to pull this knowledge over to python. With force. Finally, it was stupid, in my PHP (XAMPP and ready-to-go hosted server) and JavaScript (Browser) world, you just put a file via FTP somewhere and it worked magically. In python, you need to start a server with WSGI support. This was new for me at the time. This is something I will always remember because, unaware of it, I did practice-driven learning. :D

I hope this makes sense for anyone.


43 of #100DaysToOffload

#log

Thoughts? Discuss...

Color Shade Finder: While working on my Neovim, Alacritty and Wezterm themes, this page was of great help. Link: https://colors.artyclick.com/color-shades-finder/

Simplify Component Imports with TypeScript Namespaces: It always felt odd with exporting Props or ButtonProps. The idea here is by using Namespaces, and I really like this. Link: https://sergiodxa.com/tutorials/simplify-component-imports-with-typescript-namespaces

Barrel Files in JS: If a project I'm on has these files, I try to argue that we don't should use barrel files. This article sums it up quite nicely, and I will refer to it, in the future. Link: https://tkdodo.eu/blog/please-stop-using-barrel-files

Blog to read: I've found this while on research and liked every article I've read so far. Link: https://devsparks.goooseman.dev/

Loser Lane Game: A little browser game. Which reminds me of a time, where I lived and biked in Berlin. Link: https://marieflanagan.com/loserlane/

Text2Metal: I need something like this as a Screenreader. :D Link 1: Link 2:


42 of #100DaysToOffload

#log #links

Thoughts? Discuss...

Last week, I finished watching Veep.

I love every aspect of the series. It can be funny as hell but also can punch you in the stomach. Like Scrubs in the US-Politics.

They started to change the storyline in Season 6, which makes sense at this point. I didn't like the turn so much, but I got used to it.

There is one thing I didn't like from the start. How the Veep Selina is treating her daughter. I know it fits into the tone of the character, but after some “jokes” it was too much for me and an annoying part of the series. As I said, it fits to the tone and the story of the character but, sometime, less is more.

But what was the best part of the show? Clearly Gary and Mike. These characters were sooo goofy, I always laughed out loud when said did something funny. Moreover, the background stuff that was going on. Occasionally, I wasn't following the main story because some characters did something in the background. I wonder how much of the jokes were improvised.

One character that also stood out was Jonah. I liked how he was a self-destructed fool with pure luck. Sadly, the luck was more to keep him in the series. Later in the series, I did not like what he represented, but most of his scenes were also funny. And a bonus point for him, he is a metal guy in the series. 🤘

I can recommend this series to everyone. And I also want to watch it again, someday. :)


41 of #100DaysToOffload

#log #series #watchingTv

Thoughts? Discuss...

I've decided to get back on this series and rename it to just #links

Refactoring absolute paths to relative ones: This is an example in VScode. While refactoring some code in my current Project, this was helpful. Link: https://dev.to/fes300/refactoring-absolute-paths-to-relative-ones-in-vscode-3iaj

Be findable: I like what Thorsten wrote or refers to. Also, the quote of Steve Martin here is a thing, everybody should have as a Mantra. Link: https://registerspill.thorstenball.com/p/be-findable

Local, first, forever: Local-First is something I always wanted to implement in my projects and also something at least every app should do. Link: https://tonsky.me/blog/crdt-filesync/

Writing HTML by hand is easier than debugging your static site generator Link: https://logicgrimoire.wordpress.com/2024/07/01/writing-html-by-hand-is-easier-than-debugging-your-static-site-generator/


40 of #100DaysToOffload

#log #links

Discuss...

Enter your email to subscribe to updates.