MurphyA/hacker-news huggingface dataset:
by db48x | 2025-04-25 03:05:21+00:00
Technically I think you can read the “whole” stack; it’s only reads off of the ends of the stack as a whole that are prevented. However, note that the start of your current stack may not really be the start of the real stack.

Consider the case of a system call, such as `read`. You’re in user space and you have some stack frames on the stack as usual. You allocate a buffer on the stack (there’s a cpu instruction for that; it basically just extends your “turf¹” to include more of the stack page, and zeros it as mentioned) to hold the data you want to read. You then call `read` with the `call` instruction, including the address of the buffer and the buffer size as arguments. So far everything is very straight–forward.

But `read` is actually in a different protection domain; it’s part of the kernel. The CPU uses metadata previously set up by the kernel to turn this into a “portal call”. After the portal call your thread will be given a different protection domain. In principle this is the kernel’s protection domain, but in reality the kernel might split that up in many complicated ways. What is relevant here is that the turf of this protection domain has been modified to include this new stack frame. From the perspective of `read`, the stack has just started; there are no prior frames. The reality is that this stack frame is still part of the stack of the caller, it’s only the turf that has changed. Those prior stack frames still exist, but they are unreadable. Worse, the buffer is also unreadable; it’s located at an address that is not part of the kernel’s turf.

So obviously there needs to be another set of instructions for modifying turfs. The full set of obvious modifications are available, but the relevant one here is a temporary grant of read and/or write permissions to a function you are about to call. You would insert a `pass` instruction to pass along access to the buffer for the duration of the call. This access is automatically revoked after the call returns. (Ideally you wouldn’t actually have to do this manually for every portal call; instead you would call a non–portal `read` function in libc. This function’s job is to make the portal call, and whoever wrote it makes sure to include the `pass` instruction.)

¹ A turf is the set of addresses that a given thread running in a given protection domain can read and/or write.
by stevage | 2025-04-25 03:05:34+00:00
> it's probably not feasible for a global product like Google Maps to understand and encode every regional system.

This is literally true when talking about the entire planet, but this is Vancouver.

There are many geocoding systems that do just fine with the considerable range of addressing schemes in the developed world.

Something very weird is going on here, like Google finding a cheaper method for geocoding that is probabilistic and yields a level of errors they are ok with.
by skissane | 2025-04-25 03:06:18+00:00
> and have large-scale mission-critical batch processes that run on them, where the core function is relatively consistent over time.

I think most mainframe applications involve OLTP not just batch processing – commonly a hybrid of both. e.g. around a decade ago I did some work for a large bank which used CSC/DXC/Luxsoft Hogan as their core banking system – that's a COBOL application that runs under IBM CICS for transaction processing, although I'm sure it had some batch jobs in it too.

(I myself didn't touch any of the mainframe stuff, I was actually helping the project to migrate some of its functions to a Java-based solution that ran on Linux – no idea what its current status of it all is a decade on.)
by joak | 2025-04-25 03:06:48+00:00
Natural habitats has been destroyed by agriculture.

In the US 10-20% of agricultural land is used to produce chemicals like starch, sugar or biofuels, if we could use less land to produce these it would be great.

Photovoltaics could be up 100x more efficient in producing these chemicals.

This technology could free agricultural land back to natural habitats.
by ack_complete | 2025-04-25 03:06:51+00:00
No proof, but I suspect that AMD's AVX-512 support played a part in Intel dumping AVX10/256 and changing plans back to shipping a full 512-bit consumer implementation again (we'll see when they actually ship it).

The downside is that AMD also increased the latency of all formerly cheap integer vector ops. This removes one of the main advantages against NEON, which historically has had richer operations but worse latencies. That's one thing I hope Intel doesn't follow.

