Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)NA
Posts
6
Comments
294
Joined
2 yr. ago

  • My advice would be to learn C first (or at least develop a good understanding of it). It's extremely important to understand how memory works in C so that you can understand pointers in C++; and also important to understand how functions work so you can understand classes and methods in C++. I would go through The C Programming Language. It's fairly concise and while you don't have to go through it cover to cover, you should at least understand the chapters on structs, pointers and functions (up to chapter 6, I believe).

    (Note that the wikipedia link that I posted above has a link to the full text of the book in pdf format.)

    The reason why I think it's important to understand C is because when you learn C++, then you'll understand how the language abstracts over a lot of the lower-level functionality in C. new in C++ supplants malloc in C for example, and your understanding of functions in C will map to more complicated concepts like constructors, destructors, copies, methods, and operators in C++. At this point, I would probably start learning how classes in C++ work. They're basically structs with private member variables and methods defined in the scope of the class. learncpp.com, is the best reference that I'm aware of (it's very thorough, which makes for a pretty slow read, but you'll understand it very well). I would probably start with chapter 14 (introduction to classes), and then go back to the earlier chapters to fill in the gaps, but this is more dependent on how you think you learn best.

    Be aware though, that if you don't have existing experience with OO development, then C++ is (in my opinion) not a great language to start learning it, because a lot of it is hacked on top of C and implemented in arcane ways in order to maintain compatibility with C. The first language I learned was Java, and it was really helpful to have that as a background for when I learned C/C++. I'm only familiar with Javascript on a procedural programming level, so I'm not aware of its OO functionality or how well that will translate to C++, but hopefully it works out.

    Good luck!

  • There was a quaint old time, shortly after Google was founded, where people mused about privacy over the internet. It was forgotten about as the profits started rolling in and pretty much all other companies started following along. That was the time when we started transitioning into a period of massive data surveillance. Glad to see that the conversation is starting to pick up again in some areas, though it's definitely being actively suppressed in many others.

  • And yet, many (maybe even most) countries in Europe operate on a pension system for retirement. That would include tech workers in said countries as well.

    But American companies (and Canadian too?) have mostly done away with them by now

  • Agreed overall, you will still be competent switching from one language to another, but intricacies and nuance matter a lot here. You may have enough knowledge to solve problems, but will you have enough knowledge to avoid creating new ones too? Like performance issues, or memory leaks, or other unwanted behavior? C++ is a great example here: someone that's smart but inexperienced might just be dangerous enough to start writing classes with dumb pointers without overriding the copy constructors, and this is just a recipe for disaster.

    I think it would take more than a few months to develop the kinds of experience that you need to be aware of these issues and avoid them. And while C++ is a very easy example to point out here, pretty much all languages have their share of footguns to be aware of, and it just takes time to learn them. A "deep knowledge" of a language is not just about being faster and more productive; it's also about not creating more issues than the ones your solving.

  • This one might be a bit controversial, but has rung true in my general experience. Probably a lot of exceptions to these rules, but here goes:

    You don't really know a programming language until you understand a fair amount of the standard library and how packages/modules/dependencies work. Syntax is pretty easy, and any mainstream language will work just fine for solving basic leet-code style problems. But when you really spend a lot of time working with a language, you're going to spend more time learning about common libraries and how to manage dependencies. If you're working with a language like C++ or Java, this could also include build systems and how to use them.

    Another precursor to being able to say that you know a language is that you should also be familiar with best practices (ie. how to name modules, how to write documentation, etc.) and common pitfalls (undefined behavior, etc.). This is one of the hardest parts about learning a new language in my opinion, because the language may not necessarily enforce these things, but doing them the wrong way can make your life very difficult.

  • Well, there's one good thing that will come out of this: these kinds of idiotic moves will help us figure out which companies have the right kinds of management at the top, and which ones don't have any clue whatsoever.

    Of course, it will come with the working class bearing the brunt of their bad decisions, but that has always been the case unfortunately. Business as usual...

  • If you want to see what the world would look like without the GPL, just look at how the BSDs are getting shanked by Apple (and many other companies too, but they're the biggest).

    If it weren't for him, I have no idea what Linux would be today. No doubt in my mind, RMS is #1 on my list of most important software developers to have ever lived.

  • There are terrible people everywhere. California and New York have 10s of millions of residents - there are bound to be some that are shitstains. The problem is that money = power and when it's possible for one individual to have too much money, it inevitably means that terrible people will be able to amass this kind of power.

    This is why wealth (in)equality is important - it's what determines how much powerful individuals are able to become. If it's too easy for a single person to amass too much power, inevitably, the wrong person will be able to gain it.

  • Same here. Sure, KDE and Gnome may have great Wayland support by now, but what about other DEs? The situation in XFCE seems to be pretty grim:

    It is not clear yet which Xfce release will target a complete Xfce Wayland transition (or if such a transition will happen at all).

    MATE seems to have piecemeal support. No idea what the status of LXDE/LXQT are. And there are plenty of other window managers that don't have the manpower to support wayland either.

    The deprecation of X is going to leave a lot of dead software in its wake.

  • Why is it your responsibility to pay the creators? Google is a trillion dollar company and makes billions off of what people post on youtube. Shouldn't they be paying them instead and not you?

    Besides, it's only a matter of time before Google takes more and more of the cut that you think you're paying them.

  • You say that today. Give it a couple years. I'm pretty sure that by 2030, the cost will be ~100 dollars/euros/whatever per month and you'll see 2 minutes of ads for every single minute of content you watch. (Okay, maybe the number of ads is an exaggeration, but I don't think the monthly cost is.)

    Don't pay the Danegeld. It never makes them go away.

  • when it means they will not sell my data and will allow me control over my algorithm to prevent it from playing to my vulerabilities

    The problem is that this will never happen. That boat has sailed - companies will never give up on their existing revenue streams. They may say that paying today will exempt you from the ads, but it's only a matter of time before they ramp up the cost and start showing ads anyway. That's how cable television started, and it's how internet streaming will end as well. And as for the not selling data/controlling the algorithm, well you have no way of proving that they don't do that so they'll do it no matter what they say.

    There's no reason for google to do this whatsoever. They have their business model - any new revenue streams will 100% definitely not reduce the other ones at all. It's just gonna be another giant dump into the pile of enshittification.

  • Thanks for explaining. That's insane. I guess the only real solution is to unionize. If there's no legal protection, then I suppose a union is the only thing you can rely on to prevent yourself from getting fucked over like this.

    I sincerely hope people take their experiences from this dark period of history and learn from them.

  • The reason why American tech workers haven't unionized is because when times are good, they think they don't need a union, and when times are bad, it's far too late.

    Source: reading too many of hopeless comments like this on hacker news

  • Speaking of labour protections, is this even legal? Or is it a case of illegal, but good luck with the courts? I would think that at least California would have protections against something like this.

    For example, let's just consider housing: imagine you bought a house when interest rates were 3% - now they can just force you to sell it and buy a new one with a 9% rate (or force you to rent)?

    But I guess they can just call it a layoff instead so they can get away with it or something

  • At least Lemmy data is public for anyone to read. I don't care that much if random groups are sucking up all this data for themselves - it's worth it in my opinion because it means good actors can use it for good too. If it were all going to one company, I would be less happy about the fact that they could just black hole it all for nobody's benefit but their own.

  • Poor computer literacy is really biting people in the ass. Quotes like this really stand out to me:

    Bit by bit all of our work was hidden from us as Duolingo became a publicly-traded company.

    Did you not know that they would be able to do this from the start? Or perhaps you knew and were just being extremely naïve? Either way, not being aware of what kinds of control other parties have when you share data with them is something that's all too common these days. I really wish people would consider the ramifications of what companies can do when you give information like this to them.

    Like giving your phone number away for no reason. The moment you share it, you give companies all they need to start spamming the shit out of you (or giving it away to other companies that will happily do it instead). How is a concept like this so hard to understand?