HNHacker News
TopNewBestAskShowJobs

iroq

36 karma · joined March 24, 2016

submissionscomments
iroq··on Ask HN: Are you satisfied with Elixir or do you regret choosing Elixir?
If you're aching for typespecs in Elixir being useful, but are dissapointed with Dialyzer, I recommend checking out my library Hammox: https://github.com/msz/hammox. It's an improved version of Mox, the de-facto mocking library for Elixir, which you can use to automatically assert in tests that your mock calls, or any function calls, fit your typespecs.

I personally found that with rigorous enough usage, I don't even miss having actual static typing anymore ;)

iroq··on Show HN: Covid-19 infection ranking adjusted by population
China and India have an extremely small infection percentage - all the areas below 0.001% are filtered out. You're right, that's likely very misleading - I'll leave them in for completeness.
iroq··on Show HN: Covid-19 infection ranking adjusted by population
All the informational dashboards I've seen so far have two main problems for me:

1) they show total cases including recoveries and deaths by default, bumping up countries like China

2) they sort by total cases which pushes high population countries high

The info I'm looking for is generally "how bad is it everywhere, right now". So I spent a couple evenings to hook into the Bing dashboard and create this minimalist breakdown off of it. Comments welcome!

iroq··on Do you need a VPN?
Nitpick: Bitcoin, being a system where the history of all transactions is publicly available, is hardly an "anonymous" system. It is an additional level of separation from other forms of payment tagged with your credentials, and you can achieve anonymity if using it carefully, but it can't be treated by an anonymous option by default.
iroq··on Bitcoin Workings Explained, for Real
Correct, as far as I know. Breaking the cryptography with quantum computers is often raised as well, but Bitcoin can transition to a quantum-resistant algorithm if that proves to be a real danger.
iroq··on Bitcoin Workings Explained, for Real
I describe this in the "Security in numbers" paragraph in the last part (Part Three):

"As pointed out before, giving rewards for creating blocks creates an arms race in computing power. Transaction fees only magnify the effect. This is very healthy for the security of our system — anyone can add blocks, so anyone can do it according to their own agenda, but to have any kind of significant effect on the whole thing they would have to invest a tremendous amount of resources.

Remember, the only way to determine which version of the transaction history is the commonly accepted one to look for the longest one. In theory, someone possessing 51% of the computing power of the network is able to completely control the system, as they can just start their own branch of the blockchain and create new blocks faster than anyone else. The resulting branch will become the longest and therefore accepted one, invalidating any blocks mined on other branches. Performing the 51% attack is however uneconomical even for actors the size of a government or a multinational corporation — it would simply cost too much for the trouble."

To give you some numbers, an Antminer S9 costs $3k and provides 14 TH/s. Current Bitcoin network hashrate is around 7,700,000 TH/s. Assuming a 51% attack is not underway already, an attacker needs to have at least the same hashrate as the rest of the network. This would cost over 1,5 billion dollars in non-reusable single purpose hardware alone. Add to this the ginormous power costs and additional costs of housing, maintenance, cabling etc. and you start to get the idea.

A sizeable entity who doesn't have complete majority can still make life harder for users by censoring specific transactions (simply deliberately choosing not to include them in their blocks), but this is more akin to a DDoS attack than a security breach.

iroq··on Bitcoin Workings Explained, for Real
Hi! Author here. Thanks for the appreciation!

You're right, I didn't describe the details of networking. My main goal was to keep it as short as possible while still explaining the main "pillars" of Bitcoin in detail, and networking did not make the cut. As far as my understanding goes, there isn't anything inherent to Bitcoin in the way its network works (it could apply to most other distributed networks), so I thought including this would stretch things too much and stray too far off topic in a way.

iroq··on Why I'm not a React Native developer
>There is a const operator, which helps ensure primitives don’t get mutated. But anything that’s not a primitive is as malleable as jell-o

Making so many errors in a sentence about basic language features, when a big chunk of OP's article is argumenting that React Native is bad because JavaScript is bad... Maybe it would be less bad if OP actually learned the language?