Also interesting is that Intel's E-core architecture is improving dramatically compared to the P-core, even surpassing it in some cases. For instance, Skymont finally has no penalty for denormals, a long standing Intel weakness. Would not be surprising to see the E-core architecture take over at some point.
by jonathanoliver | 2025-04-25 03:08:12+00:00
Founder of Smarty here, so there's some obvious bias.

We've been in the geocoding space for over 12+ years. A geocoding API should be easy to set up, deliver rooftop-accurate geocodes, be transparent about accuracy, persist in perpetuity, have a clear pricing structure, and be lightning fast.

Smarty has geocodes for 210 million US addresses, including 20 million non-USPS addresses. Our US Rooftop Geocoding product is 97% accurate to the rooftop or parcel of the property. Perpetual use of our geocoding data is also available, and Smarty does have licensing available for re-syndicating lat/long points in your APIs. Our entry-level plans for US Rooftop Geocoding have rate limits of 25,000 addresses/second. (Most customers won't reach this speed, but you're welcome to try.)

The best way to determine a company's geocoding accuracy is to test their products directly.
by Apocryphon | 2025-04-25 03:12:08+00:00
I don’t want Meta to do anything. All I want to do is mock the idea that Zuckerberg has been some sort of exemplary CEO the last few years in the face of the Metaverse project being such a resounding dud- what’s the punchline, billions spent to add feet to the avatars? Not to mention how he’s allowed his actual site to go fallow, between the Feed being inundated with AI slop and Reels being an imitation of Instagram Shorts being an imitation of TikTok and Snapchat shorts and Vine.
by zifpanachr23 | 2025-04-25 03:12:17+00:00
You can't compare cores like that.

Take a look at the cache size on the Telum II, or better yet look at a die shot and do some measuring of the cores. Then consider that mainframe workloads are latency sensitive and those workloads tend to need to scale vertically as long as possible.

The goal is not to rent out as many vCPUs as possible (a busines model in which you benefit greatly by having lots and lots of small cores on your chip). The goal for zArch chips is to have the biggest cores possible with as much area used for cache as possible. This is antithetical to maximizing core density, and so you will find that each dual chip module is absolutely enormous, and that each core takes up more area in the zArch chips than in x86_64 chips, and that those chips therefore have significantly less core density.

The end result is likely that the zArch chips are going to have much higher single thread perf. Whereas they will probably get smacked by say a Threadripper on multithreaded workload where you are optimizing for throughout. This is ignoring intricacies about vectorizatiln and what can / can't be accelerated and whether or not you want binary or decimal floating point and other details and is a broad generalization about the two architectural general performance characteristics.

Likewise, the same applies for networking. Mainframe apps are not bottlenecking on bandwidth. They are way less likely to be web servers dishing out media for instance.

I really dislike seeing architectures compared via such frivolous metrics because it demonstrates a big misunderstanding of just how complex modern CPU designs are.
by skissane | 2025-04-25 03:12:33+00:00
Australia's social security system is implemented using Model 204 – that's a database combined with transactional 4GL, that runs under z/OS, now sold by Rocket software. It was quite popular in the 1980s, but now I believe there are only two customers left on the planet – the Australian federal government, and the US federal government (although possibly they have more than one customer within the US federal government–Veterans Affairs is one, but maybe there are one or two more.)

A couple of years ago, Australia cancelled its multi-billion dollar project to move off it on to a Linux-based solution (Pegasystems), after having spent over US$120 million on it. The problem was that although the new system did the calculations correctly, it took minutes to process a single individual, something the mainframe could do in 2 seconds.

But, I'm 100% sure this was nothing to do with the inherent nature of the problem they were trying they were trying to solve – I think it was likely because they'd picked the wrong off-the-shelf product as a replacement and the wrong team to implement it, and if they'd gone with different vendors it could well have succeeded – but after spending years and over US$100 million to discover that, they aren't keen to try again.
by Zambyte | 2025-04-25 03:12:58+00:00
> [it] can be used anywhere C++ and Lua are used.

