There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

programmer_humor

This magazine is from a federated server and may be incomplete. Browse more on the original instance.

lapislazuli , in OneDrive deleted my files!
treechicken , in Exam Answer
@treechicken@lemmy.world avatar

It’s obviously:

Traceback (most recent call last): File “./main.py”, line 2, in <module> AttributeError: ‘str’ object has no attribute ‘length’

theFibonacciEffect ,

Ah yes, all pseudocode is python

SkyeHarith ,

Ah yes, python is psuedocode

treechicken ,
@treechicken@lemmy.world avatar

I deduce these two sets must be the same then?

muzzle , in Is this a Nut?

Rust is more like: unless you can mathematically prove to me that this is equivalent to a nut there is no ducking way I’ll ever let you compiled this.

ryannathans , (edited )
EinfachUnersetzlich ,

If you can make safe Rust segfault you’re doing something wrong.

intelisense ,

To be fair, you are doing something wrong if you’re app segfaults no matter what anguage you wrote it in…

bamboo ,

Despite that, some languages make it easier to be wrong than others.

Faresh ,

I don’t think so, since memory safe languages are supposed to prevent you from doing that, so it would be the language implementation’s fault.

sxan ,
@sxan@midwest.social avatar

IME Rust programs crash at about the same rate as other languages. “Rewrite everything in Rust” hasn’t made much of a difference for me, so far.

magic_lobster_party ,

Rust programmers vastly overestimate how many bugs are caused by memory problems

MajorHavoc ,

Yeah. The verdict is still out on whether having a deeply surly compiler will help me focus on iterating and understanding the client’s needs.

I run Python CICD controls on main with at least the same level of prissiness (as Rust comes with), but at least Python knows how to shut up and let me prototype.

I’m currently not convinced that Rust’s opinionated design hits a useable long term sweet spot.

But I think if Rust adds a debug flag –fuck-off-i-need-to-try-something, it could genuinely become the next Python, and the world would be better for it.

Edit: And if I just missed the –fuck-off-i-need-to-try-something Rust flag, someone point me at it, and I’ll gladly give Rust another run.

Fal ,
@Fal@yiffit.net avatar

Once you get the hang of rust you don’t ever need to ask it to do unsafe things. It’s not really any faster to do things unsafe

MajorHavoc , (edited )

It’s not really any faster to do things unsafe

Yeah. Which is how I roll with Python now, as a Python Zen master. But Python was a little charmer when I was learning it to replace my Perl scripts.

In contrast, Rust would not shut up the last time I was trying to do an unsafe local bubble sort, just to get to know it. What I got to know was that I was working with a language that was going to go out of it’s way to get in my, each time way I wanted to do something it didn’t like.

Rust was easily the worst first date with a programming language I have had in a long time, and I can code in both varieties of ‘Pikachu’.

Again, it’s just my first impression, not the last word on the language. But I have enough tools in my belt that I didn’t need to add Rust.

I’ll try that ‘unsafe’ flag next time, and we will see if it can sort my local music files by artist name without having a security fit.

Edit: Responses here have convinced me not to give Rust another shot. Reeks of the Java community. If that’s what’s happening here, the Java devs can have this one to themselves. They’ll probably fill it with XML again. I didn’t want to like Rust anyway. And everyone needs to get off my lawn.

Fal ,
@Fal@yiffit.net avatar

You’re missing the point. Tools are different. Trying to learn and use rust by writing unsafe bubble sorta is pointless. Use it to actually accomplish something and you’ll find out just how amazing it is.

Using the ecosystem that exists to be productive and not have to think at all about whether what you’re doing is correct is the point. It catches the subtle errors for you and lets you use the powerful libraries like clap for command line parsing, tokio, etc.

MajorHavoc , (edited )

I wasn’t being that picky, and I was using the ecosystem. Rust just has lousy compiler warnings.

I know dozens of languages, so I don’t mind risking looking dumb when I say “this tool isn’t very good yet”.

Rust’s compiler, considering what it asks for, isn’t good enough at guiding the developer toward those asks. It actively wastes the one crucial low-supply computing resource: developer time.

I could have figured it out, if I had to. But I didn’t have to. I moved on to the next interesting language to try out. It was goLang, and it had isn’t own bullshit, but it wasn’t as bad as Rust.

I’ve written in Haskell and Brainfuck. I don’t mind esoteric languages.

But Rust presents itself as a solid general purpose pragmatic development tool, which is great to strive for, but it wasn’t there yet, last time I gave it a chance.

I want Rust to succeed in replacing Python, because the world would be better off with better security defaults. But Rust had not, last I checked, attracted the necessary usability specialist contributors, to have any chance at that goal.

Edit: I no longer want Rust to replace Python. Y’all got a problem presenting yourselves, kids. It’s going to hurt your language adoption rate.

Edit 2: And get off my lawn!

Fal ,
@Fal@yiffit.net avatar

Rust just has lousy compiler warnings.

You’re the only person I’ve ever heard this from. Rust’s compiler warnings are amazing. Like 2nd to none

MajorHavoc ,

It’s very possible it’s improved since I tried it last. I’ll put it back on my list to give it another go.

calcopiritus ,
MajorHavoc , (edited )

Thanks. I found and tried that, but what I really needed was a useful compiler error, which Rust did not provide.

Rust desperately needed a usability makeover, last time I tried it.

It amuses me that my fellow security gurus push Rust hard, because we sit in the same policy-pushers conferences as the usability specialists, but we don’t always learn enough from them.

Edit: The responses here are quite revealing. I’m not seeing any of my usability mentors in the Rust diehard fan mix.

None of this has convinced me to give Rust another go. Its community, did not present well here.

force , (edited )

Sorry what? Rust has literally been known for having some of the most useful compiler warnings imaginable. It’s like, a huge selling point. Misleading warnings are far and few, and usually it’ll literally point you at the exact tokens that caused an error and gives you a solution to fix it.

Are you sure that your inability to write Rust isn’t caused by a lack of understanding of the language’s pointer/ownership/lifetime rules, or the type system? I would be inclined to believe that someone who mainly just uses Python (or any other GC’d language really, but especially extremely high-level/“low-code” dynamically-typed languages like Python/Lua/JavaScript) wouldn’t exactly be too good at those concepts, but they’re pretty important in the context of languages like Rust.

MajorHavoc ,

Sorry what? Rust has literally been known for having some of the most useful compiler warnings imaginable. It’s like, a huge selling point

And yet, that was not my experience.

Are you sure that your inability to write Rust isn’t caused by a lack of understanding of the language’s pointer/ownership/lifetime rules, or the type system?

I’m sure it is. I’m an old man who codes proficiently in dozens of languages.

Rust isn’t some messianic message I need to forget everything I previously learned for.

I’m happy to adapt. I let Python have it’s goddamned four spaces, even.

But Rust couldn’t be arsed, at the time, to tell me what it wanted in terms clear to someone only proficient in dozens of other languages.

So Rust can either up it’s ‘here’s what you need to know’ game, or it can continue to get off my damn lawn.

It’s possible, even hopeful, that Rust has massively improved since I gave it a test run. It would be hard for it have gotten worse, frankly.

Your tone, here, comes across like the folks who denied that Java had a serious community culture problem while the rest of us quietly moved on to Python.

If you’re confident it’s better now, you can simply say, “I think it’s a lot better now, you might like it.”

nick ,

That flag exists, it’s called unsafe for if you need to tell the borrow checker to trust you or unwrap if you don’t want to deal with handling errors on most ADTs.

You can always cast anything to an unmanaged pointer type and use it in unsafe code.

MajorHavoc ,

Thank you. I’ll check it out next time.

technom ,

That’s misinformation. There’s no overestimation. The problem is so bad that even the US government advocates the use of memory safe languages (including GC languages).

I have used C and C++. You need laser sharp focus to avoid memory safety errors even after you learn what causes them and how to avoid them. It’s significantly easier to write programs in Rust because any lapse in care to avoid memory safety bugs are caught by the compiler.

magic_lobster_party ,

What I mean is that even if you use GC languages like Java or Go you will still encounter annoying bugs. I’m not saying that memory safety isn’t important.

technom ,

You said bugs caused by ‘memory problems’. And that Rust programmers vastly overestimate them. Those aren’t generic logical bugs that you get in Go or Java. And Rust never claimed to solve logical bugs.

magic_lobster_party ,

I’m more poking fun at Rust enthusiasts who make it seem like programs are automatically bug free just because they’re written in Rust.

Haskell enthusiasts made similar claims as well.

sxan ,
@sxan@midwest.social avatar

Amen. But they have to, because that’s where they spend most of their cognitive focus, and it’s Rust’s “killer feature.”

CanadaPlus ,

I don’t know, I’ve caused a whole lot in C/C++. I haven’t actually written anything in Rust either, so I’m somewhat unbiased.

paholg ,

I’m sorry to hear that. I think at one point in my past, about half my job was tracking down nil dereference errors in Ruby. And probably a quarter was writing tests for things a good type system would catch at compile time.

sxan ,
@sxan@midwest.social avatar

And I’m sorry to hear about that Ruby experience. I authored one of the Ruby stdlibs, and similar issues with the language, and the inevitable encroachment of Rails into every project, eventually drove me away from it.

I was, however, excluding interpreted languages from my comparison. Dynamically typed languages are a different matter and can’t hope to be any kind of safe - but that’s not the game where they excel.

nick ,

A crash is different to a SEGFAULT. I’d be very surprised to see a safe rust program segfault unless it was actively exploiting a compiler bug.

sxan ,
@sxan@midwest.social avatar

Sure. I haven’t seen a proper segfault from any modern, post-C/C++ language in ages. I’ve never seen a Go program segfault, or a Nim one (although, there are comparatively few of those as a sample size).

So, it seems to me that - purely from the perspective of a user of programs - Rust still seems about as safe as any other modern language - since I’ve seen no other modern (say, created in the past decade) compiled language segfault. Even the C segfaults seem to be largely becoming rare occurrences, which I have to chalk up to better tooling, because I highly doubt that there’s been some magical increase in general C programmer quality in the intervening years.

apt_install_coffee ,

Yes, the problems rust is solving are already solved under different constraints. This is not a spicy take.

The world isn’t clamoring to turn a go app into rust specifically for the memory safety they both enjoy.

Systems applications are still almost exclusively written in C & C++, and they absolutely do run into memory bugs. All the time. I work with C almost exclusively for my day job (with shell and rust interspersed), and while tried and tested C programs have far fewer memory bugs than when they were first made, that means the bugs you do find are by their nature more painful to diagnose. Eliminating a whole class of problems in-language is absolutely worth the hype.

nick ,

Go, Java, and Nim (in most cases) are all memory safe but are generally slower than C or C++ due to the ways they achieve memory safety.

Rust’s memory safety approach is zero-cost performance wise, which makes it practical for low level, high throughput, and low latency applications.

sxan ,
@sxan@midwest.social avatar

Everything is slower than C (I haven’t seen a benchmark yet where a language bests C; even hand-crafted ASM ceded the high ground decades ago when compilers got better than human assembly programmers), but then, C compiler technology has had literally 40+ years to mature.

Go and Java (once warm) do pretty well, but absolutely give up execution speed for coding simplicity and (in Go’s case, anyway) speed. Nim is young; I’m curious to see how it matures. They’re having a bit of a performance crisis at the moment, but assuming they get past that it seems like a fair middle ground between Go’s simplicity and Rust’s bare-metal performance. Then again, manual memory management was absolutely my least favorite thing about C and is what eventually drove me away; worst. Boilerplate. Ever. Even worse than Go’s error handling (which they almost fixed and looks like will be addressed within the next free releases). Anyhoo, going back to that shit is going to be a hard pill to swallow.

