<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: muraiki</title><link>https://news.ycombinator.com/user?id=muraiki</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 16 Apr 2026 11:25:26 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=muraiki" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by muraiki in "Lean proved this program correct; then I found a bug"]]></title><description><![CDATA[
<p>When you write a recursive function, Lean’s kernel requires a termination proof, unless the function is a partial or marked as unsafe. In those cases, they can’t be used in proofs. <a href="https://lean-lang.org/doc/reference/latest/Definitions/Recursive-Definitions/#The-Lean-Language-Reference--Definitions--Recursive-Definitions--Well-Founded-Recursion--Termination-proofs" rel="nofollow">https://lean-lang.org/doc/reference/latest/Definitions/Recur...</a></p>
]]></description><pubDate>Tue, 14 Apr 2026 01:43:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47760261</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=47760261</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47760261</guid></item><item><title><![CDATA[New comment by muraiki in "When AI writes the software, who verifies it?"]]></title><description><![CDATA[
<p>Oh whoops, thank you for the correction! I didn't realize that.</p>
]]></description><pubDate>Wed, 04 Mar 2026 02:19:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47242173</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=47242173</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47242173</guid></item><item><title><![CDATA[New comment by muraiki in "When AI writes the software, who verifies it?"]]></title><description><![CDATA[
<p>The article says that AWS's Cedar authorization policy engine is written in Lean, but it's actually written in Dafny. Writing Dafny is a lot closer to writing "normal" code rather than the proofs you see in Lean. As a non-mathematician I gave up pretty early in the Lean tutorial, while in a recent prototype I learned enough Dafny to be semi-confident in reviewing Claude's Dafny code in about half a day.<p>The Dafny code formed a security kernel at the core of a service, enforcing invariants like that an audit log must always be written to prior to a mutating operation being performed. Of course I still had bugs, usually from specification problems (poor spec / design) or Claude not taking the proof far enough (proving only for one of a number of related types, which could also have been a specification problem on my part).<p>In the end I realized I'm writing a bunch of I/O bound glue code and plain 'ol test driven development was fine enough for my threat model. I can review Python code more quickly and accurately than Dafny (or the Go code it eventually had to link to), so I'm back to optimizing for humans again...</p>
]]></description><pubDate>Tue, 03 Mar 2026 19:03:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47237101</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=47237101</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47237101</guid></item><item><title><![CDATA[New comment by muraiki in "Orthic Shorthand – Write as fast as you type"]]></title><description><![CDATA[
<p>Try out Forker shorthand. You can learn it gradually, and the first steps are omitting vowels and simplifying some letters. You then progress to various abbreviations. Ultimately, it's based on the English cursive so there's nothing too exotic to learn in terms of orthography, although I guess if you are younger there is a chance you never learned a cursive style! I'm a novice but feel like it doesn't hurt readability that much, and it's quick to learn.<p>Quick intro: <a href="https://imgur.com/a/zYyON" rel="nofollow">https://imgur.com/a/zYyON</a></p>
]]></description><pubDate>Sat, 20 Jan 2024 12:02:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=39066802</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=39066802</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39066802</guid></item><item><title><![CDATA[What Companies Still Get Wrong About Layoffs]]></title><description><![CDATA[
<p>Article URL: <a href="https://hbr.org/2022/12/what-companies-still-get-wrong-about-layoffs">https://hbr.org/2022/12/what-companies-still-get-wrong-about-layoffs</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=38950997">https://news.ycombinator.com/item?id=38950997</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 11 Jan 2024 11:49:23 +0000</pubDate><link>https://hbr.org/2022/12/what-companies-still-get-wrong-about-layoffs</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=38950997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38950997</guid></item><item><title><![CDATA[New comment by muraiki in "Google Cuts Jobs in Engineering and Other Divisions"]]></title><description><![CDATA[
<p>> Research has long shown that layoffs have a detrimental effect on individuals and on corporate performance. The short-term cost savings provided by a layoff are often overshadowed by bad publicity, loss of knowledge, weakened engagement, higher voluntary turnover, and lower innovation — all of which hurt profits in the long run.  To make intelligent and humane staffing decisions in the current economic turmoil, leaders must understand what’s different about today’s larger social landscape. The authors also share strategies for a smarter approach to workforce change.<p><a href="https://hbr.org/2022/12/what-companies-still-get-wrong-about-layoffs" rel="nofollow">https://hbr.org/2022/12/what-companies-still-get-wrong-about...</a></p>
]]></description><pubDate>Thu, 11 Jan 2024 11:46:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=38950970</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=38950970</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38950970</guid></item><item><title><![CDATA[New comment by muraiki in "Improving our safety with a physical quantities and units library"]]></title><description><![CDATA[
<p>One option for C++14 is the Au units library. Here's a comparison to other unit libraries, including mp-units: <a href="https://aurora-opensource.github.io/au/main/alternatives/" rel="nofollow noreferrer">https://aurora-opensource.github.io/au/main/alternatives/</a></p>
]]></description><pubDate>Sun, 24 Dec 2023 19:39:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=38756101</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=38756101</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38756101</guid></item><item><title><![CDATA[New comment by muraiki in "Causal inference as a blind spot of data scientists"]]></title><description><![CDATA[
<p>“Graph” here means the directed acyclic graph encoding the causal relationships, not a chart of a distribution.</p>
]]></description><pubDate>Sun, 15 Oct 2023 21:31:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=37893564</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=37893564</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37893564</guid></item><item><title><![CDATA[New comment by muraiki in "Algebraic Topology for Data Scientists"]]></title><description><![CDATA[
<p>There are other benefits to Bayesian data analysis besides being able to handle limited data. There are problems with the outputs of frequentist analysis around the quantification of uncertainty. For instance, from simulation studies we know that the aleatoric coverage probability for confidence intervals of a selected confidence level varies depending on the size of the difference in plausibility between the null and alternative hypotheses. And a given confidence interval says nothing about epistemic uncertainty for this particular experiment. This can make the outputs of frequentist analysis difficult for stakeholders to utilize, whereas Bayesian epistemic probabilities are generally more easily understand by stakeholders, and can directly feed quantitative decision analysis methods.<p>A good introduction to some additional problems with frequentist methods vs Bayesian and likelihoodist methods is this: <a href="https://gandenberger.org/2014/08/26/intro-to-statistical-methods-3/" rel="nofollow noreferrer">https://gandenberger.org/2014/08/26/intro-to-statistical-met...</a><p>An interesting book on adapting frequentist methods to create confidence distributions that can better express uncertainty and can optionally incorporate prior information using likelihood functions is this: <a href="https://www.cambridge.org/core/books/confidence-likelihood-probability/143A34F11FB3D6F611F78E27C6D2CA5A#fndtn-information" rel="nofollow noreferrer">https://www.cambridge.org/core/books/confidence-likelihood-p...</a></p>
]]></description><pubDate>Fri, 25 Aug 2023 10:59:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=37260278</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=37260278</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37260278</guid></item><item><title><![CDATA[New comment by muraiki in "Nintendo DS cameras are the best lo-fi photo trend"]]></title><description><![CDATA[
<p>I remember that there was a company that would somehow print out the 3DS photos in a way that they could be seen in 3D (probably with limited viewing angles). I'm sure there's some photography term here that I'm totally unaware of. I'd love to find a way to do this.</p>
]]></description><pubDate>Tue, 15 Aug 2023 22:01:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=37139834</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=37139834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37139834</guid></item><item><title><![CDATA[New comment by muraiki in "Aggressive Attack on PyPI Attempting to Deliver Rust Executable"]]></title><description><![CDATA[
<p>Here's an article from the SEI covering the problems with using Ghidra for malware analysis of Rust code. See "Binary Analysis Without Source Code" <a href="https://insights.sei.cmu.edu/blog/rust-vulnerability-analysis-and-maturity-challenges/" rel="nofollow">https://insights.sei.cmu.edu/blog/rust-vulnerability-analysi...</a></p>
]]></description><pubDate>Sat, 25 Feb 2023 13:20:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=34936459</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=34936459</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34936459</guid></item><item><title><![CDATA[New comment by muraiki in "Aggressive Attack on PyPI Attempting to Deliver Rust Executable"]]></title><description><![CDATA[
<p>Ok, here's a better article from CMU's SEI. See "Binary Analysis Without Source Code".<p>> In general, the layout used by the Rust compiler depends on other factors in memory, so even having two different structs with the exact same size fields does not guarantee that the two will use the same memory layout in the final executable. This could cause difficulty for automated tools that make assumptions about layout and sizes in memory based on the constraints imposed by C. To work around these differences and allow interoperability with C via a foreign function interface, Rust does allow a compiler macro, #[repr(C)] to be placed before a struct to tell the compiler to use the typical C layout. While this is useful, it means that any given program might mix and match representations for memory layout, causing further analysis difficulty. Rust also supports a few other types of layouts including a packed representation that ignores alignment.<p>> We can see some effects of the above discussion in simple binary-code analysis tools, including the Ghidra software reverse engineering tool suite... Loading the resulting executable into Ghidra 10.2 results in Ghidra incorrectly identifying it as gcc-produced code (instead of rustc, which is based on LLVM). Running Ghidra’s standard analysis and decompilation routine takes an uncharacteristically long time for such a small program, and reports errors in p-code analysis, indicating some error in representing the program in Ghidra’s intermediate representation. The built-in C decompiler then incorrectly attempts to decompile the p-code to a function with about a dozen local variables and proceeds to execute a wide range of pointer arithmetic and bit-level operations, all for this function which returns a reference to a string. Strings themselves are often easy to locate in a C-compiled program; Ghidra includes a string search feature, and even POSIX utilities, such as strings, can dump a list of strings from executables. However, in this case, both Ghidra and strings dump both of the "Hello, World" strings in this program as one long run-on string that runs into error message text.<p><a href="https://insights.sei.cmu.edu/blog/rust-vulnerability-analysis-and-maturity-challenges/" rel="nofollow">https://insights.sei.cmu.edu/blog/rust-vulnerability-analysi...</a></p>
]]></description><pubDate>Sat, 25 Feb 2023 13:14:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=34936424</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=34936424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34936424</guid></item><item><title><![CDATA[New comment by muraiki in "The beginner's guide to over­complicating coffee"]]></title><description><![CDATA[
<p>My favorite decaf: <a href="https://www.defer.coffee/coffee-tea/p/palmera-decaf" rel="nofollow">https://www.defer.coffee/coffee-tea/p/palmera-decaf</a><p>Another good one: <a href="https://www.convivecoffee.com/shop/decaffeinated-colombia" rel="nofollow">https://www.convivecoffee.com/shop/decaffeinated-colombia</a></p>
]]></description><pubDate>Sat, 25 Feb 2023 11:44:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=34935881</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=34935881</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34935881</guid></item><item><title><![CDATA[New comment by muraiki in "Aggressive Attack on PyPI Attempting to Deliver Rust Executable"]]></title><description><![CDATA[
<p>The use of Rust has particular implications for malware analysis: <a href="https://c3rb3ru5d3d53c.github.io/2022/08/malware-reversing-rust/" rel="nofollow">https://c3rb3ru5d3d53c.github.io/2022/08/malware-reversing-r...</a><p>So yes, it's relevant.</p>
]]></description><pubDate>Sat, 25 Feb 2023 02:50:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=34933328</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=34933328</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34933328</guid></item><item><title><![CDATA[New comment by muraiki in "We will see a completely new type of computer, says AI pioneer Geoff Hinton"]]></title><description><![CDATA[
<p>With the mention of memristors, this sounds kind of similar to what Wolfram recently said about hardware for neural networks that can simultaneously be memory and compute:<p>> But even within the framework of existing neural nets there’s currently a crucial limitation: neural net training as it’s now done is fundamentally sequential, with the effects of each batch of examples being propagated back to update the weights. And indeed with current computer hardware—even taking into account GPUs—most of a neural net is “idle” most of the time during training, with just one part at a time being updated. And in a sense this is because our current computers tend to have memory that is separate from their CPUs (or GPUs). But in brains it’s presumably different—with every “memory element” (i.e. neuron) also being a potentially active computational element. And if we could set up our future computer hardware this way it might become possible to do training much more efficiently.<p><a href="https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/" rel="nofollow">https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-...</a></p>
]]></description><pubDate>Tue, 21 Feb 2023 01:11:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=34875188</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=34875188</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34875188</guid></item><item><title><![CDATA[New comment by muraiki in "Apple gets a cut of search revenue from Chrome as part of secret Google deal"]]></title><description><![CDATA[
<p>Flagged because this "secret" has been known since 2020 (the article has been updated to state this but kept the clickbait title)</p>
]]></description><pubDate>Sun, 19 Feb 2023 14:38:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=34857905</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=34857905</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34857905</guid></item><item><title><![CDATA[New comment by muraiki in "Deep learning for twelve hour precipitation forecasts"]]></title><description><![CDATA[
<p>It's worth noting that the paper was submitted in August of 2021. So perhaps it took a year to develop the methodology and get the paper ready for publishing. They did use separate training, validation, and test sets for data, although we do need to trust that the test set was only used a single time. To whatever extent the model doesn't do as well in 2022 as it did at the time it was created, that comes down to concept drift and data drift.</p>
]]></description><pubDate>Sun, 12 Feb 2023 13:41:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=34762745</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=34762745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34762745</guid></item><item><title><![CDATA[New comment by muraiki in "Deep learning for twelve hour precipitation forecasts"]]></title><description><![CDATA[
<p>"The training, validation and test data sets are generated without overlap from periods in sequence. Successive periods of 400, 12, 40, 40 and 12 h are used to sample, respectively, training, validation, and test data, with the two 12 h periods inserted as hiatus."</p>
]]></description><pubDate>Sun, 12 Feb 2023 13:36:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=34762701</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=34762701</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34762701</guid></item><item><title><![CDATA[New comment by muraiki in "Wonderful Progress Against Severe Lupus"]]></title><description><![CDATA[
<p>Looks like two studies contradict that: <a href="https://www.psychologytoday.com/us/blog/open-gently/201802/are-acid-reducers-increasing-dementia" rel="nofollow">https://www.psychologytoday.com/us/blog/open-gently/201802/a...</a></p>
]]></description><pubDate>Fri, 03 Feb 2023 11:20:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=34639792</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=34639792</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34639792</guid></item><item><title><![CDATA[New comment by muraiki in "How to Lose Functional Programming at Work"]]></title><description><![CDATA[
<p>Ha, I did the same thing, and in Perl nonetheless! My poor boss. I guess he forgave me since we’re still friends!<p>Edit: A good book: <a href="https://en.m.wikipedia.org/wiki/Higher-Order_Perl" rel="nofollow">https://en.m.wikipedia.org/wiki/Higher-Order_Perl</a></p>
]]></description><pubDate>Sun, 29 Jan 2023 15:06:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=34568727</link><dc:creator>muraiki</dc:creator><comments>https://news.ycombinator.com/item?id=34568727</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34568727</guid></item></channel></rss>