<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: neopallium</title><link>https://news.ycombinator.com/user?id=neopallium</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 10 Jun 2026 05:51:29 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=neopallium" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by neopallium in "Establishing a UART Root Connection to a TP-Link Wireless Router"]]></title><description><![CDATA[
<p>I needed to get the PPPoE account off a router once (My boss didn't remember the router's admin password), so I connected the WAN port to my laptop and captured the PPPoE packets.  I might have had to use a second ethernet port (USB hub with eth port) to allow the old router to talk to the telcom modem.  Just bridge the two ports and capture the traffic.</p>
]]></description><pubDate>Wed, 29 Mar 2023 16:32:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=35359616</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=35359616</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35359616</guid></item><item><title><![CDATA[New comment by neopallium in "StackOverflow user talks about GPT4"]]></title><description><![CDATA[
<p>Create a StackOverflow + GPT site where questions can be asked in public with both human and AI answers.  Make it clear to users that the content will be used in future training sets.</p>
]]></description><pubDate>Mon, 27 Mar 2023 13:23:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=35326372</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=35326372</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35326372</guid></item><item><title><![CDATA[New comment by neopallium in "Emitting Safer Rust with C2Rust"]]></title><description><![CDATA[
<p>I used c2rust to start rewriting OpenJpeg into Rust code [0].<p>It was easy to get the Rust code compiled and working as a drop-in-replacement for the C Library.  This has been a big help with refactoring the unsafe Rust code into safe Rust (manual work).  OpenJpeg has a great testsuite that has allowed testing that each refactor step doesn't add new bugs (has happened at least 3 times).<p>The original run of c2rust generated 96,842 lines of Rust code (about 1 year ago), now it is down to 46,873 lines code.  A lot of the extra 50k lines of code were from C macros that got expanded and from constant lookup tables (C code had 10-30 values per line, Rust 1 value 1 line).<p>For anyone looking to use c2rust to port C code to Rust, I recommend the following:<p><pre><code>  1. Setup some automated testing if it doesn't exist already.
  2. Do refactoring in small amounts, run the tests and commit the changes before doing more refactoring.
  3. Use "search/replace" tools (`sed`) to help with rewriting common patterns.  Make sure to follow #2 when doing this.
  4. Don't re-organize the code until after most of the unsafe code has been rewritten.  This will allow easier side-by-side comparison with the original C code.
  5. c2rust expands macros and constants from `#define`.  Being able to do side-by-side comparison of the C code will help with adding constants back in and removing expanded code with Rust macros or just normal Rust functions.
</code></pre>
[0] <a href="https://github.com/Neopallium/openjpeg/tree/master/openjp2-rs">https://github.com/Neopallium/openjpeg/tree/master/openjp2-r...</a></p>
]]></description><pubDate>Thu, 16 Mar 2023 11:37:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=35180665</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=35180665</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35180665</guid></item><item><title><![CDATA[Smallest remote-controlled walking robot]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.cnn.com/2022/05/25/world/worlds-smallest-remote-controlled-walking-robots-scn/index.html">https://www.cnn.com/2022/05/25/world/worlds-smallest-remote-controlled-walking-robots-scn/index.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=31606342">https://news.ycombinator.com/item?id=31606342</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 03 Jun 2022 10:01:53 +0000</pubDate><link>https://www.cnn.com/2022/05/25/world/worlds-smallest-remote-controlled-walking-robots-scn/index.html</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=31606342</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31606342</guid></item><item><title><![CDATA[New comment by neopallium in "DALL-E 2 has a secret language"]]></title><description><![CDATA[
<p>Would it be possible to build a rosetta stone for this secret language with prompts asking for labeled pictures of different categories of objects?  Or prompts about teaching kids different words?</p>
]]></description><pubDate>Tue, 31 May 2022 21:47:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=31575353</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=31575353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31575353</guid></item><item><title><![CDATA[New comment by neopallium in "The overengineered solution to my pigeon problem"]]></title><description><![CDATA[
<p>A motion activated sprinkler could work too.  Or buy a motion detector and have it activate plant water sprayers (the kind used for automatic watering of potted plants).</p>
]]></description><pubDate>Sun, 15 May 2022 08:37:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=31386179</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=31386179</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31386179</guid></item><item><title><![CDATA[New comment by neopallium in "James Webb: 'Fully focused' telescope beats expectations"]]></title><description><![CDATA[
<p>If both Humble and Webb were pointed at the same spot of the sky at the same time, the images could be merged to get a wider range of the light spectrum.</p>
]]></description><pubDate>Wed, 16 Mar 2022 20:17:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=30703489</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=30703489</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30703489</guid></item><item><title><![CDATA[New comment by neopallium in "C2rust: Transpile C to Rust"]]></title><description><![CDATA[
<p>I just started using c2rust on openjpeg [0] (jpeg 2000 encoder/decoder) today and already have it working as a drop in replacement for the C libopenjp2.so on Linux.  Still has a lot of unsafe code, but it does work.  Which will be a big help with testing during refactoring to idiomatic safe Rust.<p>c2rust also has a refactor command that helps with refactoring the generated Rust code.<p>[0] <a href="https://github.com/Neopallium/openjpeg/tree/c2rust" rel="nofollow">https://github.com/Neopallium/openjpeg/tree/c2rust</a></p>
]]></description><pubDate>Tue, 01 Feb 2022 22:09:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=30170198</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=30170198</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30170198</guid></item><item><title><![CDATA[New comment by neopallium in "Rust is now overall faster than C in benchmarks"]]></title><description><![CDATA[
<p>The Rust compiler can auto-vectorize loop code.<p>This blog post shows how to write simple idiomatic Rust code that will allow the compiler to auto-vectorize:<p><a href="http://cliffle.com/p/dangerust/6/" rel="nofollow">http://cliffle.com/p/dangerust/6/</a></p>
]]></description><pubDate>Mon, 04 Jan 2021 05:12:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=25628111</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=25628111</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25628111</guid></item><item><title><![CDATA[New comment by neopallium in "Rust is now overall faster than C in benchmarks"]]></title><description><![CDATA[
<p>Someone wrote a 6 part of blog post [0] about porting that nbody benchmark from C to Rust.  They went from a straight line by line port using unsafe rust using the same SSE based design to clean no-unsafe and no SSE rust code that was faster then the original C code with hand optimized SSE.<p>It is a great example of how the Rust compiler can auto-vectorize code.<p>0. <a href="http://cliffle.com/p/dangerust/6/" rel="nofollow">http://cliffle.com/p/dangerust/6/</a></p>
]]></description><pubDate>Mon, 04 Jan 2021 05:02:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=25628070</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=25628070</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25628070</guid></item><item><title><![CDATA[New comment by neopallium in "FastCGI – The Forgotten Treasure (2002)"]]></title><description><![CDATA[
<p>FastCGI doesn't set environment variables.  Only CGI does that since the CGI binary is executed for each request.  FastCGI binaries run as a server listening on a unix/tcp socket for connections from the frontend web server.  It works the like a webapp listening for http requests on a local socket with reverse http proxy rules setup on the frontend web server.</p>
]]></description><pubDate>Mon, 05 Oct 2020 03:27:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=24684305</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=24684305</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24684305</guid></item><item><title><![CDATA[New comment by neopallium in "Adam Neumann planned for his children and grandchildren to control WeWork"]]></title><description><![CDATA[
<p>I wonder if a database of past videos of these people (after the truth is known) and machine learning would be able to make a bullshit/con detector?  Maybe the same could be done with old PR news from companies that fail to deliver (pump and dump).  Would ML be able to detect if the person truly believes what they are pushing?</p>
]]></description><pubDate>Sun, 20 Oct 2019 05:32:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=21302453</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=21302453</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21302453</guid></item><item><title><![CDATA[New comment by neopallium in "Some notes about HTTP/3"]]></title><description><![CDATA[
<p>The client doesn't have to use a "connected" UDP socket either.  The client can bind to a random local port and use "sendto" to talk to many servers.</p>
]]></description><pubDate>Sat, 24 Nov 2018 00:43:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=18519740</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=18519740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18519740</guid></item><item><title><![CDATA[New comment by neopallium in "Bisected: The Unfortunate Reason Linux 4.20 Is Running Slower"]]></title><description><![CDATA[
<p>Is there a comparison table of CPU vulnerabilities?  I would like to know which CPU has the least vulnerabilities or the best performance after patching.<p>From what I have read so far is seems that AMD CPUs have had the fewest vulnerabilities/slowdowns?  But I can't be sure since I haven't seen a complete comparison (including these new vulnerabilities).</p>
]]></description><pubDate>Sat, 17 Nov 2018 11:27:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=18475050</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=18475050</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18475050</guid></item><item><title><![CDATA[New comment by neopallium in "This Is Why You Shouldn't Interrupt a Programmer (2013)"]]></title><description><![CDATA[
<p>I have lost my train of thought from vague comments or questions like that.<p>The comment in the article was "…email about that 'thing'".  I would immediately think "what thing?", then everything else goes down the drain.</p>
]]></description><pubDate>Sat, 22 Sep 2018 02:32:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=18044135</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=18044135</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18044135</guid></item><item><title><![CDATA[New comment by neopallium in "Is serverless insecure? Let's find out"]]></title><description><![CDATA[
<p>Also with: ps get<p>Found that accidentally because of autocomplete on my phone changed "-ef" to "get".</p>
]]></description><pubDate>Sun, 19 Aug 2018 03:15:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=17792361</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=17792361</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17792361</guid></item><item><title><![CDATA[New comment by neopallium in "Darwin/macOS emulation layer for Linux"]]></title><description><![CDATA[
<p>The readme has an example of unpacking Xcode and compiling a simple helloworld program using the CLI.</p>
]]></description><pubDate>Thu, 09 Aug 2018 16:39:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=17725761</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=17725761</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17725761</guid></item><item><title><![CDATA[New comment by neopallium in "x64asm: C++ Library with in-memory assembler, parser, and linker"]]></title><description><![CDATA[
<p>LLVM-lua was just an experiment.  I wanted to see what kind of performance statically compiled Lua could achieve.<p>I didn't really need the JIT feature.  But I did add support for it because Lua code can dynamically generate/load more Lua code.<p>I just found that the runtime overhead (memory and stack space) of LLVM was too high for my needs.</p>
]]></description><pubDate>Tue, 02 May 2017 16:18:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=14247712</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=14247712</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14247712</guid></item><item><title><![CDATA[New comment by neopallium in "x64asm: C++ Library with in-memory assembler, parser, and linker"]]></title><description><![CDATA[
<p>I don't think that answer was there when I had first come across that question (back in 2010-2011).<p>That answer is about typed languages.  The issue is with dealing with dynamic types.  There is a lot more code generated for the JIT to compile.</p>
]]></description><pubDate>Tue, 02 May 2017 16:09:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=14247612</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=14247612</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14247612</guid></item><item><title><![CDATA[New comment by neopallium in "x64asm: C++ Library with in-memory assembler, parser, and linker"]]></title><description><![CDATA[
<p>I hadn't heard about that.  I have been working on other projects, so haven't had the time to keep up with the developments in LLVM.<p>Thanks for the heads up.<p>The main issues I had with LLVM was the partly do to the memory usage.  It can product very good machine code, but the time needed to JIT a block of code was sometimes longer then just running the it in the interpreter.<p>One of the features I like about Lua the most is the low resource overhead.  LLVM was just too big for what I was looking for.<p>Usage LLVM to JIT/AOT compile Lua code was really just an experiment, something I wanted to try out.<p>I re-wrote [0] the llvm-lua project with a simple C code-gen backend for compiling Lua code to native code.  Which is a bit more useful, since it is easier to cross-compile pure C code, then LLVM bitcode.  A lot of the people that tried using llvm-lua wanted to cross-compile Lua code and embed it into an iOS application.<p>0. <a href="https://github.com/Neopallium/slua" rel="nofollow">https://github.com/Neopallium/slua</a></p>
]]></description><pubDate>Tue, 02 May 2017 16:05:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=14247569</link><dc:creator>neopallium</dc:creator><comments>https://news.ycombinator.com/item?id=14247569</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14247569</guid></item></channel></rss>