

China: Spews blatant and obvious lies about everything that does or does not cast a shadow. Heavily censors any source.
Some guy: I don’t trust information coming from China.
China (and shills): That’s sinophobic!!
China: Spews blatant and obvious lies about everything that does or does not cast a shadow. Heavily censors any source.
Some guy: I don’t trust information coming from China.
China (and shills): That’s sinophobic!!
At this point I have a hard time believing that anyone can buy a Chinese product and then talk about there being a “secret backdoor” in seriousness.
Come on: We all should know by now that if it’s Chinese, there is more likely than not some way for Xi to use it for something other than what you want the product to do. There’s nothing “secret” or “back” about this door. It’s more like an open front gate with landing strips and a “welcome home Pooh bear” sign.
I’m impressed by how many good forklift-stories there are here, I never would have guessed how much crazy shit you guys go through! But this one wins the prize- that sounds sketchy as fuuuck…
Not running any LLMs, but I do a lot of mathematical modelling, and my 32 GB RAM, M1 Pro MacBook is compiling code and crunching numbers like an absolute champ! After about a year, most of my colleagues ditched their old laptops for a MacBook themselves after just noticing that my machine out-performed theirs every day, and that it saved me a bunch of time day-to-day.
Of course, be a bit careful when buying one: Apple cranks up the price like hell if you start specing out the machine a lot. Especially for RAM.
Looking at the general quality of YouTube videos, and the expected demographic of people that would select this option, this looks like a recipe for creating the most conspiracy-theory-oriented AI ever created.
It makes sense when you think about it too: It’s a language model, so it should be expected to do a decent job as a glorified dictionary
I use GPT in the sense of “I need to solve X problem, are there established algorithms for this?” which usually gives me a good starting point for actual searching.
Most recent use-case was judging the similarity of two strings: I had never heard of “Levenschtein distance” before, but once I had that keyword it was easy to work from there.
Also: cmake and bash boilerplate
Fair enough, git clean does exist. However, if the button saying “discard all changes” is really a button that runs git clean
, that’s just a plain terrible design choice. git clean
is “delete all untracked files”, which is specifically not discarding changes, because there can be no changes to discard on an untracked file. Even talking about “changes” to an untracked file in VC context makes little sense, because the VC system doesn’t know anything about any changes to the file, only whether it exists or not.
That’s not even mentioning the fact that the option to “git clean” shows up as one of the easily accessible options in relation to a staging process. Especially if you’re coming from the git CLI, you’re likely to associate “discard changes” with “git restore”.
Yeah, I guess I’ve got to leave it like that now…
Got will not delete untracked files though, which is what happened here. If you want to discard changes to a file with git, you first have to commit the file to the index at some point, which means there’s only ever so much damage an erroneous “git restore” or “git reset” can do. Specifically, neither of them will delete all the files in an existing project where VC has just been added.
If you have set up your staging area for a commit you may want to discard (unstage) changes from the staging area, as opposed to discarding changes in the working directory.
Of course, the difference between the two is obvious if you’re using git CLI, but I can easily see someone using a GUI (and that maybe isn’t too familiar with git) misunderstanding “discard” as “unstage”.
Either way, what happened here indicates that all the files were somehow added to the VC, without having been committed first, or something like that, because git will not let you discard a file that is untracked, because that wouldn’t make any sense. The fact that the GUI let this person delete a bunch of files without first committing them to the index is what makes this a terrible design choice, and also what makes the use of the word “discard” misleading.
I use gitkraken for two primary purposes:
Having a visual representation of my project history.
resolving merge conflicts
Of these, the first is really the only thing I really want a GUI for. I’ll just have it open on my side-screen if I’m managing some more or less messy branch structure or quickly want an overview of what has been done on which branches, where common ancestors are, etc. All the actual doing of things is done from the CLI, because it’s just better for that.
Watch me: My void*
doesn’t give a shit about your const
!
I have to be honest in that, while I think duck typing should be embraced, I have a hard time seeing how people are actually able to deal with large-scale pure Python projects, just because of the dynamic typing. To me, it makes reading code so much more difficult when I can’t just look at a function and immediately see the types involved.
Because of this, I also have a small hangup with examples in some C++ libraries that use auto
. Like sure, I’m happy to use auto
when writing code, but when reading an example I would very much like to immediately be able to know what the return type of a function is. In general, I think the use of auto
should be restricted to cases where it increases readability, and not used as a lazy way out of writing out the types, which I think is one of the benefits of C++ vs. Python in large projects.
The amount of people I’ve been helping out that have copied some code from somewhere and say “it doesn’t work”, and who are dumbfounded when I ask them to read the surrounding text aloud for me…
Along the same line: When something crashes, and all I have to do is tell people to read the error message aloud, and ask them what that means. It’s like so many people expect to be spoon-fed solutions, to the point where they don’t even stop to think about the problem if something doesn’t immediately work.
While I do agree with most of what is said here, I have a hangup on one of the points: Thinking that “docstrings and variable names” are a trustworthy way to indicate types. Python is not a statically typed language - never will be. You can have as much type hinting as you want, but you will never have a guarantee that some variable holds the type you think it does, short of checking the type at runtime. Also, code logic can change over time, and there is no guarantee that comments, docstrings and variable names will always be up to date.
By all means, having good docstrings, variable names, and type hinting is important, but none of them should be treated as some kind of silver bullet that gets you around the fact that I can access __globals__
at any time and change any variable to whatever I want if I’m so inclined.
This doesn’t have to be a bad thing though. I use both Python and C++ daily, and think that the proper way to use Python is to fully embrace duck typing. However that also means my code should be written in such a way that it will work as long as whatever input to it conforms loosely to whatever type I’m expecting to receive.
The whole “maybe if the homework can be done by a machine then its not worth doing” thing is such a gross misunderstanding. Students need to learn how the simple things work in order to be able to learn the more complex things later on. If you want people that are capable of solving problems the machine can’t do, you first have to teach them the things the machine can in fact do.
In practice, compute analytical derivatives or do mildly complicated addition by hand. We have automatic differentiation and computers for those things. But I having learned how to do those things has been absolutely critical for me to build the foundation I needed in order to be able to solve complex problems that an AI is far from being able to solve.
I feel like it has something to do with the fact that there’s less content, so when you post something, it’s actually going to be seen by people.
I didn’t post or comment anything the last couple years on Reddit, largely because it increasingly felt like shouting into the void.
I am/was in the same boat as you: For a long time, I just didn’t care that I was giving away a bunch of information in return for convenience, and didn’t get why people cared so much.
I don’t really know what triggered it, but at some point I became painfully aware that the only goal these companies have is to squeeze every possible penny out of selling me. I started noticing that the stuff they ask you to confirm is 95% stuff they want because they can sell it, or use it to get you hooked to their service, and 5% (at best) stuff they need to make the service good for you.
This triggered a change in my perspective: Now it pretty much makes me sick to my stomach to think about all the companies that are drooling over me, trying to make a buck by getting me to click something I’m not actually interested in, or don’t actually need.
These people have a vested interest in manipulating me, and by giving them my data, I’m giving them the tools to do it. I don’t want to be manipulated or sold as a product: That’s what made me start caring about protecting my data.
I never said “our” Government wouldn’t lie to us (unless you’re Chinese, in which case they definitely will). I just said that the Chinese government constantly lies, which is easily seen by anyone with eyes.