nous

@nous@programming.dev
0 Post – 515 Comments
Joined 1 years ago

Can when the specific situations are reached in very micro benchmark situations. But overall on aggregate you find even JIT languages don't strictly outperform pre compiled languages for general workflows when looking at languages of a similar class. When you compare them to compiled languages like C/C++/rust/zip (aka ones without a GC or much of a runtime at all) then JIT languages fall behind like all other GCed languages.

Of these 25 reasons, most apply to a lot of languages and are far from Java exclusive or even java strong points. Pick any mainstream language and you will hit most of the benefits it lists here. With quite a few being almost meaningless. Like this:

Java/JVM/JIT can achieve runtime optimization on frequently run code, especially on something that’s running as a service so that you avoid the overheads from JVM startup times.

Compiled languages generally don't need a JIT or to be optimized at runtime as they are compiled and optimized at compile time. And most language that don't have a runtime like Javas already run faster than Java without its heavy startup time. Language with JITs are generally interpreted languages which have these same benefits as java lists here. Though do often suffer from other performance issues. But really at the end of the day all that really matters is how fast the language is and how good its startup times are. Java is not ahead of the pack in either of these regards and does not do significantly better then other languages in its same class (and often still drastically sucks for startup time).

Or

Much of a company’s framework can be stable Java, with Scala or Clojure-backed business logic.

Many languages you can embed other languages inside. Nothing really special about scala or clojure here except that they work well with java. And I don't really see this as a major benefit as most places I see dont separate their core code and business logic into different languages.

And the remaining issues that are more java specific are:

Java was one of the first mainstream GC strongly typed OOP languages. So it got its niche.

Java has been one of the main programming languages taught in colleges and universities in the last few decades.

Java’s Legacy Migration: Many banks in particular migrated legacy systems to Java in the early 2000’s when it was getting a lot of popularity and the industry was collectively in the midst of a huge OOP fever dream.

Which all paint a picture - it was popular long ago and taught in universities and lots of business pushed it when back in the day. And now it is hard to move off it.

And lastly:

Oracle

What? How is this a point? If anything this should be a massive negative.

Not exactly 25 reasons to pick java in financial enterprise.

2 more...

When I change devices or hit file size limits, I’ll compress and send things to my NAS.

Whaaatt!?!!? That sounds like you don't use git? You should use git. It is a requirement for basically any job and there is no reason to not use it on every project. Then you can keep your projects on a server somewhere, on your NAS if you want else something like github/gitlab/bitbucket etc. That way it does not really matter about your local projects, only what is on the remote and with decent backups of that you don't need to constantly archive things from your local machine.

1 more...

Did you read the article at all?

“Putting all new code aside, fortunately, neither this document nor the U.S. government is calling for an immediate migration from C/C++ to Rust — as but one example,” he said. “CISA’s Secure by Design document recognizes that software maintainers simply cannot migrate their code bases en masse like that.”

Companies have until January 1, 2026, to create memory safety roadmaps.

All they are asking for by that date is a roadmap for dealing with memory safety issues, not rewrite everything.

Not surprising since car manufacturers lobbied to get them classed as light trucks to dodge the stricter emissions and safety regulations that apply to general cars. Then marketed the hell out of them as there is more profit to be made due to them not needing to comply with as many regulations. And now they are everywhere and are way worst than cars in almost every way.

Funny how yet again the capitalist class chooses profits over any other metric leading to s shittier world overall. Almost like there is a pattern happening in every industry...

3 more...

This is a bad response to this news. There are many reasons why you might want to run tor on Windows and gatekeeping people out of tor because they are not on a chosen OS is a terribly way to get more people into thinking about privacy and security practices. Yes if you have the highest threat model you might want to avoid Windows as well, but not everyone needs absolute privacy/security for what they do. But why should you not have access to a tool that can help improve things even if you are not able to switch everything to a more private/secure alternative?

Really you should want everyone and anyone to run on tor, even if they don't need it, even if they are on windows. The more people using it the more secure it is for those that do require it.

10 more...

The devs from ΔV: Rings of Saturn give a completely different story. Yeah, most bug reports come from Linux - but platform specific ones a vanishingly rare: https://www.reddit.com/r/gamedev/comments/qeqn3b/despite_having_just_58_sales_over_38_of_bug/

