[-] FizzyOrange@programming.dev 2 points 1 year ago
  1. Reliable hardware support. Especially on laptops - as far as I know it's still basically impossible to get battery life as good in Linux as in Windows/Mac.
  2. Sane software distribution method that actually works reliably.
  3. All settings accessible via the GUI. The terminal is still the default for most things. For example google how to disable SELinux (something most users should probably do). You have to edit /etc/selinux/config which is really quite complicated for "normal" users.

I think those are the main things. I think it would also help if KDE were the "default" desktop environment instead of Gnome. It's much better, with one caveat - they seem incapable of good visual design! Don't get me wrong, it's a lot better than when KDE 5 first came out, but there are still very obvious spacing issues, and Gnome never has those.

[-] FizzyOrange@programming.dev 2 points 1 year ago

I doubt this will fly in the UK. They are legally required to implement "highly effective" age verification, and that definitely rules out AI and probably face recognition (pornhub doesn't support that for example). It's going to be credit card checks all round, yeay.

[-] FizzyOrange@programming.dev 2 points 1 year ago

Not really because I've never seen a setup that requires every commit in a branch to compile and pass tests. Only the merge commit needs to.

Also if your PR is so big that it would be painful to bisect within it, then it should be broken into smaller PRs.

[-] FizzyOrange@programming.dev 2 points 1 year ago

I don't think anyone disputes that, it's just that nobody has come up with anything better.

Take home exercises were a potentially better option (though they definitely have other big downsides) but they aren't a sensible choice in the age of AI.

Just taking people's word for it is clearly worse.

Asking to see people's open source code is unfair to people who don't have any.

The only other option I've heard - which I quite like the sound of but haven't had a chance to try - is to get candidates to do "live debugging" on a real world bug. But I expect that would draw exactly the same criticisms as live coding interviews do.

What would you do?

[-] FizzyOrange@programming.dev 2 points 1 year ago

They mean measure first, then optimize.

This is also bad advice. In fact I would bet money that nobody who says that actually always follows it.

Really there are two things that can happen:

  1. You are trying to optimise performance. In this case you obviously measure using a profiler because that's by far the easiest way to find places that are slow in a program. It's not the only way though! This only really works for micro optimisations - you can't profile your way to architectural improvements. Nicholas Nethercote's posts about speeding up the Rust compiler are a great example of this.

  2. Writing new code. Almost nobody measures code while they're writing it. At best you'll have a CI benchmark (the Rust compiler has this). But while you're actually writing the code it's mostly find just to use your intuition. Preallocate vectors. Don't write O(N^2) code. Use HashSet etc. There are plenty of things that good programmers can be sure enough are the right way to do it that you don't need to constantly second guess yourself.

[-] FizzyOrange@programming.dev 2 points 2 years ago

I recently upgraded to Windows 11 and it's absolutely fine. Admittedly I did some research, got the IoT LTSC version and enabled the Rufus options to remove account requirements etc. But after that it's pretty much the same as Windows 10, just slightly swisher animations.

[-] FizzyOrange@programming.dev 2 points 2 years ago

I think this is a general Linux problem. My laptop hard reboots, although it hasn't since I massively upped the swap.

[-] FizzyOrange@programming.dev 2 points 2 years ago

Yes! On a tablet with a Bluetooth keyboard. Should I not want to for some reason?

[-] FizzyOrange@programming.dev 2 points 2 years ago

When they say global state here it's not really global state, it's class members - global to the class. "Why are they calling it global state then, idiots?" you might think. It's because it prevents local reasoning in the same way as global state does (and most people get the implications of "global state" because of experience, so it's a kind of shorthand).

Of course, not many people would recommend "no class variables" (in a classic OOP language anyway), but the point is they have similar downsides to global variables in terms of understanding code (and testing, etc.) so recommending to always use them - even when passing state in and out of functions is perfectly ergonomic - is clearly bonkers.

[-] FizzyOrange@programming.dev 2 points 2 years ago

The kitty graphics protocol lets you send images to display in the terminal. I had a play around with it trying to make a similar GUI. The big gotcha is text rendering. You can either stick to normal grid aligned monospace, or I think you could maybe use a texture atlas, but it's not going to be very efficient at all. I haven't got as far as trying that though.

The videos... while they work are probably uncompressed video which is only going to work well over a very fast network.

[-] FizzyOrange@programming.dev 2 points 2 years ago

Damn, I thought Google used to do that and changed it like 10 years ago. Did Apple just not notice?

[-] FizzyOrange@programming.dev 2 points 2 years ago

Note that worktree does not work with submodules. Which IMO is a strong enough reason to never use submodules because worktrees are so useful!

view more: ‹ prev next ›

FizzyOrange

0 post score
0 comment score
joined 3 years ago