skysight-inc/HackerNews huggingface dataset:
The reasons I avoid recursion don’t align with saving memory. I avoid recursion primarily to make it easier to read the code. Recursion requires you to keep track of the implicit stack, an explicit stack makes that easier for me.

Secondarily, I don’t want to deal the administrative work the author says I should do in a recursive situation, as allocating the stack size would happen far away from my algorithm, making it another thing to go hunt down when my memory usage grows, instead of a local memory allocation.

And thirdly, there can be a cost to calling functions that has been significant for me. I have a much better feel for how a loop will perform than a recursive call tree. Maybe the optimizer will do something with it, maybe it won’t. Maybe I’ll make a minor change and the optimizer will stop working and I’m getting a tenth the speed I should.

I will prototype algorithms recursively sometimes, but usually it’s very simple to convert them back into a loop with explicit stack, and many times that stack isn’t even needed. So I hardly leave it in.
This gets worse when reading developer documentation

- Github does not allow for 'web' VSCODE to have English (if I use non-English OS locale or browser).

- Google - developer sites (API) translate it to local language. While one can chane it; for reasons unknown this reverts back if one logout and relogin. BTW, most EU devs reading developer documentation still want to read things in English, as it helps better communication with rest of the world.
I've taped out 4 chips in 5nm and our managers and VP's have said about $30 million for a full set of masks (base layers plus metal layers)

The $20 million is for metal layers only for a respin.

We are moving to 3nm right now which will be even more expensive.

The open source tools can't handle the latest process nodes. Maybe in the future but this is a highly specialized area with tons of NDAs from the fabs for PDKs and DRC decks.
Well that would be null right? an absence of the thing.
Show HN: My Tuesday with Morrie Schwartz – Excerpts in the Form of Blog
Mitch Albom helped me to graduate from the classroom of his old dear professor Morrie Schwartz.
The subject for this course is "The Meaning of Life" covering topics ranging from love, work, community, family, aging, forgiveness to finally ending in death. No Books are required but the reader is expected to be empty their mind because this curriculum will change your perspective towards Life.
> Deforming programs so they are ‘iterative’ in order that they do not run out of the stack we imagine to be so costly is ridiculous: if you have a program which is inherently recursive, let it be recursive.

Yes! Unless of course your language (or compiler, or interpreter of it) has disabilities and it is realistic, that you run into issues with recursion. Oh well ... sigh

> [...] The ‘iterative’ versions just use an explicitly-maintained stack rather than the implicit stack provided by the language. That makes sense only if stack space is very small compared to the heap and must therefore be conserved. And, well, for many systems that’s true. But it is small only because we have administratively decided it should be small: the stack is just memory. If there is plenty of memory for the heap, there is plenty for the stack.
All examples I tried myself show it failing miserable at reasoning.

It certainly needs better evidence than being able to come up with one of many possibilities of stacking things - aided by human interpretation on top of the text output. Happy to look at other suggestions for test problems.
> I imagine with GPT this is very easy to generate now

That's exactly what they are doing, but if they had any brains, they'd have a human read the answers before they publish:

https://www.dragonflydb.io/faq/is-memcached-good

> As an AI language model, I am unable to make subjective judgments on whether Memcached is "good" or not. However, I can provide information about the features, benefits, and limitations of Memcached.
Reminded me of this essay: https://sashachapin.substack.com/p/notes-against-note-taking...
That's probably an accurate assessment, the question is mainly if the reasoning can be improved to a notable extent and how much on the current architecture.

I myself assumed that we're pretty close to the end of the S curve when first using 3.5-turbo and figured that hallucinations will be pretty hard to overcome, but with GPT 4 being such a massive improvement on all metrics I'm no longer as sure. GPT 5 will probably be more definitive on what's possible, based on where it starts having diminishing returns.
> I wonder how developers of computers came to idea to use binary numbers?

