Spyke

Replies

Comment on

*Permanently Deleted*

Why wait and hope for C++ to get where modern languages are now? I know there's value in the shared experience in C++ that if adapted would make it stronger, but I can only see a development of C++ having to force a drop of a lot of outdated stuff to even get started on being more suitable.

But the language is just not comfortable to me. From large amounts of anything creating undefined behavior, the god awful header files which I hate with a passion, tough error messages and such. I also met a fun collision of C++ in Visual Studio and using it with CMake in CLion.

I've just started looking at rust for fun, and outside not understanding all the errors messages with the bounded stuff yet, figuring out what type of string I should use or pass, and the slow climb up the skill curve, it's pretty nice. Installing stuff is as easy as copy pasting the name into the cargo file!

Rust is just the prospective replacement of C++ though, people act like the White house said that C++ should be replaced by rust now. But the just recommend it and other languages, C# will do for a lot of people that does not need the performance and detail that the aforementioned languages target. Python is targeting a whole different use, but often combined with the faster ones.

C++ will live a long time, and if the popularity dies down it will surely be very profitable to be a developer on the critical systems that use it many years from now. I just don't think an evolution of C++ is going to bring what the world needs, particularly because of the large amount of existing memory related security vulnerabilities. If things were good as they are now, this recommendation would not be made to begin with.

games

Comment on

This should be illegal

Reply in thread

This is also the reason I'm all open source. Not just games, but seeing someone abandon a program hurts. Or just wanting to make a change on your own to suit your needs. I don't have any big fancy programs, but I at least put my code openly on github.com for that reason. Both my "big" ones are just me using another program and realizing I could make something that worked better for me. At like 100x the time investment, but programming is fun.

Comment on

Good Refactoring vs Bad Refactoring

I largely agree with this nodding along to many of the pitfalls presented. Except numbers 2s good refactor. I hope I won't sound too harsh/picky for an example that perhaps skipped renaming for clarity on the other parts, but I wanted to mention it.

While I don't use javascript and may be missing some of the norms and context of the lanugage, creating lamda functions (i don't know the js term) and then hardcoding them into a function is barely an improvement. It's fine because they work well with map and filter, but it didn't address the vague naming. Renaming is refactoring too!

isAdult is a simple function with a clear name, but formatUser and processUsers are surprisingly vague. formatUser gives only adult FormattedUsers, and that should probably be highlighted in the name of formatUser now that it is a resuable function. To me, it seems ripe for mistaken use given that it is the filter that at a glance handles removing non-adult users before the formatting, while formatUser doesn't appear to exepct only adult users from it's naming or even use! Ideally, formatUser should have checked the age on it's own and set isAdult true/false accordingly, instead of assuming it will be used only on adult Users.

Likewise, the main function is called processUsers but could easily have been something more descriptive like GetAdultFormattedUsers or something similar depending on naming standards in js and the context it is used in. It may make more sense in the actual context, but in the example a FormattedUser doesn't have to be an adult, so a function processing users should clarify that it only actually creates adult formatted users since there is a case where a FormattedUser is not an adult.

Comment on

That shadowy place

Reply in thread

I was on-site for users learning our new program. Watched them do something, a dialog came up, and faster then i could catch what it was, they closed it. Dialogs are warnings or confirmations you know, and they did not know what it was...

So yeah, sometimes I do think there should be a wait time on the OK button.

Comment on

You can pry pattern matching from my cold dead hands

Reply in thread

I can actually see where this is coming from, as I found Rust hard to read when I started out. I do really like Rust for reference, but I do agree Rust is hard to read for someone that has not learned it.

For example:

return statements that are implicit just because the semicolon isn't there. Even better if they occur inside a if block or something like that. Very hard to understanding when you don't know the syntax rules.

Lambda functions, especially when using move semantics too. They are quite simple, but if you don't know the meaning, it's more arcane characters. Especially when this is used inside lots of chained methods, and maybe a multi-line function in the lambda.

A lot for the if let x =... type of stataments are tough the first time around. Same for match statements.

Defining types for use with function::() and such.

Lifetimes, especially when they are all named a, b, c etc. It quickly gets messy, especially when combined with generics or explicitly defined types.

Macros, though not entry level rust to begin with, they are really cumbersome to decode.

None of these are sins of Rust, but for new people they are a hill to climb, and often hard to just "get" based on previous programming experience and reading the code. Rust can be really hard to approach because of these things. This happens in other languages too, but I do feel Rust has a particularly large amount of new concepts or ways to do something. And this is on top of learning lifetimes and borrow semantics.

Comment on

People who back into parking spots: Why?

Getting out quicker is always good.

But the main reason, there isn't much traffic where you are backing in. But backing out sure as hell will have both passing cars and people assume you see them perfectly well. I also have no depth perception so the ass of my car is like a big unknown. So backing into a spot is easy because I can just use the side mirror to line up my position relative to there cars. Only issue is how far back I can go. Now I got a camera back there, and everything is much easier.

home

Comment on

When lemmy.zip was announced, a few people were concerned about the .zip, as it could create security issues. Has it been the case so far? Has anyone ever been blocked by a work firewall due to .zip?

Reply in thread

They are just more likely to be scam like, particularly since they can be assumed to be a file at a glance.

Even more deviously, crafty urls like this further hides what you are actually doing, like this:

https://github.com∕kubernetes∕kubernetes∕archive∕refs∕tags∕@v1271.zip

Hover it with your cursor, watch what that actually links too, no markup cheating involved. Anything before the @ is just user information. Imagine clicking that and thinking you downlodaed a tagged build, only to get a malware?

It's not the end of the world, but as a developer it makes great sense to just auto-block it to avoid an incident. The above URL is from this article, which says it's not as big of huge problem too:

https://www.theregister.com/2023/05/17/google_zip_mov_domains/

But it's kind of a death by a thousand cuts to me, because it's another thing with another set of consideration accross the internet ecosystem that one will have to deal with.