nous

joined 2 years ago
[–] nous@programming.dev 2 points 1 day ago

The problem here is it is not a unit of length or a unit of area. It is a count. If you have a grid of 10 gummy bears by 10 gummy bears you have 100 gummy bears. Not 100 gummy bears^2. A pixel is a desecrate thing, not a continuous value like meters are and it is not used to measure area. For that you need to know the length and spacing of a pixel.

[–] nous@programming.dev 7 points 2 days ago (4 children)

I would not worry about virtual memory usage. Virtual memory can include memory mapped files and does not indicate actual ram usage - only the address space that the program has opened at some point. There is little point in worrying about it.

[–] nous@programming.dev 22 points 1 week ago

IMO the best thing is to just start using it. You will start to pick things up fairly quickly then. Puzzles don't often ingrain different ways todo things and often focus on weird or niche things that don't come up as often. They can be a nice supplement to not a substitute for just using it in real world usescases.

I do also find it helpful to read the shortcut keys on their site to get a feel for what is available. You won't remember everything but it can be useful to know what is possible. Then when you hit a problem you may remember reading about something that can help and go look it up again.

[–] nous@programming.dev 38 points 1 week ago

Of course it is opt in. Why would it not be? Microsoft have opted in automatically on your behalf. Soon you will only be able to opt in, for your convenience, as too many people were accidentally opting out. /s

[–] nous@programming.dev 24 points 2 weeks ago

That's what happens when you make it expensive to import anything and don't have any domestic manufacturing for computer components.

[–] nous@programming.dev 7 points 2 weeks ago

If it is working then there is no need for a reinstall. If you cannot live without it for a day then you might want to not mess with it.

At the same time this is Arch so you can create a new partition and install from your current system into that. And only switch over when you are happy with it. It can be useful to go through the install process occasionally to ensure you can still set it up if something ever does happen to your system. Or to ensure you are configuring things with the latest recommended settings and packages.

But there is no need to wipe your current system to go through that process.

[–] nous@programming.dev 1 points 2 weeks ago

Just dont format the drive when installing a new distro. BTRFS or not you can delete the system folders manually first if needed but I believe that some if not all distros will delete the system folders for you (at least ubuntu used to do this last I tried). And if not you can do it manually.

It does not matter if you have a separate partition or not for /home installers won't touch it if it already exists except to create a new user if needed. Remember, all the installers do is optionally format the drives, mount them then install files into those drives. If you skip the formatting and manually do that partitioning (or using an existing partition layout) it will still mount and write to the same places regardless of it they are separate partitions or not. So a separate partition does not add any extra protection to your home files at all.

But regardless of what you do you should ALWAYS backup your home data anyway. Even with separate partitions or subvolumes the installer can touch or delete anything it wants to and you can easily click the wrong button or accidentally wipe thing. At most preserving your home saves you from restoring from a backup it should not be done instead of backup.

[–] nous@programming.dev 1 points 1 month ago

By far the most important thing is consistency

This is not true. The most important thing is correctness. The code should do what you expect/want it to do. This is followed closely by maintainability. The code should be easy to read and modify. These are the two most important aspects and I believe all other rules or methodologies out there are in service of these two things. Normally the maintainability side of things as correctness is not that hard to achieve with any system of rules out there.

You must resist the urge to make your little corner of the code base nicer than the rest of it.

Uhg. I really don't like these words. I agree with their sentiment, to a degree, but they make it sound like you should not try to improve anything at all. Just leave it as it is and write your new code in the same old crappy way that it always has been. Which is terrible advice. But I get what they are trying to say - you should not jump into a area swinging a wrecking ball around trying to make the code as locally nice as possible at the expense of the rest of the code base and other developmental practices around.

In reality there is a middle ground. You should strive to make your corner of the code base as nice as possible but you should also take into account the rest of the code base and current practices as well. Sometimes having a little bit better local maintainability is not worth the cost of making the code base as a whole less maintainable. Sometimes a big improvement to local maintainability is worth a minor inconvenience to the code base as a whole - especially for fast moving parts of the code base. You don't want something that no one has touched in 10 years to drastically slow down current features you are working on just to keep things consistent.

Yes consistency is important. But things are far more nuanced than that statement alone. You should strive for consistency of a code base - it does after all have a big effect on the maintainability of the code base. But there are times that it hampers maintainability as well. And in those situations always go for maintainability over consistency.

Say for instance some new library or an update to a library introduces a new much better way of working. Your code base is full of the old way though. Should you stick to the old way just to keep up with consistency? If the improvement is good enough then it might be worthwhile. Ideally if you can you would go though and update the whole code base to the new way of working. That way you improve things overall and keep consistency of the code base. But that is not always practical to do. It might be better to decide that the new way is worth switching to for new code, and worth refactoring old code when you are working in that area anyway but not worth the effort of converting the whole code base at once. This makes maintainability of the new code better, at the expense of old less used code.

But the new way might not be a big enough jump in maintainability of new code that it is worth sacrificing the maintainability of the code base as a whole. Every situation like this needs to be discussed with your team and you need to decide on what makes most sense for your project. But the answer is not always that consistency is the most important aspect. Even if it is an important aspect.

[–] nous@programming.dev 0 points 2 years ago

https://proton.me/ Are worth a look at. The allow custom domains and I believe have IMAP support. Additionally they encrypt everything they store so are very good from a privacy side (at least as far as you can be private using email).