skysight-inc/HackerNews huggingface dataset:
IME it depends on what kind of bug you are dealing with, and also what language and debugging tools you have available. Historically I used to do a lot of printf debugging. The other day I was helping a friend write some C++ code and I had a bug where only the first element in an array was matching a condition. Using the debugger in my IDE I set some breakpoints in a couple of places that seemed close to where the problem was. The advantage of the debugger is that it is fast and easy to see at each breakpoint what all of the defined variables and their values are. If you do it manually you could easily forget to print one of the variables that you ought to be paying attention to. In this case the debugger helped me figure out the problem within only a couple of minutes which was great because we were really pressured for time at the moment.

Furthermore, in response to what one the siblings said about creating logging infrastructure, in my own debugging I tend to not find much value in keeping a bunch of logging around. For me keeping logging around boggs me down. Typically what I will do if I do printf debugging is I add logging statements, hunt down the bug and then commit the fix and the added printfs because they add context but then I immediately make another commit where I remove the printfs. This way I have them in the version history should I need them, while at the same time avoiding extraneous log entries at later time.

And really I’ve found that over time I do printf debugging less and less.

I attribute this to mainly four things:

1. A friend of mine that encouraged me to use an actual debugger

2. Watching Jonathan Blow program on his Twitch stream and observing how proficiently and fast he is able to get the information that he needs by using the debugger

3. CLion. As much as I like the commandline, I never found gdb with the commandline interface to be a suitable tool for me. Whereas with CLion I get a good debugger that makes visible to me most of the information that I need while I am debugging

4. Through years of programming I have learned to recognize many of the types of bugs that I produce. Also, with experience I have learned to write code that is easier to reason about and to debug as opposed to in the beginning where I was trying to be “too clever” for my own good with the code that I wrote.

I think another of the sibling comments put it well about the debugger being like a scalpel. Trying to step through a whole program and following what’s going on would be slow, confusing and ultimately error prone. In order to effectively use a debugger I think you need to have a hypothesis about what is causing the bug and then set very specific breakpoints that you make use of in order to figure out where things are going wrong. From your initial observations you can set more breakpoints at a more coarse level (shallower call stack levels) and use those to observe what leads up to things going wrong.
Good questions! For these reasons and others, such as the lack of any concept of mail bouncing and the inability to even edit headers, I don’t regard Gmail as being an email client. Instead, I think of it as a kind of toy program that was designed to demonstrate what could be done with javascript, and it was an impressive demonstration when it came out.

I’ve had discussions with various groups that I’ve worked with where some people get the idea to move to Slack or some other platform, because email is not working well enough. When I ask them what the problem is with email, they start describing the shortcomings of...Gmail. They actually have no problem with email, they’ve just never used an email program.
Wordpress is a bit special case though as it has tons of very old code and a lot of plugins, some of which aren't maintained anymore.
Compare to the large groups of Amish, Mennonites and similar, who live like this currently but with the benefit of community and other things I mentioned above as negative components of modernity. One of the groups (Amish I believe) has something called Rumspringa, a time when teens leave the strict confines of the community to experience modernity. The vast, vast majority return to their communities.

A husband and wife team trying out the 1800s lack community and the other things I mention above. Also, using a husband and wife team of sociologists (meaning, educated, employed and highly employable with job security, salaried, with health care coverage, etc etc) as the quintessential example of a human under modernity seems fishy to me.

My point is not that modernity has no benefit whatsoever. My point is that it is ridiculous to called it an “absolute” joy, indicating no downside. Sure, for the privileged that may be true, but for many it is not the case.
I thought so at first, but no... The two different "species" only mate with each other.
what if I'm in a work meeting?
What do you mean by "functions are exponentials"?
nproc isn't available on some of the BSDs
That's what the virtual frame buffer I mentioned is for. There's no problem running e.g. web browsers in containers on Kubernetes, and accessing their GUI via VNC. That's what testing systems like Selenium Grid do.

