HNHacker News
TopNewBestAskShowJobs

ayende

896 karma · joined July 12, 2016

submissionscomments
ayende··on Apple has reached its first-ever union contract with store employees in Maryland
Do you have a union in your business? If not, why not? If yes, what is the experience like?
ayende··on The code that lived in my head rent free for 30 years
If you wanted to share a bit of music, let's say a disc in MP3 format

You could either schlep the hard disk or try to carry 20 - 30 floppies around

With a high chance of at least some of them bring bad

ayende··on The code that lived in my head rent free for 30 years
Yes, I addressed it a bit further in the post

I was trying to explain how my 12 years old self saw that code

And I had no other resource to turn to at the time

ayende··on Make your program slower with threads (2014)
Thread local state

You don't need it global

Seed it once per thread from /dev/random and you are done

ayende··on Building a serverless secured dead drop
Libsodium is actually really small

It also has a lot of eyes on it and was reviewed by people whose job is to spot these sort of issues

ayende··on Building a serverless secured dead drop
Sounds really interesting, and resources on that?

Sounds like the other size of timing leaks that cryptographers are so worried about

ayende··on Building a serverless secured dead drop
Actually, if you want that, go with a rapberry pi with a hidden Ssid

All you need is to e loitering nearby, connect and drop the data then move

But phyaical tracking is very much a threat

ayende··on Building a serverless secured dead drop
You have bots that are ideally not controlled by the system.

But remember that we rely on the lambda scheduler to run it

That does boy have perfect accuracy, so that helps too

Finally, you aren't publishing every 5 minutes, you execute it once a minute, and have 25% chance to publish, so it's going to be mixed

ayende··on Deniable Encryption
What do you mean, structure? The output here is indistinguishable from random data

Note stenography will not actually help if your data is searched for.

Obscurity isn't a protection method

The idea is that you can't tell how many encrypted items you have in the output without the secret key

This will not hide that the data is encrypted, sure, but will allow you to reveal the innocent pieces only if required

ayende··on Ask HN: I have been unable to land a job in two years, does anybody
You are missing knowledge (Spring, in your example). But you are saying that "I can grasp in on the job" ?

Given a two years gap, you should invest the time and effort in learning whatever it is the market is seeing demand in.

Consider the employer's perspective. Given two equivalent candidates, where one of them know Spring, but the other needs a month or so to learn it. They'll go with the one that already knows that.

That attitude of I can learn on the job is likely hurting your prospects.

The CV in the website is also really bare bones. Basically, nothing relevant there. The old one appears to at least show the employment history.

The website link from GitHub is erroring. The website you linked looks bad, Geocities bad.

The GitHub profile itself is really bare bones. The first non-forked repository I saw was literally hello world (hidden by many layers).

ayende··on Range Partitioning: Zero to One
There is a simple trick to manage hash based partition growth

Don't assign small number of tokens, but a much larger one

If you have a million tokens, there is no need to re-shard, and you can re assign tokens to different nodes as your cluster grows

ayende··on Many AI safety orgs have tried to criminalize currently-existing open-source AI
As long as the cost for training a model is in the 7+ figures, that means that any such open model is bound to be tracked to someone with deep enough pockets to sue.

Consider that you just spend a few millions on training a model on copyrighted data. Release it would reveal that, problem.

I _guess_ you can try doing training in the public, like Seti @ Home or something like that, which distributes the risk? But no idea if this is even possible in this context.

ayende··on The subtleties of proper B+Tree implementation
That assumes that you are actually doing all the work in a side buffer? The way we do it, all the operations are done on the actual buffers of the tree, so there is no actual way _to_ have more space (even temporarily).

This way, you avoid extra allocation, copying, etc.

ayende··on Successful room temperature ambient-pressure magnetic levitation of LK-99
To give some context, Battle of the Somme, lasted 4 months, total casualties: 1m+.
ayende··on Are You Sure You Want to Use MMAP in Your Database Management System? (2022)
Also doesn't help when you are running on virtual / networked hardware. Nothing ensure that what you think is a sector write would actually align properly with the hardware.
ayende··on Are You Sure You Want to Use MMAP in Your Database Management System? (2022)
Doesn't help when you work with pages :-)

Assume 512 sectors ( I know those are rare ), but I don't think that there is any guarantees that 4KB page would be:

* Written atomically * Written in a particular order

ayende··on Ask HN: Could you share your personal blog here?
https://ayende.com/blog
ayende··on Are You Sure You Want to Use MMAP in Your Database Management System? (2022)
I am using the same rough model, and I'm using that on a 1.5 TB db running on Raspberry PI very successfully.

Pretty much all storage libraries written in the past couple of decades are using single writer. Note that single writer doesn't mean single transaction. Merging transactions is easy and highly profitable, after all.

