Hacker Newsnew | past | comments | ask | show | jobs | submit | ebb_earl_co's commentslogin

Lots of (most?) programming languages are 0-indexed so it feels natural for software developers and our ilk.

Not really. 0-based indexing is different from counting and starting with 0 in a counting context is weird. Would you ever say a set has zero elements when it actually contains a single element?

It's a remarkable coincidence that I'm reading the book The Nothing that Is: A Natural History of Zero by Robert Kaplan, and this passage on page 96 seems precisely relevant to this situation:

"""A Roman idiosyncrasy about counting reinforced this avoidance. The 360 degrees of longitude, for example, were always measured from the vernal equinox, which lies in the zodiacal sign of Aries. This should be zero degrees, 0°. It was common, however, to call it instead 'the first degree', Aries 1°, as Pliny did around 60 AD, upsetting his calculations and those of many who followed him. It amounts to this: if you lay out four marks on the ground and step from the first to the last, have you taken three paces or four? Clearly three; yet four marks were involved. To get the right answer it helps to call the starting-line 'zero'; then the number at the mark you step on will correspond to the number of your steps. But the Romans counted so that three days after Sunday was Tuesday; the Italian for the fifteenth century is the quattrocento — and all of us still call the two steps in music from C to E a major third, taking the number from the three tones involved."""

I wouldn't say that the set that has one element, labeled 0, _has_ zero elements; it has one element with the label 0. Right?


This seems simple and utile! Reading though the white paper on GitHub, there is a malformed Markdown table in the “Why WebRTC?” section [1] that probably just needs one more | somewhere.

[1] https://github.com/richlegrand/bitbang/blob/main/whitepaper....


thanks for the catch :)


I’m curious what makes you a supporter, as you say? Supporting the companies that make them or the developers themselves pushing the technology forward or the impacts of the proliferation of the LLMs’ usage or something else?


I’m a supporter of the technology and believe it is transformative.


Transformative implies neither good nor bad. You started this thought in your original comment re social media and how that's now possibly perceived as a net negative, despite the original aims of its inventors.

Is there something someone could hypothetically tell you about how AI/LLMs as a technology might come to be understood as a net negative that would sway your support?

For full disclosure, I sit on the other side of this fence, with a constant concern of the issues that we will see arise. As an exercise, I try to imagine how these issues will be outweighed by the positives, though it's a challenge tbh.


I like this article because it seems to go into decent depth on the “framework” that the author comes up with.

However, this following quote has a simple reason that I don’t see anywhere in the article or framework:

“”” Why is there a huge gap between what people in various occupations could be using AI for and what they’re actually using it for? One reason could be that people are slow to adopt technology, and that’s certainly part of our framework. “””

I would like to add a reason: that the Silicon Valley companies who developed the LLMs are brigands: cognizant of their actions, they have stolen (and continue to steal) the world’s copyrighted material and are selling it back to the masses and the politicians as if they are the arbiters of information itself.

Specifically responding to the quoted question, I could be using Claude or ChatGPT or Grok or DeepSeek or any other to have come up with this comment, or to write emails, or to implement my Python for me, etc., but I use none of them for anything. Doing business with brigands is a choice, and a choice that I hope becomes less and less palatable so that the financial, political, social, and moral fever that is our zeitgeist finally breaks.


“Users verify cryptographic proofs to ensure that servers behave properly.”

If this is one of the defining tenets of this data system, is it not DOA? See also: the PGP key-signing parties that never were…


It’s just waiting for the killer app, the Pokemon Go of cryptographic signing.


I’m in the same boat. Am trying to figure out how to configure Vinyl cache (née Varnish) in my home lab.


Some System76 SKUs have Coreboot now, e.g. https://system76.com/laptops/darter-pro


The text says that it uses OS-level tools, specifically bubble wrap on Linux.


That's right. It uses the same kernel mechanisms as Docker, the runtime is different though (bwrap on linux, seatbelt on mac, etc.)


> This was costing us ~$300K/year in compute, and the number kept growing as more customers and detection rules were added.

Maybe I’m out of touch, but I cannot fathom this level of cost for custom lambda functions operating on JSON objects.


They said in the article that they were running up to 200 pods at a time. Doing some back of the envelope math, 200 pods at $300,000 year is about $0.17/hour, which is exactly what an EC2 c5.xlarge costs per hour (on demand). That has 4 vCPUs, so about 800 vCPUs during peak, with $0.0425/CPU-hour.

I do have some questions like:

* Did they estimate cost savings based on peak capacity, as though it were running 24x7x365?

* Did they use auto scaling to keep costs low?

* Were they wasting capacity by running a single-threaded app (Node-based) on multi-CPU hardware? (My guess is no, but anything is possible)


This is a helpful breakdown, thanks, @otterley.

It is, by orders of magnitude, larger than any deployment that I have been a part of in my work experience, as a 10-year data scientist/Python developer.