However, this example does depend on how much graphics power Quake III needs. Since it was released 21 years ago, I was assuming it doesn't really need a GPU. If CPU-only graphics is enough, it should work fine.
Stack of spent shells

http://www.eureferendum.com/images/000a%20Verdun-029%20003.p...
I use Backblaze's B2 (think S3) style storage for backup, and I'm paying about ~$4.50 USD for ~1TB of storage per month. I don't use a ton of bandwidth though, so if you have a lot of churn in the files you're backing up you could see higher costs, but looking over the numbers Backblaze as the cheapest solution by far to others I looked at.
I see suggestions to use ‘make -j$(nproc)’. However, I was taught when learning MPI programming 20 years ago, you want think at least “one to load, one to run”. The idea being that processes and threads waiting on IO will sleep/yield while another process or thread can continue executing. An especially useful strategy if you can afford the RAM (trading RAM for CPU). Consequently, I tend to run twice as many ‘make’ jobs as threads on my systems.
This -> https://leetcode.com/problems/maximal-rectangle/solution/ is a example of a hazzer interview. Could be mistaken, but I think I found that this is the most common hard Dynamic Programming problem at Google interviews.

The idea that anyone should be able to solve a problem like this in 45 minutes as a demonstration of their skill as a software engineer is just ludicrous. If you can solve this problem it means you have studied this or similar problems. All it means is that you have the luxury of study. This has almost nothing to do with being a software engineer.
What is up with this "Developer edition", "Unbranded stable", and God knows what else?
Right. So on Mac or other BSDs, you want use a ‘sysctl’.
Solaris didn't port kqueue either. We're doomed to reinvent the wheel.
It can branch based on the syscall return and the ability to copy word-values like file descriptors from open to an fstat and so on. That copying could perhaps be extended to strings in some limited way, but I agree it is generally much more limited.

Not needing superuser/any special capability is also nice, though. Not sure of the current status/plans, but I am pretty sure eBPF needed root that for a very long time.

Anyway, I was not trying to "compete" with you or try to "get into mainline". A module works fine for me. Was just exhibiting an easy possibility about some points discussed.

EDIT: and thanks for the pointer. I will check it out.

EDIT2: and much like the word copy is a fake syscall, other fake syscalls like a "value test" could be added to forge a sort of if condition jump forward thing. My little repo there is more a proof of concept than anything else.
It comes from the number of jobs unfilled. And yes we do have this problem.
Probably robotic vacuums ala Roomba.
In my experience, that probably means they won't deal with all the bullshit one has to go through in setting up inside the firewall in any organisation of sufficient size.

Tongue in cheek, but also not.
"Stack"? That's a sea!
Haha, I love this, great project!
Alright, now let's hear the case for inconsistency.
Ah yes, because a bay area tech worker with employer provided platinum healthcare plan really needs the ACA more than some blue collar worker in appalachia.
PHP 8 performance improvements were advertised

https://www.fonow.com/Images/2020/0608/9f3a0f6a4f8f2ee.png

https://www.fonow.com/Images/2020/0608/4e9d2337edd2072.png

https://www.fonow.com/Images/2020/0608/70a1c6cff23f4fc.png
Another thought, I don’t know if Alpine Linux or other musl-libc based systems will have ‘nproc’ if, for instance, you’re running containers or other minimal systems.
Imagine an alien species that studies humans and a researcher discovers that some humans are wearing chainmail armor to battles. The researcher hypothesizes that wearing armor improves humans' odds in said battles. Of course this calls for a n=5000 study on human gladiator battles where some participants are provided chainmail armor and others are not. Ahh, science. Meanwhile, all the humans are like: uhh, yeah, 5000 of us died for this Sherlock?
I don't think io_uring and ebpf will revolutionize programming on Linux. In fact I hope they don't. The most important aspect of a program is correctness, not speed. Writing asynchronous code is much harder to get right.

Sure, I still write asynchronous code. Mostly to find out if I can.
My experience has been that async code is hard to write, is larger, hard to read, hard to verify as correct and may not even be faster for many common use cases.

