<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: Farmadupe</title><link>https://news.ycombinator.com/user?id=Farmadupe</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 06 May 2026 14:03:08 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Farmadupe" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Farmadupe in "Accelerating Gemma 4: faster inference with multi-token prediction drafters"]]></title><description><![CDATA[
<p>If it helps, I mean it in a really literal sense. qwen3.6 27b is currently $3.20 per million tokens on openrouter right now which is way overpriced. As good as the 27b is, kimi k2.5 $3.00 and it's just in another league in terms of capability. There's no reason to spend money on it.<p>And even alibaba's own qwen3.6-plus is $1.95, so it's kinda easy to come to a conclusion that alibaba (nor anyone else) is really interested in hosting that model.<p>And don't get me wrong, I fully agree with you, qwen3.6 27b is an amazing model. I run it on my own hardware and every day I'm constantly surprised with what it can zero shot.</p>
]]></description><pubDate>Tue, 05 May 2026 18:28:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=48026541</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=48026541</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48026541</guid></item><item><title><![CDATA[New comment by Farmadupe in "Accelerating Gemma 4: faster inference with multi-token prediction drafters"]]></title><description><![CDATA[
<p>I wonder if for a model that small with a permissive license it might not be worth their time to host a commercial grade inference stack?<p>Might be easier to chuck it over the fence and let other providers handle it as it'll run in almost any commercial grade card?<p>Also speculating, but I wonder if it might also create a bit of a pricing problem relative to Gemini flashlight depending on serving cost and quality of outputs?<p>As a comparison, despite being SotA for their size, the smallest qwen models on openrouter (27b and 35b) are not at all worth using, as there are way bigger and better models for less oricemon a per token basis</p>
]]></description><pubDate>Tue, 05 May 2026 16:50:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48025077</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=48025077</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48025077</guid></item><item><title><![CDATA[New comment by Farmadupe in "Protobuffers Are Wrong (2018)"]]></title><description><![CDATA[
<p>Using protobuf is practical enough in embedded. This person isn't the first and won't be the last. Way faster than JSON, way slower than C structs.<p>However protobuf is ridiculously interchangeable and there are serializers for every language. So you can get your interfaces fleshed out early in a project without having to worry that someone will have a hard time ingesting it later on.<p>Yes it's a pain how an empty array is a valid instance of every message type, but at least the fields that you remember to send are strongly typed. And field optionality gives you a fighting chance that your software can still speak to the unit that hasn't been updated in the field for the last five years.<p>On the embedded side, nanopb has worked well for us. I'm not missing having to hand maintain ad-hoc command parsers on the embedded side, nor working around quirks and bugs of those parsers on the desktop side</p>
]]></description><pubDate>Fri, 05 Sep 2025 21:10:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=45143664</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=45143664</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45143664</guid></item><item><title><![CDATA[New comment by Farmadupe in "Misconceptions about loops in C"]]></title><description><![CDATA[
<p>I feel like there's a semi-philosophical question somehwere here. Recursion is clearly a core computer science concept (see: many university courses, or even the low level implementation of many data structures), but it's surprisingly rare to see it in "day to day" code (i.e I probably don't write recursive code in a typical week, but I know it's in library code I depend on...)<p>But why do you think we live in a world that likes to hide recursion? Why is it common for tree data structure APIs to expose visitors, rather than expecting you write your own recursive depth/breadth-first tree traversal?<p>Is there something innate in human nature that makes recursion less comprehensible than looping? In my career I've met many programmers who don't 'do' recursion, but none who are scared of loops.<p>And to me the weird thing about it is, looping is just a specialized form of recursion, so if you can wrap your head around a for loop it means you <i>already</i> understand tail call recursion.</p>
]]></description><pubDate>Thu, 27 Jun 2024 21:41:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=40815435</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=40815435</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40815435</guid></item><item><title><![CDATA[New comment by Farmadupe in "So you think you know C? (2016)"]]></title><description><![CDATA[
<p>The author is making a deliberate point about undefined behaviour in the article.  Hence them not executing worked examples.<p>In fact, by not doing so they are making a subtle implicit statement that it is uninteresting to consider actually attempting to execute these snippets.<p>The third paragraph of the "P.S" of the article (you have to press submit to see it) is the one that really gives the game away.</p>
]]></description><pubDate>Sat, 20 Jan 2024 22:58:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=39073353</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=39073353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39073353</guid></item><item><title><![CDATA[New comment by Farmadupe in "Microwatt: A tiny Open POWER ISA softcore written in VHDL 2008"]]></title><description><![CDATA[
<p>FWIW, 85k 4-input luts is huge by the standards of any softcore with "micro" in the name.<p>It comfortably surpasses the capacity of most of the Actel aerospace FPGAs that I tend to work with.<p>And I think it's so "micro" that the majority of all of Lattice's FPGAs wouldn't fit it either.<p>And the Lattice ECP5 is advertised with 85k LUTs, which would seemingly limit its use to edification as instantiating this softcore would consume the entire chip. For any other purpose if you wanted a chip that was only a CPU, you would buy a CPU.</p>
]]></description><pubDate>Sat, 21 Oct 2023 17:08:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=37968605</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=37968605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37968605</guid></item><item><title><![CDATA[New comment by Farmadupe in "Microwatt: A tiny Open POWER ISA softcore written in VHDL 2008"]]></title><description><![CDATA[
<p>...could be named for how much space is left after that soft core has been instantiated.</p>
]]></description><pubDate>Sat, 21 Oct 2023 17:02:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=37968553</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=37968553</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37968553</guid></item><item><title><![CDATA[New comment by Farmadupe in "ZF makes magnet-free electric motor uniquely compact and competitive"]]></title><description><![CDATA[
<p>Steppers are super optimized for being super precise and easy to controle while being (relatively) cheap to build.<p>They have weird "trick" geometry that means you can move the rotor to many different angles (tens, hundreds) with far fewer stator windings.<p>The cost of this is really low power and efficincy if you just want to spin them.</p>
]]></description><pubDate>Sun, 10 Sep 2023 08:33:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=37453986</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=37453986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37453986</guid></item><item><title><![CDATA[New comment by Farmadupe in "ZF makes magnet-free electric motor uniquely compact and competitive"]]></title><description><![CDATA[
<p>Out of interest, what could make such a design better than a traditional inductive motor? Such motors already suffer inductive losses, and do not need slip rings or brushes, and presumably do not an additional set of windings to transfer power to excite the stator?<p>Just could the two sets of coils be optimized for their own purposes?</p>
]]></description><pubDate>Sun, 10 Sep 2023 08:26:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=37453950</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=37453950</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37453950</guid></item><item><title><![CDATA[New comment by Farmadupe in "ZF makes magnet-free electric motor uniquely compact and competitive"]]></title><description><![CDATA[
<p>I know press releases never describe anything that's actually novel, but it looks like they're just describing an asynchronous induction motor? I'm wondering if this release is implicitly pretending that some "low slip ratio" motor is "basically" synchronous<p>Just guessing, does ZF mostly put out induction motors, and they need to make them look less unfashionable so that people choose them for new designs?</p>
]]></description><pubDate>Sun, 10 Sep 2023 08:21:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=37453919</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=37453919</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37453919</guid></item><item><title><![CDATA[New comment by Farmadupe in "Railway Oriented Programming"]]></title><description><![CDATA[
<p>Download counts don't mean very much here as I'm fairly sure both crates are common transitive dependencies. Or in other words, millions of programmers aren't individually choosing Anyhow or Thiserror on a monthly basis -- they're just dependencies of other rust crates or apps.<p>And agreeing with the other reply, nobody jumps up and down with joy when choosing an error handling crate. You pick the right poison for the job and try not to shed a tear for code beauty as you add in error handling.</p>
]]></description><pubDate>Fri, 18 Aug 2023 20:25:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=37181615</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=37181615</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37181615</guid></item><item><title><![CDATA[New comment by Farmadupe in "Exploring the Internals of Linux v0.01"]]></title><description><![CDATA[
<p>Im assuming the "halt and catch fire" thing is only really possible on pre-microprocessor machines built of discrete components, where the individual parts are small enough to overheat by themselves if driven wrong.<p>I'd guess the physical CPU package of an i386 would cope just fine with the few (hundreds?) of gates toggling in that small loop.<p>I wonder if it might be possible to do on a modern FPGA, if you artifically create some unstable circuit and pack deliberately it in a corner of the die?<p>There's probably some AVX512 concoction that would be the closest equivalent on a modern X64. There's probably an easy experiment -- if that concoction makes CPU freq drop and also makes whole-package thermals drop, it /could/ be due to localized die heating.</p>
]]></description><pubDate>Sat, 12 Aug 2023 16:55:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=37102051</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=37102051</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37102051</guid></item><item><title><![CDATA[New comment by Farmadupe in "The Power of 10: Rules for Developing Safety-Critical Code [pdf]"]]></title><description><![CDATA[
<p>just a few drive-by comments:<p>First and most important, the title claims these are safety-critical rules, but the conclusion says that they are only being used on mission-critical projects. I get the feeling that there might have been some late-change copyediting done here, as the content is far too generalizing to be taken seriously in any specific safety critical context, and hopefully the author would have known that.<p>* Agree that many safety-critical coding standards are a grab-bag of sometimes dubiously-valuable rules.<p>* Agree with the implication that stylistic guidelines are almost totally worthless, and may distract reviews from their core task of finding functional errors.<p>* The document states that manual review of large cases may be infeasible, but I have never worked on a project that didn't mandate it. Drudgery goes hand-in-hand with safety-critical, and mindnumbing close review is an accepted element of this.<p>* Agree that less rules is good, but the author doesn't justify why 10 rules is the best. Unfortunately this is a field where correctness trumps easiness or simplicity, and any class of error with unacceptable risk to life/limb must be prevented. Thus any ruleset cannot justify itself simply <i>because</i> it is small.<p>* In fact, there are many wordings in this document that are generally-unacceptable because they are admitting incompleteness in the general case (and therefore unsuitability for any safety-critical purpose), such as "Although such a small set of rules cannot be all-encompassing" or "In return, it should be possible to demonstrate more convincingly that critical software will work as intended"<p>commentaries on specific rules:<p>* rule 4: "No function should be longer than what can be printed on a single sheet of paper". In my experience, readability is not always improved by limiting function length. The main goal of safety-critical be correct (and hopefully be obviously so). Sometimes splitting up code is harmful to this. (also this is actually a stylistic rule of the kind rejected in the 2nd paragraph of the document.)<p>* rule 5: In the safety-critical domain, defensive checks and "assertions" are usually considered at low-level-design. It's generally unacceptable for a coder to "just" insert defensive behaviours into the implementation, because all such behaviours must be analyzed for correctness. I don't disagree with the idea behind this rules, but a coding standard is the wrong place for it.</p>
]]></description><pubDate>Wed, 28 Jun 2023 17:06:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=36509339</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=36509339</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36509339</guid></item><item><title><![CDATA[New comment by Farmadupe in "Show HN: RISC-V core written in 600 lines of C89"]]></title><description><![CDATA[
<p>Considering it's allocation-free, maybe it's an ultralight/ simulator for checking large quantities of compiler output? (i.e no VM to create and destroy for every testcase)<p>Or the same but for testing some verilog/vhdl CPU implemetation in a simulator?<p>Or since it's only 500SLOC, maybe it's just for fun!</p>
]]></description><pubDate>Sat, 10 Jun 2023 14:24:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=36270729</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=36270729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36270729</guid></item><item><title><![CDATA[New comment by Farmadupe in "Is life too short to fight Rust's borrow checker?"]]></title><description><![CDATA[
<p>Honestly I think your observation is mostly right... if you don't have a hard performance requirement, then rust probably isn't the best language to write your code in...</p>
]]></description><pubDate>Sun, 05 Mar 2023 19:22:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=35032962</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=35032962</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35032962</guid></item><item><title><![CDATA[New comment by Farmadupe in "Avoid exception throwing in performance-sensitive code"]]></title><description><![CDATA[
<p>GP might have been referring to undefined/invalid behaviour (whether in the language or in some OS syscall or whatever). After the demons came out of your nose you can never fix the problem, so there is no point trying to handle the error.<p>Otherwise I agree with you, that library code should not fail/crash/exit(1) just because of some judgement about recoverability, and out to clean up after itself before passing control back to the caller. If the user wants to fix some ENOSPC deep in my library by shelling out to "rm -rf /" and then trying again, that's fine by me, and this should be reflected in the API.</p>
]]></description><pubDate>Thu, 22 Dec 2022 11:09:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=34092196</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=34092196</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34092196</guid></item><item><title><![CDATA[New comment by Farmadupe in "Boeing’s 737 Max Software Outsourced to $9-an-Hour Engineers (2019)"]]></title><description><![CDATA[
<p>Aerospace still uses traditional waterfall processes (usually called the 'V' lifecycle in the industry because if you put a 90 degree bend in the waterfall it looks like a V).<p>The flow of responsibilities is strictly hierarchical. If Boeing specified to to their outsourcers that the software should have read from two sensors, then the outsourcer would be 'in the wrong' if they didn't implement that. With a strict interpretation of the rules Boeing doesn't necessarily have to check their outsourcer's work (In Safety-Critical the outsourcer has not just a commercial but also a moral obligation to perform all actions with competence)... But at the same time, because Boeing retains overall responsibility for its products no matter who it subcontracts to, it would be a mistake to not double check the work.<p>So to at least some extent (at least with moral-tinted glasses), it doesn't actually matter whether or not the fault was introduced by the subcontractor or not. Boeing is responsibility either way, Answering your question only tells us if the subcontractor is also at fault.<p>It's very important to note that in the Aerospace world, the subcontractor's moral duty only requires them to do exactly what they're told to do (assuming that the subcontractor was only reponsible for software design and not systems design). If Boeing told them to use one sensor, then the subcontractor has done nothing wrong if they failed to notice that this was fundamentally unsafe.</p>
]]></description><pubDate>Sun, 27 Feb 2022 00:37:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=30483920</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=30483920</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30483920</guid></item><item><title><![CDATA[New comment by Farmadupe in "This Year in Embedded Rust"]]></title><description><![CDATA[
<p>Yes I agree such a system is definitely embedded.. I think I was deliberately constructing a straw man in a (bad) effort to poke fun at people such as myself who have 'opinions' on what embedded 'really is'... "640k is enough for anyone" "C compilers are for people who cant write good assembly" etc etc.. <a href="https://xkcd.com/378/" rel="nofollow">https://xkcd.com/378/</a><p>I think it's possible to accidentally use that straw man to justify fears when looking at embedded rust.. But as other people have pointed out in this thread, just because rusty interrupt handlers look weird doesn't work any better or worse than one written in C.</p>
]]></description><pubDate>Wed, 29 Dec 2021 15:22:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=29725589</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=29725589</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29725589</guid></item><item><title><![CDATA[New comment by Farmadupe in "This Year in Embedded Rust"]]></title><description><![CDATA[
<p>> 1. A huge chain of dependencies.<p>I think there is another side to this coin though. IMO there are too many embedded shops that overlook reliable 3rd-party code in favour of spending man-hours growing their own code from seed instead. Or if not that you spend days debugging some greybeard coworker's "Oh I think I wrote something like that 25 years ago for a PDP-11, I'll just email it to you.."<p>But to be honest I don't really disagree all that much -- As much as the embedded world needs to keep up with the times, there's no way that the level of audit required for a reliable embedded project just can keep up with how quickly crates are being changed.<p>>  2. A big departure from how things used to be done in this world.<p>Sometimes I cringe too when takes a massive server board with 9999GB of RAM and a 4g modem and calls it "embedded" just because they screwed it to the side of a helicopter... But if the root question is "will rust be viable on a puny AVR" I hope that the answer is definitely yes.</p>
]]></description><pubDate>Wed, 29 Dec 2021 10:55:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=29723720</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=29723720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29723720</guid></item><item><title><![CDATA[New comment by Farmadupe in "Does the Bronze Garbage Collector Make Rust Easier to Use?"]]></title><description><![CDATA[
<p>I'm not 100% sure, but I think the OP was talking about the overhead of lifetime management for objects that don't live for a very long time. Or maybe objects that don't have "interesting" lives.<p>One example in my head individual strings that need to be constructed dynamically but live for the lifetime of the application (better to leak it with Box::leak or lazy_static! than pollute all code with lifetimes)<p>Another is writing in lifetimes for single purpose objects that live on the stack and might only ever get passed by ref into a single function and then get destroyed soon after.<p>Lifetimes are super important in rust and are a core part of the language, but in such degenerate cases they take up a lot of programmer effort for little benefit. In my head a "automatic" solution such as GC /could/ have a home in the language. Perhaps this would make rust a slightly better fit for really complex monolithic GUI apps (word processing, spreadsheets, CAD) where full GC would be performance-onerous but data lifetimes would be too complex for rust's strictly ordered lifetime concept</p>
]]></description><pubDate>Thu, 23 Dec 2021 10:56:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=29660636</link><dc:creator>Farmadupe</dc:creator><comments>https://news.ycombinator.com/item?id=29660636</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29660636</guid></item></channel></rss>