It’s the most robust when building actual physical computers. Only two states that need to be reliably distinguished. You can also sort-of relate it to an analog value going either up or down – the only two directions it can go.
There's a similar O'Reilly book, Data Science at the Command Line, which I can also recommend: https://datascienceatthecommandline.com/

Buffalo's book is great and I generally recommend it in my bioinformatics career, but it does go into some speciifc niches (especially the IRanges/GenomicRanges parts!). Jannsen's book is a bit more 'generic', for lack of a better word
I don't think it ever reached the first 2 pages on HN? I haven't seen it at least.
Stack-Heap-Collisions are a thing. Many language runtimes do not check for stack collisions and break in interesting ways if one lets a recursion run too deep. Heap size and running out of heap is far easier to handle gracefully. And all of this isn't ancient history, it is still a problem nowadays, so advice like in the original article can be dangerous...
I have tried to get useful code out of ChatGPT with GPT-4 and so far been unable to find a case where it was easier for me to verify that chatGPT was right than to just do it myself. This was for toy examples. For more complicated things it's downright useless.

Everyone seems to be raving about its ability to write code. What am I doing wrong?
Mech KBs are nice but I am always puzzled why nobody discusses what I think is the biggest unsolved problem with any keyboard: the Mouse !

Let me elaborate — on a laptop computer (esp MacBook ) the nicest thing is that we don’t have to reach for a mouse, and we use the trackpad with either thumb.

With an external keyboard, the ergonomics are great EXCEPT that you have to move your hand off the KB to get to a mouse. For me that kills the ergonomics!

If someone designs a combo mech kb with an easily reachable trackpad below the thumbs, that would be amazing.
Why is the California Highway Patrol pointing more guns at people?
Thanks. So, the small useful feature is that it can be used to (unreliably, as finalizers aren’t guaranteed to run) detect resource leaks.

Such code wouldn’t have to mutate the object being finalized (or any other object, for that matter), so I think that use case would better be served by a more light-weight feature, removing finalizers edge cases such as objects that get revived.
Imagine being mega famous and poor at that. Are there any examples of this? People who got famous and did not make money from it? I guess some have wasted it though
This means that governments need to have a system of updating the public about any action, diversion on public infra as fast as possible
TV anime is a sort of freemium, novel game isn't.
Honestly I’m not a fan of naturally processed coffee these days but in the intro to the video when they mentioned raspberry like flavours it took me back to a microlot coffee I tried from Aricha in Yirgacheffe. It was like drinking a delicate sweet raspberry tea. It blew my mind at the time learning the diversity of flavour that coffee can offer.
> it may be doing token substitution vs. some known example that it's seen before and is matching to

Ah, just like us with literally 99% of stuff taught in school you mean.
That's why I use Lenovo keyboards. They have this amazing red thing in the middle of the keyboard. You can't ask more than that.
I never implied he used steroids. His claims of muscle gain were never rigorously, independently verified, and were likely invented partially or whole-cloth. He named a researcher at San Jose State University, and said she did hydro-static before/after measurements confirming his results, and she apparently took issue with him using her name and institution for commercial purposes, and also couldn't publicly disclose and confirm his purported results due to the terms of the consent form he signed: https://news.ycombinator.com/item?id=2100335

Ultimately we have no before/after DEXA scan confirming any muscle gain in any timeframe, and just Tim's word and some questionable before/after photos. And even with copious steroids, 34 lbs. of muscle in a month would be insane.
When the Culture Wars Came for NASA
I stumbled across a ShowHN that did not get to the front page but seems to fit here:

https://clipbase.xyz/
It must have some representation of the real world, or else it wouldn't be able to generate responses that explain the real world.

At a certain point, there's no difference between emulating understanding and having understanding.

> it is at bottom simply a very large collection of numbers that are combined arithmetically according to a simple algorithm.

If you dissect a human brain, you'll find neurons, synapses, etc. Your brain is also "simply" a machine.
I'm puzzling over where I would use this sort of thing, over say Json, or simple xml, and I realise that it's mostly useful in cases where you're expected to edit the configuration in a text editor.