This is larger than the resources I have available at Medium-Size-Fabless-Semi-Inc, and larger than the time I had two racks of C++ build farm. It is of course way larger than StackOverflow, which ran for years on two large machines.

All for .. a meta-SaaS?


This is where the cost came from.

>The reference implementation is JavaScript, whereas our pipeline is in Go. So for years we’ve been running a fleet of jsonata-js pods on Kubernetes - Node.js processes that our Go services call over RPC. That meant that for every event (and expression) we had to serialize, send over the network, evaluate, serialize the result, and finally send it back.

But either way, we're talking $25k/mo. That's not even remotely difficult to believe.


First I thought they were AWS lambda functions, perhaps possible if they are over-provisioned for very concurrency or something similar $25k/month is in realm of possibility.

But no, the the post is talking about just RPC calls on k8s pods running docker images, for saving $300k/year, their compute bill should be well above $100M/year.

Perhaps if it was Google scale of events for billions of users daily, paired with the poorest/inefficient processing engine, using zero caching layer and very badly written rules, maybe it is possible.

Feels like it is just an SEO article designed to catch reader's attention.


It has to be satire right? Like, you aren't out of touch on this. I get engineers maybe making the argument that $300k / year on cloud is the same as 1.5 devops engineers managing in-house solutions, but for just json parsing????


For numbers like that, I can never tell whether it's just a vastly larger-scale dataset than any that I've seen as a non-FAANG engineer, OR, a hilariously-wasteful application of "mAnAgEd cLoUd sErViCeS" to a job that I could do on a $200/month EC2 instance with one sinatra app running per core. This is a made-up comparison of course, not a specific claim. But I've definitely run little $40 k8s clusters that replaced $800/month paid services and never even hit 60% CPU.


Right, this is roughly my mental situation, too. I guess that streaming JSON things can eat up compute way faster than I had any intuition for!


I wonder if you've ever worked on a web service at scale. JSON serialization and deserialization is notoriously expensive.


It can be, but $500k/year is absurd. It's like they went from the most inefficient system possible to create, to a regular normal system that an average programmer could manage.

I have no idea if they are doing orders of magnitude more processing, but I crunch through 60GB of JSON data in about 3000 files regularly on my local 20-thread machine using nodejs workers to do deep and sometimes complicated queries and data manipulation. It's not exactly lightning fast, but it's free and it crunches through any task in about 3 or 4 minutes or less.

The main cost is downloading the compressed files from S3, but if I really wanted to I could process it all in AWS. It also could go much faster on better hardware. If I have a really big task I want done quickly, I can start up dozens or hundreds of EC2 instances to run the task, and it would take practically no time at all... seconds. Still has to be cheaper than what they were doing.


Curious about the workload, but as Im trying to make a tool about json, what are those files compressed with? What is the size of the average file ? What is their structure (ndjson ? Dict with some huge data structure a few level deep?)


In S3 the JSON is stored in plain-old .zip files. While downloading to local the files are unzipped to plain old JSON. It's basically an object containing tons of data about each website I manage including all fragments of HTML and metadata used on the sites. It can get quite large, some sites have thousands of pages. We often need to find things stored many levels deep in the JSON that may be tricky to find, it isn't usually a specific path, and lots of iterable arrays and objects are involved. The files range from ~20MB to ~400MB, depending on how much content each site has. And we have ~9000 total sites.


They got a 1000x speed up just by switching languages.

I highly doubt the issue was serialization latency, unless they were doing something stupid like reserializing the same payload over and over again.


Well, for starters, they replace the RPC call with an in-process function call. But my point is anybody who's surprised that working with JSON at scale is expensive (because hey it's just JSON!) shouldn't be surprised.


Well everything is expensive at scale, and any deserialization/serialization step is going to be expensive if you do it enough. However yes i would be surprised. JSON parsing is pretty optimized now, i suspect most "json parsing at scale is expensive" is really the fault of other parts of the stack


Would it be better or worse if I had that experience and still said it's stupid?


You didn't say it was stupid. If you had, I would have just ignored the comment. But you expressed a level of surprised that led me to believe you're unfamiliar with how much of a pain in the ass JSON parsing is.


I think OP’s point was surprise that a company would spend so much on such inefficient json parsing. I’m agreeing. I get that JSON is not the fastest format to parse, but the overarching point is that you would expect changes to be made well before you’re spending $300k on it. Or in a slightly more ideal world, you wouldn't architect something so inefficient in the first place.

But it's common for engineers to blow insane amounts of money unnecessarily on inefficient solutions for "reasons". Sort of reminds me of saas's offering 100 concurrent "serverless" WS connections for like $50 / month - some devs buy into this nonsense.


Is it incontrovertibly built in to macOS? I have an iPhone and have never enabled it or Siri, so maybe there is similar off switch for macOS.


It’s like Siri, or spell check, if you don’t use it you turn it off and it doesn’t bother you again.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: