HNHacker News
TopNewBestAskShowJobs

ironhaven

438 karma · joined August 29, 2019

submissionscomments
ironhaven··on Our $100M Series B
Elastic as in AWS Elastic Compute Cloud (ec2). Flexible virtual machines provisioned with a web API not rubbery stretchy servers
ironhaven··on Writing into Uninitialized Buffers in Rust
That's right. Line 3 is undefined behaviour because you are creating mutable references to the uninit spare capacity of the vec. copy_to_slice only works with writing to initialized slices. The proper way for you example to mess with the uninitialized memory on a vec would be only use raw pointers or calling the newly added Vec::spare_capacity_mut function on the vec that returns a slice of MaybeUninit
ironhaven··on Twitter (X) Hit by Data Leak of 2.8B Users – Allegedly an Insider Job
The posting client was removed from the UI and has not been public for a while
ironhaven··on Carbon capture more costly than switching to renewables, researchers find
Depending on the the wind/nuclear mix in the grid possibly as low as zero.

But batteries are a very important innovation for power grids regardless of renewable energy goals. 50% of the job of an energy grid is just keeping the ac power supply stable when generation does exactly match consumption. Lithium batteries help smooth out spikes in demand over milliseconds and hours to save millions of dollars

Lithium grid scale storage is awesome no matter what happens with renewables.

ironhaven··on Servo's progress in 2024
It may seem like a lot but there are 1.7 million web platform tests. Controversial chrome only web apis are few and far between the common features
ironhaven··on What's happening inside the NIH and NSF
Here is another perspective, there are many more deserving research proposals than there are grants. Even if they banned all minorities from grant funding there would still be many disgruntled and unfunded scientists languishing without grants.
ironhaven··on Revisiting Random Number Generation
It seems like this small website was more complicated than I would have guessed and that caused most of the downtime.

1. Using a redis connection per socket as a cross thread message queue

2. Crashing the server on invalid sentry tracking header

3. No size validation on user input

It looks like a fun project but it ironic that the third party monitoring service to track downtime was your downtime.

Now I feel redis is not worth the effort over a Hashmap you write to disk/s3 every 5 minutes for hobby stuff. Ya ain’t gonna need it and if you do just install a full sql database

ironhaven··on On DeepSeek and export controls
Well according to the unitary executive theory the US president has complete authority over all government actions and congress is only able to give legitimacy to the president's actions. Under this regime the president would be allowed to stop the execution of any law passed by congress.

I think this is insane and a complete destruction of the balance of power written in the constitution that congress can't enact enforceable laws but only "suggestions" for the president

ironhaven··on Walgreens replaced fridge doors with smart screens. It's now a $200M fiasco
I think its more like how if someone searches the name of your business on google and you have to pay for advertising on your own name to prevent a competitor from being placed above your search results.

If someone searches for "al's roof repair" the top results will be sponsored links to other roofing companies who paid for ads before "al's roof repair".

ironhaven··on Build a Database in Four Months with Rust and 647 Open-Source Dependencies
Well if you look at the most recent open source supply chain attack on openssh, that used social engineering to add a backdoor to a project that openssh did not have a dependency on anywhere in it's SBOM. And with the xz example the backdoor had to be rushed out when it was deployed because the dynamic dependencey was being removed before the backdoor was completely in place. Doing a open source supply chain attack is not easy, fast or reliable for long.

It is not as simple as you say. Sometime it is better to know all of you dependencies are static linked at build time and specified when you are releasing your code. And the more sane you build system is the harder it is to add shellcode to your dependency's tarball and build scripts without turning peoples heads with random unsafe code.

ironhaven··on IP addresses through 2024
That was my whole point. There are not 2^128 ipv6 addresses for Individual use but there are 2^64 /64 networks.

If you rent a vps with a ipv6 “address” you will see that you are given a /64 network.

There is no effort to “fix” the bottom 64 bits because it’s not needed. There are enough /56 networks to for the next 500 years and 99% of people can do everything they need with an isp provided /56. IPv4 has survived with 48 bit nat for this long so 64 bit is even more buffer space

ironhaven··on IP addresses through 2024
I feel like this blog does not accurately describe how large the ipv6 address space even after accounting for it being reduced by 2^64 for the host portion of the address. If it did it would make the concerned comments about /28 ipv6 network sizes seem very misplaced.

A single static ipv4 address is a /32 slice into the ipv4 space and is considered a reasonable to size give out to a single person or even a small business that asks for it. Of course larger companies and telecom operators need larger network allocations and they have gotten them for many years in the past.

Now realize that if a /64 ipv6 network is the minimum size like a single ipv4 address then you see that the ipv6 address space has 2^32 /32 ipv6 networks. Now with ipv6 any technical person and acquire a entire ipv4 internet sized network in a continuous (globally routeable if you want) range.

And if any sized business today can expect buy a single "class c" /24 range of ipv4 it makes sense that large global compaines get a ipv6 /20 network to run their entire network on it.For example cloudflare[1] uses 6 regional /32 networks and a /29 network for all their routing needs. Imaging trying to build cloudflare with less than 32 addresses in a single /24 ipv4 allocation.

ipv6 is so large that you can just design your network without worrying about subnet size and route based on real policy or security boundaries alone. We will run out of MAC addresses before we run out of ipv6

[1] https://www.cloudflare.com/ips/