ayende··on Are You Sure You Want to Use MMAP in Your Database Management System? (2022)
That is absolutely not what you actually get from the hardware.

For fun, there is no guarantee in terms of writing a page in what order it is written. SQLite documents that they assume (but cannot verify) that _sector_ writes are linear, but not atomic. https://www.sqlite.org/atomiccommit.html

> If a power failure occurs in the middle of a sector write it might be that part of the sector was modified and another part was left unchanged. The key assumption by SQLite is that if any part of the sector gets changed, then either the first or the last bytes will be changed. So the hardware will never start writing a sector in the middle and work towards the ends. We do not know if this assumption is always true but it seems reasonable.

You are talking several levels higher than that, at the page level (composed of multiple sectors).

Assume that they reside in _different_ physical locations, and are written at different times. That's fun.

ayende··on Goldman is looking for a way out of its partnership with Apple
It's more than that. Consider Apple's strongest advantage, it's brand.

If Goldman is the one handling the lending, it is also the one sending you to collections.

The PR damage to Apple's brand can be significant

ayende··on Ask HN: Why are most Startups asking for US Remote instead of just Remote?
Huge hassle regarding taxes, legal details, etc.

For example, if you hired someone in Israel, you are mandated to pay taxes, contribute to pension plan, etc. There are labor laws details that you need to know how to work through, etc.

As a fine example, let's say that you have hired someone in Israel and they worked for you for 5 years. You covered payment and told them that they'll cover local taxes, etc.

You now want to fire them.

The following sequence of events happen:

* They sue for wrongful termination (there is a particular process to follow) * They sue for missing pension contributions (the law says that if you didn't contribute to the pension, you are both civilly and criminally liable). And it can be that you are found to be effectively the "pension fund". * They sue for severance pay, which is calculated as 1 month of salary X years worked.

That can be a huge surprise for you.

That is leaving aside things like what happens around work accidents. Did you carry local insurance for that? Or are you on the hook for millions because of that?

Those are all things that can be solved, but they are a major headache.

ayende··on Recovering secret keys from devices using video footage of their power LED
Am I missing something? I thought the nonce had to just be non repeating, didn't have to be a secret.
ayende··on Apollo Back end just made public
AGPL will do that, no GPL

GPL on server side software doesn't really matter, that is why the AGPL exists

ayende··on New data transmission record
It's very rare that you are able to just ingest data in a serial fashion For most scenarios, you need to jump between locations

Think an index, reading different files, etc.

Then the latency dominates

ayende··on New data transmission record
Banwidth != latency, however.

A truckload of TB disks will give you awesome bandwidth by driving it around to the destination.

The latency of a particular call, however, wouldn't make it usable.

Memory is hierarchical, but any latency beyond NVMe is non factor for treating remote data as memory

ayende··on Investigating Linux phantom disk reads
Using _ftruncate_ or FALLOC_FL_ZERO_RANGE is a bad idea for a database. The problem is that you may get an out of disk space error mid operation.

If you are using mmap, that will express itself as a segmentation fault, which you really don't want.

You _need_ to allocate the file ahead of time, so you can properly behave there.

ayende··on Investigating Linux phantom disk reads
The issue is that fsync is super expensive. Like, it's not even funny.

There are many cases, and ingest is one of them, where no being durable is fine. If you can either:

* Repeat the whole process on failure (which is assumed to be rare) * Recover from the failure without data corruption (distinct from data loss, mind)

In those cases, being 10x faster is very compelling.

Note that this is about ingest for bulk loads, while online transactions not being durable is a really bad idea.

For bulk load ingest, you can usually retry the whole operation. Not so for transactions.

ayende··on Investigating Linux phantom disk reads
I wrote a response to this article, because that is a bad comparison.

https://ravendb.net/articles/re-are-you-sure-you-want-to-use...

Agree on CMU being a great resource.

ayende··on SIMD with Zig
A better option here would be to use `_mm_movemask_epi8`, for the vector:

``` { false, false, false, false, true, false, false, true } ```

It will give an int with the bits: `0b0000_1001`

You can then do `@clz` to get the index of the first set bit.

That would save you the `@reduce` and `@splat`. I don't see how to access move mask from Zig, however.

Note that the standard library has `std.zig.firstIndexOfValue`, which does what you have in the post, basically. And there is `std.zig.firstTrue`, which does the the same thing as `@clz` in this case, but I don't know what kind of assembly it will generate.

ayende··on Google Bard waitlist
I'm using paid Google account, so I'm getting that this isn't available. Makes sense, I'm already a customer, no reason to keep me as such, right?
← PreviousPage 2 of 6Next →