This is confusing, but maybe just poor paraphrasing. It should really just say that it can be used anywhere that Lua is used. The rest of the article describes Jank as "garbage collected" and "not a systems programming language", which obviously makes it so you can't run it anywhere C++ is used.

A bit disappointing, because I was looking forward to a more system-y Lisp-y language from that description.
by smt88 | 2025-04-25 03:13:26+00:00
I'm going to give you tough love, because you seem to have come here without having gotten it from someone else. I've been here myself, so take it as "me in the future giving me advice" rather than someone being condescending.

> I started a startup about 1.5 years ago and raised about $100k.

That's a very short runway when you have ~$0 revenue. If you couldn't raise more or bootstrap, it was probably a sign to move on.

> It is incredibly hard to survive without any income on the west coast. I have considered moving but all other obligations doesn't let that happen.

It sounds like you know you need to get a job with a salary. You can't move somewhere inexpensive and you can't survive as things as now. Start applying feverishly to jobs.

> I don't know if I am burned out or something is wrong with my brain. I am just numb to everything since 2023 when my father passed away.

Nothing is wrong with you! You're having a normal human reaction to two of the most common human experiences: failure and grief. It would be weird if you felt fine right now.

> But, I am just not finding anyone to talk to. I have little to no network.

Then this business wasn't a good idea from the beginning. Your network is your startup. Sales is always the hardest part, and having a network of buyers already is a huge advantage.

Most startups fail, and most of the time it's because other people are learning this same lesson. You are not alone at all.

> I am at a crosspoint now. I don't know if I should continue to work on my startup.

Absolutely not. You've already failed. Lean on friends/family, find a therapist, and move on. Most startups are failures. There's no shame in it. But don't shoot yourself in the foot by trying to make it work when it has objectively, fully failed. You're almost out of money and you don't even know how to spend money to get revenue. That's a fully dead business.

> I desperately want to make it work

Why? What's wrong with a corporate job or something sustainable that isn't a startup?

> How do I find users to talk to and how can I reach out to them?

You either build your network through extroversion, unpaid favors, friends/family, college, etc. or... you pay for that network. And paying for it is insanely expensive.

Your personality hasn't lent itself to the former, so you're faced with the latter, and you don't have the money for that. So the answer is: you can't. You can't find users. Stop trying to fit a square peg into a round hole. Your personality isn't "startup founder who sells sells sells".
by laborcontract | 2025-04-25 03:13:57+00:00
Yahoo throwing its name into the conversation throws me right back to the bad old days of web browsers, when Yahoo’s hideous toolbar was a staple of the ‘helping your grandparents with their computer and wondering what the hell all these things are doing on the screen’ era.

It’s also making me wonder if we know what we’re really getting into with the chrome divestiture. A Yahoo chrome would make the web a worse place.
by bangaladore | 2025-04-25 03:15:51+00:00
Came out of beta less then a year ago. What I mean is adoption is slow (if even there), so I'm sure there is quite a lot missing.

But that's probably fine, Theia seems to be focused more on the current audience of Eclipse which is vendor tooling (chipmakers, FPGA, custom toolchains) rather than being an editor you are supposed to use by itself.
by xphos | 2025-04-25 03:16:05+00:00
Personally, I think load and increment address register in a single instruction is extremely valuable here. It's not quite the risc model but I think that it is actually pretty significant in avoiding a von nurmon bottleneck with simd (the irony in this statement)

I found that a lot of the custom simd cores I've written for simply cannot issue instructions fast enough risvc. Or when they it's in quick bursts and than increments and loop controls that leave the engine idling for more than you'd like.

Better dual issue helps but when you have seperate vector queue you are sending things to it's not that much to add increments into vloads and vstores
by stego-tech | 2025-04-25 03:19:12+00:00
I had one sentence to work with; you have an entire career to draw from. My straw man rewording was literally just an example of impact through choice of words.

