HNHacker News
TopNewBestAskShowJobs

ironhaven

438 karma · joined August 29, 2019

submissionscomments
ironhaven··on AMD's random number generator can't generate a 0?
Well that very similar to how the Linux kernel does it. The linux kernel does it a little differently in that it uses the chacha8 stream cipher instead of a XOF. The chacha8 stream key is frequently reseeded by hashing the entropy pool with blake2b over the collected randomness from all sources but a lot comes from the nanosecond timing of hardware interrupts. Depending on configuration the blocking rng does not return unless 256 bits of trusted randomness are mixed into the entropy pool.

If anyone is interested in this topic please just read the code[0]. It has a lot of interesting tricks that you would not have just rolling your own.

[0]https://github.com/torvalds/linux/blob/master/drivers/char/r...

ironhaven··on Show HN: I made a flight simulator, except you're just a passenger
I was hoping for a very detailed menu with more flight avionics in the in flight entertainment screen but I guess the speed and altitude in the HUD is all I get. I want to know the exact plane T am flying in
ironhaven··on Steam Frame starts at $1059
Bandwidth is very important for low latency with wireless VR. To have a low latency you need to give the VR headset a video stream of at least 90 fps. That means every 11ms the headset needs a full screen frame of video. Over regular Wi-Fi 5 from my phone I can ping my desktop in 4ms so is the latency problem solved? The problem is there is not enough consistent bandwidth over my consumer Wi-Fi router to maintain a high quality experience in VR.

Enthusiasts solve this problem with a dedicated VR only Wi-Fi router connected to their PC but now it will be much easier with the included 6Ghz Wi-Fi dongle in the box

ironhaven··on Internet centralization and the original sin of NAT
I don't think that you can draw the line between NAT and CGNAT. The fact that single NAT works as well as it does is an argument for why it is ok to double NAT with CGNAT.

The conceit behind NAT is that 99% of traffic over the router will be client-server and the last 1% can get away with separately negotiating with the router to get inbound traffic.

For example my ISP Xfinity by default will put your router in CGNAT space (and ipv6) but if you request port forwarding from a mobile app the upstream router will assign you a ipv4 address and it all works. NAT is considered fine because adding roadblocks to server hosting is a acceptable tradeoff.

The reason they i think they can be so flexible is that they likey have a ipv6 backbone to route to all the customers and ipv4 is not used for routing but as a extra service layered on top with packing the 48 bits of ipv4 and port inside a ipv6 address via MAP-T

ironhaven··on EVE Online moves to Python 3
You could generate tests that give you 100% line coverage but the real test is if the thousands of subscribing players have the same experience which doesn't have the same agent friendly testing feedback loop
ironhaven··on RISC-V is now officially supported by CPython
What RISC-V extensions is this built for? There is a target triple of riscv64-unknown-linux-gnu listed so i assume the baseline RV64GC that the Linux kernel is built against.

It makes sense to be conservative with a new architecture but new high performance RISC-V cores such as from SiFive[1] are going to meet RVA23. That standard has vector and bit manipulation extensions that could be used to improve performance with a python interpreter. I guess more testing needs to be done to see if raising the bar is useful.

[1]https://www.sifive.com/cores/performance-p800

ironhaven··on Exploiting System Management Mode with a very long interrupt
DEFCON the fun hacking conference in las Vegas that happened last weekend.
ironhaven··on Devtools must be open source
Suckless software does have config files they just have a “.h” extension

Having your config file be a c header and needing a recompile is different than not having any user accessible configuration

ironhaven··on Oxide computer 3D rack guided tour
They already picked out a interconnect standard it is called 100 Gigabit Ethernet. They can interoperate with multiple different vendors using the sfp28 ports on the switch. I bet they are even working on new programmable hardware for a next gen 200 Gigabit Ethernet fabric with oxide controlling the entire stack from hardware to software
ironhaven··on Half-Life 2 in a Browser
First half life one in browser now we have half life 2! I guess it’s that time again Mr Freeman
ironhaven··on Steam Deck sells out in North America within 24 hours of price hike
No? The website has units available here[0] in the US. I think this article is old. There must have been a very small first shipment that got sold out before the next batch came in

[0] https://store.steampowered.com/steamdeck

