Live data from Hacker News

The curse of knowing how, or; fixing everything

notashelf.dev

131–140 of 458 posts

Re: The curse of knowing how, or; fixing everything

#131
Modern software is like sand castles, you can go there every day to maintain it, but one day it will be completely washed away. Everything that is beautiful will start to rot. After something have reached perfection it will change or die. It doesn't have to be that way though, you can put the OS in a virtual machine, so every time you work on your beautiful software it will feel like you are carving rune stones.

Re: The curse of knowing how, or; fixing everything

#132

Hopefully the future me is able to relate to this, because I really feel like I'm in a rut when it comes to working on personal projects. I have many ideas that I want to build, but I'd have to learn new languages, yet I just can't sit and go through the documentation every day like I should. Still haven't finished the rust book. The other way is start building already, and if you come across a block, then learn abou…

Don't be hard on yourself. We're in the same boat.

There is two things I validated from reading Barbara Oakley and Kató Lomb is that a) it's okay to be a slow learner b) it's okay to learn differently.

Just do your thing.

Re: The curse of knowing how, or; fixing everything

#133

Earlier quoted context omitted.

> I have many ideas that I want to build, but I'd have to learn new languages, Why? Why, specifically, do you "have to learn new languages" ? So, sure, I can see that, for some product, you might need to learn a new tech (say ... some specific AWS/GCP/Azure service), or perhaps a new configuration language (YAML, TOML, whatever). And, sure, for some ideas (for example a mobile phone app) you're forced into that speci…

> There is nothing stopping you from implementing your idea in (for example) Python. Or Javascript. Or Java, C#, C++, etc Except there is, my brain :), that's one of the constraints I'm talking about, I'm a frontend web dev and I only know JS/TS, and like some frontend web devs, I'm enamored by Rust because it seems so different. I already use JS/TS at work so I want to use something else for my personal projects. So…

> I know the solution is to just suck up and go through the rust book

No. The solution is to skip Rust and choose Java, C# or Go. Rust has a steep learning curve and if you project can tolerate a GC, there is next to no return for using Rust.

Instead of spending the next 6 months (for most people it's longer) to learn Rust, spend the next week getting to grips with C# (or Go, or Java) instead.

Re: The curse of knowing how, or; fixing everything

#134
post #121

Earlier quoted context omitted.

> There is nothing stopping you from implementing your idea in (for example) Python. Or Javascript. Or Java, C#, C++, etc Except there is, my brain :), that's one of the constraints I'm talking about, I'm a frontend web dev and I only know JS/TS, and like some frontend web devs, I'm enamored by Rust because it seems so different. I already use JS/TS at work so I want to use something else for my personal projects. So…

I personally try to follow the method of "make it work, then make it nice". You build something that works, it does what you need it to do. After that, you probably already know where the code rubs you the wrong way, so you know where to look to improve and learn.

I sometimes do that too - but sometimes this leades to another trap: I have something which works, but not the best. and I won't fix it, since the plan is to now do it "right". so I end up staying with a PoC forever..

Re: The curse of knowing how, or; fixing everything

#135
post #93

Earlier quoted context omitted.

> I have many ideas that I want to build, but I'd have to learn new languages, Why? Why, specifically, do you "have to learn new languages" ? So, sure, I can see that, for some product, you might need to learn a new tech (say ... some specific AWS/GCP/Azure service), or perhaps a new configuration language (YAML, TOML, whatever). And, sure, for some ideas (for example a mobile phone app) you're forced into that speci…

I guess it depends. If they have been developing mobile apps, and now want to develop a web app, then they definitely need to learn something like PHP, or Go or Python kr Java. On the other hand if they have been doing web development and now want to develop a native app, they must learn Java/Kotlin/Swift. Same for databases (perhaps you never worked with one, then you must learn sql). Even html+css must be learned i…

There’s react native and cordova, if all you want is to build the usual mobile apps and you only know JS. And Java, Kotlin, and Swift are used for web development if you’re going the other way.

Re: The curse of knowing how, or; fixing everything

#136
post #89

Earlier quoted context omitted.

I like to say programming is about knowing which rabbit holes to plunge down and which to step over. There's too much to know to go depth-first down every rabbit hole. Go breadth first and accept gaps in your knowledge - everyone has them. If something never comes up and never causes an issue you need to look into, and the project gets done, it doesn't matter. There's always an improvement that could have been made,…

Thank you for your comment, especially for this > I've written a lot of Rust. I've read less than half of the Rust book. Just knowing that there's someone out there who has worked like this or has been in the same situation gives me enough confidence to go through it!(the just write code part) I've gone through so many resources (including the book) and I never managed to finish any of them. But I think now I need to…

Another approach that may help you, that worked for me. I was not familiar with rust so I wrote an initial proof of concept in another language (Go in my case). Then I asked Claude AI to translate it to Rust. It compiled on the first try, the only bugs being problems in the source file I gave it. Then I iterated a bunch of times by saying "please make this more rustacean style".

I only tend to use AI for assistance, but for me at least it's easier to get started this way than to start with an empty source file.

Re: The curse of knowing how, or; fixing everything

#137
post #42

Software engineers, I love yall. To see the light at the end of the tunnel. To see some glorious perfect paradigm that maybe could be. I envy you. I grew up in a datacenter. Leaky air conditioners and diesel generators. Open the big doors if it gets too hot. Now let’s go back. Back to when we didn’t know better. Software doesn’t stay solved. Every solution you write starts to rot the moment it exists. Everything, eve…

> Software doesn’t stay solved. Every solution you write starts to rot the moment it exists.

I don't really agree with this. Yes, it gets outdated quickly and breaks often if you build it in such a way that it relies on many external services.

Stuff like relying on "number-is-odd" NPM package instead of copy-pasting the code or implementing it yourself. The more dependencies you have, the more likely it will break.

If your software works locally, without requiring an internet connection, it will work almost forever.

Now, if you want to keep developing the software and build it over a long period, the secret is to always keep all dependencies up-to-date. Is there a ExternalLibrary V2 just released? Instead of postponing the migration, update your code and migrate ASAP. The later you do it, the harder the migration will be.

Re: The curse of knowing how, or; fixing everything

#139
I used to never finish personal projects. Then I realized that the biggest thing preventing me from finishing them was (perversely) my sense of duty to get them finished. Once I decided that I was under no obligation to anyone to work on them, not even myself, I had no trouble finding the motivation to get them done. So now side projects are a strictly "just for fun" affair. I work on them when I feel like, no deadlines, and once they're "in production" I maintain them because I like tinkering.

The only problem with this approach is I've gone from hating the thought of programming after work to coming up with side projects at work.

Post reply on HN