skysight-inc/HackerNews huggingface dataset:
It's not that we're particularly fragile, given the kind of physical trauma human beings can survive and recover from.

It's that we have technologically engineered things that are destructive enough to get even past that threshold. Modern warfare in particular is insanely energetic in the most literal, physical way - when you measure the energy output of weapons in joules. Partly because we're just that good at making things explode, and partly because improvements in metallurgy and electronics made it possible over time to locate targets with extreme precision in real time and then concentrate a lot of firepower directly on them. This, in particular, is why the most intense battlefields in Ukraine often look worse than WW1 and WW2 battles of similar intensity (e.g. Mariupol had more buildings destroyed than Stalingrad).

But even our small arms deliver much more energy to the target than their historical equivalents. Bows and arrows pack ~150 J at close range, rapidly diminishing with distance. Crossbows can increase this to ~400 J. For comparison, an AK-47 firing standard issue military ammo is ~2000 J.
I think they are good in limits. I love the occasional one, but as a very common solution I'd prefer elevated walkway systems like in Hong Kong which leaves the sun and view to pedestrians. Of course the occasional monorail is a huge win and, add you say, beautiful
Did your comment get cut off because you embedded a null inside it?
I disagree with the op and found the book to be very good. If you haven't read it, I would recommend reading it and judging for yourself.
"Application" has been a common general term for an end-user program for a very long time, and "app" is just an obvious abbreviation that people and UIs have used to varying degrees all along. iOS apps merely mainstreamed the term, they didn't take ownership of it.
Nice and seemingly balanced review.

Defining errors out of existence should be mandatory for all golang programs.
> This cannot be modeled effectively in a static system. You can use a sum type, but that's just a greenspunned ad hoc dynamic type.

This can easily be modeled in a static type system. All you really need is subtyping.
It's funny because I wouldn't consider the comment that they highlight in their post as a nitpick.

Something that has an impact on the long term maintainability of code is definitely not nitpikcky, and in the majority of cases define a type fits this category as it makes refactors and extensions MUCH easier.

On top of that, I think the approach they went with is a huge mistake. The same comment can be a nitpick on one CR but crucial on another, clustering them is destined to result in false-positives and false-negatives.

I'm not sure I'd want to use a product to review my code for which 1) I cannot customize the rules, 2) it seems like the rules chosen by the creators are poor.

To be honest I wouldn't want to use any AI-based code reviewer at all. We have one at work (FAANG, so something with a large dedicated team) and it has not once produced a useful comment and instead has been factually wrong many times.
What about false positives?

As I see it, the solution assumes the embeddings only capture the form: say, if developers previously downvoted suggestions to wrap code in unnecessary try..catch blocks, then similar suggestions will be successfully blocked in the future, regardless of the module/class etc. (i.e. a kind of generalization)

But what if enough suggestions regarding class X (or module X) get downvoted, and then the mechanism starts assuming class X/module X doesn't need review at all? I mean the case when a lot of such embeddings end up clustering around the class itself (or a function), not around the general form of the comment.

How do you prevent this? Or it's unlikely to happen? The only metric I've found in the article is the percentage of addressed suggestions that made it to the end user.
The subject of this video seems to be entirely driven by material incentives.
The advantages of tables, are that you can visually or geometrically read the contents easily, whether it is reading a row and only a row, or wether it's reading the contents of a column sequentally.

While we had spreadsheets since the 90s, which visually allow the user to create tables. Relational database take this concept to the very architecture in both the storage format and as in the data retrieval mechanisms.

Relational databases define schemas with fixed length fields, and by extension each row has a fixed length. This is equivalent to the horizontal length of a column, but in terms of bytes. This allows for quickly finding the nth row of a table, or the ith field of a column.

Query languages formalize the algorithm for reading a traditional table. Going row by row checking the description of each transaction (Select * from table), comparing it to our searched term (where description = salary), then going to the column with the destination account, and looking for that in another table with a similar process.

