MurphyA/hacker-news huggingface dataset:
by metalman | 2025-04-22 17:51:41+00:00
Thinking about this more,it seems that it's not so much that crows or humans, recognise geometric shapes, but that they can, which is slightly odd and interesting, as all life on earth eveloved and thrived, without any recourse to geometry, nature famously abhoring strait lines, there bieng non to exploit in the first place. And for the species that "cant" recognise geometrical shapes, perhapsthey just reject them out of hand, as a deaper level of awareness signals danger, as the closest nature gets to geometry is in splintered and jagged shapes left from violent phenominon.
by trealira | 2025-04-22 17:51:51+00:00
Buffer overflow vulnerabilities are prevented with bounds checking, but that just means you get a panic at runtime. With formal verification, you can prove that the program never accesses an array with an index that's out of bounds.

I guess you're asking why that wasn't built into Rust from the start; after all, there are programming languages with the formal verification and theorem-proving built-in, e.g. for imperative languages, the SPARK extension to Ada, as well as ATS, or for a functional one, Idris. My guess is that Rust never would have become popular if you needed to write actual formal proofs to guarantee some degree of safety, since satisfying the borrow checker is easier in comparison, and it also probably would have been a lot harder to develop Rust after that. The borrow checker simply eliminating use-after-free errors and data races in safe code was good enough.
by gurgeous | 2025-04-22 17:53:33+00:00
This got some attention in r/ruby so I figured I'd post it here too..

TableTennis is a new gem for printing stylish tables in your terminal. We've used ad-hoc versions of this in our data projects for years, and I decided to bite the bullet and release it as a proper gem.

- auto-theme to pick light or dark based on your terminal background - auto-layout to fit your terminal window - auto-format floats and dates - auto-color numeric columns - titles, row numbers, zebra stripes...

By far the hardest part is detecting the terminal background color so we can pick light vs dark theme for the table. This requires putting the console into raw mode and sending some magic queries. These queries are widely supported but not universal. There are some great libraries for doing this in Go & Rust, but as far as I know nothing like it exists for Ruby. Check out the long comment at the bottom of this helper if you are curious:

https://github.com/gurgeous/table_tennis/blob/main/lib/table...

As always, feedback, feature requests and contributions are welcome.
by toomuchtodo | 2025-04-22 17:53:45+00:00
You could, but improved chemistry and battery packs to support the same are cheaper based on the experienced learning and cost decline curves. Batteries will only keep getting better, while EV charging infrastructure continues to be deployed everywhere there is power. Simplicity is the ultimate sophistication.

LFP was an improvement over lithium ion for thermal safety, and the results of this sodium chemistry appear to be even better (similar power density of high end LFP cells while being able to physically damage cells without much risk of catastrophic energy release).

Batteries won, it’s just not evenly distributed yet.

> BNEF is tracking 7.9 TWh of annual battery manufacturing capacity announced for the end of 2025. That’s compared to demand projections of 1.6 TWh, and even that assumes steady EV demand growth and very rapid growth in batteries for storage applications. Even half that total announced capacity would be enough to equip almost every car sold in the world next year with a 50 kWh battery pack.

(my note: global light vehicles sales are ~90M units/year)

https://ourworldindata.org/battery-price-decline

https://about.bnef.com/blog/china-already-makes-as-many-batt...

https://www.iea.org/reports/global-ev-outlook-2024/trends-in...

https://www.vox.com/climate/408381/energy-transition-renewab...
by jauntywundrkind | 2025-04-22 17:53:47+00:00
Anyone who thinks Google or Chrome is evil has no idea the scope or scale of what/where evil is. You haven't seen anything till you've worked with some of the groups Chrome has to deal with. IAB, & so many other advertising folks are wild & extremely lobbyist happy folks, who absolutely are intent on feeding the public to the wolves.

I don't know as much about the UK agencies Google has been wrestling with, but my vague sense is much of the UK has alas undergone severe regulatory capture. Here's the ICO finding in favor of tracking everyone, 'what if personalized ads are what consumers want': https://www.adexchanger.com/privacy/the-uks-data-protection-...

