HNHacker News
TopNewBestAskShowJobs

abiro

593 karma · joined December 8, 2013

submissionscomments
abiro··on Anatomy of a Lean proof for software engineers
Thanks for the feedback, it should be better now.
abiro··on Herdr is joining Y Combinator. The runtime stays open
For the tmux crowd: please consider sponsoring the author

https://github.com/nicm

https://liberapay.com/tmux

abiro··on EU bans the destruction of unsold apparel, clothing, accessories and footwear
A lot of the apparel being destroyed is unsold inventory of up-market brands to protect their pricing power. If they shipped that to less affluent countries for destruction, it's unlikely that they'd be destroyed, because those items would fetch a good price on the black market.
abiro··on Rust Cryptography Should Be Written in Rust
I thought it weird that the post didn’t mention RustCrypto. It’s legit.
abiro··on Tarsnap outage postmortem
> The second step failed almost immediately, with an error telling me that a replayed log entry was recording data belonging to a machine which didn't exist. This provoked some head-scratching until I realized that this was introduced by some code I wrote in 2014: Occasionally Tarsnap users need to move a machine between accounts, and I handle this storing a new "machine registration" log entry and deleting the previous one

Recommend writing a TLA+ model to catch stuff like this

abiro··on The past is not true
What to read on the slice universe?
abiro··on Passkeys now support external providers
Any details on how passkeys sync using external providers?
abiro··on Smol Developer
Very cool project, congrats to the author!

Baaed on the comments, I feel that people are both under and overestimating this. On the one hand it replaces the manual tasks of searching for a template and then googling errors and this is huge! It completely disrupts search on the internet as we know it. On the other hand it won’t be able to solve problems that you couldn’t just google anyway, since that’s what it basically does under the hood.

abiro··on Automerge 2.0
Another thing to keep in mind is that if you want the data to be end-to-end encrypted, then you need both devices to be online at the same time to sync with Automerge.
abiro··on 30k lines of SwiftUI in production later
SwiftUI and UIKit compose well in both directions, so if you choose SwiftUI as your framework, but then run into a wall, it's an option to partially rewrite that difficult part with UIKit.

Of course if the problem is with the core of your application like the scrolling example in the article, this is not going to help you much.

abiro··on Welcome to Comprehensive Rust
This is great. I'd recommend the Learn Rust With Entirely Too Many Linked Lists [0] tutorial as the next step. It really helps you grok the borrow checker.

[0]: https://rust-unofficial.github.io/too-many-lists/index.html

abiro··on Show HN: Portable Secret – How I store my secrets and communicate privately
This is pretty cool:

> Before we jump in, I wanted to share some history with you. Back in 2009 when we first built 1PasswordAnywhere, it wasn’t possible to use it with Dropbox. We couldn’t use Dropbox at the time because each file request needed to include a revision number and 1PasswordAnywhere had no way to know which revision numbers to use.

> Roustem and I explained this problem to the Dropbox Founder Arash, and he was kind enough to add a workaround to allow us to load files directly. This was state of the art technology in 2009.

abiro··on Great Tech by Shopify Founder
Shopify supporting Passkeys for all merchant sites could be a great driver for adoption.
abiro··on Interview with Martin Hellman of Diffie-Hellman (2004)
If you liked this, you'll probably like this interview with Diffie too: https://www.youtube.com/watch?v=DJxOz0I6z5A
abiro··on Bestselling books have been getting shorter
Would be curious to see this broken down by fiction vs non-fiction. I read very few non-fiction books cover-to-cover. Most of them could be probably cut by 50% and not lose much.
abiro··on Web3 – An Arrogant and Treacherous Successor Doomed to Fail
Web3 refers to the emerging shift in internet value chains from permissioned, centralized databases to permissionless, decentralized databases where users own their data. The driving force behind Web3 is that we can now enforce invariants on state transitions in a permissionless, decentralized manner for a limited set of applications (mostly financial). For an even more limited set of applications, we can also enforce invariants while preserving the confidentiality of transactions.

With hindsight, the two technological breakthroughs that proved decentralized databases possible were Bitcoin and Zerocash. Bitcoin showed that state-machine replication (SMR) is solvable in a distributed, permissionless, partially synchronous setting with Byzantine fault tolerance. Zerocash showed that zero knowledge succinct non-interactive arguments of knowledge can be used to ensure the confidentiality of transactions in this SMR setting.

The tech is improving rapidly and it’s pretty easy to see where things are going from here: soon we’ll have general purpose decentralized databases where data is open as open source code is open. In fact, state-of-the-art blockchains can be viewed as special (financial) purpose decentralized databases.

As to why decentralized databases are desirable: imagine if you could fork databases in a completely permission-less manner like you can fork code. This is how web development would look like:

You, the programmer, take a look at a public data schema (eg. a smart contract that implements the ERC-721 interface) and decide to build on top of it. Then, a user, who has already interacted with what you built on, decides that they like what you built and lets your app use their data. You, the programmer, can be sure that the data you built on remains available, and the user can be sure that they'll be able to port the data produced by your app into new apps.

abiro··on AWS and Blockchain
Re costs: it’s decreasing rapidly. Solana is within 100x of DynamoDB prices so costs are soon becoming negligible. At that point costs can be taken over by the app developer or paid by users on a subscription basis. There are also decentralized consensus mechanisms that don’t rely on paying fees (FBA, delay functions). Idk which will succeed.

Re open standards and “software that lets you export”: we’ve had this for the past 30 years and see how it turned out.

Re lock in: no, in a decentralized database, the data schema is public which means it’s trivial to write an app that works with another app’s data.

abiro··on AWS and Blockchain
The new thing with blockchain tech is that we can now enforce invariants on state transitions in a decentralized manner. Paired with non-interactive zero-knowledge cryptography, we can also enforce those invariants while keeping the confidentiality of transactions.

The tech is rapidly improving and it’s pretty easy to see where things are going from here: soon we’ll have general purpose decentralized databases where data is open as open source code is open. In fact, state-of-the-art smart chains can be viewed as special (financial) purpose decentralized databases.

As to why decentralized databases are desirable: imagine if you could fork databases like you can fork code in a completely permission-less manner. This is how web development would look like:

You, the programmer, take a look at a public data schema (eg. a smart contract that implements the ERC-721 interface) and decide to build on top of it. Then, a user, who has already interacted with what you built on, decides that they like what you built and lets your app use their data. You, the programmer, can be sure that the data you built on remains available, and the user can be sure that they'll be able to port the data produced by your app into new apps.

abiro··on Is Rust Ready for the Web Yet? (2020)
Yes, it's ready. Read Zero To Production In Rust by Luca Palmieri for best practices: https://www.zero2prod.com/
abiro··on Ask HN: I love to be alone. But this loneliness is killing me
Hey, it seems like you find yourself in a crisis. This has happens to most of us and it’s good that you posted here.

The question that you’re asking nobody else can answer for you unfortunately. A good way to find an answer is to start with asking “What am I”. And you’re amazing! But you have to seek the answer tirelessly to that question before you can see that. Here is a poem that can get you started on that journey:

https://www.poetryfoundation.org/poems/45477/song-of-myself-...

Finding an answer is very difficult and we go through many ups and downs. If you’re feeling really desperate, make sure to reach out to a suicide prevention hotline. They’re run by really nice people who love you. There are some helpful resources here:

https://www.helpguide.org/articles/suicide-prevention/suicid...

Wish you all the best!

abiro··on Entitlement in Open Source
I like what Material for Mkdocs did as well. They ship features to sponsors first and release for free when a certain founding goal is met:

https://squidfunk.github.io/mkdocs-material/insiders/

Roughly 10xed their sponsorship revenue in ~1 year.

abiro··on Entitlement in Open Source
Maintainers complaining about entitled user behavior implies a business opportunity for an enterprise version of the software.
abiro··on When to use Bazel?
I looked at Bazel ~5 years ago for a C++, Scala, JS, Python codebase and it looked like the perfect solution, but there seemed to be a lot of breaking changes in Bazel at the time so I passed in the end.

Then I started a project this year that will be a Rust, Swift, Kotlin, JS codebase (maybe C# too if Rust for Windows isn’t stable enough) and I had a look at Bazel again, but already the official tutorial from last year didn’t work on the latest stable release so I gave up on it again. Anyone had similar experience and pushed through? Is it worth it?

I currently have a bunch of Python scripts and will most likely end up with Gradle which is ok but not great in my experience.

abiro··on I Got Banned for Life from Airbnb (2018)
Airbnb processes are Kafkaesque and a malicious host can really screw you over due to their superior knowledge of the system. I stopped using them after a particularly bad experience this summer. The property is still up btw with glowing reviews, because to host managed to get my factual review expunged.
abiro··on Why I quit using SwiftUI
They should just acquihire the Big Mountain Studio guy. It’s crazy that you have to pay $300 for proper docs.
abiro··on Show HN: Devbox – Easy, predictable shells and containers
Wondering how well it integrates with IDEs. Anyone tried it with Intelllij?
abiro··on How I went about learning Rust
This big time. Rust has comparable ergonomics to high level languages once you stop trying to optimize everything and start throwing around clones liberally. And the nice thing is that if you do need to optimize something later you can trust the compiler that if it compiles, then it’s correct (barring interior mutability/unsafe).
abiro··on Battered Crypto Hedge Fund Three Arrows Capital Considers Asset Sales, Bailout
> Tehter has lent money to almost all these firms

Do you have a source for this?

abiro··on Hertzbleed Attack
How about making operations constant time in application code by picking an upper bound which is acceptable for the application, but that is certainly longer than the actual CPU computation and then waiting until the upper bound to return the result?

Eg. my app is performing digital signatures and I'm sure that they take <1ms CPU time, but performing digital signatures in 10ms is acceptable for my application, so when I perform a signature I measure the CPU time elapsed, say 0.5ms and then wait for 9.5ms.

abiro··on Hertzbleed Attack
Which ARM processors could be affected? Can't find an overview of ARM processors that implement frequency scaling.
Page 1 of 5Next →