<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: rafinha</title><link>https://news.ycombinator.com/user?id=rafinha</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 01 May 2026 09:46:10 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=rafinha" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by rafinha in "Software engineers can no longer neglect their soft skills"]]></title><description><![CDATA[
<p>The classic "technically strong but lacking soft skills" unheard story about you through the office after your results.</p>
]]></description><pubDate>Sun, 18 Jan 2026 15:37:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46668649</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=46668649</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46668649</guid></item><item><title><![CDATA[New comment by rafinha in "Show HN: Circuit Artist – Circuit simulator with propagation animation, rewind"]]></title><description><![CDATA[
<p>Wow, thanks for the kind words!</p>
]]></description><pubDate>Wed, 07 Jan 2026 02:54:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46521974</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=46521974</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46521974</guid></item><item><title><![CDATA[New comment by rafinha in "Show HN: Circuit Artist – Circuit simulator with propagation animation, rewind"]]></title><description><![CDATA[
<p>Hi thanks!
Sure, certainly!
I also want to eventually add some physics-based levels for fun, with like a box2D  sim interacting with the circuits (with N circuit ticks = 1 box2D "tick"), or even little games on top of the circuit, but I need these tutorial campaigns first otherwise the step curve is way too high.</p>
]]></description><pubDate>Mon, 05 Jan 2026 18:22:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46502572</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=46502572</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46502572</guid></item><item><title><![CDATA[New comment by rafinha in "Show HN: Circuit Artist – Circuit simulator with propagation animation, rewind"]]></title><description><![CDATA[
<p>Hi, thanks!
Today the game is focused on digital logic, It would be fun to put resistors, capacitors or maybe transistors, maybe as a mod, but the algorithm would be a little different, would need analog simulation which I'm less familiar with.<p>Would probably be slower but doable, fun mod for the future!</p>
]]></description><pubDate>Mon, 05 Jan 2026 15:23:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=46499834</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=46499834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46499834</guid></item><item><title><![CDATA[New comment by rafinha in "Show HN: Circuit Artist – Circuit simulator with propagation animation, rewind"]]></title><description><![CDATA[
<p>Thanks!</p>
]]></description><pubDate>Mon, 05 Jan 2026 15:20:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46499780</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=46499780</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46499780</guid></item><item><title><![CDATA[Show HN: Circuit Artist – Circuit simulator with propagation animation, rewind]]></title><description><![CDATA[
<p>Hello,<p>Circuit Artist is a game about drawing digital circuits as pixel art — like MS Paint, but pixels are wires and little triangles are NANDs. Hit play and the simulation runs in real time. It's fully white-box: every wire's state is visible.<p>I launched it last year with a unit-delay simulation that ran until convergence on each update. It worked, but I realized it had some fundamental problems:<p>(i) It hid what was actually happening. Players couldn't tell the difference between a ripple carry adder and a look-ahead adder — everything just resolved instantly.<p>(ii) Design bugs became "game bugs." When players had non-converging wires (like A = not(A)), the game couldn't explain why or where the error was.<p>(iii) Layout didn't matter. A NAND on one side of the map would instantly propagate to the opposite side, making spatial decisions meaningless. Unit delay probably works better for schematic-based simulators like Logisim, not a layout-focused game like this.<p>(iv) Propagation visualization couldn't be added on top of the unit-delay engine — there was no notion of direction or distance.<p>So I rebuilt the engine with variable-delay event-based simulation using an adaptation of Elmore delay. The delay for each wire depends on distance and fanout — longer wires are slower, higher fanout adds delay, branching wires are faster.<p>For the implementation: I compute Elmore delay over wire trees. Each pixel has resistance and capacitance, with NAND inputs as nodes to account for fanout. For non-tree wire graphs, I build a Dijkstra-based spanning tree (driver as root) and interpolate for edges outside the tree. I calculate the delay for each node and project it back to the image so every pixel has a distance.<p>This lets me animate propagation with a glow effect during simulation. The shader knows when each wire was triggered, the current time, and the Elmore distance of each pixel, so it resolves state per-pixel in real time.<p>On top of that:<p>- Time rewind: the simulation is now delta-based, so players can freeze and scrub backwards to debug. Super useful for cyclic circuits.<p>- Layers: since timing matters now, I added up to 3 layers. NANDs only go on the bottom layer, upper layers propagate faster (lower capacitance). Lets you route wires above dense NAND areas.<p>The game has a campaign for learning from scratch, though it's still incomplete and in progress. I'm working toward Steam Workshop support so people can create their own campaigns to teach different concepts or cover more advanced topics.<p>GitHub (full source): <a href="https://github.com/lets-all-be-stupid-forever/circuit-artist" rel="nofollow">https://github.com/lets-all-be-stupid-forever/circuit-artist</a><p>Steam: <a href="https://store.steampowered.com/app/3139580/Circuit_Artist/" rel="nofollow">https://store.steampowered.com/app/3139580/Circuit_Artist/</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46445412">https://news.ycombinator.com/item?id=46445412</a></p>
<p>Points: 135</p>
<p># Comments: 19</p>
]]></description><pubDate>Wed, 31 Dec 2025 16:12:20 +0000</pubDate><link>https://github.com/lets-all-be-stupid-forever/circuit-artist</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=46445412</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46445412</guid></item><item><title><![CDATA[New comment by rafinha in "Circuit Artist – Pixel art circuit design with NANDs, now with rewind and layers"]]></title><description><![CDATA[
<p>Thanks! Yeah I got inspiration from Wireworld and Wired logic , just wanted to build a "paint" layer on top of it one day but i end up adding more and more :)</p>
]]></description><pubDate>Sat, 27 Dec 2025 02:47:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46398607</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=46398607</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46398607</guid></item><item><title><![CDATA[New comment by rafinha in "Circuit Artist – Pixel art circuit design with NANDs, now with rewind and layers"]]></title><description><![CDATA[
<p>Hello, I've just added some new changes to my circuit simulation and game and wanted to share it here.<p>The game is open source and available in full in Github and on Steam:<p><a href="https://github.com/lets-all-be-stupid-forever/circuit-artist" rel="nofollow">https://github.com/lets-all-be-stupid-forever/circuit-artist</a><p><a href="https://store.steampowered.com/app/3139580/Circuit_Artist/" rel="nofollow">https://store.steampowered.com/app/3139580/Circuit_Artist/</a><p>More info on the github page, thanks.</p>
]]></description><pubDate>Sat, 27 Dec 2025 02:21:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=46398496</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=46398496</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46398496</guid></item><item><title><![CDATA[Circuit Artist – Pixel art circuit design with NANDs, now with rewind and layers]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/lets-all-be-stupid-forever/circuit-artist">https://github.com/lets-all-be-stupid-forever/circuit-artist</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46398495">https://news.ycombinator.com/item?id=46398495</a></p>
<p>Points: 4</p>
<p># Comments: 3</p>
]]></description><pubDate>Sat, 27 Dec 2025 02:21:49 +0000</pubDate><link>https://github.com/lets-all-be-stupid-forever/circuit-artist</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=46398495</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46398495</guid></item><item><title><![CDATA[New comment by rafinha in "Way past its prime: how did Amazon get so rubbish?"]]></title><description><![CDATA[
<p>The genious leadership at prime video thought it would be a good idea to introduce adds not only on the beginning of movies but also in the middle of it, with an extra paid option (on top of prime) to remove it. When an add appeared I got so frustrated I cancelled my prime subscription at that very moment. I wonder if they even considered/cared about brand reputation impact.</p>
]]></description><pubDate>Sun, 05 Oct 2025 07:47:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=45479678</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=45479678</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45479678</guid></item><item><title><![CDATA[New comment by rafinha in "Show HN: The current sky at your approximate location, as a CSS gradient"]]></title><description><![CDATA[
<p>Same!</p>
]]></description><pubDate>Sat, 09 Aug 2025 23:46:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=44851438</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=44851438</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44851438</guid></item><item><title><![CDATA[New comment by rafinha in "The Alexa feature "Do Not Send Voice Recordings" you enabled no longer available"]]></title><description><![CDATA[
<p>It's handy for non-tech-savy people, namely the elderly. It can be used for playing music: "Alexa play X", "Alexa shutdown" is all the user needs to know.</p>
]]></description><pubDate>Mon, 17 Mar 2025 09:52:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=43386702</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=43386702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43386702</guid></item><item><title><![CDATA[New comment by rafinha in "Yi Peng 3 crossed both cables C-Lion 1 and BSC at times matching when they broke"]]></title><description><![CDATA[
<p>If a cable goes down, isn't the traffic just re-routed? Don't see the point of intentional damage here.</p>
]]></description><pubDate>Wed, 20 Nov 2024 21:31:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=42198315</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=42198315</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42198315</guid></item><item><title><![CDATA[New comment by rafinha in "Trump wins presidency for second time"]]></title><description><![CDATA[
<p>That "enough of the damn emails" moment from Bernie Sanders during the democratic debate was very weird to say the least. It seemed he wasnt interested at all at moving forward with the nomination.</p>
]]></description><pubDate>Wed, 06 Nov 2024 13:45:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=42062186</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=42062186</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42062186</guid></item><item><title><![CDATA[New comment by rafinha in "Show HN: I made a digital circuit drawing and simulation game"]]></title><description><![CDATA[
<p>That looks cool, I'll take a look thanks! I've been studying how to implement blueprints+layers, that might give some good clues indeed, thanks!</p>
]]></description><pubDate>Mon, 16 Sep 2024 09:24:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=41554267</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=41554267</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41554267</guid></item><item><title><![CDATA[New comment by rafinha in "Show HN: I made a digital circuit drawing and simulation game"]]></title><description><![CDATA[
<p>You're right, I'll put better instructions this week. In the message you sent it seems to be a git submodule initialization thing.</p>
]]></description><pubDate>Mon, 16 Sep 2024 09:17:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=41554234</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=41554234</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41554234</guid></item><item><title><![CDATA[New comment by rafinha in "Show HN: I made a digital circuit drawing and simulation game"]]></title><description><![CDATA[
<p>I haven't thought of that. It might be cool to add something like that for some extra puzzle/optimisation element. I guess it might be useful for netlist export? thanks</p>
]]></description><pubDate>Sun, 15 Sep 2024 14:07:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=41547612</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=41547612</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41547612</guid></item><item><title><![CDATA[New comment by rafinha in "Show HN: I made a digital circuit drawing and simulation game"]]></title><description><![CDATA[
<p>I'm glad you liked it :) .
That's a good idea for the colors, I'll put it in, thanks!
You're also right about the trailer, I'll put it there.</p>
]]></description><pubDate>Sun, 15 Sep 2024 07:25:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=41545852</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=41545852</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41545852</guid></item><item><title><![CDATA[Show HN: I made a digital circuit drawing and simulation game]]></title><description><![CDATA[
<p>Inspired by games like Turing Complete/Virtual Circuit Board/Logic World, I tried to make a mix of aseprite and wiredworld/wired-logic, the idea being the user can build a digital circuit using a "fullstack" pixelart creation workflow.<p>The circuit is just an image. The primitives are (i) connected wires which have undefined, 0 or 1 state during simulation (displayed brighter or darker in function of the state) and (ii) NANDs, which are little pixel triangles. During simulation the user can interact with any wire by clicking on it, toggling its state, which is cool for messing around when learning. The simulation uses a unit-delay event driven algorithm.<p>Then, on top of that there are little wire interfaces on the left side of the image  that communicate with an external system. This external system is defined in lua and is simulated together with the main circuit (they alternate until convergence). By default there's a sandbox mode with a clock and a power-on-reset signal. The user can choose other "levels", where the API change and there are some problems to solve, from finding if a number is multiple of 3 to solving hanoi tower to finding if a number is prime.   The idea is that if the user want to learn but not sure what to do they can try to solve these puzzles, or they can change the lua scripts to add their own stuff/interface for a custom project.<p>I've also included a small wiki (circuitopedia) with some basic digital concepts to guide  those who are new or are a bit rusty. It's not super detailed but I guess it can at the very least present the concepts so the user can dig further on more serious material if they want to.<p>I developed the game in C with raylib, with scripting in lua/luajit. I've put the game on steam (for windows) and released the source code on github under GPLv3. There's also a web demo version on itch.io, even though it's a bit laggy: <a href="https://lets-all-be-stupid-foreva.itch.io/circuit-artist-demo" rel="nofollow">https://lets-all-be-stupid-foreva.itch.io/circuit-artist-dem...</a> .<p>Feedback is appreciated!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41543642">https://news.ycombinator.com/item?id=41543642</a></p>
<p>Points: 139</p>
<p># Comments: 14</p>
]]></description><pubDate>Sat, 14 Sep 2024 22:43:51 +0000</pubDate><link>https://github.com/lets-all-be-stupid-forever/circuit-artist</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=41543642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41543642</guid></item><item><title><![CDATA[New comment by rafinha in "DensePose: Dense Human Pose Estimation in the Wild"]]></title><description><![CDATA[
<p>This looks so cool! I wonder if they'll make training data available</p>
]]></description><pubDate>Fri, 02 Feb 2018 20:25:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=16293921</link><dc:creator>rafinha</dc:creator><comments>https://news.ycombinator.com/item?id=16293921</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16293921</guid></item></channel></rss>