Rust is still having its honeymoon, and is the hip language of the decade now. We’ll see!

nick ,

Rust is roughly similar to C in most of these benchmarks and beats it in a few: benchmarksgame-team.pages.debian.net/…/rust.html

Arguably when LLVM gets a bit better, Rust can be even faster than C because rust can be optimised in more places safely than C code can. The issue is that LLVM wasn’t written with that in mind, so some performance is left on the table.

technom ,

I don’t know if you’re talking about panics and abort or about crashes caused by memory safety errors. The latter class is very unlikely in safe rust, other than as rare compiler bugs. Panics and aborts are your call. You can easily write code that doesn’t panic or abort.

sxan ,
@sxan@midwest.social avatar

As a user. I don’t write Rust, but lots of programs I use do and, as I said, they seem to crash about as much as any other compiled language tools I use are written in. I almost never see segfaults; I can’t say I’ve ever seen one in a Go program, and I use a bunch on those.

If we’re only talking about segfaults, the only language I can remember seeing doing that has been C, or C++. If not doing segfaults is what makes a language “safe,” then it seems to me most modern languages are as safe as Rust. If we include crashes, then as I said, I see Rust programs crashing about as much as any other proglang.

technom ,

This is definitely into the territory of misinformation.

I don’t write Rust, but lots of programs I use do and, as I said, they seem to crash about as much as any other compiled language tools I use are written in

I already addressed this before. Regular crashes are almost always (I can’t remember any exceptions) due to panics or aborts chosen by the user - especially due to unwraps. Using that to equate Rust programs’ stability to ‘any other compiled language tools I use are written in’ is very disingenuous - because it’s just as easy to handle those errors and prevent a crash at all.

If not doing segfaults is what makes a language “safe,” then it seems to me most modern languages are as safe as Rust

You are unnecessarily conflating issues here. ‘Most modern languages’ are not a replacement for what C, C++ and Rust can do. Go most famously had to retract their ‘systems programming language’ tag, for example. If a GC language meets your requirements - then by all means, use it. But it’s not without reason that many companies have rewritten even their web backends in Rust. Memory safety without GC is a very big feature that a lot of professionals care about. It’s not something to dismiss as trivial.

And while at it, you neglecting what segfaults represent. It’s just a benign example of memory safety bug. It’s benign because it gets caught causes the program to crash. There are a whole lot of them that causes the program to continue running - causing serious vulnerabilities. This is why even the US government and agencies recommend memory safety languages and especially Rust if performance and other limitations matter.

If we include crashes, then as I said, I see Rust programs crashing about as much as any other proglang.

I really don’t want to repeat the reason twice in a single comment and 3 times including in my previous comment. But the only way you are going to make Rust crash as much as ‘any other prolang’ is to neglect idiomatic Rust. That isn’t surprising because crashing anything is possible if that’s your intention.

sxan ,
@sxan@midwest.social avatar

I think you’re missing the point where I said I don’t write Rust. I’m merely making an observation - as a user who’s more than usual, probably, aware of which language any given tool is written in, of what I observe.

I know I’ve seen a Rust program segfault, and I’m certain that I saw this only once. I’m equally confident that almost every other segfault has been from C/C++ code, but not other languages.

What I’m hearing you say is that crashes aren’t a risk, per se, as long as they aren’t memory related and so the crashes I see from Rust programs don’t count because they aren’t segmentation faults. Did I read that right? And I also hear you claiming that, e.g., NPEs are security issues, even if the runtime catches them and safely exits the program in a controlled manner (“crashing out” safely) - is that right?

xlash123 ,
@xlash123@sh.itjust.works avatar

It actually is possible to segfault in safe Rust, although it is considered a bug. Proofs of concept are shown in this cve-rs crate.

If you want an explanation of why this happens, I recommend this video: youtu.be/vfMpIsJwpjU

technom ,

So you can’t get a Rust program to segfault without trying really hard. I haven’t observed a single segfault in the normal Rust code I wrote in the past 8 years.

apt_install_coffee ,

The code used in cve-rs is not that complicated, and it’s not out of the realm of possibility that somebody would use lifetimes like this if they had just enough knowledge to be dangerous.

I’m as much a rust evangelist as the next guy, but part of having excellent guard rails is loudly pointing out subtle breakages that can cause hard to diagnose issues.

technom ,

If that’s so trivial to trigger, people would be doing so everywhere. Have you seen it in the wild or heard of anyone doing so?

apt_install_coffee ,

If someone did, why would I hear of it?

technom ,

So you’re just spouting some cooked up theory. Not a practical scenario.

apt_install_coffee , (edited )

No, I’m saying that when people run into strange bugs, sometimes they put together an issue (like the person behind cve-rs), and sometimes they quietly work around it because they’re busy.

Seeing as I don’t often trawl through issues on the language git, neither really involve notifying me specifically.

My lack of an anecdote does not equate to anecdotal evidence of no issue, just that I haven’t met every rust developer.

technom ,

Have you really used Rust or are you spreading FUD? I have not managed to cause even a single segfault in my 8 years of writing Rust code. Nor have I heard anyone else complaining about it, other than deliberately as proof of concept.

ryannathans ,

Refering to cve-rs but only one commenter got it

DumbAceDragon ,
@DumbAceDragon@sh.itjust.works avatar

It won’t segfault but it’ll absolutely panic over an unwrap at some point.

MaliciousKebab ,

Why are you getting downwoted man, getting segfaults in safe rust is on compiler not us. When you segfault in C and such it’s almost always your fault, if you manage to do that in rust it’s a bug in compiler.

teddy2021 ,

Because the rust crowd spent a lot of time learning rust, and they’ll be damned if it isn’t the literal savior catch all silver bullet solution to programming.

