Somehow that sign saying “CAUTION! Low Bridge Clearance 15ft. Large Trucks Prohibited” cracks me up the most.
Ephera
- 13 Posts
- 609 Comments
A few years ago, I was working in a warehouse for a couple months and had a colleague who worked there around the same time. We were working together pretty much all the time.
One day when we were bored out of our minds, we were telling random stories from our lives and she was like, back in middle school we would bully our teacher, that was great.
I was genuinely speechless. I wanted to rebut something, but yeah, just genuinely appalled that she would tell that with such pride, too. But also really confused that she would tell it to a guy who’s been bullied all his life, seemingly expecting me to celebrate the bullying.
I did eventually forgive her, because clearly she was just a fucking dumbass tugging along in the bullying and did not actually see the targets to initiate the bullying. But it took until our last day there that I understood the extent of it.
We were helping two folks and I was the tallest among us four while we had to stack packages up high, so I was putting in extra effort to not slow us down and I was sweating.
Anyone with a brain would have been thankful towards me, but not those folks. They had to bolster their lack of self-esteem by punching down, by mocking me for sweating.And yeah, this time it was my lady friend who was speechless. I think that’s when she understood that I was a target. That she should’ve been bullying me all along, since she enjoys it so much.
But she’s also this really sporty girl, so she really did not understand the problem with sweating. Nor this whole fucking situation. I feel like that’s when she put together how fucking dumb bullying is.But I could also tell that she was trying to side with me, which was probably a novel situation for her entirely, to have to defend against bullies. I still remember her eyes shifting back and forth as she was trying to put all these thoughts together and rebut something. Bless her.
Yeah, if I had planned it better, I could’ve cooked quinoa or lentils or something while I’m chopping the bell pepper. 🙃
somewhat logical, but entirely in practice verb-noun command structure.
That’s supposed to be “impractical”, not “in practice”, for others reading along.
For example, the “proper” command to list a directory is:
Get-ChildItem
The “proper” command to fetch a webpage is:Invoke-WebRequest https://example.com/
In these particular cases, they do have aliases defined, so you can use
ls
,dir
andcurl
instead, but …yeah, that’s still generally what the command names are like.It’s partially more verbose than C#, which is one of the most verbose programming languages out there. I genuinely feel like this kind of defeats the point of having a scripting language in the first place, when it isn’t succinct.
Like, you’re hardly going to use it interactively, because it is so verbose, so you won’t know the commands very well. Which means, if you go to write a script with Powershell, you’ll need to look up how to do everything just as much as with a full-fledged programming language. And I do typically prefer the better tooling of a full-fledged programming language…
Yesterday, I had made a salad with bell pepper and green beans for dinner and figured, I should add a protein. First thought was white beans, which I decided against, because bean-on-bean action seemed perhaps a bit too samey.
So, I look over my counter and see tofu …which is also beans.
Oh, I also have these chewy soy chunks …which is also beans.I ended up putting cashews into my salad. 😅
I guess, it would’ve been fine to pick one of the bean options after all, but yeah, just had a mild existential crisis when I wanted to not eat beans for once.
I’ve been trying to basically build a library that helps you put together a distribution archive.
And my initial plan for the API looked something like this:Distribution::new("my-program") .dir("assets") .file("favicon.png", |path| build_favicon(path)); // "|path| ..." is a lambda function that gets the target path passed in
So, it would allow you to define the file structure, and for the parts that actually need to be built, you’d provide a lambda function, which it would automatically run or not, depending on whether the inputs changed.
Right, inputs, what are those? I kind of need my user to tell me. So, I decided to implement the caching as a separate API, which you would call on your own when you get called by the lambda function.
Then I realized, I kind of don’t need the lambda function then. I could just construct file paths and then my user calls their
build_favicon(...)
function or similar on their own.There is just one crucial problem with that. This is what the path API in the stdlib looks like:
PathBuf::new("my-program") .join("assets") .join("favicon.png");
I might not have built anything, really. 🫠
Depends on the distro how that alias is defined (if it is defined)…
I just want to say that you’re probably worrying too much about it. Of course, there is lots of things one can do to improve security (which the others here are listing dutifully) and it is foolish to just assume that one’s computer is entirely secure, because as a user, you will always have the ability to bypass that.
But there’s a pretty firm consensus in the IT industry that Linux is more secure than Windows. And that the popular Linux distributions are more trustworthy organizations than Microsoft.
So, it’s good to inform yourself, but if you survived on Windows, you at least should not worry about the Linux side of things. It’s more than fine.
I kind of love the idea of the ternary operator. C is all about being a procedural language, except this is of course a lie, because it does have mathematical expressions.
But then they realized that it’s not just mathematical expressions where being purely procedural is kind of shit, so they wanted to introduce if-else expressions.
But oh no, we can’t have it look like the if-else control flow element. This is where
madnessfunctional programming lies. Let’s make it look like a mathematical expression instead, by choosing the ugliest syntax known to man.But what really makes it a meme is that other languages decided they needed to look like C, so they copied this terrible design and even though JavaScript has almost nothing to do with C anymore, webdevs in particular get to suffer from the unreadable syntax all the more.
Having recently found out I might be allergic to wheat, I also have to say I’d rather have “gluten-free” printed on the most ridiculous products than to not be quite sure. You would not believe in how many products, there’s some form of wheat (which in particular also includes barley and spelt).
For example, I bought some vinegar recently and then saw that it contains barley malt syrup. I guess, my assumption was wrong that wheat isn’t a liquid. But I’m not even sure, if that one would be covered by “gluten-free” either.
Yeah, I kind of respect the stance, because it knows what it wants to be, but I also wrap number types into a separate data type to document that maybe you shouldn’t multiply a port number by the wheel count and pass that into the temperature parameter, because I want more fine-grained typing, not one-size-fits-all.
Groovy will automatically convert integers into objects, as it sees fit. And one such case is when you assign
null
to an integer.There’s some more languages, which try to treat primitive types like objects, to make them more consistently usable. As I understand, nullability is a big part of the reason why it can’t be solved with syntactic sugar, so presumably this would be possible in all those languages.
If I’m not mistaken, Ruby is another one of those languages.
I believe, that would mean that any 0 is equivalent to the null pointer, since the null pointer is just memory address 0…
I do agree, yeah. If we would have auto-detection, I’d want a manual override to be implemented for sure.
It’s a CLI, so it wouldn’t be too bad to add a--browser=firefox
flag or similar, but it just makes it even more obvious that this feature only adds complexity, because we would have two solutions when we hardly needed one.
We currently have a semi-serious project at $DAYJOB, like we’re basically allowed to work on it as a team building thing. And one guy who’s tugging along has ten years more programming experience than me, but no experience with the programming language we’re using, so he’s been generating everything with LLMs.
He knows to write unit tests and well, the programming language in question is Rust, which’s strict compiler prevents lots of bad code from happening. So, this isn’t your stereotypical vibecoding.
But …yeah, it’s still been challenging to work with.
Yesterday, the guy built a feature which basically gives the user instructions how to create a bookmark in their browser. There’s a few ways to implement this:
- You don’t. Our userbase is gonna be technical, they probably know how to do that.
- You show the instructions for all browsers and let the user pick which instructions to follow.
- You ask the user interactively what browser to set up and then show them only the instructions for the chosen browser.
Right, and apparently the fourth way to implement this, which the LLM generated, is to detect what the default browser of the user is.
Leaving aside the problem that some users will want to set up different browsers than their default browser, how do you implement that? Is there some nice, cross-platform API for it? Well, if there is, the LLM didn’t know about it.
And neither are there nice APIs per operating system. On macOS and Linux, it runs some random commands to access this information. On Windows, the generated code looks at the Registry.All of this is absolutely horrid to maintain. I do not want to be testing on each OS separately. I do not want hundreds of lines of code for a feature that’s not actually needed. And the worst part is, the guy should know this. He has the experience.
But I’ve seen the guy when he chats with an LLM, just falls into an absolute trance. Does not surprise me that he’s unable to take a step back to think, if this even makes sense to do…
Ephera@lemmy.mlto Memes@lemmy.ml•>be oilcels >remove renewables subsidies >get mogged anywayEnglish8·7 days agoIt says “global” in the meme, so presumably all of them…
Fish is not the worst in this regard, because:
- The defaults are pretty good, so you don’t typically need a config file for it to be usable.
- As of version 4.0, Fish is (experimentally) available as a single executable for download from their GitHub page. So, even on hosts where you can’t install anything, you may still be able to copy that executable file onto there and use it.
But there may still be situations where it’s annoying, like if you’re working in a container, then you likely don’t want to mount your
fish
executable every time.But I also have to say I don’t find it too big of a deal.
I still use Bash for scripting (just throw aor
at the top of your script, like you should anyways), and then for interactive use, not that much of the shell syntax comes into play anyways.
And if I ever do need to copy a complex Bash command into an interactive shell, I can just runbash
, then run the command in there and thenexit
back out.
Ephera@lemmy.mlto Showerthoughts@lemmy.world•If autism is a spectrum, does that mean everyone is on the spectrum?English2·8 days agoIn the sense that “on the spectrum” is often used to say that someone has autistic traits, yeah. But there would still be a spectrum and everyone would be on it, it would just reach from no autistic traits to maximum autism.
Thanks, I cringed.