Do you know how many of these 400 bug reports were actually platform-specific? 3. Literally only 3 things were problems that came out just on Linux. The rest of them were affecting everyone - the thing is, the Linux community is exceptionally well trained in reporting bugs. That is just the open-source way. This 5.8% of players found 38% of all the bugs that affected everyone. Just like having your own 700-person strong QA team. That was not 38% extra work for me, that was just free QA!

Not to mention the quality of the reports from the Linux users was vastly more details and useful to them.

Ads are effective, sadly. And why so much money is poured into them. I believe there are a few effects at play but the direct, see and ad and want to go buy it now is only one ofbhem that mostly only affects some people, or a lot of people occasionally.

I think a bigger effect is familiarity. You are far more likely to pick a product you are familiar with or have seen before over something younjave never heard of. Even if you have only ever seen it on advets and completely forgotten that you have ever seen ads for it. So even if you don't think they work on you they likely do without you realizing, at least enough of the time on enough people that make them worth while running.

25 more...

I dont think multiple streaming platforms is a problem. The problem is exclusivity. I dont want to pay for every subscription service to watch popular things. I want to watch any show I want on one platform that I choose. Much like I do for music. But no, with TV shows everyone has their own walled garden of exclusives. Fuck that.

8 more...

Ubuntu is a fork of unstable Debian packages. You don’t want unstable on your server!

Unstable does not mean crashes all the time. What makes them unstable on Debian is they can change and break API completely. But guess what, Ubuntu freezes the versions for their release and maintains their own security patches, completely mitigating that issue.

There are other reasons you might not want to use Ubuntu on a server but package version stability is not one of them.

Rust, it is a pleasure to work with and far more flexible in where/what it can run then a lot of languages. Good oneverything from embedded systems to running on the web. Only really C and C++ can beat it on that, but those are farlesss pleasant to work with. Even if it is not as mature in some area quite yet, it just gets more support for things as time goes on.

4 more...

Applications needs some coordination between each other in order to act like you would expect - things like one window at a time having focus and thus getting all keyboard and mouse inputs. As well as things like positioning on the screen and which screen to render to, the clipboard, and various others things.

X is a server and set of protocols that applications can implement to allow all this behaviour. X11 is the 11th version of the server and protocols. But X was also first created in 1984, and X11 since around 1987. Small changes have been made to X11 over the years but the last was in 2012.

Which makes it a very old protocol - and one which is showing its age. Advances in hardware since then and the way we use devices have left a lot to be desired in the protocol and while it has adapted a bit to keep up with modern tech it has not done so in the best of ways. I also believe its codebase is quite complex and hard to work with so changes are hard to do.

Thus is has quite a lot of limitations that modern systems are rubbing up against - for instance it does not really support multi cursors or input that is not a mouse and keyboard. So things like touch screens or pen/tablets tend to emulate a mouse and thus affect the only pointer X has. It is also not great at touchpads and things like touch pad gestures - while they do work, they are often clunky or not as flexible as some applications need.

It is also very insecure and has no real security measures in place - any GUI application has far more access to the system and input then it really requires. For instance; any application can screen grab the screen at any point in time - not something you really want when you have a banking web page open.

Wayland is basically a new set of protocols that takes more modern hardware and security practices in mind. It does the same fundamental job as X11, but without the same limitations X11 has and to fix a lot of the security issues with X.

One big difference with X though is that Wayland is just a protocol, and not a protocol and server like X. Instead it shifts the responsibilities of the X server into the window manager/compositor (which used to manage window placement and window borders as well as global effects such as any animations or transparency). It also has better controls over things like screen grabs so not every application can just grab a screen shot at once or register global shortcut keys or various things like that. Which for a while was a problem as screen sharing applications or even screenshot tools did not work - but over time these limitations have been added back in more secure ways than how X11 did them.

5 more...

Solar panel advances will see millions go off grid, scientists predict

From a definite will.

More than 30 million homes in Europe could meet all their energy needs using rooftop solar panels alone, according to a new study.

To a well, they could.

Researchers from the Karlsruhe Institute of Technology in Germany found that more than 50 per cent of Europe’s 41 million freestanding homes could have been self-sufficient in 2020 using just solar and batteries, with this figure expected to rise to 75 per cent by 2050.

To a we could have already.

“Our results show that even in 2050 going off-grid won’t be the most economic choice, but it could make sense to invest in these kinds of self-sufficient buildings if you are willing to pay more for self-sufficiency,” said lead researcher Max Kleinebrahm, an energy economics researcher at the Karlsruhe Institute of Technology.