That's not something I come across a lot - all my software (that I use) has a visual interface, and so raw editing of text/config files is not something we do.

So context really comes into play here. I can see how this would be very useful for some programs, and near useless for others. And more specifically useful for those who consume user-edited configuration files.
Well sure, but why would that make it "improper multithreading"? Is polymorphism based on vtables not "proper OOP"? We rely on many abstractions that aren't free in terms of CPU cycles because it makes development easier or less error prone.

And setting up, say, one thread per HTTP request will likely be negligible because blocking I/O is where time is spent anyways..
Has anyone compared Google's new Codey, Code Whisperer, and GPT-4 for code generation?

For my service to work at all, I feel like I really need GPT-4 or something better if that ever comes along.

But aside from GPT-4 trying to use APIs from two years ago, it can definitely make simple software without necessarily needing an actual programmer. Especially when you put it in a closed loop.

As the models get better with larger context windows and more up-to-date training, software engineers will probably defer more and more to the AI. And non-programmers will be able to build software with it also.

The time where this is just minor code completion or something is going to be pretty limited. In 3-5 years, I would be very surprised it was considered good software engineering to have humans writing code at all.
Is not only a matter of how much as where it rains.

Raining could increase exponentially over open sea and not much would change for the lakes. We had also a lot of monster wildfires in the last decade. Feels like a competition about who is able to sink the ship faster.
Does it support my country’s unique AZERCQW layout with the parentheses on CtrShiftQ+8?

Without that, it is a broken mess filled to the brim with showstopping UX failures.
V8 JS and Python (JVM too?) don't do tail call optimization, so the advice of not using the stack for high recursive algorithm is actually the right choice in the majority?
Previously on HN:

Mel's Hack – The Missing Bits:
https://news.ycombinator.com/item?id=33392127

Mel's Loop – A Comprehensive Guide to The Story of Mel
https://news.ycombinator.com/item?id=31458048
Depends what you are doing and how much code. Especially if you work with new frameworks or apis ChatGPT is extremly helpful. I think especially on small code snippets it is strong. Guess you would have to give an example, what you tried and what you got...
If anything the opposite should be true. GPT-4 at least has near perfect English. If your sample displays non-native traits probably it wasn't generated by GPT!
I feel like this is directed at me. No, I didn't know who he is—but there's no smugness or arrogance in my not knowing, it illustrates the point that fame is relative, contextual and most importantly, fleeting. His blog post about gaining 34lbs of muscle in 28 days was in 2007, and I'd never even heard of it. If it was that effective and I've not heard of it in all that time, I think I can safely say I didn't miss out on some kind of breakthrough.

I could equally twist this back around to you—ooo, you know who Ferriss is and read his books and watched his interviews, suddenly you're a lifehacker and can present pithy soundbites and "techniques for producing 15-minute female orgasms" if his 4-Hour Body book is anything to go by.

But there's no smugness or arrogance on your behalf either, right? So why assume it of others?
> Upon returning to the US, I performed an exhaustive analysis of muscular hypertrophy (growth) research and exercise protocols, ignoring what was popular to examine the hard science. The end result? I gained 34 lbs. of muscle, while losing 3 lbs. of fat, in 28 days.

Gaining 34 lbs of muscle in a month is impossible to do naturally. Gaining 34 lbs of muscle in a year would be incredibly unlikely to happen naturally. Gaining half of that in a month of blasting Tren would only happen to hyper-responders. He’s definitely lying about that, and probably juicing too if he did anything close to that over anything close to that period.
It may be that I didn’t “get” Plan 9, but it feels very tied to its GUI the same way Windows does. Yet, the way it treats the network transparently is fascinating and I wish we had more diversity in the OS space and Plan 9 would be brilliant in a cloud setting where you could just extend your workstation’s capabilities to whatever cloud service you can pay for.

There has to be more in the OS space than Unixes and MVS-derived OSs
I find Python works very well to keep my options open, but eventually, there is no replacement for what you exactly did: your job as an engineer.