ironhaven··on Cracking a 512-bit DKIM key for less than $8 in the cloud
Grover’s algorithm could be described as quantum brute force that is able to break AES-128 but not AES-256
ironhaven··on Bringing SerenityOS to real hardware, one driver at a time
This is surprising close to how SerenityOS started. The first piece Andreas wrote was the desktop environment with it rendering to a SDL window
ironhaven··on The trap of "I am not an extrovert"
Hello, person with autism here. If I am tasked with social interaction for too many hours I may no longer be able to focus on people. I may zone out and in order to get into focus someone may have to bother me in an uncomfortable way. This could, depending on the person who is on the autism spectrum, escalate to physical violence in an extreme scenario.

I don’t think this describes “a panic attack”. I think “completely overwhelmed” is a real thing to be accommodated and is separate from a social anxiety triggered panic attack

ironhaven··on The semver trick (2019)
David tolnay should have filed a defensive software patent to be more precise then!
ironhaven··on Tenstorrent and the State of AI Hardware Startups
Modern x86 cores can decode 9 variable length instructions per clock. It’s not easy but can be done.

RISK-V C instructions are on the other hand are trivial. All compressed instructions are 1-1 translatable to uncompressed instructions. People have measured the cost of adding C extension decoding as being a few hundred GATES.

ironhaven··on OpenAI whistleblower found dead in San Francisco apartment
Have you considered that maybe testifying against the company you work for and may have some personal connection to is very stressful.

I'm being serious that someone in that situation may have mixed feelings about doing the right thing vs betraying friends/bosses and how they may have contributed to wrongdoing in the testmony

ironhaven··on Schrödinger's IPv6 Cat
I don't know of any ISP that will give you a public ipv4 address for free.

More interesting is windows 11 auto configuring ipv6. Does you pc have a public ipv6 address starting with 2:: or fe80:: link local address?

Quick ipv6 crash course. Instead of DHCPv4 (there is DHCPv6 but it's optional) being required for address configuations, ipv6 uses somting called Stateless address Autoconfiguration (SLAAC). Normaly your router sends out Router advertizments packets and this tells devices about the default gateway, public prefix, dns etc... and pc will generate a public ip of (64 bit public prefix):(64 bit random number).

It seems like Windows 10 and eariler will not do ipv6 unless your router advertises it.

TL;DR learning ipv6 is easier than disabling it at this point

ironhaven··on Three mistakes from Dart/Flutter's weak PRNG
Why is the default thread_rng from the rand crate a dealbreaker for rust? There are other rngs to choose from rand like `smallrng` that is a small fast unspecified default prng if you don't know what you want even for a prng. If the worst case 300 microseconds of the reseeding ChaCha12 default rng is measurable, then it is your job to make a decision about your random number generator.

I don't think rng seeding has anything to do with the algorithm you choose? Seeding from the os rng is usually what you want even for a prng. If you want to use use the current time there is a `seed_from_u64` if you want.

ironhaven··on The humble for loop in Rust
Reading the godbolt it looks like for the push loop llvm is unable to remove the `grow_one` capacity check after every push. Becaue of this the Vec could possibly reallocate after every push meaning it can't auto vectorize.
ironhaven··on The humble for loop in Rust
Yep that can be used for pre allocating the Vec like in the `with_capacity` example
ironhaven··on The humble for loop in Rust
I have used fold for converting strings to a bitset in advent of code

    let string = "ewfsan";
    let bitset = string.bytes().fold(0u32 |acc, ch| acc | 1 << (ch - b'a'));
This is a idiom that I have used many times so this being more consice than a for loop is a plus

Of course if you have never seen a syntax before it will make less sense that anything you have seen before

ironhaven··on No Nat November: My Month Without IPv4
Just checked my Steamdeck and from the kde desktop settings ipv6 was entirely disabled. I just re-enabled ipv6 to let it auto configure an address and got ipv6 connectivity.
ironhaven··on Hetzner cuts traffic on US VPSs, raises prices
BitTorrent seedbox. If you are apart of a private torrent tracker you may download 5tb and upload 10tb of data per month to be in good standing within that tracker’s community
ironhaven··on Who Is Jay Graber, the CEO of Bluesky?
It’s no longer twitter it is “x.com”. Much different moderation and user base
ironhaven··on It's time to replace TCP in the datacenter (2023)
But tcp/ipv6 is API compatible with tcp/ipv4? You can even accept ipv4 connections to a ipv6 listening socket if you have a ipv4 address assigned. The issue is ipv4 is not forward binary compatible with ipv6 because you can't fit more than 2^32 addresses in a ipv4 packet.

But yeah if you are a large bloated enterprise like amazon or microsoft that owns large amounts of ipv4 address space and expensive ipv4 routing equipment there is not a ton of value in switching

ironhaven··on Netflix buffering issues: Boxing fans complain about Jake Paul vs. Mike Tyson
This is why we need ipv6. If ipv6 was fully rolled out this livestream could have been an efficient multicast stream like what happens with ipTV.
ironhaven··on Netflix buffering issues: Boxing fans complain about Jake Paul vs. Mike Tyson
Do you live stream the superbowl? Me and everyone I know watch it over antenna broadcast tv. I think it is easier to have millions of tvs catch airwaves vs millions of point to point https video streams.
ironhaven··on The online sports gambling experiment
Sports betting is bad because it is gambling and not productive. Stock trading is good because it supports creating value like new sports gambling companies.
← PreviousPage 2 of 4Next →