To a, well, they will likely, and probably should, remain connected anyway.

Fuck these people in charge of article headlines twisting what researchers are actually saying into some clickbait title that does not say what the researches said at all.

3 more...

Hey Linux devs - Build a GUI or gtfo

No you can GTFO if that is your attitude towards people volunteering their time to bring you an open OS and all the tools you need for free.

Yes, there is still a lot of room for improvement but attacking devs for not providing a GUI is not a good way to interact with the community. If you really want to see improvements then you need to help make those improvements with constructive discussions not hostile statements. We owe you nothing.

3 more...

What is sad is that 6 of the 12 platinum games rated by top revenue are free to play games - so must be making money on micro transactions. Sad that model works so well for extracting cash out of players.

15 more...

The only major roadblock is some anticheat software requiring highly invasive Windows rootkits to function, which Linux doesn’t really work with.

I consider that more of a feature then a bug

4 more...

As with everything - it depends. Sometimes the FOSS versions are not very good, sometimes they are better than the official. Sometimes they are better for privacy, sometimes they make no real difference at all, sometimes the web version is better. Sometimes there is no FOSS version, sometimes the official one does not support Linux.

You are going to need to go on a case by case bases and decide each time.

A water central heating system is a closed loop system that is under pressure. This means the water in it is circulated around and around the system and is cut off from other water supplies under normal operation. Naturally, slow leaks happen and gas can enter the system in various ways so occasionally this needs to be released from the system. Any gas in the system naturally collects at the highest points along the path - which tend to be the radiators.

When you bleed a radiator you are opening the system to the outside and hopefully where the gas has accumulated. Since the system is under pressure it forces the gas out of the system to equalize the pressure with the outside. This will cause the pressure of the system to drop and eventually it will stop.

However there should be a control valve somewhere, typically on/near the boiler that connects the central heating system up to the mains water supply. You can open this valve to cause water to flow into the central heating system and pressurize it and really this should be done every time you bleed the radiator a significant amount.

In apartments though you might find that you are on a building wide circuit, or you might have one isolated for your apartment. If you have a boiler in your apartment then you are likely on a closed system and should be able to equalize the pressure yourself. If it is building wide you need to talk with your building manager.

Note that you should not need to bleed your radiators that often. Once every several years should be more than enough. If you are doing it frequently then you likely have a large leak in your system and likely want to get someone to check that out.

Isn't, according to Catholics beliefs, the pope infallible? Is that not a core part of the religion that separates it from Protestants?

Are we about to witness a splitting of the Catholic church?

7 more...

Ok then.

Ticket marked as closed: won't fix, cannot reproduce, not enough details

With familiarity, can Rust’s intuitiveness match Python’s “from idea to deployment” speed?

Likely not at the start. Rust can take some time to learn to use it effectively it is not the fastest at throwing shit together quickly.

Or should I only learn Rust if I intend to create applications that need tight performance?

Also no. IMO rusts performance is only a nice by product of the language, yeah it encourages people to try it out, but they don't stay for the speed. They stay for the tooling and the feeling that once it compiles it will likely just work they way you intended. Rust forces you to think more about correctness and edge cases of your code - which does slow down initial idea to working prototype a bit. But IMO it quickly pays back dividends when you get something into production and it just works with no random crashing in the middle of the night.

It also makes refactoring a joy to do, where I hate refactoring in languages like python as you never know what you might have broken - likely something that you will find out only after you have deployed to production. Instead the compiler catches basically every thing that you missed before it will even let you run the code - so those edge cases are taken care of when you are developing, not after it fails in production.

I also find it is very nice with data processing/transformation as it lets you use functional coding styles which tend to lean towards clearer/easier to read series of data transforms.

If you want to learn it I would recomend starting out with the offical book, but you might also find zero to production or datawithrust interesting reads as well.

8 more...

They are hardly copying Twitter in this regard. Twitter is doing it for fuck knows why, trying to get more money from a dieing platform or something. But Threads:

“Spam attacks have picked up,” requiring new rate limit changes.

Are mitigating spam. That is reasonable and any sane platform will have rate limits in place to stop abuse. They only question is if the rates are low enough to affect normal users or not.

So just because two companies do the same thing does not mean they are strictly copying each other, here they have different reasons as far as I can see.

If you are going to complain about something, do it for reasons that make sense. Don't make shit up.

5 more...

