August 29, 2021
On Tuesday, 24 August 2021 at 07:42:36 UTC, SealabJaster wrote:
> If only something actually useful ever came out of it though.
>
> I keep escalating the complexity of the things I want to do:
>
> "I'll write a build tool!"

> "I'll write a package manager!"
>
> "I'll write an assembler!"
>
> "Then a JIT, or an OS, then, then, then....."
>

I think many of us experience this TBH. Again I'm in the same position but as someone in his 50s I can say that the skills, craft and experience learnt during the process of building these tools comes in useful at certain key junctures in our later careers. Also, hopefully, the building and learning was fun, even if no-one else witnesses it! The explosion of social media, hacker news etc., has polluted out thought processes to the extent where we can end up wanting approval for what we have done, and feelings of failure if the work is not recognised. When this happens to me I reflect on what my life goals really are (and they don't include getting recognition for my pet projects) and that helps me orient where I place my efforts and the satisfaction derived from them (in theory, anyway :-) ).

On a side note, I once watched an episode of Chasing Classic Cars and a recenty widowed lady was selling her husband's prized classic car. Passing through his workshop and referring to the lathes etc., she commented: He was building a tool to build a tool to build a tool. I totally get this!
October 31, 2021
On Tuesday, 24 August 2021 at 07:42:36 UTC, SealabJaster wrote:
> On Monday, 23 August 2021 at 08:01:27 UTC, Abdulhaq wrote:
>> ...
>
> If only something actually useful ever came out of it though.
>
> I keep escalating the complexity of the things I want to do:
>
> "I'll write a build tool!"
>
> ->
>
> "I'll write a package manager!"
>
> ->
>
> "I'll write an assembler!"
>
> "Then a JIT, or an OS, then, then, then....."
>
> And nothing I actually write will be used or useful in any meaningful way.
>
> Though tbf even when I try to write something useful it still goes unused anyway.

I agree with the previous posters. I believe this is a normal phenomenon for good programmers, especially early in their careers. You're exploring the problem space and it WILL help you down the line.

I worked on a scheduler for the Cell Broadband Engine for about a year. I was not qualified at all to do it and I failed. It was too hard for me. There was no printing stuff out because that screwed up the scheduling. There was no debugging, period, outside of the emulators, which weren't a good enough emulation to rely on. Sometimes it would run for several minutes and then the result would be completely incorrect with no clues as to why. It caused me to UNDERSTAND what I was doing. It caused me to be able to run code in my head and think it different ways. I still use those skills today.

I do think when you get into modes of programming a lot, you are probably avoiding something else in your life. Make sure to take time to just not think about anything. Don't direct your brain, let it produce the thoughts. Some people call this meditation. It will help get you out of cycles of thinking and you'll be less anxious.

You have a part to play in this world. When you figure out what it is, then you can just move toward it. You'll be motivated to keep going even when it's tough. You'll feel like you're accomplishing things. You'll have direction. The world is like an orchestra and we all need you to play your part.

Until then, feel free to write lots of "useless" tools. It will help you in the end.


November 02, 2021

On Tuesday, 10 August 2021 at 01:11:45 UTC, SealabJaster wrote:

>

I find Bazel's approach quite interesting: being able to download tools and language support straight from the same language that configures your builds. I believe language support is also added via said language.

I found the idea of using two languages interesting: e.g. use something like LUA to defines tooling, how to build X files, etc., then something more constrained and declarative like SDL to make use of the things the backend language provides. So essentially a seperation of concerns between the extension and configuration languages.

msbuild uses similar ideas: it provides DSL, tasks, targets, items, and the actual build process rest is implemented in sdk of your choice, your project specifies sdk that builds it, and the said sdk provides build scripts that implement the build process and handle your project. Tasks are loaded from libraries and provide turing completeness that DSL can't provide.

1 2 3
Next ›   Last »