Front-page articles summarized hourly.
During COVID lockdown I found an RTL-SDR dongle and explored beyond FM radio. I started by listening to local police and HAM traffic, then moved to satellites: NOAA weather satellites with a simple rabbit-ear antenna, producing cloud images. Upgrading to GOES-16, I used a WiFi grid antenna, SAW filter, amplifier, SDR, and a Raspberry Pi running goestools to demodulate real-time Earth images in multiple bands. The system yields 10K-resolution images every 15 minutes; I plan to keep it permanent at home for about $100. It’s amazing to personally receive selfies of Earth from ~35,000 km away.
Documenting a Linux‑C program to enumerate all 32‑bit primes (uint32_t) and write them to PRIMES in binary, 4 bytes per prime, little‑endian. It compares three approaches: (1) trial division using an ever‑growing prime list (with and without wheel factorization), (2) wheel optimization to skip composite spokes, and (3) the Sieve of Eratosthenes with a BitArray to store primality. Wheel yields minor gains; sieve is fastest but memory‑heavy (~537MB bit array, ~815MB primes, ~1.3GB total). Runtimes: ~24m20s, ~23m30s, ~32s; primesieve is faster.
Julia Evans describes adding basic examples to the dig and tcpdump man pages to help beginners. The goal is to provide the simplest usage snippets for infrequent users; reviewers (Denis Ovsienko, Guy Harris, Ondřej Surý) helped ensure accuracy. A key tip: tcpdump -w out.pcap with -v prints a live packet-count summary. To avoid fighting roff, she wrote a Markdown-to-roff converter rather than using pandoc. She also explored roff’s history and BSD/Linux doc-cultural divides. The takeaway: good, accurate documentation is achievable and valued.
This GitHub repo documents a proof‑of‑concept, low‑cost rocket launcher and guided rocket built from consumer electronics and 3D‑printed parts. The rocket uses folding fins and canard stabilization via an ESP32 flight computer with an MPU6050 IMU; the launcher includes GPS, compass and a barometer for orientation and telemetry. Designed in Fusion 360 and tested with OpenRocket simulations; hardware cost is about $96. The repo includes CAD files, firmware, OpenRocket models, and development media/docs links.
An introductory visual guide to machine learning using a NYC vs SF home dataset. It covers how features like elevation and price per square foot define decision boundaries, how a decision tree uses if-then splits and recursion, and how leaf nodes represent predictions. It explains training vs test data, overfitting, and evaluating performance on unseen data, with a preview of the bias-variance tradeoff in the next post.
AE loves print books and relies on Amazon for a vast, affordable library. But he observes a shift: more print-on-demand (POD) titles sold as stock editions, with poorer covers, weaker typography, higher prices, and inconsistent printing. He cites titles like The Problems of Philosophy, Martin Eden, Growth of the Soil, Flowers for Algernon, A Conflict of Visions, On Writing Well, and The War of Art, often marked “Printed in France/Italy by Amazon.” Damaged deliveries and tedious refunds add to the frustration. He questions POD’s rationale and calls for upfront disclosure, while remaining a loyal yet wary Amazon customer.
Describes slicing a Bezier surface into pieces in JavaScript while preserving the original shape. It uses a splitBezier function (via lerp) to split Bezier curves, then iteratively subdivides the surface along a 'wide' axis (and similarly along a 'fall' axis for vertical slicing), constructing new surface objects from the slice endpoints and reducing the remaining width accordingly. The same approach applies to vertical slicing.
Access to www.charlespetzold.com was blocked by the site's security system after a request triggered protections against threats or misuse (e.g., certain words, SQL commands, or malformed data). To resolve, contact the site owner and provide the Request ID: 8539112a-8cbf-4e0e-9389-ed378042a9e2 so they can review and restore access if appropriate.
Proposes a deterministic, infrastructure-free TCP hole punching algorithm. It derives a shared “bucket” from timestamp and clock error so both sides converge without communication. The bucket seeds a PRNG to generate a port list using equal-delta mappings, then attempts simultaneous non-blocking TCP connects with 0.01s pacing. It relies on SO_REUSEADDR/REUSEPORT and avoids closing sockets to prevent TIME_WAIT. For winner selection, the leader (greater WAN IP) sends a single character; the follower uses select/recv(1) to pick the winning connection. Runs with tcp_punch.py given a dest IP, within a 10s window, optionally with NTP.
An experiment turns an unused server rack into a flood-and-drain (ebb-and-flow) hydroponics setup for lettuce and herbs. The author uses rack-mount shelves, Sterilite trays as reservoir and grow trays, a submersible pump, an aerator, grow lights, and basic plumbing to flood scale trays from a reservoir. They describe assembling holes, drilling, and wiring, plus a cron-based schedule to run lights and pump. Germination was fast; some pots floated until stabilized with rocks; algae risk managed by light control. It worked surprisingly well, with minor leaks.
Wild cabbage (Brassica oleracea) is unusually versatile: centuries of selective breeding turned a nondescript weed into cabbage, kale, broccoli, cauliflower, Brussels sprouts, gai lan, kohlrabi and more. By selecting for plant architectures—leaf-rich forms for kale/cabbage; dense inflorescences for broccoli/cauliflower; buds or stalks for sprouts—humans steered the shoot apical meristem from leafy to reproductive growth. Genomics shows polyploidy underpins Brassica oleracea’s diversity. Domestication began in ancient Greece, spread around the Mediterranean and Europe, later to Asia; much diversity remains in landraces and can inform future breeding.
Five installments of Stefan Kubicki’s Pirate Utopia Letters, exploring stories, systems and hidden worlds. Entries: A letter about Nikolai Fyodorov; Notes from the Zone; The dogs of Llano del Rio (I); The dogs of Llano del Rio (II); The festival of the machines. Includes full archive / RSS feed.
Tommy Thompson, 73, a US deep-sea treasure hunter, was released from prison after a decade for civil contempt for refusing to disclose the location of about 500 missing coins from the 1857 SS Central America wreck. He recovered thousands of gold bars and coins in 1988 and sold some in 2000 for about $50m. Investors had funded the venture with $12.7m. A judge ended his contempt last year, saying he was unlikely to reveal the coins; about 500 coins remain missing, potentially worth up to $400m.
The author argues that running messages through an LLM to “clean up” wording erases the sender’s true intent and the implicit knowledge readers use to interpret tone, emphasis, and context. This undermines the social handshake of communication and the recipient’s ability to understand the writer as they truly are. He urges embracing mistakes, idioms, and frankness, preserving context so readers can interpret messages in light of how they were created, and to get in tune with the other person.
Dean Markwick outlines building a simple FX factor model anchored to the U.S. Dollar Index (DXY). Using Twelve Data for daily FX data, he constructs a DXY proxy from EUR, JPY, CHF, GBP, CAD, and SEK with specified weightings, then runs rolling 252-day regressions of currencies’ log returns on DXY log returns to estimate betas. He demonstrates data handling and plotting, noting EUR beta near 1, SEK beta >1, TRY low, and HKD's peg yielding low beta. The work establishes a daily FX dataset and a foundational beta-based framework, with future expansion to momentum and commodity sensitivities.
The post documents refining and verifying RISC-V assembly with Knuckledragger, a Python toolset built atop pypcode/Ghidra semantics. It replaces unwieldy low-level traces with a high-level model via a high_low translator and a bisimulation checker, enabling automated proofs of correctness against a higher-level state (pc, registers, memory). Demonstrations include a simple program and a memcopy variant (including a deliberately buggy version to trigger a counterexample), plus a readable Python-state model for proofs. The author shares smoke tests, outputs, and links to code and a walkthrough video.
Terence Tao announces an experimental competition linked to the Equational Theories Project (ETP): distilling its 22 million universal-algebra true/false results into a short human-readable cheat sheet. Stage 1 asks contestants to create a cheat sheet (max 10 KB) to boost cheap/open-source models on true/false problems. A playground with 1,200 problems (1,000 easy, 200 hard) is provided; submissions close April 20. The top 1,000 advance to Stage 2, with proofs or counterexamples. The event, coordinated on Zulip and supported by SAIR, seeks productive distillation techniques and may expand to other problems.
Made by Johno Whitaker using FastHTML