Just that, interesting how the same metaphor lead to 2 very different types of accounting software.
Usually zero days being used in the wild get found and analyzed. Who else is making exploit packages like this other than state actors?
The book plainly states that it is a philosophy for software design. Philosophy in this context is closely related to strategy, which is the art of reducing reality to heuristics, so that we might easier figure out how to reach our goals in a complex environment.

If the book had been titled "Formal methods for software design" the lack of algorithms for reducing complexity would have been surprising. As it is about philosophy it should not be surprising that it focuses on heuristics.
Some Thoughts on GPT
Can it target wasm through emscripten ?
This is a hit piece.

It is cherry picking information that is in the public domain, and then drawing spurious conclusions by purposefully excluding or dismissing other publicly available knowledge, and doing so with a tone of exasperated incredulity.
This is a good idea and I'm glad to see it out there, solving a real problem. I used to be a consultant and could've used this.
What about games? I was under the impression that Windows is still the best OS for gaming.
This is obvious rent-seeking behavior, along with probable false advertising. I’m not sure people are fine with it.
As a 70's child I wouldn't call it a struggle, at least we didn't saw it like that.
fwiw, not all the mobile site's menu items work when clicked
Watching someone you love die of cancer is also super damaging to one's concept of normal life. Getting a diagnosis, or being in a bad car accident, or the victim of a violent assault is, too. I think a personal sense of normality is nothing more than the state of mind where we can blissfully (and temporarily) forget about our own mortality. Obviously, marinating yourself in all the horrible stuff makes it really hard to maintain that state of mind.

On the other hand, never seeing or reckoning with or preparing for how brutal reality actually is can lead to a pretty bad shock once something bad happens around you. And maybe worse, can lead you to under-appreciate how fantastic and beautiful the quotidian moments of your normal life actually are. I think it's important to develop a concept of normal life that doesn't completely ignore that really bad things happen all around us, all the time.
I’m not dismissing the entire book. It has merit in what it mentions but it’s missing core foundational concepts.

Because it misses these concepts the book isn’t good in my opinion.
Train a Mnist VAE with C and CUDA
Curious, do you have a better solution?
I mean, that’s true of most businesses and industries, big and small? The average person has no idea what Oracle or SAP exists, or that they are multibillion dollar companies. Most people don’t know you can just go buy plastic and composites at TAP, and all sorts of things at McMaster. Most people don’t even know who builds commercial vehicles besides like Peterbilt maybe.

Is there an argument you are making that Meta/Apple/Google should be suing all the other companies as well?
This defines the term “computable”, but it doesn’t give you a sense of what things can be computed. Defining a term is entirely different from the above promise.

At the level you’re describing Turing machines, it’s also not clear that readers would have a precise notion of what an algorithm is. At no point (unless I missed it) do you explain that any algorithm is supposed to be implementable as a Turing machine, or the assumption of what is otherwise known as the Church–Turing thesis.
Excel is in our DNA and will never die
Is it not true that The Arc test is designed to be one where the rules are dynamic? i.e every one of the tests are different from each other in an absolute sense. Learning about one tells you nothing of substance about the other unless of course you/the model is capable of meta-learning

Finetuning has been looked down upon because all it does is rearrange weight to learn style of the finetuning dataset. It does not teach the model anything which is in contrast to the hopes behind finetuning

If a model was able to ace the arc-test just by the merit of being finetuned, does it not imply there is something of absolute substance here? i.e the model is capable of meta-learning and all it needs to adapt to a new-task is a bit of finetuning which again I emphasize is the loweest tier in the ranks of types of training models
This is amazing. I’ve been collecting images of tables in an are.na album for a while, trying to get a handle on all the ways they show up in visual culture. This one is by far the oldest I’ve ever seen! If you’re interested in this you might enjoy the album, too. It’s https://www.are.na/joshua-kopin/tabular-presentation
Do yourself a favor and don't use cloudflare: https://expatcircle.com/cms/why-you-should-never-use-cloudfl...

I am currently thinking about signing up to https://politepol.com/en/prices
It can circumvent the Cloudflare blockage of some blogs where I want to subscribe to the RSS feed. Clownflare is the cancer of the internet.

Worse, even if you don't use it, some wordpress plug-ins seem to use it. You can see if you use the no-script extension. I just threw out a plug-in that I found always suspicious. I think it may have been one cause why my pictures did not index well on google. It seemed to use alicdn without even bother to mention this. WTF?
That misses the point. These are passed by value.
> Programming in it is slower

Does VSCode run better on Linux? Or are you coding directly in vim/nano? Or what part exactly is faster?

Before Docker it was annoying to run all the Linux software/packages/services/dependencies, but now it's one command away.
I aim to build a collaborative VR world editor in Godot using mvsqlite for shared scene persistence.

I was salvaging someone else's toy project. The main problem with my research was write performance in SQLite on FDB. I didn't have the capacity to integrate Hctree, which was in the pipeline.

* https://github.com/V-Sekai/godot-mvsqlite

* https://github.com/V-Sekai/mvsqlite

* https://github.com/V-Sekai/elixir-mvsqlite

* https://sqlite.org/hctree/doc/hctree/doc/hctree/index.html

Let's connect on discord.
The older the stuff you read is, the stronger the selection bias.

There must be a huge amount of civilizations that were writing on paper or papyrus around that era, but they just didn't survive.

The success of purposeful creation of monuments is usually attributed to their size, like pyramids. Turns out making it big is a pretty good strategy if you want something to last and (not loose it).

I'm sure in mileniums we will have both purposefully long lasting small and big monuments, as well as unintentional long lasting records.
Applying formal methods derived from functional programming is a design heuristic.

It’s a core heuristic and philosophy that is foundational in my opinion. The author failing to mention this makes the book missing a fundamental issue central to software design.
I wonder why CF doesn't disable bot protection on RSS feeds by default. They're supposed to be readable by bots, that's the whole point!
It's an alternative to OOP. You can get there via a series of transformations:

1. Start with OOP (heap-allocated objects with shared base structs)

2. Transform to using tagged unions instead

3. Transform to the approach outlined in the OP (I call it the "encoding" approach in this talk: https://vimeo.com/649009599)

It's handy because you get to use an index to refer to an object, and you get serialization benefits. The zig compiler uses this pattern in quite a few places:

* https://github.com/ziglang/zig/blob/77c63ac36034db577a9287c5...

* https://github.com/ziglang/zig/blob/77c63ac36034db577a9287c5...

* https://github.com/ziglang/zig/blob/77c63ac36034db577a9287c5...

* https://github.com/ziglang/zig/blob/77c63ac36034db577a9287c5...
> As I understand it, Northeastern is unique in its CS pedagogy, and there's only 1 other school I know of (WPI) that uses Racket as its teaching language.

Not Racket, but Indiana University uses Scheme. Dan Friedman is a professor there and teaches a great 300-level programming languages class (in Scheme ofc)

In-state tuition to that school (and Purdue for that matter) is one of the few reasons I'd advocate for living in Indiana after growing up there haha.
> Most people are stupid. What an unexpected discovery

seems a very reductionist take of what I actually said. but let me phrase it better using this request of yours:

> Different topic: any recommended ways to search for new music?

it's not different but directly related to my point:

The "pain" and boredom, of sitting through countless hours of "what looks like slop", is what it takes to appreciate music.

I rarely "stumble" over great new content by accident, either because of a friend (or an algorithm) recommending it. It's hard work learning to love music. This work is exactly what makes it special. I wouldn't feel comfortable using the word "love" in the same sentence as "music" if it wasn't also a massive pain.

Maybe I'm old but I recall times when I dedicated entire Saturday mornings going on a "hunt" at HMV, browsing for what was new.

Even I found something promising I still wasn't in love. Often realized there was only 2 out of 16 songs I really wanted to hear. But the 2 songs initially interesting quickly turn out to be short affairs. It's the 14 other tunes that require multiple listens that I end up appreciating for decades.

Streaming digital media changed that "hunt", for better or worse. The pain is still there. What changed is everyone thinking all good music must come not only gratis but also "effortless". Some app or magic gadget that will one day take the pain out of finding good content. If it only knows my taste well enough. It doesn't work like that.

Albert Camus, "we gotta imagine Sisyphus happy" and all that.
Funnily enough our DNA does not use a fixed-length offset mechanism. It uses null termination sequences (and start sequences too, for some reason.)

Which is closer to the storage mechanism of excel (XML), and not to it's visualization interface (tables).
I don't think the prompt was reasonable. Nits are the eggs of headlice. Expecting the LLM to guess they meant superficial issues, rather than just spelling that out, is a bit weird.

It's like saying "don't comment on elephants" when you mean don't comment on the obvious stuff.
> one that's just a notch above the assembler.

That has never been true, unless you are writing programs against a PDP-11. C compilers can change even the O complexity of your algorithms, it's nowhere close to assembly.
If I want to build and test a golang app and push it to a container repository, what value does a makefile provide over go build && docker push?

All the tools do their own dependency tracking already (unfortunately).
Heh I'm surprised (as in your fencing related dicta) that you got back on the trail.. what was the link chain??

Edit: if I told you this was the most layman paper I could find on my secondary (mostly killer-mode) ikigai, could you maybe deduce what the problem statement (aka MVP, to use some old country lingo) is, and even find a more appropriate paper for a layman?

https://ems.press/content/serial-article-files/48098
That’s true, there’s no explicit definition of what an algorithm is. I may revisit this. Thank you for the feedback.
As the guy who started this subthread, I was joking — but I expect it will come true anyway. The whole industry seems bent on removing humans from the production of all goods and services, so someone somewhere will try to optimize humans out of music and the humanities in general. Whether they succeed is an open question.
If they're trespassing on Meta's network, absolutely. The core thing that these companies do though tends not to intersect so directly with Meta's property rights.
I/O is just built on top of the tape. Real computers reserve a map of memory to I/O.

This is like saying a CPU isn't a computer. It's sort of right but sort of wrong, you know?
> Permanent DST has problems in the northern parts of the US.

Then adjust the time zones so northern states are one zone earlier.
65 days ago: "My email is jgc@cloudflare.com. I'd like to hear from the owners of RSS readers directly on what they are experiencing. Going to ask team to take a closer look."

Nothing happened?

https://news.ycombinator.com/item?id=41864632
Whoops forgot the link https://entropicthoughts.com/the-misunderstood-kelly-criteri...
So many inaccuracies in that article, I don’t know why you bothered linking it. You could have just made the privacy/single point of failure/web monoculture argument and tossed the rest.
Sure, fp in Lisp might not always be true (scotsman) fp. ;-)

But omitting fp in the book is not evidence that Ousterhout is ignorant of fp, and there is certainly evidence to the contrary.

The likely explanation, given that he's developed a number of systems from Sprite to Tcl/Tk to RAMCloud to HOMA, is that he is addressing the current practice of systems programming, which remains primarily imperative.
I don’t know about this tool, but I can recommend the comic.
Just saying, my static blog tool does this:

https://www.npmjs.com/package/svekyll-cli

https://extrastatic.dev/svekyll/svekyll-cli

There is something really exciting about creating a communication medium that is in a single file. It feels like you can then easily publish to any web server, but also to things like IPFS.
TBF, building something with the goal of enhancing S3 I would call it S4.
These methods are especially useful in hardware/FPGA implementations where it's infeasible to have a ton of fully pipelined dividers.
How to achieve AGI in 2024
Not if we retain control and each deploy our own moderation individually, relying on trust networks to pre-filter. That probably won't be allowed to happen, but in a rational, non-authoritarian world, this is something that machine learning can help with.
What exploit packages in recent years that aren’t NSO haven’t been attributed to an APT?
As someone that grew up with 4chan I got pretty desensitized to all of the above very quickly. Only thing I couldn’t watch was animal abuse videos. That was all yers ago though, now I’m fully sensitized to all of it again.
It's one thing if you're up against the staunch reliability of traditional algorithmic systems but if you're not then it's just silly to hang on it.

You are not getting 100% on email handling whatever method you wish to use. You compare LLMs or probabilistic systems to the best of your alternatives.

There are niches where the lack of complete reliability would be a deal breaker. This isn't one of them and it would be weird to act like it were. People aren't sweeping anything under the rug. It simply just isn't a showstopper.
Why this and not?

struct str {
sz len;
char dat[];
};
Communism is in that book.
Dinosaurs mating!
Religious “truths” are not factual truths- they are better thought of as psychological technology or techniques, and are “true” if they work for the intended purpose. Many conflicting religious “truths” are all “true.” Even calling them truths is only done to make the religions accessible to people that can’t mentally process nuance, and the techniques only work for them if labeled as truth. Intelligent religious scholars understand this well- for example Mahayana and Vajrayana Buddhism both teach nearly opposite and factually incompatible perspectives on almost everything, yet are often both used by the same religious teachers for different pupils as appropriate.

The same is true for software design- an approach is not literally true or false, but either works for its intended purpose or does not. Conflicting philosophies can both be “true” just with different underlying goals or values.

To circle back here, my point is that this information is presented in a simple way that will let people reading it design better software. Saying they have no right to present it without a much less accessible and more complex framework that would likely make it less useful to the intended audience does not make sense to me.

FWIW, I am also a functional programmer, but would love to see people that are not follow some of these ideas.
X.com is powerful marketing for startups! Every startup needs an X account!
Ask HN: Are there open source flow graph based Verilog generators?
I've decided to take a stab at an open source tool for HDL generation called flow - https://github.com/spetca/flow-hdl/tree/main. It's like simulink and gnu radio for building hardware via a flowgraph. It's completely in the browser/client side. You cannot simulate or do anything complex (yet) so comparing it to simulink and gnu radio is a bit of a stretch at the moment.

I'm wondering if HN knows if something like this already exists before I invest in this rabbit hole.
It was a buffer overflow in a VOIP stack:

* https://www.theverge.com/2019/5/14/18622744/whatsapp-spyware...

Interestingly enough, Signal (and others) had the same sort of vulnerability on Android from a WebRTC stack:

* https://googleprojectzero.blogspot.com/2020/08/exploiting-an...

The big issue in both cases is that the exploit was triggered before the user answered the call.

I think the moral here is that a secure messenger should not execute inherently insecure code (i.e.complex code) on behalf of entities that are not really well trusted by the user. The default should be always plain text.
Sort of. (After all, a "reciprocal" for our purposes is just a multiplicative inverse in the reals, so it makes sense that it would be related to the multiplicative inverse in other domains.)

3 times 171 is 513. So to divide by 3, we could multiply by 171 and then divide by 513. Dividing by 513... isn't any easier, but 513 is close to 512, so we hope that dividing by 512 (which is trivial - just a right-shift) gets us close enough.

Suppose for a moment we try dividing 3 by 3 using this trick. First we'll multiply by 171 to get 513. Consider that value in binary:

1000000001
^^^^^^^^^
~~~~~~~~

Dividing by 512 will shift away the ^ bits. For floor division, we therefore want the ^ underlined value to be close to zero. (That way, when we divide 255 (say) by 3, the error won't be big enough to overflow into the result bits.)

The multiplicative inverse fact is equivalent to telling us that the ~ underlined bits are exactly 1. Conveniently, that's close to 0 - but we didn't account for all the ^ underlined bits. For example, the multiplicative inverse of 7 (mod 256) is 183, but 7 times 183 is 1281. That's close to 1280, but that doesn't really help us - we could right-shift by 8 but then we still have to divide by 5. If we just ignore the problem and divide by 1024 (right-shift by 10), of course we get a lot of wrong results. (Even 6 / 7 would give us 1 instead of 0.)

It also turns out that we'll need more bits for accurate results in the general case. I think it's possible without overflowing 16-bit numbers, but it definitely requires a bit more trickery for problematic divisors like (from my testing) 195. I thought I remembered the details here but proved myself wrong at the Python REPL :(