skysight-inc/HackerNews huggingface dataset:
It's not. You can go and pick up any computer that is currently on the market, doesn't matter if it's 300 or 3000 dollars as long as it is a (n IBM) PC and it will run Windows.

Will it always be flawless? No. Will it always work perfectly out of the box? No. But it will work and generally you have a good chance of it working as you wish assuming you are fine with Windows and what MS does with it.

I bought an Asus Zephyrus G15 (2022) specifically because it was recommended to me because it is supposed to be great for Linux and it's probably the worst Linux experience I have ever had. As the first piece of hardware that I specifically picked for Linux support.

Because most DEs don't do fractional scaling but all high end laptops have too much DPI to not have fractional scaling.

Nvidia is still not providing proper Linux drivers.

Asus can't program to save their lives but the tools that replace the Asus stuff on Windows are still better than the stuff that is replacing the Asus stuff on Linux (asusctl/ supergfxctl vs G-Helper).

I once had a machine where the nvme drive was simply not working. That was when Kernel 5 came out. It broke on Fedora but worked in Mint until Mint got Kernel 5.

During my last Linux adventure, KDE just died when using WhatsApp as a PWA (where I live, WhatsApp is essential software to have a social life).

And even after years of Wayland being around, it's still impossible to have apps that aren't blurry in most DEs because X11 is still around.

You're complaining about software updates and user friendly loading screens. The issues that drive people away from Linux and to Windows are literally unfixable to 99% of the techies that try Linux. I'm not fixing an nvme driver in the Kernel. That's not my area of expertise. But I still need my machine to work and on Windows, it does.

Rufus let's you create an ISO that skips most of the windows 11 nonsense btw.
> Eventually I started expanding my Perl use to a few lines of code at the time, and now I write a few larger (100+ LOC) scripts in it a year.

This was the same road I took in the late 90's - started with simple scripts and ended up with more and more complex scripts when I was learning all the shortcuts. Until the day I could not understand anymore my own code from a few days back :)
And yet this is one of the best methods knows to man (See double entry accounting which is used with great success in finance for hundreds of years).