ironhaven··on Reviving old scanners with an in-browser Linux VM bridged to WebUSB over USB/IP
If you just install CUPS in a virtual machine (emulated in wasm on the web) what patches do you need to share?
ironhaven··on Reviving old scanners with an in-browser Linux VM bridged to WebUSB over USB/IP
If they reverse engineered the drivers then why do they need a virtual cpu and a Linux kernel to run them. Is this reverse engineering or just installing software in a weird environment?

Speaking of not just gluing stuff together with usb/ip could one make a virtual WebUSB host kernel module that could be used by the Linux kernel USB stack? They most likely would not want to do that because then all of the code would be GPL and would have to be shared with the public.

ironhaven··on GenCAD
A another take on this problem is zoo.dev . They wrote a brand new from scratch cad engine that is driven a custom openscad style language called kcl.

Then then have a trained llm that has can generate kcl to either create new parts or act as a llm assistant for changes to existing parts.

It’s neat that llms can do 3-D but I wonder how much of the problem is integration.

ironhaven··on Serving a website on a Raspberry Pi Zero running in RAM
It’s ddr2 so it is not really affected by the ram crunch
ironhaven··on Serving a website on a Raspberry Pi Zero running in RAM
Sometimes these demos enable caching on the reverse proxy. So then for these tiny demo html pages you request, you may not even reach the fun tiny computer it is supposed to demonstrate.
ironhaven··on Airbus is preparing two uncrewed combat aircraft
Manned-Unmanned teaming is not a new concept created in the last couple months to placate fighter pilots in the age of ai. With 5th generation fighter using datalink they to use the active radar in far away AWAC planes for targeting so the stealth fighter can get closer to the enemy without breaking cover by turning on active radar.

If you can outsource the radar on a jet it is not a huge leap in logic to put the very hot missiles onto a unmanned aircraft. All of these concepts where written up 20 years ago by both china and the US

ironhaven··on A16z partner says that the theory that we’ll vibe code everything is wrong
Don't you have that backwards? If AI gets so good that it can replace all human labor, will capital like money and data centers be the only moat left?
ironhaven··on Apple Container 0.9.0
I was going to rant about how containerization does not just mean Linux namespaces but that is what this is.

This project is very similar to docker with a background daemon server that you control via a cli to launch Linux containers.

Because Linux containers need Linux namespaces, each container is run in a virtual machine with a Linux kernel.

ironhaven··on SmartOS
The reasoning can be simplified to two things. 1. Linux does not have the bhyve hypervisor ported 2. Maintaining a Linux distribution will require more effort and have more churn than illumos.

Because Linux is just a kernel and users have to provide all of their own user space and system services there is a lot of opportunity for churn. Illumos is a traditional operating system that goes from the kernel to the systemd layer. Illumos is also very stable at this point so most of the churn is managed up front

The choice is between porting a handful of apps to illumos or jumping on to the Debian treadmill while pioneering a new to Linux hypervisor. Would Linux have enabled a faster development cycle or just a easier MVP?

ironhaven··on IPv6 just turned 30 and still hasn't taken over the world
Because 2^128 is too big to be reasonably filled even if you give a ip address to every grain of sand. 64 bits is good enough for network routing and 64 bits for the host to auto configure an ip address is a bonus feature. The reason why 64 bits is because it large enough for no collisions with picking a ephemeral random number or and it can fit your 48 bit mac address if you want a consistent number.

With a fixed size host identifier compared to a variable size ipv4 host identifier network renumbering becomes easier. If you separate out the host part of the ip address a network operator can change ip ranges by simply replacing the top 64 bits with prefix translation and other computers can still be routed to with the unique bottom 64 bits in the new ip network.

This is what you do if you start with a clean sheet and design a protocol where you don't need to put address scarcity as the first priority.

ironhaven··on IPv6 just turned 30 and still hasn't taken over the world
Well you will be happy to hear that ipv6 has the same thing with the FFfe::/10 network just like 169.254.0.0/16 apipa range
ironhaven··on Toro: Deploy Applications as Unikernels
If you software has no bugs then unikernels are a straight upgrade. If your software has bugs then the blast area for issues is now much larger. When was the last time you needed a kernel debugger for a misbehaving application?
ironhaven··on Toro: Deploy Applications as Unikernels
With a standard windows server license you are only allowed to have a two hyperv virtual machines but unlimited "windows containers". The design is similar to Linux with namespaces bolted onto the main kernel so they don't provide any better security guaranies than Linux namespaces.

