namingthingsiseasy

joined 1 year ago
[–] namingthingsiseasy 32 points 1 year ago* (last edited 1 year ago) (3 children)

Yeah, the biggest problem with Firefox is that its engine is so hard to embed. Chrome has endless clones because it's just so damn easy to embed. And Firefox just has some weak forks like Librewolf.

I'd really rather see Mozilla focus on this rather than all their other stupid endeavors....

[–] namingthingsiseasy 14 points 1 year ago (1 children)

Personally, I'm just sick and tired of modern UI design. Bring back density, put more information on the screen, eliminate the whitespace, use simple (and native!) widgets, get rid of those fucking sticky headers, and so on.

In addition to all the software freedom stuff, and so on. Also, I wish GPL were more popular too.

[–] namingthingsiseasy 2 points 1 year ago (3 children)

Then by that metric, Chinese must be incredibly easy. Simple genders, no articles, simple grammar, no verb conjugation whatsoever, very simple tenses. Probably the easiest language out there!

[–] namingthingsiseasy 3 points 1 year ago

Yeah, I meant to include that in my post but forgot. I actually started out thinking that it wouldn't be too hard to implement on top of std::optional but then went down a rabbit hole to see if it already existing in the standard library.

In any case, you could also always use abseil for features that haven't landed in the compiler yet. At work, I'm stuck on c++14, but having a great time using plenty of features from later versions thanks to abseil.

[–] namingthingsiseasy 10 points 1 year ago (4 children)

Overall, I agree. Exceptions are messy and make it difficult to reason about code. That said, I think the macro at the bottom is even worse. I think a better solution to the one posted in the article is to use std::expected instead. This gives you a typed union that allows you to return either a successful result or an error type.

What's nice about it is that you don't need to add endless amounts of if success {...} else {...} blocks. You can use the monadic operations (and_then, transform, etc.) to add your logic as normal while letting the compiler smoothly take care of doing the error checks. (In fact, I really wish golang has something similar to this, it would get rid of the endless error checking you have to write manually.)

I wasn't able to find an example using std::expected, and I tried writing one myself, but my version of g++ doesn't seem to support it yet. But here is a nice std::optional example that should be pretty close to what you would do with std::expected.

[–] namingthingsiseasy 17 points 1 year ago

The fact that debug cycles are fast. I started out working in nanotechnology, and spending 3-4 days of fabrication -> electron microscope -> optical verification was soul crushing cause 99.9% of the work never led to anything and you practically never knew why.

Software development is logical and predictable. It's (relatively) easy to break a large task down into small ones, prove to yourself that they will work, and compose them together to complete a large project. Sure, things go wrong here and there, but for the most part, you can be confident that whatever you're doing should work every step of the way... without having to worry that you committed some irrecoverable error at any step in the process.

[–] namingthingsiseasy 3 points 1 year ago

It doesn't help that many of the governing bodies are deliberately sabotaging it as much as possible in order to push voters into that direction. Doug Ford is one of the most notorious in this respect, but there are plenty of others too

[–] namingthingsiseasy 1 points 1 year ago

This is still on my todo list, but getting rid of std::regex in my C++ code. It's abhorrently slow.

[–] namingthingsiseasy 23 points 1 year ago

Speedrunning the demise of cable tv!

[–] namingthingsiseasy 4 points 1 year ago (2 children)

I would have thought that all the stupid things he's done would make him a bit more humble, but too much to ask it seems. Easily one of the most unliked players on the scene now.

[–] namingthingsiseasy 5 points 1 year ago (1 children)

Have participated in a few sports at the amateur level. Nowhere near the level of these guys - they're the best in the world at what they do and I could barely rank in the top 500 of the collegiate levels in my country. And I couldn't take it. I quit after just about 3 years of university level competition and never once thought about even trying at the open levels.

Here's the worst part: if you're a spectator, all you think about is the tournament results. Nobody ever thinks about the preparation. The fact that you have to grind for so much time in practice, always asking yourself if it's enough and whether you're able to keep pace with the competition, let alone move up the ranks. Always asking yourself if you need to do even more.

So I have no idea how people compete at this level and how they manage to keep it up for so long. And how they learn to cope with the defeats, not let it get them down, and to keep coming back after. Just getting back into that preparation mode with no guarantee whether it'll ever pay off. Just think about that again - you can work so fucking hard and bust your ass off, and still have no idea if you'll even qualify for the next tournament let alone do even better.

Mad respect for all of these pros, especially when they have such long and storied careers as Zai. No matter what their results are, it takes a crazy amount of strength to do what these people do.

[–] namingthingsiseasy 8 points 1 year ago

Today we have chatbots. Yesterday we had search engines and stack overflow. Before that we had books. And before that? Well what do you know... software programming is a relatively novel field. It's almost as if nobody has perfected how it should be learned.

The most valuable knowledge comes from experience. I copied plenty of code around during my learning days as well, and I still do it today. The most important part however is trying to understand the code you're working with. If you can understand it, know when it fails, test it in the right way, etc., then sure, you could probably learn to code from chatbots. They provide the information, and you're at liberty to do what you want with it. If you just copy it and forget, you'll be a bad programmer. But it's not like you couldn't do that before either with the other sources that were available - there were plenty of bad programmers before we had these tools available too.

That said, there is a risk that these chatbots do not provide any useful context around the code that they produce. When you learned from a book or stack overflow, you were reading from a reasonably authoritative source that could explain the code that was produced. But the authority behind the code from chatbots is probably much weaker than what we have from stack overflow, which in turn was probably also weaker than what we have from books. Does it have an effect or learning? I have no clue. But I still think you can learn from chatbots if you use the output that they provide in the right way. (Disclaimer: I have never used one of them and have no experience with them.)

view more: ‹ prev next ›