Yelp is a business engaging in shady tactics. So how can I ever trust anything they create.

uptime of 840 days

This always makes me wince. I don't think high uptimes should be celebrated. Has your kernel ever been patched or the services running restarted? Just installing the updates is not enough to secure your system you need to be running that new code as well.

Also, I get very nervous about touching those systems. You have no clue what state it is in. I have seen far too many large uptime server have their power go some day and are never able to boot again or don't boot all the services back up as someone forgot to enable the service.

Nop, rather see them rebooted regularly at a non critical time so we know they will come back up. Or even better have a HA setup.

9 more...

Linux is ready for workplaces and has been for a very very long time. That is irrelevant if workplace IT support is not ready for Linux and has no budget or time to get ready for it. All your points are meaningless and have never been the problem. The problem is with management, policies and getting in house support for things and all the work involved in that. Depending on the size of the company it can take a lot of time effort and money to retrain IT staff to support Linux. And IT staff are already overworked, under-budgeted and don't always have the time to support extra things.

What explains this sudden growth and the sudden decline of Linux in Ukraine?

Do we even know that there was a sudden growth or decline of Linux? This is a percentage graph. It is not very useful without also knowing the total number of users over that time. Could be that a massive amount of users stopped over that time, but for what ever reason fewer using Linux did than Windows did. Or if there was a massive increase it could be from bots or similar attacks. These graphs are very hard to draw any conclusions from due to what they are and how they were collected (which I believe is basically what user agents report on some websites) without a lot more other information. All we really know is that the market share for webtraffic started reporting more Linux based user agent strings (or what ever they use to tell) in relation to windows ones for a time before normalising again.

Nah, why would they try to charge for something no one uses?

1 more...

Secureboot is meant to help protect you against the evil maid attack. IE someone with physical access to your computer can compromise your boot loader with a keylogger that can capture your encryption password so that when they return they can gain access to your computer as they now know your password. Though the vast majority of people just don't need to worry about that level of attack so I have never really bothered with secureboot.

7 more...

Not if you have backed up your data. You have a backup of your data right?

4 more...

No. So many things are miss represented in movies and TV or skipped entirely in the name of entertainment.

2 more...

https://proton.me/ Are worth a look at. The allow custom domains and I believe have IMAP support. Additionally they encrypt everything they store so are very good from a privacy side (at least as far as you can be private using email).

11 more...

Faster than JavaScript

For pure computation, using the right language it can be faster. For a general website that needs to manipulate the DOM the performance is about the same as what popular JS frameworks can do (and can be faster than popular ones like react). But there are faster JS frameworks that react already available and people are not flocking away from react to these other frameworks. So speed is not a big enough issue here for people to want to move to a new language with WASM.

Has a smaller file size

Not sure this is true. Maybe for a single function. But for a general application? I don't think so. WASM tends to be a bit larger than JS code I think as you often need to ship more code, where JS can rely more on things built into the browser. But we are at a point where this difference is not a huge concern any more either. So is not really a point for or against WASM here.

Can be compiled to from pretty much any programming language

This is a huge misleading point. Even if you could do it from any language not all languages have a ecosystem that is useable for it and a lot of languages require large runtimes that need to be shipped with the WASM bundle (making the points above far worst).

Can be used outside of the browser easier thanks to WASI

So can JS? And native code? So I don't really see what this statement is meant to be arguing for? It is irrelevant when talking about websites using WASM in the browser.

So why aren’t most websites starting to try replacing (most) JS with WASM now that it’s supported by every major browser?

Why should they start using it? They all have existing code, their devs already know JS. What major advantage would WASM give them over what they currently have? The points above I have already gone through and are not a big enough reason for this change outside of niche use cases. JS is good enough for most use cases and people that are already working in the web browser side of things already know it. There is little reason to make the switch to WASM as even in languages like rust, which likely has the most mature eco system, still has a vastly less mature eco system for web dev than JS.

There is no line that needs to be passed that will cause floods of people to start adopting it and start converting everything they maintain over towards it. If there is a good enough reason to adopt this technology then it will be done very gradually over many years if not decades. People wont suddenly throw out everything once some line is crossed without some extreme and unconditional benefit to doing so.

7 more...

What things are being messed up? You should be able to just install as many DEs as you want without them interfering with each other - just select which you want on the login screen,

7 more...

8,000 characters in five hours is 1,600 characters per hour, or 27 characters per minute.