CanadaPlus ,

And hot take, but that’s good. I’m absolutely stupid enough for idiot gloves like that.

sfcl33t , in How IT People See Each Other

The entire sys admin column is so on point!

ptz OP , (edited )
@ptz@dubvee.org avatar

As a sysadmin, I concur. Though the Neo panel in the bottom right should have also been another middle finger. If not that, then the Curb Your Enthusiasm meme where he’s like “Fuck you, and I’ll see you tomorrow” lol.

nick ,

A fellow sysadmin, I thought we went extinct. I had to pivot to “infrastructure engineer” but it’s basically the same thing nowadays.

ptz OP ,
@ptz@dubvee.org avatar

Not quite extinct, but endangered.

Thankfully there’s been a recent trend of companies pulling back out of the cloud because reality set in and they’re neither saving money nor getting a better experience than they had with their on-prem solutions.

So, if that trend holds, we’ll hopefully go from endangered to merely threatened.

nick ,

Keep up the good fight my friend. We shall rise again.

far_university1990 ,

Rise again you shall, from the ash of the burning sky.

blackluster117 ,
@blackluster117@possumpat.io avatar

There are dozens of us! Dozens!

li10 ,

Job titles in IT don’t mean anything these days.

In particular, the term “engineer” has been butchered beyond recognition.

nick ,

Wait so you’re telling me I’m NOT an engineer?

Agreed. I usually say developer because I view engineers as people who do actual engineering. I’m more of a plumber who fits pipes (pieces of software) together.

0x0 ,

Digital archaelogist here.

xmunk ,

Warm greetings to you from the Customer Success Evangelist.

CanadaPlus ,

That sounds like an actual job title, that works alongside a React Ninja. What do you do, exactly?

xmunk ,

Oh, that isn’t my actual title, I just wanted to mix together a pair of the more ridiculous trends.

li10 ,

My first job was as an “engineer”.

I spent most my time resetting passwords and setting up Outlook…

grue ,

Wait so you’re telling me I’m NOT an engineer?

Are you licensed by the state? There’s your answer!

Socsa ,

These days it’s more “do you have an engineering degree from an accredited University.”

The vast majority of engineering diplomas are not in licensed areas.

KairuByte ,
@KairuByte@lemmy.dbzer0.com avatar

Iirc it’s full blown illegal to call yourself an engineer in Canada unless you’re a licensed engineer. Meaning that if you marketed yourself as a software engineer without an engineering license, you could technically get in trouble. Not that I think they really enforce that for “Software Engineer”.

lightnsfw ,

I’m an analyst. I’ve never analyzed anything.

rikudou ,

I’m an architect, I’ve never designed a house.

0x0 ,

Didn’t you guys morph into DevOps?

tquid ,

DevOps on the resume, Sysadmin in my heart forever.

ITGuyLevi ,

My title has changed so many times, Sysadmin is so much easier and to the point.

RandomLegend ,
@RandomLegend@lemmy.dbzer0.com avatar

My position is still called sysadmin shrugs

BassTurd ,

I have two weeks left as a sysadmin and I’m transitioning to development. My experiences in sysadmin are a big reason I got in the door with little coding experience. A lot of devs don’t have an in depth knowledge about computers outside of programming, and knowing that extra stuff can certainly raise the ceiling.

agent_flounder ,
@agent_flounder@lemmy.world avatar

I was a sysadmin, once…Not for long.

andyli , in What’s in a name?
@andyli@lemmy.world avatar
candyman337 ,
@candyman337@lemmy.world avatar

Good ol’ Bobby Tables

harsh3466 , (edited )

Came here looking for Little Bobby Tables with the link loaded up in my clipboard!

veniasilente ,
@veniasilente@lemm.ee avatar

Thank you! I was getting worried.

backhdlp , in “It’s not that hard”
@backhdlp@lemmy.blahaj.zone avatar

He’s the kinda guy whose only programming experience is learning Python for 3 hours 6 years ago, yet he thinks he’s the programming god.

kameecoding ,

musk the kind of guy that if he said Java is here to stay, I would start learning another language.

BartyDeCanter , in True?

And… they’re basically all correct. Linux does run on all sort of machines, even really ancient ones. It has a solid command line environment, or rather lots of them. And it’s astounding powerful. Windows does still blue screen, is currently the best place for gaming, and wow is MS fucking you with Win11. Macs can have a cool setup, are really simplified for most users and expensive.

disguy_ovahea ,

Macs excel in multimedia creation. It’s not just a cool setup. Yes, I’m prepared for the inevitable downvotes.

SpaceNoodle ,

Yeah, more software was written for the more user-friendly computers with the (generally) less-technical userbase.

disguy_ovahea , (edited )

Yeah, the people at Pixar have no clue how to use a computer. Lol

In all seriousness, even the same media software, like Pro Tools, is more versatile on Mac than on Windows. I can say that with first-hand experience.

The “dumbed-down” Apple device is the iPhone. You get admin privileges on MacOS like a big boy. You can use bash or zsh commands in Terminal all you want.

SpaceNoodle ,

Did you miss the word “generally?”

Having a familiar console is nice, but you still can’t truly tinker with all the nuts and bolts.

disguy_ovahea , (edited )

Sure you can. You can even override the T2 chip in Recovery Mode. The thing I miss on an Apple Silicon Mac is installing Windows. It was a big downside for me, so I held onto my Intel Mac until a few years ago. I used to have a tri-boot Mac Pro running Snow Leopard/Windows XP/Red Hat. Then I downgraded to an Intel iMac with macOS/Windows before my M2. I do miss the versatility of Intel Macs.

BatmanAoD , (edited )

You get admin privileges on MacOS like a big boy. You can use bash or zsh commands in Terminal all you want.

Cool. So try updating to a version of Bash from the last 15 years, because the pre-installed one is Bash 3, because Bash 4 and 5 are under the GPLv3 license, which Apple won’t comply with.

…ah, no, you can’t update the pre-installed Bash, because it’s on a section of the file system that is read-only even with admin access. You can install Bash 5 as a separate shell, and use that as your default terminal shell, but any scripts written with the standard #!/bin/bash instead of the more flexible #!/usr/bin/env bash will still use Bash 3.

This “handholding” (or really, a safety net) is arguably a good thing, or at least a positive tradeoff; but you can’t claim it doesn’t exist.

disguy_ovahea , (edited )

I agree it’s not as limitless as Linux, but there’s plenty of room for advanced users.

I’ve never needed to use a newer version of Bash. What is an example of something one couldn’t do with Bash 3 or zsh?

TheGalacticVoid ,

I get that this is an Apples to Oranges comparison, but Powershell 7 is way easier to use than the default Windows Powershell because of autocomplete. I imagine that newer versions of Bash have made improvements that are similarly powerful.

disguy_ovahea ,

Oh, gotcha. I thought you were talking about limitations, not features. My misunderstanding.

BatmanAoD ,

It’s not so much a problem of there being things you “can’t do” in other shells or older Bash, as that it breaks existing shell scripts, which is frustrating.

TrickDacy ,

I’m not sure what you mean. I have updated bash with a single homebrew command.

dust_accelerator ,

The poster you’re replying to was not referring to 3rd party software in user space.

TrickDacy ,

Ok, yeah, I can see that there would be times this could matter but like 90% of the time this wouldn’t have mattered for my use case afaik. I didn’t realize you couldn’t backup the old copy in /bin and symlink to the brew one from there. In fact I thought I did do that long ago.

BatmanAoD ,

Did you read the linked Q&A?

What do you get if you run /bin/bash --version?

TrickDacy ,

It’s been a long time since I even did this, and I’ve gotten at least one new machine since. I got several replies so I’ll just link my original response: lemmy.world/comment/11431853

BatmanAoD ,

Just because it doesn’t matter for most users doesn’t mean it isn’t a real limitation. I acknowledged as much in my original comment.

computergeek125 ,

If it’s anything like when I used a Mac regularly 7y ago, Homebrew doesn’t install to /bin, it installs to /usr/local/bin, which only works for scripts that use env in their shell “marker” (if you don’t call it directly with the shell). You’re just putting a higher bash in the path, not truly updating the one that comes with the system.

paperplane ,

That’s mostly still true, with the small caveat that the default prefix on arm64 macOS is /opt/homebrew rather than /usr/local, so you might have to add it explicitly to your PATH

computergeek125 ,

Oh thank goodness, that was one of my main complaints with the system. Did they ever get around to requiring sudo like Macports (and any other reasonable system level packages manager on BSD/Linux)?

TrickDacy ,

It’s been a long time since I even did this, and I’ve gotten at least one new machine since. I got several replies so I’ll just link my original response: lemmy.world/comment/11431853

computergeek125 ,

Gotcha. Yeah low level Unix has some weird stuff going on sometimes.

RecluseRamble ,

Yeah, the people at Pixar have no clue how to use a computer. Lol

Do you really expect their artists to be IT experts? You seem to be stuck in the early 90s mindset when “knowing how to use a computer” covered all disciplines.

MonkderVierte , (edited )

Weren’t they the guys who made Gimp to Gimp Studio or something like that?

Vilian ,

they actually use linux for render

ggtdbz ,

I don’t think I’ll ever be a Mac user but I’ve seen how fast these newer MacBooks edit video on battery power without breaking a sweat (and without eating through the battery).

People focus on “software magic” with Apple but the M chips are serious hardware that a lot of us don’t take seriously because the company that killed the iPod made them.

disguy_ovahea ,

What’s interesting is the Apple CoreAudio system on iOS and macOS is as good as it is from their experience developing the iPod. For years after the iPod was discontinued, audiophiles were paying top dollar for used iPod Classics, just for the high quality DAC. The low-latency and high quality of CoreAudio is one of the reasons Pro Tools works better on Mac than on Windows.

ggtdbz ,

Oh, I’m well aware. Every few months I search online for used Classics in working condition in my area because that’s a project I’m interested in, but I haven’t committed to it yet. Maybe I should as they are apparently getting expensive and harder to find everywhere.

disguy_ovahea ,

Do yourself a favor and swap the battery when you do the storage. The most challenging part of the job is carefully prying apart the housing without causing cosmetic damage.

Annoyed_Crabby , in Googling

With misinformation about and how shit Google search is lately, it’s definitely a skill worth learning.

palordrolap ,

"I used to be able to Google like you, but then they changed what Google was and now what I can do doesn't work, and what you have to do seems weird and scary to me."

snooggums ,
@snooggums@midwest.social avatar

I used to google onions, because it was the style at the time

sukhmel ,

I used to be able to Google like you

…but then I got enshittification in the knee

mrbaby ,

And it’ll happen to you!

Pistcow ,

For reals. I never bookmarked anything as I’d just regoogle what I was looking for but as of six months ago I can’t find shit. It’s like it never existed and all I get is spam websites that’s are skinned to looks genuine. I’m honestly going back to Askjeeves.com…

OpenStars ,
@OpenStars@discuss.online avatar

Try DuckDuckGo - I believe its selling point is that it is not as bad as Bing.:-)

phdepressed ,

It’s Bing without tracking. And the things like quotation marks still work. However, baseline search using it has still gone to shit.

OpenStars ,
@OpenStars@discuss.online avatar

Did it used to be better? I rarely if ever used it before Google’s enshittification, but now I’m just happy to find streaming services whatever I need.

sukhmel ,

No, I’ve been using it for about 4 years or more, I think, and the search is stably kind of okay. Some time ago Google used to work when ddg failed, but…

pearsaltchocolatebar ,