Very useful if you are packaging trusted software don't want to upgrade your windows server license.

ironhaven··on The C++ standard for the F-35 Fighter Jet [video]
There have been countless articles claiming the demise and failure of the F35 but that is just one side of the story. There has been an argument started 50 years ago in the 1970's about how to build the best next generation fighter jets. One of these camps was called the "Fighter mafia"[0] figure headed by John Boyd. The main argument they bing was the only thing that matters for a jet fighter is how well it performs in one-on-one short ranged dog fighting. They claim that stealth, beyond visual range missiles, electronic warfare and sensors/datalink systems are useless junk that only hinders the dog fighting capability and bloat the cost of new jets.

The evidence for this claim was found in testing for the F35 where it was dog fighting a older F16. The results of the test where that the F35 won almost every scenario except one where a lightweight fitted F16 was teleported directed behind a F35 weighed down by heavy missiles and won the fight. This one loss has spawned hundreds of articles about how the F35 is junk that can't dogfight.

In the end the F35 has a lot of fancy features that are not optional for modern operations. The jet has now found enough buyers across the west for economies of scale to kick in and the cost is about ~80 million each which is cheaper than retrofitting stealth and sensors onto other air frames like what you get with the F15-EX

[0] https://en.wikipedia.org/wiki/Fighter_Mafia

ironhaven··on Date bug in Rust-based coreutils affects Ubuntu 25.10 automatic updates
The borrow checker better described as compile time rwlock with all possible deadlocks caught as compiler errors
ironhaven··on J-Link Compact USB-C Issues
The reason for detecting the orientation of the connector is for higher speed communication. USB-C 20gbps uses both sets of pins on the connector to shotgun two usb3.2 10gbps to get 20gbps. That is why the technical spec name for 20gbps is "USB 3.2 gen 2x2". That is what the "x2" means.

Knowing that USB has this feature is follows that USB-C needs to be self orienting in case both ends of the connector plugged in different orientations.

You say Ethernet got this part right, well it got this part right by not having a reversible connector. Ethernet has 4 tx/rx pair and USB-C has 2 rx/tx pairs per usb 3 connection with 4 in total for 20gbps. The difference is reversibility. Is it worth the tradeoff?

ironhaven··on Raspberry Pi 500+
One misconception that everyone keeps repeating is that the pi 5 expects and needs a 5v/5a power supply to work. The CPU and all the IO will work as expected with any USB pd charger that can do at least 15 watts. The only issue you will have is a power limit on USB peripherals that use a lot of power like hard drives. Keyboards, mice and webcams will work just fine with the 600 milliamp power limit.

Previous raspberry pis had low usb power limits and people did not consider those products dead on arrival. Now that they are trying to address a limitation in the original product people are discovering that the raspberry pi was always a very limited platform to begin and the next step is not an incremental bump to the specs but to just buy a regular computer.

ironhaven··on Show HN: Lightweight tool for managing Linux virtual machines
Quick summary of the technology is that there is two software parts for virtualization, the hypervisor and the virtual machine monitor.

First is the hypervisor that uses the hardware virtualization features of your cpu to emulate hardware interrupts and virtual memory paging. This part is usually buint into the operating system kernel and one will be prefered per operating system. Common ones are Hyper-V on Windows, Virtualization.Framework on Mac and KVM on Linux

With the kernel handling the low level virtualization you need a Virtual Machine Monitor to handle the higher level details. The VMM will manage what vm image mounted and how the packets in and out of the vm are routed. Some example of VMMs are QEMU, VirtualBox and libVirt.

Flint, the app being shown is a vibe coded web app wrapper around libVirt. On the bright side this app should be safe to use but it also does not do much beyond launching pre made virtual machines. As a developer the work you need to do is provide an Linux distribution (Ubuntu, etc), a container manager (Kubernetes, Docker) and launch your own containers or pre made ones from the internet (Dev Containers).

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
Page 1 of 4Next →