This is irrelevant. Typing when coding is not evenly spaced out over those 5 hours. It is sporadic with most of the time thinking or reading documentation or reading source code and trying to figure out what you want to type. No good conclusions can be drawn from this logic and makes that whole part of the argument irrelevant.

If I were typing that slowly I would quickly forget what the hell I was even trying to do in the first place. Which is the bigger part - when you do need to type you want to quickly get the ideas you have down as fast as you can think them. Going too slow can cause your mind to wander and that can really hamper your productivity.

There is also the cost of context switching. And it is a context switch to go from writing ideas down to making sure I have all the boiler plate and syntax correct. The less of the need for doing that the better IMO.

And TBH I don't really understand the rest of their arguments. They introduce two bits of code, one very short simple class then one with lots of helper methods to set various things while creating a new object. And then concludes with a short paragraph on some real benefits without really explaining why. With the whole paragraph being more of an argument about immutable code being better rather than longer vs shorter code. Then follows up with an entire section on why his code increases maintenance as refactoring requires more points to update with his immutable code and thus prefers languages like F# where the immutable version is a one liner... Which defeats the whole argument that typing is not the bottleneck? I really don't follow his logic here.

Apparently, it has to be explicitly stated: Programmer productivity has nothing to do with typing speed.

I feel they have completely failed to convince me of this fact. Despite me already thinking it is not one of the more important factors of productivity and there are better things to optimise around.

My opinion is that code length is not that important a factor, but you should not go hog while and write the longest things you can either. Every extra bit of code should add some value somewhere. Like taking his examples, spending a bit of time writing the immutable version here lets you reduce the amount you need to write when using that code. Which is a trade-off that can be worthwhile - increasing typing now for reducing typing later. But also the reduced typing makes the where the code is used easier to read and clearer as to what is happening, get a copy of the object with one field updated. That is a nice concept to have and read. Without the need to refer to all the fields every time you want a copy.

3 more...

“We had relied and started to rely too much this year on self-checkout in our stores,” Vasos told investors. “We should be using self-checkout as a secondary checkout vehicle, not a primary.”

That is the key point here. Use them to replace the express lanes but dont replace all checkout points with them.

they actually increase labor costs thanks to employees who get taken away from their other duties to help customers deal with the confusing and error prone kiosks

Now that is bullshit... how can it cost more to have someone spend part of their time to help a customer when they have a problem vs having an extra person help them full time during checkout.

Still, 60% of consumers said they prefer self-checkout as of 2021, presumably because they’ve never seen Terminator (wake up sheeple).

WTH... I really don't understand why this person hates them so much. Seems to have some hidden agenda but I cannot for the life of me tell what it is.

1 more...

While it is free to download it, the license still costs. Though they seem to let you use it unlicensed for an unlimited amount of time with some restrictions (like not being able to change the background image and an ever present watermark). At least this was true for windows 10. No telling if/when they will drop that feature though, especially if loads of people start using it unlicensed like that (though I doubt that has any effect on people using it that way or not).

There is no real technical challenge in displaying ads that are based on the page content. But ads based on tracking users is much more profitable. Plus they can sell the data collected to anyone else that is interested.

The social aspect of going into a dark room to watch a screen in silence? Vs talking a joking around on voice chat?

3 more...

But, I will not be purchasing another AAA game from CDPR until at least 6 months post-release

FTFY, unfinished release day games seems to be more than just a CDPR problem.

Linux is fairly secure out the box and typically does not need any sort of extra hardening for most people unless you have a specific case you are worried about or some threat model that requires it. And hardening a system is not simply about installing some package, but more about learning to setup and utilise said packages to mitigate the threats you think you are going to be dealing with. Hardening a system generally comes with tradeoffs and these are not always worth the cost involved for what you get from them. All depends on what types of threats you think you will face - a journalist in a hostile country is going to want a far more secure system and will be more willing to compromise on other aspects to get that then some grandma that just wants to look at pictures on facebook. Both of these will want different tradeoffs for their systems.

Generally speaking I would start by reading up more about hardening linux systems, and what types of things these tools are designed to do. I would start with anything related to the system you are interested in, nixos has its own guides general security which links to many things you might want to think about. Arch Linux also has some good guides on security that are worth a read. And there is more general stuff like The Practical Linux Hardening Guide or redhats guides though these are more server focused and might offer tips that can be too restrictive for desktop systems.

As for apparmor and selinux, these are competing technologies and I don't think you can use both at once.