It did, but Bing hiked their prices so it got shitty.

OpenStars ,
@OpenStars@discuss.online avatar

Oh, “it” meaning Bing then, not DDG. Although I thought Bing had always been free… shows what I “know”!:-P

pearsaltchocolatebar ,

DDG uses Bing on the backend, and they have to pay for each query, so Bing affects DDG

OpenStars ,
@OpenStars@discuss.online avatar

Oh damn, thanks for the explanation! 😀

TheBat ,
@TheBat@lemmy.world avatar

If it is any consolation, a good chunk of those bookmarks would lead to deadlinks or domains bought by someone else.

QuazarOmega ,

wayback machine and bookmark, name a more iconic duo…

sukhmel ,

Until you stumble upon “we don’t have that page archived”, then the pain is real

Annoyed_Crabby ,

Yeah. It shows me first result article that copypasta from other place which is straight out wrong. Went to ddg and it start to show result that makes sense. It’s no wonder people look up reddit thread for info. It also doesn’t show too much oldschool forum, or at least it’s buried down 20page later. It’s unusable.

Semi-Hemi-Demigod , in Markdown everywhere
@Semi-Hemi-Demigod@kbin.social avatar

Whoever made Jira's markup syntax: Straight to jail.

mp3 ,
@mp3@lemmy.ca avatar

Same for Google Chat

TrustingZebra ,

The thing I dislike most about Atlassian products is that each of them has a completely different formatting engine and markup syntax. You’d think they’d be consistent but noooo

Semi-Hemi-Demigod ,
@Semi-Hemi-Demigod@kbin.social avatar

Thankfully these days I spend most of my time in Confluence, which supports Markdown

TrustingZebra ,

Both Bitbucket and Confluence partially support Markdown, but they implement it in different ways, which is maddening.

CountVon ,
@CountVon@sh.itjust.works avatar

Atlassian doesn’t even have consistency within single products! I’m using Jira Cloud at work, and while most fields support markdown (e.g. three backticks to start a code block) there are a few that only support Jira’s own notation (e.g. {code} to start a code block). It’s always infuriating when I type some markdown in one of the fields that doesn’t support it for some inexplicable reason.

Potatos_are_not_friends ,

In Confluence… the same emojis look different on page title on the sidebar vs the body. Two different font families.

It’s incredible.

sznio ,

Try to do any formatting more complex than none at all in Confluence. It just gets polluted with invisible markup and changes styling randomly.

SittingWave ,

The thing I dislike about Atlassian is everything from Atlassian

gravitas_deficiency ,

Jira Developers: for the love of god can we PLEASE stop trying to shoehorn literally fucking everything into our platform?

Jira PMs: slaps roof this bad boy can fit so much scope creep

brlemworld ,

Whoever made Jira~~'s markup syntax~~: Straight to jail.

xmunk , in GOD DAMMIT STEVEN! NOT AGAIN!

You already stopped Steven in a prior commit.

Also, if this is an organization setting, I’m extremely disappointed in your PR review process. If someone is committing vendor code to the repo someone else should reject the pull.

half_built_pyramids ,

Fucking stop Steven, that absolute shitter

Cqrd ,

What if I told you a lot of companies don’t have solid review requirement processes? Some barely use version control at all

xmunk ,

Sure, I understand… but if you’re at one of those companies you should introduce it.

Ephera ,

Eh, if everyone knows what they’re doing, it can be much better to not have it and rather do more pairing.

But yes, obviously Steven does not know what they’re doing.

firelizzard ,
@firelizzard@programming.dev avatar

Better to not have version control!? Dear god I hope I never work on anything with you.

docAvid , (edited )

Pretty sure they meant to not have review. Dropping peer review in favor of pair programming is a trendy idea these days. Heh, you might call it “pairs over peers”. I don’t agree with it, though. Pair programming is great, but two people, heads together, can easily get on a wavelength and miss the same things. It’s always valuable to have people who have never seen the new changes take a look. Also, peer review helps keep the whole team up to date on their knowledge of the code base, a seriously underrated benefit. But I will concede that trading peer review for pair programming is less wrong than giving up version control. Still wrong, but a lot less wrong.

Ephera ,

Well, to share my perspective – sorry, I mean, to explain to you why you’re wrong and differing opinions are unacceptable:

I find that pairing works best for small teams, where everyone is in the loop what everyone else is working on, and which don’t have a bottleneck in terms of a minority having much more skill or knowledge in the project.

In particular, pairing is far more efficient at exchanging information. Not only is it a matter of actively talking to one another just being quicker at bringing information across, there is also a ton of information about code, which will not make it into the actual code.

While coding, you’ve tried two or three approaches, you couldn’t write it as you expected or whatever. The final snippet of code looks as if you wrote it, starting in the top-left and finishing bottom-right, with maybe one or two comments explaining a particularly weird workaround, but I’d wager more than 90% of the creation process is lost.

This means that if someone needs to touch your code, they will know practically none of how it came to be and they will be scared of changing more about it than at all necessary. As a result, all code that gets checked in, needs to be as perfect as possible, right from the start.

Sharing all the information from the creation process by pairing, that empowers a team to write half-baked code. Because enough people know how to finish baking it, or how to restructure it, if a larger problem arises.

Pairing is fickle, though. A bad management decision can easily torpedo it. I’m currently in a project, where we practically cannot pair, because it’s 4 juniors that are new to the project vs. 2 seniors that built up the project.
Not only would we need to pair in groups of three to make that work at all, it also means we need to use the time of the seniors as efficiently as possible and rather waste the time of the juniors, which is where a review process excels at.

firelizzard ,
@firelizzard@programming.dev avatar

Agreed. Even self-reviewing a few days after I wrote the code helps me see mistakes.

Ephera ,

Ah, no, I meant a review process. Version control is always a good idea.

firelizzard ,
@firelizzard@programming.dev avatar

