FizzyOrange

joined 2 years ago
[–] FizzyOrange 2 points 13 hours ago (1 children)

Asking for it if you git reset --hard with uncommitted changes tbh... I feel like Git shouldn't let you do that by default, but that would make Git slightly user friendly so I guess we can't have that!

Glad you recovered your code anyway!

[–] FizzyOrange -1 points 1 day ago

I don't agree with everything Israel does but you have to consider the environment they're in. They may be aggressive and racist but they're not terrorists.

[–] FizzyOrange 4 points 1 day ago

Honestly I think the complaints about the job market are overblown. If you are good then there will always be a job for you somewhere.

If you've already tried programming and you enjoy it then it is a really great career. Crazy money (especially in the US) for low effort and low responsibility.

Just be aware that CS is usually a lot more theoretical than most programming. You'll be learning about things like Hoare logic and category theory. Tons of stuff you only really need in the real world if you're doing formal verification or compiler design.

Still, I kind of wish I did have that theoretical background now I am doing formal verification and compiler design! (I did a mechanical engineering degree.)

Also you don't need a CS degree to get a programming job. I did a survey of colleagues once to see what degree they had and while CS was the most common, fewer than half had one. Most had some kind of technical degree (maths, physics, etc.), but some had done humanities and one guy (who was very good!) didn't have a degree at all.

I wouldn't worry about the market. Maybe take a look at the syllabus for places you might apply to, e.g. here's the one for Cambridge. Also I guess an important question is what's the alternative? What would you do otherwise?

[–] FizzyOrange 0 points 1 day ago (1 children)

I mean it's not a totally unreasonable list but what's with "working alone with headphones on"? And what are "annotations"?

Also Typescript backend can be pretty great actually - especially because it lets you use JSX/TSX. Nothing else is as good.

[–] FizzyOrange 1 points 2 days ago

mainly because of rails magic though whenever I look at it. Convention over configuration hurts my brain some days.

I agree. Ruby has waaaay too much magic which makes it impossible to follow (dynamic typing makes it even worse).

And convention over configuration definitely has huge advantages in terms of consistency and terseness, but it is also way less discoverable because instead of a config file say "the stuff is in foo" you have to already know that everything in foo is automatically treated as stuff.

I often wonder if it would be crazy to have both: you have a configuration file that says where things go, but the values must be set to constant well-known values. Sounds kind of crazy so I've never done it but you would get consistency and discoverability. I expect people would complain about the redundancy though.

[–] FizzyOrange 2 points 2 days ago

None of this is nonsensical though.

  • Adafruit - brand name; meaningless in any industry.
  • ESP32-S3 - product code; random numbers in any industry.
  • Reverse - screen is on the back.
  • TFT - Abbreviation for the display technology.
  • u.FL - Abbreviation for the antenna type.

You could easily have something like that about e.g. mountain biking:

NEW PRODUCT - Sram Xg-1299 Eagle 10-52 Cassette

[–] FizzyOrange 1 points 2 days ago

I've definitely seen "this is more correct, but all the other code does it like this so can you change it?"

I can't say I entirely disagree with it either - usually the "more correct" is not "the existing code doesn't work at all", and keeping it consistent makes it easier to fix all of the code later, because you're only fixing one style instead of two (or more).

[–] FizzyOrange 3 points 2 days ago (2 children)

Ha you only think this is unique to tech because you don't have experience of it in other fields.

[–] FizzyOrange 1 points 3 days ago

I'd settle for detailed short term local rain forecast. It's such a huge application and as far as I can tell (please correct me if I'm wrong!) nobody does it at all well.

  • Often ensembles are only run every 3 or 6 hours, so the predictions are needlessly out of date.
  • The ensembles have a very small number of runs (like less than 10) so you can't get a good estimate of probabilities.
  • Usually you can't get access to the raw data anyway and user facing sites dumb things down to a single number, so e.g. "it's going to drizzle all day" and "it's going to tip it down for half an hour at some point" are presented exactly the same. As are "it's either going to rain loads or not at all" and "it's definitely going to rain a bit".
[–] FizzyOrange 5 points 4 days ago (1 children)

No, they're inherently optional in Git. There's no way to "check in" a git hook. You have to put in your README

Clone the repo and then please run pre-commit install! Oh and whatever you do don't git commit --no-verify!

You definitely need to actually check the lints in CI. It's very easy though, just add pre-commit run -a to your CI script.

[–] FizzyOrange 13 points 4 days ago (1 children)

So... to store encrypted data that only the user can decrypt you don't need any fancy zero knowledge algorithms. Just have the user keep the encryption key.

For authentication you could use one of these algorithms. OPAQUE seems to be popular. I'm not an expert but it seems like it has several neat zero-knowledge style properties.

But probably forget about implementing it without a strong background in cryptography.

[–] FizzyOrange 4 points 4 days ago (3 children)

To check that people ran the pre-commit linters.

Committing itself won’t be possible

That's not how pre-commit hooks work. They're entirely optional and opt-in. You need CI to also run them to ensure people don't forget.

26
submitted 5 days ago* (last edited 5 days ago) by FizzyOrange to c/linux
 

Edit: rootless in this context means the remote windows appear like local windows; not in a big "desktop" window. It's nothing to do with the root account. Sorry, I didn't come up with that confusing term. If anyone can think of a better term let's use that!

This should be a simple task. I ssh to a remote server. I run a GUI command. It appears on my screen (and isn't laggy as hell).

Yet I've never found a solution that really works well in Linux. Here are some that I've tried over the years:

  • Remote X: this is just unusably slow, except maybe over a local network.
  • VNC: almost as slow as remote X and not rootless.
  • NX: IIRC this did perform well but I remember it being a pain to set up and it's proprietary.
  • Waypipe: I haven't actually tried this but based on the description it has the right UX. Unfortunately it only works with Wayland native apps and I'm not sure about the performance. Since it's just forwarding Wayland messages, similar to X forwarding, and not e.g. using a video codec I assume it will have similar performance issues (though maybe not as bad?).

I recently discovered wprs which sounds interesting but I haven't tried it.

Does anyone know if there is a good solution to this decades-old apparently unsolved problem?

I literally just want to ssh <server> xeyes and have xeyes (or whatever) appear on my screen, rootless, without lag, without complicated setup. Is that too much to ask?

 

Does anyone know of a website that will show you a graph of open/closed issues and PRs for a GitHub repo? This seems like such an obvious basic feature but GitHub only has a useless "insights" page which doesn't really show you anything.

10
Dart Macros (youtu.be)
submitted 10 months ago by FizzyOrange to c/rust
 

Very impressive IDE integration for Dart macros. Something to aspire to.

view more: next ›