You evaluated the needs and figured out what tools you needed for the specific job you are doing.

That's what we are supposed to do.
This is my experience as well. There are very few code bases with 100% coverage and strict development practices. Moreover, if the average developers get their hands on one of them, they'll degrade soon.

The problem comes from the very "top", since CPython developers are in camp (2) and celebrate their development practices.

Other languages also have this divide of course but not to the extent that Python has.

As for maintenance: This is also true. I have rewritten a Python code base in C++. Even in C++ it is easier to maintain, because the C++ compiler does not break between versions and there are no new bugs. And modern C++ can look quite like Python.
> There are, or may be, arguments for why stacks needed to be small on ancient machines. The history is fascinating, but it is not relevant to today’s systems, other than tiny embedded ones.

If a stack doesn't very comfortably fit in L1 cache, then I'd wager you're paying a high price for it regardless of how new the system is.
> Very often people regard the stack as a scarce, expensive resource, while the heap is plentiful and very cheap

Wait what, who says that? This has not been true for at least 10 years.

The Heap is great and extremely powerful, but with cache-misses becoming an ever larger issue, the locality of data in the Stack is a massive performance advantage.

One good example for this is Rust. Rust is fast and works almost exclusively via the Stack and copying data between contexts.
> I can't offer this as a service with my non profit org

You mean make a hosted dragonfly a service you provide? (I'm not sure why the €10 matters - maybe I'm missing something) Yeah, that's exactly the point of that licence. You can do it in 5 years if you want.
>>Our
findings reveal that these detectors consistently misclassify non-native
English writing samples as AI-
generated, whereas native writing
samples are accurately identified.
Furthermore, we demonstrate that
simple prompting strategies can not only mitigate this bias but also
effectively bypass GPT detectors,
suggesting that GPT detectors may
unintentionally penalize writers with
constrained linguistic expressions.

Essentially ChatGPT writes like a non native english speaker. It has to translate from it's computer language into english.

I think it's more likely that humans will adapt to ai "style" then the other way round. Look at the elaborate and often exquisitely constructed language that books used 100 years ago. Does anyone think that the art of good writing has not degenerated?
While I don't doubt it, there's probably an uncanny valley too: if a writer's English contains spelling errors, or ungrammatical or unidiomatic constructions, AI won't make the same mistakes. As the English level improves, now the spelling and grammar is correct, but you have a limited repertoire of correct constructions to draw from. This may lead to repetitive structure and wordiness as the meaning is shoehorned into more, simpler, phrases. I imagine this is what sets off the AI detectors.

Considering that AI writing standards will probably only increase from here, encroaching on the territory native English speakers operate at, perhaps the best way to mark yourself as not-AI is to start making many errors.

This will work for a week or two until someone tunes a model to also do this, and the arms race grinds ever on!

It also goes for other languages too, so luckily for me, I have a short period where my dreadful other languages will be an advantage.
This is not a moral issue.
> ... but still only supports one niche operating system.

1. Linux is not a niche in the target market for this project.

2. The project is written in Common Lisp with hard dependencies on SBCL-provided libraries[1], so there's reason to suspect it should work on other OSes supported by SBCL.

3. Sure, the presence of Makefile and sb-posix imply it requires a POSIX compliant OS, but Linux is not the only one that fits the bill.

4. The included Linux-only binary 'oras' is clearly a vendored artifact, not part of this project, and clearly an OCI client. A simple search shows it is indeed cross-platform[2].

Perhaps you should try what almost every Linux user has had to do when encountering software actually built for only one "niche" operating system that they want to use on their OS: look.

1. https://github.com/ocicl/ocicl/blob/170aff0/ocicl.asd#L34

2. https://github.com/oras-project/oras/releases
> there is no way to iterate over (name, value) pairs

zip(x._fields, x)