Ah, yeah that makes a lot more sense

wewbull ,

That’s a big fucking “if”

FizzyOrange ,

Yeah… Usually if you join a company with bad practices it’s because the people who already work there don’t want to do things properly. They tend to not react well to the new guy telling them what they’re doing wrong.

Only really feasible if you’re the boss, or you have an unreasonable amount of patience.

frezik ,

Usually, the boss (or people above the boss) are the one’s stopping it. Engineers know what the solution is. They may still resent the new guy saying it, though, because they’ve been through this fight already and are tired.

brlemworld ,

Those companies probably also pay SHITTER

kevincox ,
@kevincox@lemmy.ml avatar

Competence is expensive. Supply is low and demand is high.

dylanTheDeveloper ,
@dylanTheDeveloper@lemmy.world avatar

I’ve seen people trade zip archives like Yo-Ge-oh cards useing excel as a source control manager so it could be much MUCH worse

littlewonder ,

Dude, put content warnings on this. I have trauma from shared drives and fucking Jared leaving the Important File open on his locked computer while he takes off for a week, locking out access to anyone else.

frezik , in Programmer tries to explain binary search to the police

I’m a little surprised the police didn’t already know about that method. Seems like they’d encounter enough CCTV footage that’d it’d be standard training.

I once again overestimate the training levels of the police.

rockSlayer ,

They probably do know. They just aren’t meant for protecting your personal property

tiramichu ,

Right.

What they really want to say is “We aren’t interested in investigating your personal theft. Things get stolen all the time and we really can’t be bothered. You are not important to us.”

But they can’t say that, so they instead throw out some excuse that puts the onus back on the other person.

DragonTypeWyvern ,

You dont quite understand.

They aren’t here to protect your property.

Or you, really.

Not unless you have a couple million in assets, then all of a sudden it’s all hands on deck, let’s get this bicycle back.

Vant ,

I’m sorry about your head injury.

Rediphile ,

They can, and do, say that.

Edit: just without the you’re not important to us part.

Cannacheques ,

And Detective Conan Doyle O’Brien really did just let his bro fuck around and watch porn and even bring a stripper into the station during footage reviewing hours. Of course, Stuart was quite shocked to hear he was not invited to the stag do later that weekend

SkepticalButOpenMinded , (edited )

I dunno. “Don’t attribute to malice that which can be sufficiently explained by stupidity.” I can totally believe that the average police officer has not thought this through. “5 hours of footage! We don’t have 5 hours to look for one bike.”

be_excellent_to_each_other ,
@be_excellent_to_each_other@kbin.social avatar

“Don’t attribute to malice that which can be sufficiently explained by stupidity.”

Laticauda ,

I imagine it’s utilized in more “serious” investigations and they just can’t be arsed for theft.

fox ,

For sure they know, it’s just cops are lazy and aren’t paid to solve crimes

BowtiesAreCool ,

It’s a somewhat narrow situation. You won’t always have the object of interest in plain view of a camera. What if it’s behind a door? Well now you do have to scrub through all the footage

roofuskit ,

In the US most their training involves how to be more aggressive veiled as training to be assertive.

wolo , (edited ) in Yes

my website’s backend is made with bash, it calls make for every request and it probably has hundreds of remote arbitrary code execution bugs that will get me pwned someday, it’s great

edit: to clarify, it uses a rust program i made to expose the bash scripts as http endpoints, i’m not crazy enough to implement http in bash

it behaves like a static file server, but if a file has the others-execute permission bit set it executes the file instead of reading it

it’s surprisingly nice for prototyping since you can just write a cli program and it’s automatically available over http too

PupBiru ,
@PupBiru@kbin.social avatar

who hurt you?

agent_flounder ,
@agent_flounder@lemmy.world avatar

These wounds appear to be self-inflicted.

wolo ,

i thought it was neat how php lets you write your website’s logic with the same directory tree pattern that clients consume it from, but i didn’t want to learn php so i made my own, worse version

technojamin ,

That’s a pretty reasonable reaction to the proposition of learning PHP.

camr_on ,
@camr_on@lemmy.world avatar

For my own sanity, I choose to believe you’re lying

Fashim ,

I pity the hacker who ends up in your system

agilob ,
@agilob@programming.dev avatar

You live like this?

wolo ,

I’ve taken some precautions, it’s running in a container as an unprivileged user and the only writable mount is the directory where make writes rendered pages, but i probably should move it into a vm if i want to be completely safe lol

sdw ,

Wait, you’re serious?

wolo ,

Maybe I’ll finally move it into a VM so I can send a link to it here without tempting people :P

tetris11 ,
@tetris11@lemmy.ml avatar

Set -e, please for the love of god, set -e

Belzebubulubu ,
@Belzebubulubu@mujico.org avatar

lord forgive me for I have sinned.

bdonvr ,

I designed a chip architecture that runs bash code on silicon.

I reimplemented x86 assembly in purely bash script.

SpaceNoodle ,

Seek help.

gandalf_der_12te ,

you do realize that you can just use Apache instead of writing your own rust program for this, as this is more or less the CGI standard?

wolo ,

I know about the CGI standard, but mine does things a little differently (executable files don’t just render pages but also handle logging, access control, etc. when put in special positions within a directory), so I still think it was worth the afternoon i spent making it.

gandalf_der_12te ,

Yeah, especially if you did this for practice.

Just saying, that apache, for big projects, is more battle-hardened. ;-)

wolo ,

Oh yeah definitely, Apache is way better for anything remotely serious.

ryan , in I am God's greatest programmer

Let him play in the legacy code. You can just hose him off later before letting him back into the office so he doesn't track it everywhere.

ISometimesAdmin ,
@ISometimesAdmin@the.coolest.zone avatar

Unfortunately if you let Junior play in legacy code once, it'll learn some nasty habits and make more of it from scratch, usually when you're trying to sleep.

