![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png)
This would be a lot more readable with some paragraph breaks.
This would be a lot more readable with some paragraph breaks.
Wanting to and actually doing it are two different things.
The problem is that open source devs also have to be their own project managers, but those two jobs have very different skillsets.
In regular software development, it’s the PM’s job to deal with the drama, filter the idiocy out and collect concise and actionable user stories, and let the developers just write code.
In open source, you tend to deal with a lot of entitlement. All kinds of people, who never gave you a dime, come out out of the woodwork to yell at you over every little change. The bigger and farther reaching a project is, the more this happens, and it wears you down. I can only imagine what it’s like working on a huge project like GNOME.
And the toxicity feeds into itself. Be kurt with one person, and suddenly it gets out that you’re an asshole to users. Then people come in expecting hostility and react defensively to every little comment. And that puts you in the same mindset.
At the end of the day, you can’t satisfy everyone. Sometimes you gotta figure out how to tell someone their feature request is stupid and you’re not gonna work on it, especially not for free. And a lot of people need to learn to try to fix problems themselves before opening an issue. That’s kind of the whole point of open source.
https://lemmy.zip/comment/11156711
It doesn’t excuse the behavior, but I get where it’s coming from.
At this point, no. But it’s still incredibly annoying and a little spooky when I’m laying in bed and I see my computer screen light up in the next room when it’s not supposed to.
It’ll even wake itself from sleep when it wants to update, but it won’t start it automatically, I think because it hits the lock screen.
I’ll probably try Linux on ir when Windows 10 hits EOL.
Someone should force this guy to read about the principle of least astonishment.
Doesn’t surprise me that a developer from Microsoft doesn’t understand this. To this day, when I select “Update and Shut Down” in Windows, it only actually shuts the computer down about half the time.
Ubisoft has done a fantastic job of convincing me to never buy a Ubisoft game ever again.
Not sure that’s how a company is supposed to work, but they sure seem to think so.
I scoff every time a cop on a TV show is like “I joined the force to save lives and make a difference” because it’s painfully obvious that this is pretty much never the case in reality.
I’m an open source maintainer part-time. My God how I’ve wanted to call so many people “idiot” straight to their face.
I don’t blame some people for turning bitter. You wouldn’t have much faith in humanity left either, after closing your 100th duplicate issue with a solution that sums up to “read the fucking docs”.
Any highlights from those in the know?
A lot of physical laws are really just the inverse-square law in a new wig.
I ran up like a $5k bill over a couple weeks by having an application log in a hot loop when it got disconnected from another service in the same cluster. When I wrote that code, I expected the warnings to eventually get hooked up to page us to let us know that something was broken.
Turns out, disconnections happen regularly because ingress connections have like a 30 minute timeout by default. So it would time out, emit like 5 GB of logs before Kubernetes noticed the container was unhealthy and restarted it, rinse and repeat.
I know $5k is chump change at enterprise scale, but this was at a small scale startup during the initial development phase, so it was definitely noticed. Fortunately, the only thing that happened to me was some good-natured ribbing.
It executes on a native thread in the background. That way it doesn’t stall the Javascript execution loop, even if you give it a gigabyte of data to hash.
Yeah, even the actual sentiment of the video is more like, “it’s not great but it’s the name that stuck and there’s solidarity behind it.”
The problem, as always, is lumping people together when they didn’t ask to be. Most of the newer, more “politically correct” terms are even more generic and alienating, and, once again, being forced on them from outside.
I actually wonder how much in the article is actually deliberate misinformation meant to trip up anyone trying to build their own device.
For example, this bit caught my attention:
In modern weapons, the neutron generator is a high-voltage vacuum tube containing a particle accelerator which bombards a deuterium/tritium-metal hydride target with deuterium and tritium ions. The resulting small-scale fusion produces neutrons at a protected location outside the physics package, from which they penetrate the pit.
That seems really finicky to me.
You can apply this same logic to basically all of chemistry:
H: explosive, the main ingredient in stars
O: literally the reason fire is a thing, causes rust and kills cells via free radicals
H2O: I’m so wet, UwU
This only happens when both network connection on the host are active.
I’m not a networking expert by any means but this seems like a pretty strong hint that it’s a routing issue.
Check the routing tables on the host? I’d bet that the internet is only reachable on the LAN interface (again, not an expert but one of them has to take priority, right?). I’m guessing that disconnecting the LAN interface changes the routing to go through the WLAN interface instead.
You could possibly add a static route to work around this: https://libvirt.org/formatnetwork.html#static-routes
My friends and I still use TS3. The audio quality and voice activation is better than Discord’s, and the desktop app doesn’t take ten fucking gigabytes of RAM to run.
I once had a spambot @ me and like 100 other people I didn’t know on a repo I’d never touched before.
I reported it for spam and got an email from Github Support within an hour notifying me that they had taken action.
Actually, Android doesn’t really use Dalvik anymore. They still use the bytecode format, but built a new runtime. The architecture of that runtime is detailed on the page I linked. IIRC, Dalvik didn’t cache JIT compilation results and had to redo it every time the application was run.
FWIW, I’ve heard libgcc-jit doesn’t generate particularly high quality code. If the AOT compiled code was compiled with aggressive optimizations and a specific CPU in mind, of course it’ll be faster. JIT compiled code can meet or exceed native performance, but it depends on a lot of variables.
As for mawk vs JAWK vs go-awk, a JIT is not going to fix bad code. If it were a true apples to apples comparison, I’d expect a difference of maybe 30-50%, not ~2 orders of magnitude. A performance gap that wide suggests fundamental differences between the different implementations, maybe bad cache locality or inefficient use of syscalls in the latter two.
On top of that, you’re not really comparing the languages or runtimes so much as their regular expression engines. Java’s isn’t particularly fast, and neither is Go’s. Compare that to Javascript and Perl, both languages with heavyweight runtimes, but which perform extraordinarily well on this benchmark thanks to their heavily optimized regex engines.
It looks like mawk uses its own bespoke regex engine, which is honestly quite impressive in that it performs that well. However, it only supports POSIX regular expressions, and doesn’t even implement braces, at least in the latest release listed on the site: https://github.com/ThomasDickey/mawk-20140914
(The author creates a new Github repo to mirror each release, which shows just how much they refuse to learn to use Git. That’s a respectable level of contempt right there.)
Meanwhile, Java’s regex engine is a lot more complex with more features, such as lookahead/behind and backreferences, but that complexity comes at a cost. Similarly, if go-awk is using Go’s regexp
package, it’s using a much more complex regex engine than is strictly necessary. And Golang admits in their own FAQ that it’s not nearly as optimized as other engines like PCRE.
Thus, it’s really not an apples to apples comparison. I suspect that’s where most of the performance difference arises.
Go has reference counting and heap etc, basically a ‘compiled VM’.
This statement is completely wrong. Like, to a baffling degree. It kinda makes me wonder if you’re trolling.
Go doesn’t use any kind of VM, and has never used reference counting for memory management as far as I can tell. It compiles directly to native machine code which is executed directly by the processor, but the binary comes with a runtime baked in. This runtime includes a tracing garbage collector and manages the execution of goroutines and related things like non-blocking sockets.
Additionally, heap management is a core function of any program compiled for a modern operating system. Programs written in C and C++ use heap allocations constantly unless they’re specifically written to avoid them. And depending on what you’re doing and what you need, a C or C++ program could end up with a more heavyweight collective of runtime dependencies than the JVM itself.
At the end of the day, trying to write the fastest code possible isn’t usually the most productive approach. When you have a job to do, you’re going to welcome any tool that makes that job easier.
Seconded. Having an awesome Fish setup doesn’t help at all when you’re constantly having to shell into other machines unless you somehow keep your dotfiles synced, and that sounds like a total hassle.
I’d rather my muscle memory be optimized for the standard setup.