If you’re talking to someone in the startup sphere, the talk of being a founding engineer in a unicorn is excellent! If that’s not the audience you intend to reach, then it’s akin to an automotive designer discussing about how much downforce they generated through a modest angular adjustment to a spoiler design’s leading edge, while in the midst of casual conversation - lost in translation to anyone outside their field.
by jiggawatts | 2025-04-25 03:20:01+00:00
It’s astonishingly how inept organisations become as they scale up at executing on their core mission.

There has been an endless parade of self-congratulatory articles here on HN by Netflix espousing their incredible engineering feats: petabytes of logs ingested per second! Millions of microservices redeployed hourly! Hardware accelerated encryption so nobody knows that you’re not watching the same ten shows as everyone else!

Subtitles?

Oh that… crickets for a decade.

This piece is proudly showing off how finally, finally they added “English” as a language!

Think for a moment how inane that actually is.

Not for every show! Just one. One.

This warranted a press release.

Now look at the screenshot: it has only four (4) languages. Six options if you count Off and the duplication of English.

What happened to the other hundred or so? Too many? How about just the dozen or so with more than a hundred million speakers?

Netflix can serve petabytes of content, but a few hundred kilobytes of text files is a technical challenge that’s just a step too far.

Ah well, maybe my partner can watch a show with me and get subtitles in her preferred language next year. Or the year after. Any decade now, any decade…
by amszmidt | 2025-04-25 03:20:13+00:00
Steve Russell comment is about writing the actual interpreter for Lisp, so the comment is correct on that Lisp started out as an interpreted language, and even mentions that in the comment that you quote.

The interpreter (i.e. Lisp READ-EVAL-PRINT loop) was written in IBM 704 machine code, which just was a reimplementation of the EVAL function as JMC described it in his paper.

The part that "wasn't supposed to be implemented" was about the form of Lisp, M-expressions vs. S-expressions not Lisp it self. Which was supposed to be implemented as a programming system from day one.
by cjohnson318 | 2025-04-25 03:21:53+00:00
I think of "context change" as multiple technologies and trends that chaotically converge into a critical mass of opportunity. It's easy to spot looking backwards, but impossible to predict. You're just the nth individual trying this new/old thing, and now the market supports it, and for a while things are great, until you overreach, you don't reach enough, you're legislated, a new technology comes out of nowhere, there's a pandemic, there's a tectonic shift in global markets, etc.
by stego-tech | 2025-04-25 03:22:15+00:00
> Your long replies even sound like chatgpt.

Lolz. Not the first time I’ve been accused of botting, but certainly the first time it’s happened in the context of a comment thread. I don’t know if I should savor the compliment that I annoyed you enough to scream into the void of a nested comment thread several layers down without meaningfully contributing to the discourse itself, or be annoyed myself that you’re comparing my bleary-eyed discourse in lieu of sleep to the token-predictive slop of a chatbot.

Por que no los dos, I guess?
by xphos | 2025-04-25 03:22:41+00:00
I think the variable length stuff does solve encoding issues, and RISCV takes so big strides with the ideas around chaining and vl/lmul/vtype registers.

I think they would benefit from having 4 vtype registers, though. It's wasted scalar space, but how often do you actually rotate between 4 different vector types in main loop bodies. The answer is pretty rarely. And you'd greatly reduce the swapping between vtypes when. I think they needed to find 1 more bit but it's tough the encoding space isn't that large for rvv which is a perk for sure

Can't wait to seem more implementions of rvv to actually test some of it's ideas
by hardwaresofton | 2025-04-25 03:22:56+00:00
Put the startup on the back burner and go work a contract/full time job. It seems like you need the stability at least temporarily.

I disagree that you’ve fully failed (as the other commenter put it), but the current situation is untenable, you can’t make progress on your startup under that stress and you can’t survive/thrive in regular life.

Put that on top of grief from losing a family member and you’re basically doing the startup on hardest possible mode.

Unfortunately the job market isn’t great right now but if you put the energy you used to build the company in, you’ll find something.

Oh also talk to your investors and be honest/share your plan.
Ask HN: AI code assistants and privacy/security
by slimebot80 | 2025-04-25 03:23:49+00:00
There's a lot of pressure to try every new flavour of LLM coding assistants.

Every day I see programming influencers reporting on their new favourite AI tool.

Everyone seems happy to let AIs soak up as much "context" as they can in order to get the best results.

My question is - how do we know what is being uploaded and accessed?

EG: Recently there's been chat about Cursor moving outside of a project directory and deleting folders.

Which gets me thinking... If you ask an AI to perform an action, or update some content, how do you limit the "context"?

What tooling can you use to provide fences around what AI accesses?

What LLM tools have the best track record on this?

Is everyone just asking LLMs about single files and expecting it to limit itself to related files? How do you trust it to stick to a "project" folder... which is a bit of a vague concept given it's usually just a folder on a wider filesystem that could also be accessed for "context".
by gnabgib | 2025-04-25 03:23:50+00:00
Related:

From C++ to Clojure: Jank language promises best of both (259 points, 3 months ago, 103 comments) https://news.ycombinator.com/item?id=42871743

I quit my job to work on my programming language (58 points, 3 months ago, 32 comments) https://news.ycombinator.com/item?id=42658898

Jank development update – Moving to LLVM IR (190 points, 6 months ago, 49 comments) https://news.ycombinator.com/item?id=41845669
by ahazred8ta | 2025-04-25 03:25:08+00:00
Because the closest relative of the sars-cov-2 virus is found in animals in Thailand, and just before the pandemic, exotic animals from Thailand were imported directly to the Wuhan wet market, which was a regional hub for importing animals. The WIV lab did not have a copy of that virus. The original sars-cov-1 virus emerged at an animal farm upriver from Hong Kong. The MERS virus emerged at a camel farm. Seeing a pattern yet?
by kjellsbells | 2025-04-25 03:26:16+00:00
Also available at: https://archive.is/9zixc

The article is worth reading before commenting. The author notes that it is not just about price, taste, and convenience: there are other factors at play, for example that meat fans really love meat.

Personally, while I gladly accept that "meat isotopes" can be a good way to transition some people into a less meaty diet, they just dont do it for me. If I want to eat vegetarian, I cook a meal that was never centered around meat in the first place and that therefore has no gap caused by the absence of meat. And I'm especially suspicious of new entrants to the market who give off Silicon Valley disruptor vibes. This is not rational, I admit, but I feel that a meat producer is more likely to know what they are doing than someone building a "challenger protein" (which is how BM describe themselves). I dont want to be part of someone else's move fast and break things experiment. That doesn't mean meat production is great --it has notorious abuses-- but that just makes me want to reduce consumption, not replace it with an isotope.
by kmoser | 2025-04-25 03:26:56+00:00
Took me a bit to figure out what the four circular icons on the bottom are for (magic wand, robot, envelope, crescent moon). I really wish they had tooltips.

Still doesn't make sense to me why the magic wand just points to the home page (I would have assumed it meant "edit this UI component), the robot links to a profile page (mine? requires login so didn't try), the envelope points to x.com (I expected an envelope for "email this to a friend"), and the crescent moon toggles between light/dark mode (obvious only in retrospect).
by stego-tech | 2025-04-25 03:27:15+00:00
Not with the insistence upon American-style Privatization, it doesn’t. It’s the kind of high-risk low-reward investment best suited to national projects, not private investment - hence the LPO. It’s also the sort of energy we sorely need more of (even before the current crop of LLMs), but aside from the odd “portable” reactor design, nobody wants to finance because of guaranteed cost overruns, a glut of middlemen to carve off every slice of meat from the bones, and an increasing attitude towards nationalizing energy grids.