Hazzia ,

It’s true, spaghettification sauce stains clothes. Best keep Jr out of it entirely.

MagicShel ,

I don’t want that shit all over me though. That’s why I hired junior!

MonkderZweite ,

That’s what the line represents. So they can pull you if you do something nasty.

BaardFigur ,

deleted_by_author

  • Loading...
  • CodeMonkey ,

    If you are creating an alternative implementation and leaving the old one in place, you are not fixing a problem, you are just creating a new one (and a third one because you have duplication of logic).

    Either refactor the old function so that it transparently calls the new logic or delete the old function and replace all the existing usage with usage of the new one. It does not need to happen as a single commit. You can check in the new function, tell everyone to use it, and clean up usage of the old one. If anyone tries to use the old implementation, call them out in a code review.

    If removing or replacing the old implementation is not possible, at least mark it as deprecated so that anyone using it gets a warning.

    BaardFigur , (edited )

    deleted_by_author

  • Loading...
  • magic_lobster_party ,

    I’m sure that ring buffer started out as a “temporary solution”.

    mbp ,
    @mbp@lemmy.sdf.org avatar

    God, I would love that so much

    asyncrosaurus , in Some people just wake up and choose violence

    I continue to be baffled and amused by the complete meltdown of the typescript community over the actions of a single man on a single package. The only people who have legitimate gripes are those that had been actively contributing and whose work was erased. The rest of you are acting absurdly childish. The anger and vitriol being thrown at anyone who disagrees on how to write javascript would make me embarrassed if I was associated or involved in the ts community.

    amzd ,

    They not only removed typescript without implementing an alternative breaking many projects depending on that library but they did it without informing the open source community which means many people who invested their time in making PRs (there was 60+ open PRs) have to basically completely redo their work.

    learningduck , (edited )

    Which project is this? So, the project owner did this?

    Ah, it’s Turbo

    riskable ,
    @riskable@programming.dev avatar

    To be fair, how could you not believe that he was gonna go Turbo?

    asyncrosaurus ,

    Yes, and the people directly contributing to the project have legitimate gripes. Although, the parable of dhh is if you get on an asshole scorpions back, don’t be surprised if you get stung. Dudes been an unreasonable prick for nearly 20 years now.

    My comments directed at the manufactured outrage from the tooling zealots incapable of having a mature conversation. Or even accept a difference of opinion. The number of comments that start with, "never heard of Turbo, but let me weigh in on why you’re an idiot for not liking Typescript. " is very telling…

    Zeth0s ,

    Ootl, what’s going on? I haven’t read anything

    Grappling7155 ,
    forksandspoons ,

    Start here github.com/hotwired/turbo/pull/972 and then github.com/hotwired/turbo/pull/973

    Tldr someone moved a popular repo from typescript to JavaScript, the negative response was quite overwhelming.

    Zeth0s ,

    Cheers

    Black616Angel ,

    The speed of a single-page web application without having to write any JavaScript

    Ahahahahahahaha! 😂

    dukk ,

    The fact is that I actually rather like JavaScript. I’d go so far as to say it’s my second favorite language after Ruby. Yes, a distant second, but a second none the less. This wasn’t always the case. But after we got proper classes in JavaScript, and all the other improvements that flowed since ES6, it’s become a real joy to write.

    Is it just me or is the tone here unnecessarily aggressive?

    (Read the PR to understand)

    MashedTech ,

    Maybe DHH influential and many will follow in his footsteps

    jdeath ,

    deleted_by_author

  • Loading...
  • avonarret1 ,

    Yeah, hopefully. Because walking around in a foreign country without any kind of navigation is a pure joy.

    Overlock ,
    @Overlock@sopuli.xyz avatar

    Sorry, I’m out of the loop. Can you ELI5 what happened/what even is going on with TS?

    KillAllPoorPeople ,
    PipedLinkBot ,

    Here is an alternative Piped link(s):

    piped.video/watch?v=5ChkQKUzDCs

    Piped is a privacy-respecting open-source alternative frontend to YouTube.

    I’m open-source, check me out at GitHub.

    Phen ,

    Nothing is actually going on with typescript. This guy who’s a big name in programming for creating a lot of good things and having a lot of shitty opinions just removed typescript from one of their projects and some folks are desperate to make that be a big news.

    They removed typescript because they saw no benefit in using it. Then a lot of folks who can’t deal with typescript got excited because “hey someone is trashing that thing I hate”.

    abfarid , in Why pay for an OpenAI subscription?
    @abfarid@startrek.website avatar

    But for real, it’s probably GPT-3.5, which is free anyway.

    FIST_FILLET ,

    but requires a phone number!

    Anamana , (edited )

    Not for everyone it seems. I didn’t have to enter it when I first registered. Living in Germany btw and I did it at the start of the chatgpt hype.

    Someology ,
    @Someology@lemmy.world avatar

    In the USA, you can’t even use a landline or a office voip phone. Must use an active cell phone number.

    LodeMike ,

    Personal data 😍😍😍

    fkn ,

    Maybe it depends on how or when you signed up. I never gave a cell number and I can use 3.5.

    Anamana ,

    I think so too

    vox ,
    @vox@sopuli.xyz avatar

    didn’t have to enter while creating my first account (which was created before chatgpt)
    but they added the phone number requirement ever since chatgpt came out

    Anamana ,

    Ah ok, makes sense. I think I created mine for dalle.

    nyandere ,

    Not anymore. Only API keys require phone number verification now.

    FIST_FILLET ,

    fuck, my poor innocent phone number has been tainted for little reason

    monsieur_jean ,

    But unavailable in many countries (especially developping ones).

    abfarid ,
    @abfarid@startrek.website avatar

    Chevrolet of Watsonville is probably geo-locked, too.

    Cheers ,

    Time to ask it to repeat hello 100000000 times then.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines