<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: rho_soul_kg_m3</title><link>https://news.ycombinator.com/user?id=rho_soul_kg_m3</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 16 May 2026 08:22:53 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=rho_soul_kg_m3" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by rho_soul_kg_m3 in "O(x)Caml in Space"]]></title><description><![CDATA[
<p>Hello :) Glad to hear the talk was useful.<p>You say you're using Linux as the underlying OS, but you must have looked at bare-metal embedded usage as well.<p>How feasible would you say it is, today, to use OCaml with MirageOS (or something similar) on a bare-metal target, say a small softcore RISCV32 with 256kB of RAM?</p>
]]></description><pubDate>Fri, 15 May 2026 21:09:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48153883</link><dc:creator>rho_soul_kg_m3</dc:creator><comments>https://news.ycombinator.com/item?id=48153883</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48153883</guid></item><item><title><![CDATA[New comment by rho_soul_kg_m3 in "O(x)Caml in Space"]]></title><description><![CDATA[
<p>In general, if it works, leave it alone; but I can think of two reasons to stop using OCaml:<p>1) You have been ordered to directly interface with some external library that has a complicated C ABI, and you can't isolate it in a separate process and do IPC, and the FFI would be too clunky or slow.<p>2) You really need to manipulate lots of bits or bytes or floats very fast, or there are lots of them, and speed or memory footprint is becoming an issue.  You need to multicore and/or SIMD, you need efficient abstractions, and you do that kind of thing all over the place, not just in a few functions that you separately implement in C or whatever.<p>As a bonus here's a good reason for NOT leaving OCaml: You can quickly bootstrap the compiler and run it on small embedded machines.  I remember using OCaml on a Cyrix 686 with 64 megs I think, it was perfectly fine.  Today, the lights dim a bit when I start cargo build.</p>
]]></description><pubDate>Fri, 15 May 2026 20:59:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48153731</link><dc:creator>rho_soul_kg_m3</dc:creator><comments>https://news.ycombinator.com/item?id=48153731</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48153731</guid></item><item><title><![CDATA[New comment by rho_soul_kg_m3 in "O(x)Caml in Space"]]></title><description><![CDATA[
<p>Thanks.  Regarding open-sourcing, well no, it's not up to me, and it would be kind of proprietary.<p>The size variants for floats and integers is definitely appreciated.<p>For the "read-only BigArrays": At the time I didn't know any Rust, but today that would simply be passing a mutable or immutable reference.  Similar to the Fortran in/out designators in some way.  I think that's pretty important when you have some complicated numerical code, sometimes with in-place modification.<p>Since there is a "zero_alloc checker", maybe a similar kind of annotation exists or could be added?  Something like<p><pre><code>  let foo (x : [@readonly]) = ... 
    x.{0} <- 1.23

  ^ Attempt to write to read-only array</code></pre></p>
]]></description><pubDate>Fri, 15 May 2026 18:15:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=48151911</link><dc:creator>rho_soul_kg_m3</dc:creator><comments>https://news.ycombinator.com/item?id=48151911</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48151911</guid></item><item><title><![CDATA[New comment by rho_soul_kg_m3 in "AI is wiping out entry-level jobs"]]></title><description><![CDATA[
<p>Not a problem, LLMs can be very efficient at controlling social unrest.</p>
]]></description><pubDate>Fri, 15 May 2026 14:23:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48149029</link><dc:creator>rho_soul_kg_m3</dc:creator><comments>https://news.ycombinator.com/item?id=48149029</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48149029</guid></item><item><title><![CDATA[New comment by rho_soul_kg_m3 in "O(x)Caml in Space"]]></title><description><![CDATA[
<p>Yes see above.<p>OCaml was very much part of the GHG measurements.  On the satellite it was controlling the cameras, acquiring the images, losslessly compressing them, encrypting them and transferring them to the platform controller using a clunky but mandated CSP-based file tranfer protocol.  On the ground, OCaml was running almost the entire data processing chain, including spectroscopy, image corrections, retrievals and post-retrieval ad hoc bias corrections, as well as simulations.<p>I simply used an mmap()'d Bigarrays to do parallel processing (back then OCaml wasn't multi-core.)<p>At a later stage I replaced a few bits of code (e.g. some sparse matrix routines) with Fortran.  The only processing-related part that wasn't OCaml (besides the shells scripts to glue the things together) was the image alignment algorithm which was written by someone else in C++.  I even had a job scheduling system written in OCaml.</p>
]]></description><pubDate>Fri, 15 May 2026 13:48:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48148560</link><dc:creator>rho_soul_kg_m3</dc:creator><comments>https://news.ycombinator.com/item?id=48148560</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48148560</guid></item><item><title><![CDATA[New comment by rho_soul_kg_m3 in "O(x)Caml in Space"]]></title><description><![CDATA[
<p>Well, I might have been the first to put OCaml in space, specifically on low-Earth orbit aboard GHGSat-D in 2016.  I designed the payload software as a collection of SystemD services talking over DBus, and it included a CCSDS-to-DBus bridge to talk to the platform (the thing that hosts the payload, controls and steers the satellite).  The payload also did perform symmetric-key encryption of the resulting data, as per regulations.<p>I gave a talk about the payload software at the Paris OCaml users group.<p>The reason for selecting that archicture was that I didn't expect to write the whole payload software by myself, and I assumed that when some other developers join in they would, obviously, not want to use a weird language like OCaml, and so they could write their portion in C/C++/whatever and the system could still work.  Of course that didn't happen.<p>I'd be surprised if the company still uses OCaml, as the standad tendency is to revert to "industry-standard" languages to get industry-standard problems.  The whole processing and simulation toolchain was also written in OCaml.<p>Today there is little reason not to use Rust and it can cover both the processing side and the payload software.  But people still insist on using C/C++.  I'm OK with that as long as I can invoice them.<p>EDIT: Found my slides <a href="https://lambda-diode.com/static/data/GHGSat_OCaml.pdf" rel="nofollow">https://lambda-diode.com/static/data/GHGSat_OCaml.pdf</a></p>
]]></description><pubDate>Fri, 15 May 2026 13:29:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48148343</link><dc:creator>rho_soul_kg_m3</dc:creator><comments>https://news.ycombinator.com/item?id=48148343</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48148343</guid></item><item><title><![CDATA[New comment by rho_soul_kg_m3 in "Ask HN: What are you working on (non-AI)?"]]></title><description><![CDATA[
<p>If you must know, I'm writing a real-mode 16-bit x86 assembly to C translator in Common Lisp to be able to run that 3-sector inference engine, which was posted the other day, outside of QEmu, currently I'm debugging it.  I'm doing this because it's fun but I can rationalize it as follows: It allows me to simultaneously learn Common Lisp, as I'm otherwise an OCaml & Scheme guy; 16-bit x86 assembly, since I grew up learning 68k assembly and segments are otherwise disgusting; and also slop generator architecture, right now I don't feel like reading a summary paper, those always leave out details.  This is 100% hand-written in Emacs in Evil mode, and with SLIME.  I guess that counts as a coding assistant, and it's written in LISP and LISP=AI, so that I can claim that I am familiar with generative AI technologies for coding when applying to jobs.</p>
]]></description><pubDate>Wed, 13 May 2026 18:20:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48125499</link><dc:creator>rho_soul_kg_m3</dc:creator><comments>https://news.ycombinator.com/item?id=48125499</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48125499</guid></item><item><title><![CDATA[New comment by rho_soul_kg_m3 in "Ask HN: What do you still do manually in 2026 that should be automated?"]]></title><description><![CDATA[
<p>Knowledge retrieval.  Something where I could ask a question, say in natural language, and I would get an answer.  Of course the responses have to make sense and not be made up.</p>
]]></description><pubDate>Thu, 07 May 2026 16:47:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48051630</link><dc:creator>rho_soul_kg_m3</dc:creator><comments>https://news.ycombinator.com/item?id=48051630</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48051630</guid></item><item><title><![CDATA[New comment by rho_soul_kg_m3 in "Show HN: Trust – Coding Rust like it's 1989"]]></title><description><![CDATA[
<p>I think one of the earlier OCaml versions of the Rust compiler would be lean enough to be usable on a mid-90's PC.</p>
]]></description><pubDate>Thu, 07 May 2026 15:15:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48050443</link><dc:creator>rho_soul_kg_m3</dc:creator><comments>https://news.ycombinator.com/item?id=48050443</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48050443</guid></item><item><title><![CDATA[New comment by rho_soul_kg_m3 in "Vibe-Coded Ext4 for OpenBSD"]]></title><description><![CDATA[
<p>Language models are good at translation and retrieval.  This also extends to computer languages.  LLMs translate from GPL to other licenses the same way Google translate turns French to English, except that the source material is implicitly stored in the LLM.</p>
]]></description><pubDate>Sat, 28 Mar 2026 15:11:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47555302</link><dc:creator>rho_soul_kg_m3</dc:creator><comments>https://news.ycombinator.com/item?id=47555302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47555302</guid></item><item><title><![CDATA[New comment by rho_soul_kg_m3 in "The 49MB web page"]]></title><description><![CDATA[
<p>Why can't MY browser send some random JS to THEIR website?  If it's safe for me to run some stranger's code, should it be safe for strangers to run my code?</p>
]]></description><pubDate>Mon, 16 Mar 2026 02:34:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47394526</link><dc:creator>rho_soul_kg_m3</dc:creator><comments>https://news.ycombinator.com/item?id=47394526</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47394526</guid></item><item><title><![CDATA[New comment by rho_soul_kg_m3 in "Notes on writing Rust-based Wasm"]]></title><description><![CDATA[
<p>For me, wasm is a godsend.  I sure hope it doens't go away.  I can write a reasonably complex GUI with Rust and egui and OpenGL and put it online without having to deal with browser/Javascript/TS nonsense.  The only pain points for me, so far, are (1) network and local file access for which I had to write tiny amounts of wrapper JS (2) having to rewrite shaders for OpenGL ES and (3) executor gymnastics for manual cooperative scheduling of some background computations, apparently multithread support isn't quite there yet.  Also it works perfectly fine under Firefox, Chromium and even on my cellular telephone (these things have browsers now!) with Vanadium and Firefox mobile.</p>
]]></description><pubDate>Mon, 09 Mar 2026 19:54:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47314556</link><dc:creator>rho_soul_kg_m3</dc:creator><comments>https://news.ycombinator.com/item?id=47314556</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47314556</guid></item></channel></rss>