I also wrote some kernel code, for the same reason. To find out if I could.
Most programmers have this drive, I think. They want to push themselves.

And sure, go for it! Just realize that you are experimenting, and you are probably in over your head.

Most of us are most of the time.

Someone will have to be able to fix bugs in your code when you are unavailable. Consider how hard it is to maintain other people's code even if it is just a well-formed, synchronous series of statements. Then consider how much worse it is if that code is asynchronous and maybe has subtle timing bugs, side channels and race conditions.

If I haven't convinced you yet, let me try one last argument.

I invite you to profile how much actual time you spend doing syscalls. Syscalls are amazingly well optimized on Linux. The overhead is practically negligible. You can do hundreds of thousands of syscalls per second, even on old hardware. You can also easily open thousands of threads. Those also scale really well on Linux.
There's lots of Gemini content! It's just not on those pages. Check out GUS[1], CAPCOM[2], and Spacewalk[3]. GUS is a search engine, and the other two are self-hostable aggregators.

1: gemini://gus.guru

2: gemini://gemini.circumlunar.space/capcom/

3: gemini://rawtext.club/~sloum/spacewalk.gmi
I think that would justify adding a single extra, not an entire slate.
Which wasps?
Caddy largely solves that problem. A config for a PHP app is usually about 4 lines long, see the example on this page: https://caddyserver.com/docs/caddyfile
If I ever stop using the tool, it'd be nice to be able to easily use something else. Plus right now I have a giant directory of Markdown because that's what I've been using, so it'd be great if I can continue to - it makes it easy to edit on whatever device I use, even without any special app.
Of course! I don’t even have enough information to dislike you. Honestly when I see comments like yours I assume the experience is one of cultural exposure and subconscious bias unless I see otherwise. I grew up in a place (Virginia) where (for instance) racism was so much a part of the fabric of everyday life that I didn’t recognize a lot of my own biases. I just thought they were common sense. I didn’t have a framework for thinking of systematic bias, so I started from the assumption that equality is the default absent obvious inequality. And “obvious” was of course experiential and educational, so I didn’t see what my (for instance) Black neighbors considered normal and I didn’t understand how their experience informed their reactions to (for instance) police.

Moving to another place (Seattle) where (for instance) racism is still a part of the fabric of everyday life but a part of the social discussion was challenging as I was introduced to ideas that felt unintuitive. But empathy helped me grow and understand more than I did, and helped me value and pursue that growth.

It also helped me recognize (for other instances) I had unconsciously internalized other biases. I had rejected my own sexuality (I identify queer, demisexual) and my gender identity (I accept he/him/they/them pronouns equally).

I hope a little empathy goes far for you. It’s not often in a followup like this I see someone willing to reciprocate the empathetic spirit and acknowledge a contrary view kindly. Who knows where it’ll take you, but I hope you’ll consider that your experience may be coloring your ideas and that you may have room for other ideas in that consideration.
I think we might be talking past each other, so let me elaborate a bit:

That Rhee's dictatorship ended only in 1960 is precisely my point - he was soon followed by Park Chung-Hee (killed by his own aide on 1979), who was followed by Chun Doo-Hwan (stepped down on 1988). In other words, the memory of dictatorship is still fresh in many South Koreans alive now - unlike America's revolutionary war, this is too recent (and, not too mention, too inglorious) to be painted over by some kind of PG-13 foundational myth.

So the suggestion that the size of the government has something to do with dictatorship would make many Koreans politely roll their eyes. Right or wrong, our world view is shaped by our experience - and my Korean experience says having a weak government has nothing to do with avoiding tyranny, and in fact is a pretty good predictor for an incoming shitstorm (be it a foreign aggression or a domestic coup). What we need is a reasonably strong government, led by the right people. (Well of course it's not foolproof - but then again, nothing is.)
> I was not trying to "compete" with you

It's not like I have a dog in this race, I'm just another consumer of these kernel interfaces...

But I am happy something finally has landed upstream we can start writing generic userspace programs targeting and actually expect them to work on distro kernels in the future. But we probably still need a compatibility layer for emulating it in userspace, looks feasible.
Yeah, I do not think it would have been too pragmatic. If the lesson is mathematics, sure, but for CS it is more of a trivia, IMO, or at least I cannot seem to find what changes by knowing that piece of information.
Good. Hopefully dependence on the cloud will become an anti-feature people avoid.
Can someone explain what prevents birds of the same subtype from mating? The article mentions that the chromosome 2 cannot cross over in meiosis, but I just fail to understand the mechanics of the process and how that leads to disassortativity.
no, now its the only thing he learned about until then.
It feels a bit like https://jvns.ca/ is doing this with her blog right now with the current 'season' being daily reports from her time with Recurse Center: https://jvns.ca/categories/rc-2020/
I guess if monetized properly big part of those 100 people could live off the name alone. It's also sad to see this tiny cultural artifact go just because few people are inconvenienced. The stone roads and tiny alleys in the old town are inconvenient yet we don't go bulldozing it all down.
That was before mainstream SMT.
I think this is true for any specific moment, but as we are creatures of the 4th dimension, we must also care about how we change our code over time. When code complexity is managed, users can enjoy better versions of a piece of software more quickly and more often. If we let our code deteriorate into an inscrutable pile of tech debt, it will eventually affect the user experience, so the guts need to both do something correct (and useful) and also be amenable to change over time.
There's actually another village called Fugging in Lower Austria, i assume the name was chosen to keep it phonetically close to Fucking but within the linguistic boundaries of "common" village names.

Also, a "Fock" is a pig in Austrian and Bavarian dialects, so "Focking" would be indicative of "pigs place" or "where the pigs are from", which hardly sounds like a desirable name for ones village.
not bite proof, this is why they use cages to protect against really big sharks.
There are many people who think that the term "classical" does not apply to South Asian music of this form, because it is still being actively created and practiced. And while the style of this music has evolved quite a bit, new instruments introduced, the essential features have not gone away.

This music is also not written down (intentionally, I might add), so while roughly the same forms have been practiced for 100s of years, most of what is remembered and played is from the past 150 years or so. You can call this era classical, if you will.
That's awesome! Line rider reminds me of a past internet where things were a bit more creative and joyful.

I'm so glad to see that people like you are still spreading that love of the creation.
While not quite as ergonomic as your example, it's rather trivial to extend ArrayIterator to accomplish your goal:

foreach ($iter = new IndexingIterator($array) as $k => $v) {
echo $iter->index();
}
Actually there was a post about Ubuntu today:

https://news.ycombinator.com/item?id=25219698
What a wonderful world dot mp3
IBM research put out a bunch of white papers a few years back about the huge performance difference between spinning rust, SATA SSDs, and NVMe. The performance gains were amazing, especially with things like parquet.
Considering that leaf-cutter ants are well-known to humans (I've seen them in a museum in Amsterdam), I'd say it is surprising that we haven't noticed this before.
Blue BaLL
Not giving money to people for drugs seems reasonable, but, as humans, I think they still deserve empathy.
Thunderbird 78.x is great but has issues for advanced PGP users
Think of it like if PHP had Node's event loop runtime.

There's also Swoole, which is like if PHP had Golang's runtime (i.e. coroutines and such).
kqueue on FreeBSD is effectively like io_uring but has existed for much longer (and Windows I/O Completion Ports predate kqueue). kqueue also gives you a way to get system events which you can't get on Linux (it has an equivalent of cn_proc that isn't awful).
Peel P50: world's smallest car
And people scoff when I ask "What happened to 'Work Offline?'"
Big disagree. They're just different. Swoole is like Golang, ReactPHP is like Node, in terms of runtime style.
Where? Certainly not the US.

https://medlineplus.gov/genetics/understanding/testing/genep...

"On June 13, 2013, in the case of the Association for Molecular Pathology v. Myriad Genetics, Inc., the Supreme Court of the United States ruled that human genes cannot be patented in the U.S. because DNA is a "product of nature." The Court decided that because nothing new is created when discovering a gene, there is no intellectual property to protect, so patents cannot be granted. Prior to this ruling, more than 4,300 human genes were patented. The Supreme Court's decision invalidated those gene patents, making the genes accessible for research and for commercial genetic testing."
When I was about 8 in southwestern PA, we took a trip to central PA to visit Gettysburg, the Amish Country, Hershey, and all that. We took a steam train ride that promised a "trip to paradise".

I remember two things clearly about that train:

1. If you are sitting close enough to the front and lean out far enough, you get hot steam mist droplets painfully scalding your skin.

2. The train indeed went to Paradise, PA, with a big welcome sign, and I remember thinking "Is this a joke? I guess some people aren't very good at humor." I really don't know what I did expect or what would have impressed me more.
Ah. "Contributions are welcome" made me think of you as one of the welcomers.

Compatibility-layer-wise, I did actually do that for my batch system. In the tiny user-space entry point I check if sys_batch is working and if not I fall back to just a loop of userspace making syscalls. That also checks a BATCH_EMUL environment variable to force that emulation mode for benchmarking purposes { so I don't have to unload/reload the module. :-) }

So, user code would always just work, but work faster on kernels with the module loaded.
You're quite right -- it's basically the same idea as IOCP on Windows, kqueue on FreeBSD, and Event Ports on Solaris.
That is exactly what I did. It was much less elegant and performant, though, than my initial solution with Common Lisp and C which basically allocated buffers in memory and mapped them with huge pages so that memory access don't ever require switch to kernel for mapping.

We also had custom Intel CPUs that are auctioned individually. And cutthrough switches that stream the IP packet immediately when they receive the IP header, before they receive the payload. I have calculated that if the message from exchange was a beam of light it would be delayed by less than a meter.
It really depends on language.
Spreadsheets automatically recalculate on partial updates to their inputs, which automates a lot of the coding that would be involved in data analysis. They are also a portable format that can be universally understood, which is much harder to say about dataframes in a typical business/work setting.
They can vacuum. They just need to get up and press the button on top of the Roomba.
How do you think they can monetize it? How do you monetize random strangers coming to your town, taking photos of themselves in sometimes "lascivious poses" with your sign and sometimes stealing it? What's the business angle there?

It's a tiny village. Such places often have a real sense of community that you don't have elsewhere. Injecting a lot of sexual nonsense into their little town because of the name likely feels rather rapey to them.

That's sort of like the old fashioned advice that if a woman is going to be raped and can't avoid it, she should try to enjoy the ride -- which is all kinds of deeply offensive and morally depraved.

These people find this behavior offense, offensive enough that they changed the name. They don't seem to find the name offensive. They seem to only find the behavior of random people coming to their village offensive and they don't know another way to stop it.
Rule of thumb: Keep yourself as smart as possible but your items as dumb as possible.
If the tan ones could only mate with the tan ones, that would work. As it is, though, no. A white male and tan female can have a tan chick that can go on to mate with a white bird (indeed must, if it mates at all). That’s not speciation.
I have, but not often.
Who buys internet-connected Christmas lights?
Here's the thing: I know it's a lot of M1 news, and I thought it a bit much myself. But then I realized just how much of a game changer this chip is. Not just for Apple, but because the M1 success will really spark and accelerate other efforts at more commodity chips with similar capabilities.

The problem though is chip architecture and the consequent software compatibility issues, and when compatible the performance issues.

So, given the potential future of this choice of architecture and chip design, every development in compatibility or performance really does have significant consequences.

And of course, the recommended community guidelines for dealing with posts you don't think are relevant or newsworthy to HN is to flag them instead of complaining in comments. If enough people share your opinion, it will disappear. If not, then it is de facto relevant to the community.
We'll make it scratch and sniff.