2. What Do We Know About the Microplastics Inside Us? (e360.yale.edu)
Pervasive plastic contamination and unreliable methods have clouded the science on microplastics in the human body. In an interview, Australian scientist Cassandra Rauert, who built a plastics-free lab to study human exposure, explores the challenges for researchers.
3. Home made GPU escalated quickly [video] (www.youtube.com)
This project is my nemesis. It already took half a year of my life to get to a point where I can confidently say it will scale from here. This video shows th...
4. Show HN: Follow London Trains in 3D (ride.nexttrain.london)
Board a live London Tube train and ride it through a 3D London.
5. Japan's Hayabusa2 probe to conduct flyby of Torifune asteroid (www3.nhk.or.jp)
Japan's space probe Hayabusa2 has completed a flyby observation of an asteroid as it heads for its next destination in space. The probe delivered a capsule of samples to Earth from another asteroid six years ago.
6. US Food and Drug Administration rejects petition to set PFAS limits in food (www.theguardian.com)
Environmental protection agency and independent studies have found food biggest source of chemical exposure
7. The difference between "today's task" and "accretive work" (pluralistic.net)
8. Is The Economist Always Wrong? (www.economist.com)
9. A bug which affected only left handed users (shkspr.mobi)
10. Geosql: A Claude/Codex skill for geospatial data (github.com)
Turn Claude/Codex into geospatial analytics agent. - dekart-xyz/geosql
11. OpenMandriva: Statement regarding attempted distribution sabotage (forum.openmandriva.org)
12. The Age of Reading Is Over (www.theatlantic.com)
Optimists once believed that universal literacy was inevitable. Now it seems that the age of reading might be a short anomaly in human history.
13. NoiseLang: Where N = 5 is a Dirac delta (manualmeida.dev)
A signals-and-noise course left me writing Monte Carlo math on paper and wishing the notation itself would run. Nine years later, with an AI agent doing the heavy lifting, NoiseLang became a real Monte Carlo language with a fused multi-core JIT and a WASM backend.
14. Ants: Who looks after the injured in a colony? (www.uni-wuerzburg.de)
Carpenter ants amputate the injured legs of fellow ants to minimise the risk of infection. A new study involving a WΓΌrzburg researcher shows that this task is primarily carried out by ants switching from indoor to outdoor duties.
15. Scheme Is a Hoot (gracefulliberty.com)
Lately I've been spending time learning Scheme and using it to implement the concepts I'm learning in my physics classes as time permits. One of the most exciting things I've been doing with this is getting my Scheme to compile to the Web thanks to Hoot.
One of the biggest challenges has been the fact that Hoot is unstable. It's currently at version 0.9.0. The documentation is decent, but it could be better. The error messages can be cryptic. But it's a massive accomplishment to see Scheme code running on the Web via WASM. It's even more incredible to know that it's running on a stack the team created themselves, not relying on Emscripten.
My initial understanding of Hoot was that it could compile any Guile program to the Web. I quickly learned that I was mistaken when my code wouldn't compile. I then ported my code to use the Hoot versions of all of the functions, causing my code to be unable to run independently from Hoot. I then realized that Hoot actually supported more of Guile than I thought. I just had to manually import a lot of the stuff I previously took for granted.
Now I have set up my code to run on native Guile and on WASM via Hoot, with tests automatically running in both to make sure everything's set up correctly for both environments. It's a bit of a pain, but it works now. Most of my code is agnostic to whether it's running with the system's Guile interpreter or if it's been compiled to WASM and being run in the browser. I think that's amazing.
Currently, most of the work I've done has been on the backend. Working on getting this whole setup to work at all has been a hassle. I've also been working on getting the more fundamental physics logic working, which is especially difficult as a someone new to Scheme. But I've been making progress, and I've published a small prototype on a new page on my website and have published the source code.
In the future I'm curious to see if it's reasonable to compile Zig + Scheme programs to the Web with Hoot. I'm starting to feel more and more that Zig + Scheme is the perfect combination and I want to do more experimentation in that direction. That may be too complicated! I don't know yet. There's a lot for me to learn in the WASM world, and that's a large part of the fun.
This has been an insightful exploration into the depths of Scheme. I can't wait to do even more.
One of the biggest challenges has been the fact that Hoot is unstable. It's currently at version 0.9.0. The documentation is decent, but it could be better. The error messages can be cryptic. But it's a massive accomplishment to see Scheme code running on the Web via WASM. It's even more incredible to know that it's running on a stack the team created themselves, not relying on Emscripten.
My initial understanding of Hoot was that it could compile any Guile program to the Web. I quickly learned that I was mistaken when my code wouldn't compile. I then ported my code to use the Hoot versions of all of the functions, causing my code to be unable to run independently from Hoot. I then realized that Hoot actually supported more of Guile than I thought. I just had to manually import a lot of the stuff I previously took for granted.
Now I have set up my code to run on native Guile and on WASM via Hoot, with tests automatically running in both to make sure everything's set up correctly for both environments. It's a bit of a pain, but it works now. Most of my code is agnostic to whether it's running with the system's Guile interpreter or if it's been compiled to WASM and being run in the browser. I think that's amazing.
Currently, most of the work I've done has been on the backend. Working on getting this whole setup to work at all has been a hassle. I've also been working on getting the more fundamental physics logic working, which is especially difficult as a someone new to Scheme. But I've been making progress, and I've published a small prototype on a new page on my website and have published the source code.
In the future I'm curious to see if it's reasonable to compile Zig + Scheme programs to the Web with Hoot. I'm starting to feel more and more that Zig + Scheme is the perfect combination and I want to do more experimentation in that direction. That may be too complicated! I don't know yet. There's a lot for me to learn in the WASM world, and that's a large part of the fun.
This has been an insightful exploration into the depths of Scheme. I can't wait to do even more.
17. TabFont β guitar tabs rendered as you type (philatype.com)
18. Show HN: Chiptune Radio (chiptune-radio.alephvoid.com)
A 24/7 chiptune music stream on Twitch β 8-bit soundchips, trackers, and demoscene energy, broadcast by Aleph Void, LLC.
19. DKIM2 and DMARCbis Have Landed (stalw.art)
Email authentication just took its biggest step in a decade. DKIM2 (draft -04) rebuilds DKIM around a verifiable chain of custody that survives forwarding, stops replay, and makes bounces provable; DMARCbis (RFC 9989, 9990, 9991) retires the Public Suffix List for a live DNS tree walk and writes a decade of operational lessons back into the spec. Both are now fully implemented in Stalwart v0.16.12, the first mail server to support them, and can be tested from the browser at the mail-auth playground.
20. I Built a Telegram Client for Pi (www.npmjs.com)
21. Tiny data centre used to heat public swimming pool (www.bbc.com)
The heat generated by the small box of powerful computers is enough to heat the pool about 60% of the time.
22. Almost Always Unsigned (graphitemaster.github.io)
Almost Always Unsigned # Written by Dale Weiler
Twitter GitHub Last updated Saturday, January 1, 2022
The need for signed integer arithmetic is often misplaced as most integers never represent negative values within a program. The indexing of arrays and iteration count of a loop reflects this concept as well. There should be a propensity to use unsigned integers more often than signed, yet despite this, most code incorrectly choses to use signed integers almost exclusively.
Twitter GitHub Last updated Saturday, January 1, 2022
The need for signed integer arithmetic is often misplaced as most integers never represent negative values within a program. The indexing of arrays and iteration count of a loop reflects this concept as well. There should be a propensity to use unsigned integers more often than signed, yet despite this, most code incorrectly choses to use signed integers almost exclusively.
23. Show HN: Free Mermaid Diagram Editor (moxiedocs.com)
Free online Mermaid live editor. Create and preview diagrams in your browser, including flowchart, sequence, ER, class, mindmap, and gantt, then export to SVG or PNG.
24. How to Survive 3 Years in North Korea as a Foreigner (mydiplomaticlife.com)
25. Understanding B-Tree Indexes in PostgreSQL: A Comprehensive Guideβ Part 1 (medium.com)
Learn what B-Tree indexes are, how they function, and examine them using the pageinspect tool.
26. Automate Excel with Python: From manual grind to one-click workflow (nostarch.com)
AI can write the code. You still need to know what it does.
27. Why Vancouver is always a stand-in for San Francisco in movies and TV shows (2021) (www.sfgate.com)
'Godzilla' and 'X-Men' are just two examples of the many productions set in San Francisco...
29. Show HN: Abralo β Free, easy way to run several Claude Code agents in one window (abralo.com)
Many Claude Code agents at once, in one native window. Light, local, built for humans to read, not a terminal to scroll.
30. Show HN: Fortress β a stealth Chromium so your agents stop getting blocked (github.com)
Stealth Chromium engine that stops scrapers and browser agents from getting blocked, with one line of code change. - tiliondev/fortress