Anyhow, hopefully premature but RIP Privacy Sandbox. Very weird strange attempt. But as has been kind of always evident, 'you're going to miss us when we're gone'. And you could just turn these adverising-only APIs off, where-as third party cookies are deeply enmeshed in actual web flows as well as ads, alas.
by WalterBright | 2025-04-22 17:54:17+00:00
> the notion of a comptime variable (for which I couldn't find an analogue in D)

A comptime variable in D would look like:

enum v = foo(3);

Since an enum initialization is a ConstExpression, it's initialization must be evaluated at compile time.

A comptime function parameter in D looks like:

int mars(int x)(int y) { ... }

where the first parameter list consists of compile time parameters, and the second the runtime parameters.

D does not have a switch-over-types statement, but the equivalent can be done with a sequence of static-if statements:

static if (is(T == int)) { ... } else static if (is(T == float)) { ... }

Static If is always evaluated at compile time. The IsExpression does pattern matching on types.
by kbolino | 2025-04-22 17:54:46+00:00
Yes, to be clear, the drive controller generally (*) has no concept of volumes or files, and presents itself to the rest of the computer as a flat, linear collection of fixed-size logical blocks. Any additional structure comes from software running outside the drive, which the drive isn't aware of. The conventional bias that adjacent logical blocks are probably also adjacent physical blocks merely allows the abstraction to be maintained while also giving the file system some ability to encourage locality of related data.

* = There are some exceptions to this, e.g. some older flash controllers were made that could "speak" FAT16/32 and actually know if blocks were free or not. This particular use was supplanted by TRIM support.
by hp_hovercraft84 | 2025-04-22 17:55:10+00:00
Good question. I built this gem because I needed a few things that Rails.cache (and Redis) didn’t quite fit:

- Local and zero-dependency. It caches per object in memory, so no Redis setup, no serialization, no network latency. -Isolated and self-managed. Caches aren’t global. Each object/method manages its own LRU + TTL lifecycle and can be cleared with instance helpers. - Easy to use — You just declare the method, set the TTL and max size, and you're done. No key names, no block wrapping, no external config.
by manfromchina1 | 2025-04-22 17:56:49+00:00
I remember my first interaction with computers was on one of those ancient ones way back when. Our teacher showed us how to make a circle appear on the screen. I was preoccupied with how the computer was actually able to render that circle, what exactly was happening under the hood and what kind of physics was happening for all this to come together as a circle on the screen and not that particular function of whatever program they were using at the time. That turned me off to wanting to mess around with computers for awhile.
by fragmede | 2025-04-22 17:56:51+00:00
> If I wanted to babysit an automaton, I would have been a factory worker.

I wonder if horse carriage drivers said the same thing about the advent of cars. Telling the LLM build me a login page instead of laboriously looking up example code in docs and retyping stack overflow snippets is definitely a different way of working, but thinking that makes someone a politician seems like a bit of a stretch.
by griffzhowl | 2025-04-22 17:57:18+00:00
But it's stipulated that the test will happen on one of the days - it's not a possibility that it won't happen at all, hence the paradox.

One resolution is that what the teacher stipulates is impossible. It should really be

"You'll have a test within the next x days but won't know which day it'll be on (unless it's the last day)"
by jchw | 2025-04-22 17:57:59+00:00
I wound up grabbing a couple of AirThings sensors to see what my indoor air quality looks like. Those things can be a bit pricey, but they are easy to interface with locally and integrate into Home Assistant, providing you with measures for a few different properties. I found that the radon levels in my basement rarely breach 2 pCi/L, but can breach as high as 4 pCi/L very infrequently (i.e. once a year.) Not sure if there is really any point in being concerned about it, but it's interesting information nonetheless.
by Freak_NL | 2025-04-22 17:58:01+00:00
15°C would be the standard setting of 'no heating' (just keep the house warm enough to avoid mould and such). The 'holiday' programme would be 21°C or whatever is desired. That would effectively turn the thermostat into one where turn on the heating by putting it in 'holiday' mode, and can turn it off by exiting that mode or just letting it revert to 15°C after 23:00 or so.
by klibertp | 2025-04-22 17:58:18+00:00
-▶ swipl -s treasure_hunt.pl Welcome to SWI-Prolog (threaded, 64 bits, version 9.2.9) SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software. Please run ?- license. for legal details. For online help and background, visit https://www.swi-prolog.org For built-in help, use ?- help(Topic). or ?- apropos(Word). ?- start. % <- this Enter commands using standard Prolog syntax. Available commands are: start. -- to start the game. up. down. right. left. -- to go in that direction. ...etc...
by gurgeous | 2025-04-22 18:01:06+00:00
This is neat, thanks for posting. I am using memo_wise in my current project (TableTennis) in part because it allows memoization of module functions. This is a requirement for my library.

Anyway, I ended up with a hack like this, which works fine but didn't feel great.

def some_method(arg) @_memo_wise[__method__].tap { _1.clear if _1.length > 100 } ... end memo_wise :some_method
by tssva | 2025-04-22 18:01:12+00:00
"And the obvious question that another poster has raised is why are all the COVID era loans being forgiven then?"

And the obvious answer is that the COVID era loans being discussed were designed from the beginning to be forgiven if certain conditions were met. Those that accepted the loans did so with that understanding. Student loans are also issued under specific terms which those that accept the loans agree to. In both cases the government is living up to the terms of the loans when issued and expecting the borrowers to do the same.
by ferguess_k | 2025-04-22 18:04:04+00:00
I think Copilot (and all other AI coding variant) is different from auto-complete. Auto-complete just give you function names, variable names, but AI coding can write whole block or even file of code, if you so wish.

By the same principle, I also think advancement in AI is different from other technological advancement. Even the invention of computer is at most on par with AI if AI is able to walk far. People always try to use the train-horse analogue but I think we will see a gloom future in the next 5-10 years -- especially when the whole world is not turning to the left, but to the right.

Now that US and China and everyone else are competing on AI, that future might come earlier than I thought.
by neonsunset | 2025-04-22 18:04:19+00:00
> partly because a lot of the ideas weren't that great tbh

This https://www.youtube.com/watch?v=37WgsoZpf3k and a bunch of follow-up videos on the channel shed the light on the technical side of things. As someone working on a somewhat performance-sensitive project, just one of the features - safe immutable and slice-eable buffers from the OS to enable fully zero-copy buffer handling already sounds like an excellent tool to have.
by bityard | 2025-04-22 18:04:26+00:00
He mentioned a few times that writing an assembler was a no-go.

It would have taken much more time than they had available, and since an assembler would be a new tool, it would have required certification. (So, even more time and paperwork.) Plus, they had incomplete docs and there is no working copy or simulator of Voyager here on Earth. So any assembler written would by definition be incomplete or inaccurate.
by sdenton4 | 2025-04-22 18:04:57+00:00
The author did fine in another field, but might have picked biology instead if they had gotten the switch flipped earlier in life. That some people get through bad classes isn't a proof that those classes are good; you get those few who would survive no matter what, and those whose brain-wiring is conducive to the way the bad classes are structured. This has a tendency to reduce diversity of thought over time, and contributes to academic ossification.

Secondly, fields really do need cross-discipline collaboration. Finding passionate CS people is fantastic because they bring a different skill set. I have often found that when we get diverse experts together, we can have everyone do the "easy part" and get results which would be otherwise unobtainable.

Yes, some people have 'engineers disease' and fail to appreciate the depth of knowledge and skills of folks who have spent their life in another domain... But the author doesn't seem to be one of these. Many of their favorite stories appreciate the combination of insight and hard work in the history of the field.

It does, indeed, suck that people working in biology get paid less than computer engineers. Blame capitalism...
Show HN: HN Summary – AI-generated summaries of Hacker News comments
by mychaelangelo | 2025-04-22 18:04:57+00:00
Over the Easter weekend, I hacked together a little side project to solve a personal pain point: reading through massive Hacker News threads.

I love HN and read it daily, but sometimes the most interesting posts have hundreds of comments. While the discussions are often gold, it’s hard to find the time (or the eye-ache/stamina) to read them all.

So I built HN Summary. I used Cursor (using Gemini 2.5/Sonnet 3.5) for most of the work, and was able to get things going quite quickly (ps. I'm not a professional software developer but learnt how to code to an okay level).

The tool gives you readable, nuanced summaries of the top HN stories and their comment threads. The app refreshes twice a day with summaries of the top 10 stories, and you can also request custom summaries of any HN thread (you get 12 free credits to start).

The app is very much experimental, and some things may break, but I'd love feedback from the HN community. Let me know what you think, what you'd change, or if you've come across anything like it.
by ramraj07 | 2025-04-22 18:05:52+00:00
I don't know if just going to nature is sufficient to get fascinated with biology. In my opinion it takes a fundamental reset in how you think about anything you see. Humans while smart have obviously had to learn to "ignore" thinking about how things work. You don't think too hard about how anything works really. I mean at a cursory level sure, but by vastly different interpretations of the word "cursory", you can change your thirst to know how things you see work at more and more fundamental levels.

You don't need to go into nature to get this curiosity except for the possibility that it makes you more meditative. You can look at your arm and think what the hell happens in there at a molecular level to make you move the muscles. Or when someone says nerves conduct electricity what the hell does that mean?

I revisit this feynman video of him explaining (or not) magnets every few months and I think it's relevant to this question. https://youtu.be/MO0r930Sn_8?si=CkWYfiGoGCgAANwP

When I think like that I'm just curious why OP and others blame teachers or whoever else for not inducting the curiosity in them. Like it's someone else's job to make you curious? In my opinion you're either born that way or you're not. Some airport store book isn't gonna make you the next whatever scientist you adulate.
by siliconc0w | 2025-04-22 18:06:06+00:00
I've been testing out PostgREST, RLS, and PL/pgSQL functions for a new app and I'm not wild about it. It's pretty complicated to grok the permission model, it's awkward to load up your DB with logic, and the LLMs kinda suck at reliably generating working queries, policies, functions, etc. So I'm not really convinced it's ideal for 'vibe coders'.
by pron | 2025-04-22 18:06:36+00:00
> If your concern is integrity by default, why not just add yet another flag for can-muck-with-the-ast-annotation-processors?

There is such a flag (or, rather, a set of flags), and that's exactly what the Lombok compiler uses to change javac to compile Lombok sources rather than Java sources.

However, we think there are much better solutions to the problem those languages try to solve than allowing AST manipulation.
by PaulHoule | 2025-04-22 18:06:52+00:00
It's a big controversy in CS education, isn't it?

Knuth's Art of Computer Programming was built around assembly language for a fantasy computer which is inspired more or less by the Turing machine (program counter is an index into a program 'state', instructions transform a data 'state' and transition to a different program 'state') whereas Structure and Interpretation of Computer Programs is more inspired by Church.

The pinnacle of undergraduate CS education, I think, is compilers, which is where those approaches are ultimately unified on a practical level (you make a machine that transforms one to the other) but the introductory course for the non-professional programmer or the person who aspires to writing compilers someday is still pretty controversial.
by pests | 2025-04-22 18:07:01+00:00
I use a heated blanket as a bottom layer sometimes. Lets you move around and do whatever you want with the blanket fixed in place and the cord not in the way. I have larger heated blanket that has independent power/settings for each half. I turn one half on max and leave the other off and can roll and find the perfect direct heat and if using another regular blanket on top all that is captured too.
by ogogmad | 2025-04-22 18:07:41+00:00
> The students convince themselves that it can't happen at all... and that's well and good, but once they admit that as an option, they have to include that in their argument—and if they do so, their entire argument falls apart immediate.

Your critical thinking is bad. The first paradox happens when the prisoner concludes that the judge lied, using a rational deduction. A second paradox happens when it transpires the judge told the truth.
by dekhn | 2025-04-22 18:07:47+00:00
I invested a great deal of effort over 30+ years to learn biology, which I started to love in high school when a teacher introduced us to molecular biology. Over time I've come to appreciate that biology is a huge field and people who master one area often know little to nothing about many others.

To be proficient in biology you need to have "Extra" skills: extra ability to work with ambiguity,ability to memorize enormous amounts of descriptive information, and highly abstract representations. Digital biology often loses many aspects of biological reality, and then fails to make useful predictions.

Over the years, I've come to realize I know less and less about biology- that I greatly underestimated the complexity and subtlety of biological processes, and have come to admit that my own intelligence is too limited to work on some problems that I originally thought would be "easy engineering problems".

A great example of the rabbit hole that is modern biology is summed up here: what is the nature of junk DNA? To what extents are digital readouts like ENCODE representative of true biology, rather than just measuring noise? What is the nature of gene and protein evolution?

https://www.cell.com/current-biology/fulltext/S0960-9822(12)... (note that while I disagree strongly with Eddy in many ways, I've come to recognize that I simply don't understand the modern view of evolution outside the perspective of molecular biology (IE, what geneticists like Eddy think).

Also, recently, Demis Hassabis postulated that if he is successful, we will come up with silver bullet cures in 10 years time simply using machine learning. It's amazing how many computer scientists (I call him that rather than a biologist, although he has worked into neuro) make this conclusion.
by maerF0x0 | 2025-04-22 18:07:53+00:00
the fun part here is seeing interesting tradeoffs like a wealthy person of <Race-preferred> chosen over a poor person of <Race-tarnished> for some kind of wealth producing choice. Making a wealthy member of that group wealthier will pull up the average, but IMO the just choice is to help the lagging human regardless of their race.

It leads to weird outcomes too like the deaths of despair in Appalachia being "non news" because it largely covers a group we deem as "privileged".

A big part of the issue is reductionistic / simplistic thinking that wants to reduce the cognitive load of decision making by setting up only a few binary gates instead of having to do complex analysis on a case by case basis. This is normal for human brains to try and do.
Tag along rights seem essential for for early employees?
by realmech | 2025-04-22 18:08:08+00:00
With the IPO markets dwindling and acquisitions and secondary markets growing as new avenues for liquidity and exits, I’m curious why this topic isn’t brought up more frankly.

I have witnessed many cases of startup founders selling equity as secondaries, selling during tender offers, etc but NOT extending these opportunities to early employees.

I have even seen founders take out lines of credit from big banks, with their equity as collateral.

Is it foolish to be an early employee or advisor of a startup and not insist on having tag along rights? Given that the likelihood of an IPO is decreasing with time, and founders are enriching themselves via secondary markets.

Early employees could have a lot of theoretical stock, but real opportunities for liquidity seem to be decreasing.
by PicassoCTs | 2025-04-22 18:08:28+00:00
Those curiculums developed by sould-dead gremiums in consensus on the minimum knowledge you goto have are a blight on western civilization. Instead of giving students the ability to discover a topic, or built something they are interested in themselves and then give them a understanding and fascination with the discoverers who have gone before them. Instead they kill the subject..

I must confess, it gives my dry old heart some joy, to see the anti-education masses coming from this, voting and storming the fortresses that produced the paywall around education, that only money with tutors could or accidental intrinsic motivation could overcome and burn & salt those outposts of classists academia.
by laxmin | 2025-04-22 18:08:52+00:00
Actually we are still discovering and learning about the biology of birthing.

We can now support extremely premature babies outside the womb, but as of now, the risks of growing a baby in an artificial womb is not overcome with the benefits.

Why?

Because you are trivialising the emotions of pregnancy and motherhood. It is not stress all the time, it is also joy and satisfaction and like everything in life, a roller coaster.