An interesting approach I’ve seen was - instead of writing tests - describing step by step scenario for fellow engineer to run on review. When it broke it was due to implicit assumptions or unclear instructions. I believe it was right solution as system input was triple digits of free form documents versus hundreds of configurations and rulesets. I couldn’t imagine dataset for those. Effect was more concise, stable test suite and a rather boring system.
Huh thought he meant proper nutrition. Didn’t even think he meant pills.
I'm real tempted to go asus because of how good their other devices have been, will see what happens this time. Tired of my pixels constantly overheating when trying to take pictures after navigating to a place i want to take pictures with the 4a+5a. It's not just a bad phone, I've inevitably broken a screen or submerged one and had to replace it (apparently the ip68 isn't fool proof either..)
If you are in a corporate environment, then Jetbrains products are probably decent. What language are you developing in?
Also not free but Sublime with SFTP (if that's still something people use) is an option
Yes! Since these will be easy and used _as needed_, the plan is to have those be set by this `.env` var: https://github.com/bewcloud/bewcloud/blob/2d70a3817de1fd6108... thus not requiring download/install/uninstall, but not bloat as they won't be used if they're not enabled.
Yes, although the universal mechanisms that have been proposed so far have been quite ridiculous - for example having every program handle a "frame pointer signal" in userspace, which doesn't account for the reality that we need to do frame unwinding thousands of times a second with the least possible overhead. Frame pointers work for most things, and where they don't work (interpreted code) you're often not that interested in performance.
Shadow stacks have been proposed as an alternative, although it's my understanding that in current CPUs they hold only a limited number of frames, like 16 or 32?
About Python, are there practical situations outside IRC where you can't include a newline in there? This ..

python -c '
import re, sys
for line in sys.stdin: print(line.lower().count("foo"))
'

works in shell interactively (both bash and zsh support multiline history entries well), or in shell scripts, and also in slack/mattermost/matrix/email.
Yes! Their "problem" is that they have to support a lot of legacy and extensibility, thus even just the "barebones" Nextcloud uses a lot of resources (CPU/Memory/IO).
Lazy vendors single handedly keeping windows and android going with their lack of cross platform drivers, so frustrating....
Don’t mind me saying it, but I’ve always found this comeback insufferable. It is smug, especially since it is overused as an argument terminator all over Reddit.

In this case I actually agree with your “side” of the argument, but not the construct.
Thanks. It seems good.

I did the mistake of trying to find one via Google Play. It pushes so much malware to the top and wont allow you to filter the search. Discoverability there is zero.

It is like I always forgot I need to use fdroid and open Play by muscle memory.
My contribution: this doesn't sound related to their recent real estate woes (evergrande)
How can you prove that? We literally can't see further than 98 billion light years.

How's that not also a religion? :p
The measured overhead is slightly less than 1%. There have been some rare historical cases where frame pointers have caused performance to blow up but those are fixed.
I'm working on packaging things for Darwin platform. And helping people deal with homebrew/compilation issues. I'm painfully aware how much is developed by people with no access to or interest in MacOS. And unless something targets windows explicitly (not wsl), you can basically expect issues going in. In a twisted way, I'm one of the enablers of the current situation where things are usable on a mac.

Sometimes you can tell by the simple fact that the git repo contains files in one directory that conflict in naming. Linux has no issues with "Foo" and "foo" coexisting.
I've worked at organisations which have mainframe applications that have been running for almost 50 years. One of the funnier reasons I've heard about why these '100k lines of COBOL' programs never get rewritten is that no one really knows the full extent of what they do, and even if they do know the full extent of what they do, no one really knows the full extent of why. The business requirements that these programs cover are long since lost, but the program still remains. Even if this isn't a 100% true anecdote, it's an amusing one.
I think they meant "more significant than it need to be".

Recently I looked up how long it takes light to go to Mars from Earth : it's between 3 and 20 minutes depending on their relative positions.
Hrm, _are_ they actually taught rigorously somewhere? I mean, I assume you’d be exposed to them if you studied Latin, and I vaguely remember them being used as an example of a non-positional number system in maths, but other than that my only real exposure to them was the BBC (BBC TV shows used to show the date they were produced in Roman numerals, for reasons I was never particularly clear on.)
Performance is not a feature. Decisions about performance are part of every line of code we write. Some developers make good decisions and do their job right, many others half-ass it and we end up with the crap that ships in most places today.

This “blame the managers” attitude denies the agency all developers have to do our jobs competently or not. The manager probably doesn’t ultimately care about source control or code review either, but we use them because we’re professionals and we aim to do our jobs right. Maybe a better example is security: software is secure because of developers who do their jobs right, which has nothing to do with whether or not the manager cares about security.
A pill solving something doesn't mean that it's the only way or even the best way to solve that something.
One man's "pour your limited resource on the ground" is another man's "valuable use of that resource" - if they're choosing to do something with the energy they purchase, apparently they consider that this is a worthwhile use of that resource. If I'm in the desert and want to pour some water on the ground for growing orchids, that's my choice on how to use it - if it's really important to conserve water, then it will be costly enough so that I won't waste much of it on luxuries, but if it's cheap enough to do so, then people are voting with their wallets that it's NOT really (yet?) so important to conserve it so much as to refuse spending that on luxuries.
You need to define your terms more precisely to be able to make these kind of assertions. What do you mean by physically create? What do you mean by process? The answers depend on these very strongly.
DWARF unwinding isn't practical: https://rwmj.wordpress.com/2023/02/14/frame-pointers-vs-dwar...
You're right. I think I misread the original post, and assumed that since they were talking about running COBOL on more modern systems that they were using it to solve new business problems, hence my confusion.
Who mentioned poor people? Canada is a rich country. There shouldn't be poor people.
I'm sorry. It happens. Hopefully you guys will grow together again when he gets older. Big hug.
The downside is it doesn't work at all: https://rwmj.wordpress.com/2023/02/14/frame-pointers-vs-dwar...
Fantastic. Thank you so much!
IMO, DRF is one of the few libraries that can be considered stable and complete. The code is well structured, without a whole lot of hidden magic under the hood (as compared to say Django itself), yet providing immense functionality. I've learnt some neat patterns from digging into the code while working with it

To the devs : well done an Congrats on the release!
It's not invasive.
A room in a shared house with strangers is the new “home”. Killing my self working and studying for nothing.
"And when you understand how Java does math and how COBOL does the same math, you begin to understand why it’s so difficult for many industries to move away from their legacy."

Would it have killed her to tell, how COBOL does the math? I would think that for financial transactions fixed precision arithmetic is used, so IEEE-754 compatibility is irrelevant.
He goes on to explain it was in the keyboards About menu
Man I don't love these unspecified, context-free takes on "building software". The author lists a lot of tech stack, but no scope, no context, no size estimates about the software he's built.

Now we have a thread where the gal writing FORTRAN for legacy nuclear plants is telling the guy doing IT for a mom and pop how he's approaching tests all wrong. Meanwhile, the third person working in an expanding startup who has "ninja" in his job description understands neither and looks down on both.

Not very productive.
That works on x86 PC platform because boot process and hardware discovery are well standardized, and Kernel is overwritable while the OS is running. Those are not guaranteed on non-PC computers.
If PHP doesn't recompile your script imports, how does the reload tracking work with dependencies? Or does it punt somehow (eg only reloads your script but not is imports)?

There are various implementations of this kind of autoreload system for Python but it always seems to come with compromises on semantics (different initialization order causes behaviour differences).
T-Head also has their own matmul extensions, but t-head, SiFive, Andes, Rivos, IMB, ... have all people working on the risc-v integrated matrix extension spec.

The vendors presented their own matmul extensions, but none of them solve all problems that the integrated matrix extension should solve. Most importantly binary compatibility across vector lengths. The last to meeting presented alternatives that would satisfy that requirement. It will however take some time to decide on and experiment with the best design.

I agree that this can turn out messy, so far I haven't seen anyone, outside of vendor libraries, use the t-head or SiFive matmul extensions in open source code.

Ventanas ternary op and similar will hopefuly consolidate on the cmov extension.
Indeed. 99% of people will never even realise this is happening. Its crazy that "reading everything typed in a person's device without that person's awareness" is not something that has been legislated into oblivion.
It is not an US thing. You got a "Bixby" button right? You can't remap it to something usefull. There should be a gesture to swipe up "Samsung Pay", etc.
Learning Vector Programming (2021)
Such couples have something inherited or presented by parents.
Bloatware, dark patterns, opted-in privacy invasions, and unavoidable privacy infringement.. I feel that Samsung is somewhere in the top of that spectrum. Which commodity Android device vendor has the least of that out-of-the-box?
Heinlein's Fan Mail Solution
You can do that as a one-liner (I have kept the unused “re” module import, to keep it as close to your code as possible):

python -c 'import re, sys; print("\n".join(str(line.lower().count("foo")) for line in sys.stdin))'

or if you want to avoid building one large output string:

python -c 'import re, sys; print(*(line.lower().count("foo") for line in sys.stdin), sep="\n")'

if memory consumption is still an issue:

python -c 'import re, sys; set(print(line.lower().count("foo")) for line in sys.stdin)'

(This creates a useless Set object and throws it away as a side effect.)
Universities deserve far more of the blame. It’s too bad this article doesn’t mention the exceptional difficulty of the tenure track. If schools wanted to attract more researchers, they could. Although it is true that academia can’t match industry salaries, they could probably be closer if they paid researchers what they pay football coaches, presidents, and other administrators.
I really wish all software developers had to have 10 year old phones and computers and a slow 3G connection as their daily drivers. It might at the very least give them some empathy about how hard it is to use their software on an underspec machine.
Prostitution is legal in Germany, omg, what's happening. A complete shattering of the worldview.
>There are two attitudes on display here which I see in a lot of software folks. First, that CPU speed is infinite and one shouldn't worry about CPU optimization. And second, that gigantic speedups from hardware should be expected and the only reason hardware engineers wouldn't achieve them is due to spectacular incompetence, so the slow software should be blamed on hardware engineers, not software engineers.

Not just the quote but the whole piece. I am glad this was brought out by Dan, and gets enough attentions to be upvoted. ( Although most are focusing on Server Rendering vs Client Side Rendering; Sigh)
A lot of what it said would have been downvoted to oblivion on HN. A multi billion dollar company CTO once commented on HN, why should I know anything about CPU or Foundry as long as they give performance improvements every few years.

Not only Jeff Atwood, there are plenty of other Software developers, from programming languages authors, backend and Frontend Frameworks authors, with hundreds of thousands of followers, continue to pump out views like Jeff on social media. Without the actual understanding of hardware nor the business or selling IPs or physical goods.

Hardware Engineers has to battle with Physics. And yet gets zero appreciation. Most of the appreciations you see now around Tech circle are completely "new". For a long time no one heard of TSMC. ASML wasn't even known until Intel loss its leading node. Zero understanding of CPU design nor even basic development cycles. How it will takes years just to get a new CPU out. And somehow hate Qualcomm because they didn't innovate. A company that spends the highest percentage of revenue on R&D in tech industry.
Reddit only associates the last 1000 comments with your profile. I’ve also spent the last few months regularly checking Google for another stray comment of mine and edit and delete it.

However, if you get a Reddit data takeout, all your posts and comments should show up in there.
> No user would ever suspect that the keyboard that came with their cell phone would be letting third parties read all their texts and emails

When we were young, this was called a keyloggger and one running was a sign that your computer was compromised.

I guess times have changed.
While it's true that people start their careers early in life, this may also be an indication that they simply have a strong proclivity towards that field. There have been longitudinal studies, for example, that demonstrate that when kids do play-based learning in kindergarten vs hard core academics, they do as well, if not better at academics later on. There have even been studies that show it's better to delay kindergarten for some kids. https://pz.harvard.edu/projects/pedagogy-of-play

The other danger is that forcing a kid to learn a skill they're not interested in early can turn them off to it all together.

I haven't done a ton of research on this, but I do know that often when kids start early, they can also burn out (look at child actors as an example). The only area I've seen research on a real difference is children who learn languages before age 5 (and how they process the languages in their brain)

There are some amazing developers who learned to code as adults.

While it could be true, I'm pretty skeptical about age five versus age six being the difference your friend didn't become a world class pianist (sounds maybe like an excuse for not having the talent, discipline or simply the luck, which does play a huge factor). Starting early may help their technique and memorization to some extent, but afterwards judging a musician is highly subjective, and even someone who plays well at one moment in history, may not at another.
Honestly I expected lower numbers. The title seems a bit negative, but let me rephrase this as: if you make 6 diverse enough apps, one of them could give you non-trivial monthly pocket money (or income if you live in a low CoL country). Once you know what you're doing, trying different 18 apps may land you a decent global income. (This assumes single creator apps)

It's not amazing, but... that doesn't sound too bad, right? You shouldn't drop everything and start an app development studio without a good buffer, lots of spare time, or a separate day job, but that's higher chances than people jumped on with many startups.
> Where is the business value in doing anything else at that point?

You think developers prioritize business value? That isn't how employment works.
> Many will tell you that buying Intel-based hardware from Apple is buying obsolete models.

A strength of Intel-based Macs is they can run Wine/CrossOver. This is very good for people who really need a Windows app for their job and also need to minimze risk of a ransomware attack (which is way higher on Windows).

Intel Macs running MacOS 17 also are great for retro gaming through running Win32 games with CrossOver/Wine, also platformer games with OpenEMU.
The need for stronger legislation is overdue by now.

There is already a Foss mobile OS, it's called Android, or more specifically a distribution of it like LineageOS. But installing it is so difficult that only 1% of people have the technical know how to even attempt it, and it's getting more difficult as manufacturers introduce more and more hurdles in this process.

Which is all irrelevant anyway because the vast majority of people done even realise that everything they see, do, or type on their phones is reported to hundreds of companies, processed, and te-sold to thousands of companies all over the world.

We need regulation, full stop.
Clarification: The frontend does not pull anything, the backend pulls in libraries for websockets and json using cargo.
Unfortunately the modern web has consolidated to a point where you need to use them. For example, small local businesses that don’t have a web site but do have a Facebook page.
I don't know, I've seen mature people who couldn't operate a cassette deck and likely would have trouble with a typewriter. These people definitely grew up around these devices.

I don't think (modern) technology is at fault here.
LLM4Decompile: Decompiling Binary Code with LLM
> if the package.json is using relative version number

What do you mean by this? You can specify dependency versions using "^" which means "I accept new minor and patch versions" or "~" which says "I accept new patch versions", or a bare version to say I want an exact version; but none of those have anything to do with a bare "npm install" command. They are relevant when you install a new package, with "npm install <package>". That is a totally different operation, and it absolutely can update versions when needed.

However, when you just do "npm install" it does not update your package-lock.json to the latest version that matches your semver requirements in package.json. That will only happen if you install a new package that needs it or you use `npm update` or some other command.

This is easy to test but it's also intuitively correct- you don't expect to run `npm install` and have an uncommitted change to `package-lock.json` appear, and that does not happen in normal usage.

It is kind of unfortunate that "npm install" and "npm install <package>" use the same verb of "install" for two different things- other package managers don't make this mistake and it avoids the sort of misconception we're running into here.
"just reformat/reimage the drive and remove all the crap"

And that is not more work?

It was usually the way I did it, too. But this requires checking with the owner what apps are important, saved preferences, where are the important files stored (they never know) etc.
PHP is underrated, especially as a learning resource. I'm very surprised I only ever built something with vanilla PHP on the job a few months ago - and how fast I could go from idea to prototype.

There is a very natural learning progression to: First build apps that run purely locally; then build a few static websites, maybe starting with hand-crafted HTML and eventually using something like Hugo; then build a small dynamic website with vanilla PHP; then finally build something with a more complex framework, like Laravel or Django. Going upwards in these iterations I think would help a lot ofd newer devs internalize where the tradeoffs of inital complexity vs. future ease of development lands for them.
“that works” is doing a lot of the heavy lifting. I take it to mean some point in the quality space where the number of bugs (noisy crashes or silent inaccuracies) is almost zero.

“that works” can also mean demo to pointy haired boss and it works one time on a developers laptop. But that really means “that seems to work”.

There are different concerns at play:

Are you writing redundant tests?

Could tests be made redundant by say making better tests, sophisticated type systems or better architecture. “Make illegal state impossible” kind of things.

For example in C# the private keyword is an assurance of a constraint. Your compiler will check the illegal state cannot be made by an external class corrupting it, reducing the scope of code that needs to be checked.

Modularizing code well can also help. Making it easier for developers to understand how things fit together, further improving quality.

“10000 tests + shit architecture < 1000 tests and good architecture” will often be true for the real definition of “that works”.