I get your point that it's not just a built in method though.
> The reasons I avoid recursion don’t align with saving memory. I avoid recursion primarily to make it easier to read the code. Recursion requires you to keep track of the implicit stack, an explicit stack makes that easier for me.

If you read for example "The Little Schemer", it will teach you to think about recursion in a way, that you do not actually keep track of the stack in your mind implicitly. To not think this way is actually key to understand some recursive programs. I think this has also been in one of the SICP lectures or talked about by one of the authors.

> Secondarily, I don’t want to deal the administrative work the author says I should do in a recursive situation, as allocating the stack size would happen far away from my algorithm, making it another thing to go hunt down when my memory usage grows, instead of a local memory allocation.

This is a language specific concern. Look for example at the Racket docs: https://docs.racket-lang.org/guide/Lists__Iteration__and_Rec...:

> At the same time, recursion does not lead to particularly bad performance in Racket, and there is no such thing as stack overflow; you can run out of memory if a computation involves too much context, but exhausting memory typically requires orders of magnitude deeper recursion than would trigger a stack overflow in other languages. These considerations, combined with the fact that tail-recursive programs automatically run the same as a loop, lead Racket programmers to embrace recursive forms rather than avoid them.

And about:

> And thirdly, there can be a cost to calling functions that has been significant for me.

This is a compiler specific thing. A good compiler can turn a tail-recursive function to run the same as a loop, no additional cost for any function calls (also see the quoted Racket docs).

> I will prototype algorithms recursively sometimes, but usually it’s very simple to convert them back into a loop with explicit stack, and many times that stack isn’t even needed. So I hardly leave it in.

Yes. It is mostly a simple conversion from a recursive definition to a loop definition. However, you would be surprised how many programmers do not know how to do this or have never done this, because languages they learned have merely taught them to fear recursion and so they never really wrote recursive functions much.
This is tragically funny.

If the dragon fly devs are reading this, stop this nonsense seo gaming. This makes me trust your db less and cheapens everything that you stand for.
Wait. So the latest VC-funded big business idea might not be so good for our environment and health?

What a shock.
Currently 24 Reddit comments and majority is one-liners with personal opinion. I don't remotely see the question answered. Did you mean to submit the article itself? https://www.sfchronicle.com/california/article/chp-guns-1809...
The Billion Dollar Mistake lives on.

Personally I'm happy it doesn't have explicit null and somewhat surprised it supports NaN (which I thought it didn't)

To my mind, a configuration file using "this key doesn't exist" as one of several valid options seems deeply unsound.
Sure we do. In the Boy Scouts for example, though I just learned it from a book. I suspect a large percentage of people on HN would know how to start a fire from scratch.
Among Us was basically unheard of for a few years after its 2018 release before it got popularize by streamers in 2020
Split is theorised to be ergonomically better, match shoulder spacing / inward tilt from reach, etc.

Column stagger is theorised to better match finger 'layout' and therefore be better/easier/more even to type.

Both are debated.
This is the third time. You can use the search field in the bottom of the page.

https://hn.algolia.com/?q=https%3A%2F%2Farxiv.org%2Fabs%2F23...
> if such a program is, in fact, iterative, then good compilers will eliminate the tail calls and it will not use stack

Well, there we go then. JS does not eliminate tail calls at all in the major browsers or in Node.js. Neither do Python, Ruby, Rust, Golang and many others.
> My employer uses Windows on all workstations.

(I can't believe I'm saying this, but) even Windows runs Linux now.

> How is this related to my comment?

Your comment indicates your access to computing does not include Linux. That would indeed be a niche area of computing, when intersected with the area targeted by this project, where Linux is commonplace.
> couldn't bring myself to book a ticket to Europe because it felt wasteful to spend so much money and carbon just for sight seeing.

Regarding the carbon, thank you. I cannot fathom why so many people still act as if there are no costs beyond the dollar value and consequently don’t feel any guilt whatsoever about the externalities stemming from unnecessary flights.
Its a bit surprising, the faq is all about Redis and other tools but not about Dragonfly.