Hacker Newsnew | past | comments | ask | show | jobs | submit | more Fell's commentslogin

I disagree with almost everything in this article.

Mastodon is being portrayed as a network of seperate communities, which simply isn't true. The netwotk is fully interconnected. It does not matter which instance you're on, you always receive content from the entire network.

You just don't get _everything_ because of blocks and inefficiencies. But I strongly disagree with "small reach on purpose". I've reached far more people on Mastodon (Fediverse) than on Twitter.


I see something on HN and I get inspired. It sparks many ideas in my head and I start planning a project in my mind.

But I don't write it down. Nor do I bookmark anything. I don't use bookmarks at all, frankly.

I know I don't have the time to start any new personal projects.

So I think about it, and then let it go.

I think this only reflects the jumpy disjointed nature of my brain. Things come and go, and that's okay.


I disagree.

1. Make it work 2. Make it performant (always, but within reason) 3. Clean up your mess to prevent future mistakes

I claim that "if too slow" can't be judged because you almost never have the slowest possible target device.


I disagree with all of you.

Make it work. Then make it maintainable. Then polish it to make it more ideal.

When it works it can be spaghetti and lack testing and filled with hacks. After you make it maintainable it can still be less than ideal — some hacks here and there in leaf functions but things are localized and understandable and non-brittle (ie good testing coverage, design which has appropriate abstraction, refactors to promote test ability, no more spaghetti etc etc). Then in the final step you polish the stuff to gold (ie use better solutions or improve performance). It is the only way.


I'm also in the same boat. I've been trying to complete my Bachelor's degree since 2011. I've been working on a pre-thesis assignment since 2021.

However, I recently found a solution that works for me:

I commute to work for one hour every day. In May 2022 I had a car crash and wrecked my car. Not having the money for a new car left me stuck with using the train to get to work. After a few days I was already looking for something useful to do with my daily two hours I spent on trains. It was a hassle, too, because I have to change trains 2-3 times.

So, I installed Linux on my laptop and configured it for maximum battery life and, more importantly, making bootup, hibernate and resume as quick as possible.

I did that, so I can pull out my laptop even if I'm just spending 15-10 minutes on one train, and do something with my time.

So every day, before and after work, I make a little tiny progress on my thesis. And it quickly became a habit, too. I can't avoid it, because I can't avoid going to work. And there's not much else I could do with that laptop.

So, even on days when I don't feel like it, I always think: "might as well work on my thesis"

It worked so well, I even missed my stop once because I was too focused!


I spent the past 4 years at a small studio with about 6-8 programmers.

Almost all the programmers that ever joined our team came from a non gaming background.

And every time I onboarded someone new, it went about the same way. They adapted pretty quickly to our C++ codebase, even if they had a different background. But most of them were really not used to work in an environment where performance really matters. They knew how to write code, but they didn't know how to write fast code. Or what actually makes their code fast.

So if you want to prepare, take the slowest machine you can get your hands on, and program something for that hardware using C++ or Rust. It doesn't matter what it is. You'll learn a lot and have something nice to talk about at the job interview.


> So if you want to prepare, take the slowest machine you can get your hands on, and program something for that hardware using C++ or Rust. It doesn't matter what it is. You'll learn a lot and have something nice to talk about at the job interview.

As an aside, "slowest machine" seems an easy way to bench things - is there not a common way to wrap an executable in something that limits performance, network, etc?

It's a trope that developers tend to have beefy machines and so we often miss pitfalls of lesser machines unless we're explicitly benching code. I'm kinda surprised there isn't some CLI for `slow --ram=2gib --cpu_clock=3ghz --core_count=1 mybinary` sort of program.


Cgroups[0] can do that for you on Linux. I believe docker containers wrap the cgroups API and can do something similar? Possibly cross platform?

[0] https://en.m.wikipedia.org/wiki/Cgroups


CPU and RAM is pretty straightforward with something like cgroups or basically any container system. I'm not sure how you'd go about limiting GPU, though, which is probably essential for any modern engine that uses shaders.


You could put effort into instrumenting your main loop. Knowing how long the CPU takes to run the various routines will quickly expose bottlenecks. If you're using 90% of a high end CPU, you can assume it's not going to run well on less capable hardware. If you're using 10%, then you're probably in good shape. If you're using 100%, then it's a good opportunity to learn about various frame limiting algorithms.


> take the slowest machine you can get your hands on, and program something for that hardware using C++ or Rust

that's a lovely idea and a great limitation for inspiring creativity!


I don't see how this is different from a regular minimize feature, apart from the little thumbnails.

I have never used one. Was minimize hard to do before on MacOS?


If all you want is network storage in your home wifi, NFS is extremely easy to set up.

Last year, I wrote a blog post about it: https://furbasik.de/nfs-is-the-new-samba

I would not use it in an office though.


I don't think so. It would make it impossible to talk about deprecated characters ever again, even in a historical context.

Unicode contains even some ancient and long forgotten scripts so historians can keep proper records of them.


This is very interesting. I'd love to read more about all these failed and discontinued ideas of computing.


Here's something to get you started: https://gunkies.org/wiki/Chaosnet

Hobbyist Chaos network: http://chaosnet.net/


the chaosnet.net URL doesn't resolve for me...


I can reach it just fine.


It works when I try it from home, so it's probably our company's DNS server


Clearly it's blocking subversive network information.


The most important stuff is backed up by version control, obviously. For everything else I use Syncthing.


"Is Syncthing my ideal backup application?

No. Syncthing is not a great backup application because all changes to your files (modifications, deletions, etc.) will be propagated to all your devices. You can enable versioning, but we encourage you to use other tools to keep your data safe from your (or our) mistakes."

https://docs.syncthing.net/users/faq.html#is-syncthing-my-id...


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: