<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: codehero</title><link>https://news.ycombinator.com/user?id=codehero</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 13 May 2026 17:14:12 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=codehero" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by codehero in "Restore full BambuNetwork support for Bambu Lab printers"]]></title><description><![CDATA[
<p>I run in LAN/Developer Mode on the X1C and P1S and I sync filaments just fine. I don't monitor my prints with my phone but if I wanted to I wouldn't complain about the lack of Bambu support on the DEVELOPER MODE! I think the clear call to action here is to DEVELOP your own software.</p>
]]></description><pubDate>Wed, 13 May 2026 14:03:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48122037</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=48122037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48122037</guid></item><item><title><![CDATA[New comment by codehero in "TCXO Failure Analysis"]]></title><description><![CDATA[
<p>Depends on the quality of the solder joint.
Poor quality solder joints do not survive mechanical shock.
If you are fighting a GND pin that sinks a lot of heat, using leadfree solder and you aren't that skilled...don't trim that lead flush with the PCB.
Otherwise, if you are sure that the solder has wicked into the hole, trim away.<p>So if someone is telling you not to trim the lead...I'll let you draw your own conclusion.</p>
]]></description><pubDate>Tue, 10 Mar 2026 15:06:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47324286</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=47324286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47324286</guid></item><item><title><![CDATA[New comment by codehero in "Ubus (OpenWrt micro bus architecture)"]]></title><description><![CDATA[
<p>Pipes and named FIFOs are easy and great. I say this after implementing various IPC methods (unix domain sockets with fd passing, POSIX message queues, 0MQ, XML RPC, local TCP sockets, just to name a few). Use a simple line oriented protocol. If you are passing complex data through your IPC, you know it's time for files. Shared memory is another way to do IPC but hopefully you have robust method of detecting the liveliness of your local processes and you want to give up the Unix file paradigm.</p>
]]></description><pubDate>Sun, 27 Aug 2023 22:27:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=37287228</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=37287228</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37287228</guid></item><item><title><![CDATA[New comment by codehero in "Pikchr: A PIC-like markup language for diagrams in technical documentation"]]></title><description><![CDATA[
<p>Can anyone explain to me the advantages of Pikchr over dotfiles?</p>
]]></description><pubDate>Mon, 24 Jul 2023 14:40:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=36848803</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=36848803</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36848803</guid></item><item><title><![CDATA[New comment by codehero in "Libfive: Solid modeling (CAD) library/tools with Scheme/Python bindings and GUI"]]></title><description><![CDATA[
<p>Any reason why the first example (subtracted sphere) is rotating off axis or possibly has bad geometry?</p>
]]></description><pubDate>Mon, 26 Apr 2021 11:38:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=26941445</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=26941445</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26941445</guid></item><item><title><![CDATA[New comment by codehero in "Efficient string copying and concatenation in C"]]></title><description><![CDATA[
<p>Safe string manipulation never exceeds the bounds of the buffer. So negative values are dangerous, as all as any additions that would exceed the maximum size.<p>Negative lengths are not compatible with unsigned representation.<p>A system implementing invalid string values must choose a text encoding such as UTF-8 that supports the concept of an invalid character. Null termination is too flexible. As such is simple length prepending.</p>
]]></description><pubDate>Sat, 14 Sep 2019 09:11:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=20969703</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=20969703</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20969703</guid></item><item><title><![CDATA[New comment by codehero in "Efficient string copying and concatenation in C"]]></title><description><![CDATA[
<p>You're explanation is not inconsistent with my proposal, but you don't seem to grasp VALIDITY.</p>
]]></description><pubDate>Fri, 13 Sep 2019 10:45:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=20960881</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=20960881</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20960881</guid></item><item><title><![CDATA[New comment by codehero in "Efficient string copying and concatenation in C"]]></title><description><![CDATA[
<p>If you have studied Computer Science, you should know that the null string is quite a valid string.<p>Let's take strstr, which finds a matching substring needle in a haystack string.<p>-returns a NULL string if the needle is not in the haystack.
-returns pointer to first matching substring.<p>Extend strstr with VALIDITY<p>Understood behaviour if both are valid.<p>Say the haystack is INVALID...as the return value is NULL or a strict substring of haystack, should return INVALID. A poison haystack should poison dependent strings.<p>Say the haystack is valid but the needle is INVALID...should return NULL. A valid string never contains an INVALID string as a subsequence.</p>
]]></description><pubDate>Fri, 13 Sep 2019 00:06:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=20957788</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=20957788</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20957788</guid></item><item><title><![CDATA[New comment by codehero in "Efficient string copying and concatenation in C"]]></title><description><![CDATA[
<p>Is it more sensible to cat 2 strings, but cut off the second one, then pass off the result as valid?<p>I would say let an INVALID string be length 0. Then accept that catting a valid and invalid string would result in a shorter length.<p>Which one do you think is safer?</p>
]]></description><pubDate>Fri, 13 Sep 2019 00:00:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=20957756</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=20957756</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20957756</guid></item><item><title><![CDATA[New comment by codehero in "Efficient string copying and concatenation in C"]]></title><description><![CDATA[
<p>I don't understand the fallibility.
Clearly misuse of string functions is epidemic.
A propagating INVALID string result makes it very clear there is a logic error and not an exploit.<p>I understand how one could shoot down implementations, but none has made a convincing argument about shooting down the idea.</p>
]]></description><pubDate>Thu, 12 Sep 2019 21:16:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=20956552</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=20956552</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20956552</guid></item><item><title><![CDATA[New comment by codehero in "Efficient string copying and concatenation in C"]]></title><description><![CDATA[
<p>Please support your argument against correctness by providing an example where an INVALID string as input to a suitable modified generic string function would result in a valid string.</p>
]]></description><pubDate>Thu, 12 Sep 2019 20:20:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=20956004</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=20956004</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20956004</guid></item><item><title><![CDATA[New comment by codehero in "Efficient string copying and concatenation in C"]]></title><description><![CDATA[
<p>NULL is the lack of any string.
If one view a string as a result of an operation, then an INVALID string is the consequence of bad input to an operation.</p>
]]></description><pubDate>Thu, 12 Sep 2019 17:57:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=20954353</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=20954353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20954353</guid></item><item><title><![CDATA[New comment by codehero in "Efficient string copying and concatenation in C"]]></title><description><![CDATA[
<p>Propagating NAN is an elegant method in floating point and makes sense for well defined string encodings like UTF-8.<p>memcpy and company are strictly for raw unencoded buffers.</p>
]]></description><pubDate>Thu, 12 Sep 2019 16:57:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=20953710</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=20953710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20953710</guid></item><item><title><![CDATA[New comment by codehero in "Efficient string copying and concatenation in C"]]></title><description><![CDATA[
<p>Efficiency looks past current deficiency.<p>We have the empty string: "\0"<p>We have the null string: NULL<p>There is no concept of an INVALID string, as float has NAN.<p>This would be the result of trying to copy a string to a buffer that is too small.<p>Or sprintf() into a small buffer.<p>Or a raw string parsed as UTF-8 and is invalid.<p>Correctness over efficiency.</p>
]]></description><pubDate>Thu, 12 Sep 2019 16:33:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=20953443</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=20953443</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20953443</guid></item><item><title><![CDATA[New comment by codehero in "Guide to Implementing Communication Protocols in C++ for Embedded Systems"]]></title><description><![CDATA[
<p>I tried really hard to find a main() function browsing the demo source code, but I could not. I also find it interesting that code boilerplating is called out as a problem, but I run into code like this:<p><pre><code>  #include "Protocol.h"

  #include "comms/comms.h"

  namespace cc = comms_champion;

  namespace demo
  {

  namespace cc_plugin
  {

  Protocol::~Protocol() noexcept = default;

  const QString& Protocol::nameImpl() const
  {
      static const QString& Str("Demo");
      return Str;
  }

  }  // namespace cc_plugin

  }  // namespace demo</code></pre></p>
]]></description><pubDate>Tue, 12 Jun 2018 10:49:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=17292134</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=17292134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17292134</guid></item><item><title><![CDATA[New comment by codehero in "Minimalist C Libraries"]]></title><description><![CDATA[
<p>Choose the size representation that bests fits your use case:<p><pre><code>  // Put this in header to help user calculate allocation needs but hide size from user
  size_t LIBNAME_alloc_size(param1, param2, ...);

  // Put this in the header to hide the size from user code but allow inlined size calculations
  extern const size_t LIBNAME_ALLOC_X;

  // Put this in the header to make size known to user (for static const allocation)
  #define LIBNAME_ALLOC_Y ((size_t)42)</code></pre></p>
]]></description><pubDate>Mon, 11 Jun 2018 11:19:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=17283335</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=17283335</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17283335</guid></item><item><title><![CDATA[New comment by codehero in "Beware of strncpy and strncat"]]></title><description><![CDATA[
<p>If your strings are > 65535 bytes in length, consider buffering the string data or using another data structure.</p>
]]></description><pubDate>Wed, 06 Jun 2018 17:41:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=17249269</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=17249269</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17249269</guid></item><item><title><![CDATA[New comment by codehero in "Just how smart is an octopus?"]]></title><description><![CDATA[
<p>Pet pig owner here. Pigs are problem solvers. Pigs are optimizers.<p>The following videos of my pig demonstrate this.<p>Video 2: Pig is first learning the task.<p>Video 3: Pig has slightly optimized the task.<p>Video 1: Pig has mastered the task.<p><a href="https://www.dropbox.com/sh/37f48azh2bt4xk4/Wy3iHDMp1e?preview=CocoTechnique.3gp" rel="nofollow">https://www.dropbox.com/sh/37f48azh2bt4xk4/Wy3iHDMp1e?previe...</a></p>
]]></description><pubDate>Mon, 09 Jan 2017 19:54:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=13359245</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=13359245</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13359245</guid></item><item><title><![CDATA[New comment by codehero in "Ncollide – 2D and 3D collision detection library"]]></title><description><![CDATA[
<p>Why use this library when similar libraries implemented in C have been in production for decades?</p>
]]></description><pubDate>Fri, 06 May 2016 22:01:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=11647005</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=11647005</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11647005</guid></item><item><title><![CDATA[New comment by codehero in "Ncollide – 2D and 3D collision detection library"]]></title><description><![CDATA[
<p>Ever used OpenSCAD? Try doing CSG operations with CGAL on complex STL surfaces. Then take those same surfaces with vtk, use their boolean operations. Faster but with significantly more errors.</p>
]]></description><pubDate>Fri, 06 May 2016 22:00:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=11646997</link><dc:creator>codehero</dc:creator><comments>https://news.ycombinator.com/item?id=11646997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11646997</guid></item></channel></rss>