<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: axilmar</title><link>https://news.ycombinator.com/user?id=axilmar</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Apr 2026 08:08:50 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=axilmar" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by axilmar in "Liskov Substitution: The real meaning of inheritance"]]></title><description><![CDATA[
<p>Amen.<p>Reading the comments from top to bottom, the above is exactly what I wanted to write.</p>
]]></description><pubDate>Wed, 22 Jan 2025 09:30:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=42790865</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=42790865</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42790865</guid></item><item><title><![CDATA[New comment by axilmar in "How fast is quantum entanglement? Scientists investigate it at attosecond scale"]]></title><description><![CDATA[
<p>What if there are hidden properties that affect each particle of a pair <i>after</i> they are split, in predetermined ways? that would certainly create correlations that seem to be created on the fly, but they would simply be the result of the inner workings of particles that don't communicate.<p>For example, if we have two balls, each containing a spin mechanism inside them which makes them spin in relation, let's say, to the magnetic north, and we throw one of them to the other...and later we discover that their spin is somehow correlated.<p>That is not action at a distance, that is the result of the inner mechanism of each ball.<p>Why not a similar thing happens with particles?</p>
]]></description><pubDate>Wed, 23 Oct 2024 07:42:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=41922757</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=41922757</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41922757</guid></item><item><title><![CDATA[New comment by axilmar in "Time is a dimension, but not like space"]]></title><description><![CDATA[
<p>Of course the math check out, they are correct, but in my opinion, time is not a dimension, it's the 'refresh rate' of matter.<p>To me, there are only 3 dimensions, that of space.<p>That does not mean the relativity math is useless. On the contrary, what they describe is real and we can experimentally verify it.<p>But that does not mean we can 'move' into time, as we 'move' into space. That's why time is not a dimension.</p>
]]></description><pubDate>Mon, 21 Oct 2024 08:49:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=41902014</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=41902014</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41902014</guid></item><item><title><![CDATA[New comment by axilmar in "Breaking Bell's Inequality with Monte Carlo Simulations in Python"]]></title><description><![CDATA[
<p>> In general, classical correlation cannot break the Bell inequalities [assuming no peeking, ie. no action-at-a-distance in the measurement devices].<p>What if the particles have properties that mutate their state after they are sent to Alice and Bob?<p>Suppose, in the billiards example, that I put a small device into the balls that changes the spin of the ball to some predefined value.<p>Wouldn't that break the Bell inequalities without action at a distance?<p>The reason for the breaking would be that the state of the balls would be modified after they are sent to Alice and Bob. It would look like action at a distance without being 'action at a distance'.</p>
]]></description><pubDate>Thu, 12 Sep 2024 13:38:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=41520816</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=41520816</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41520816</guid></item><item><title><![CDATA[New comment by axilmar in "Breaking Bell's Inequality with Monte Carlo Simulations in Python"]]></title><description><![CDATA[
<p>> Victor can prepare a pair of quantum particles in a special state known as an entangled state. In this state, the outcomes of Alice's and Bob's measurements are not just random but are correlated in a way that defies any classical explanation based on local hidden variables.<p>What if there are no hidden properties per particle, but the combination of specific property values of particles allow for breaking Bell's Inequality?<p>I.e. what we call 'entanglement', it might not be 'action-at-a-distance', but the simple effect of the interaction of the properties of the two particles as they are generated.<p>For example, if we have two billiard balls, which are really close together, and we hit them with a third ball simultaneously, their spin will be correlated when we measure it for both balls (without taking into account other factors, i.e. friction, tilting of the table etc). Wouldn't that break Bell's inequality as well? the spins of the two balls will be correlated.</p>
]]></description><pubDate>Thu, 12 Sep 2024 11:18:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=41519547</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=41519547</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41519547</guid></item><item><title><![CDATA[New comment by axilmar in "Why Haskell?"]]></title><description><![CDATA[
<p>My question for Haskellers is how to do updates of values on a large scale, let's say in a simulation.<p>In imperative languages, the program will have a list of entities, and there will be an update() function for each entity that updates its state (position, etc) inline, i.e. new values are overwriten onto old values in memory, invoked at each simulation step.<p>In Haskell, how is that handled? do I have to recreate the list of entities with their changes at every simulation step? does Haskell have a special construct that allows for values to be overwritten, just like in imperative languages?<p>Please don't respond with 'use the IO monad' or 'better use another language because Haskell is not up for the task'. I want an actual answer. I've asked this question in the past in this and some other forums and never got a straight answer.<p>If you reply with 'use the IO monad' or something similar, can you please say if  whatever you propose allows for in place update of values? It's important to know, for performance reasons. I wouldn't want to start simulations in a language that requires me to reconstruct every object at every simulation step.<p>I am asking for this because the answer to 'why Haskell' has always been for me 'why not Haskell: because I write simulations and performance is of concern to me'.</p>
]]></description><pubDate>Thu, 12 Sep 2024 11:03:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=41519451</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=41519451</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41519451</guid></item><item><title><![CDATA[New comment by axilmar in "Microservices vs. Monoliths: Why Startups Are Getting "Nano-Services" All Wrong"]]></title><description><![CDATA[
<p>Here is a good approach between using microservices or a monolith: create your product as a series of libraries that can be used to built either a microservices-based product or a monolith product.<p>In this way, you can turn a monolith to microservices very easily, since the core of your code will be there already.</p>
]]></description><pubDate>Wed, 11 Sep 2024 13:20:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=41511096</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=41511096</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41511096</guid></item><item><title><![CDATA[New comment by axilmar in "Windows Control Panel set for deprecation"]]></title><description><![CDATA[
<p>The Settings app is a control panel though.</p>
]]></description><pubDate>Fri, 23 Aug 2024 12:39:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=41328503</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=41328503</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41328503</guid></item><item><title><![CDATA[New comment by axilmar in "Should Have Used Ada (SHUA) #1 – Goto Fail"]]></title><description><![CDATA[
<p>This story makes me wonder if it's better to use Ada/SPARK than Rust, from a safety perspective.</p>
]]></description><pubDate>Mon, 22 Jul 2024 14:04:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=41034508</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=41034508</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41034508</guid></item><item><title><![CDATA[New comment by axilmar in "Where did you go, Ms. Pac-Man?"]]></title><description><![CDATA[
<p>It's a shame really that Namco didn't want to pay a lot of money for the rights of Ms Pac Man.<p>I don't understand their approach.<p>They clearly have a lot more money in their disposal than AtGames. Why not buy the second most significant character in the Pacman franchise?</p>
]]></description><pubDate>Wed, 19 Jun 2024 08:29:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=40726117</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=40726117</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40726117</guid></item><item><title><![CDATA[New comment by axilmar in "Ask HN: Do you write specs/requirements for things you work on, do you like it?"]]></title><description><![CDATA[
<p>Requirements always exist in a project, even if they are not written.<p>And how they cannot exist, since the only reason a program is written is because of some need...<p>And since requirements always do exist, they better be in written form, so as that they can be referenced, tested, discussed etc.<p>In previous projects, JIRA was used. In the current project, an internal tool is used, pretty much similar to JIRA.<p>In some older projects, a simple Word document was used and an Excel sheet for tracking progress.<p>Writing a requirement should be simple enough: it shall either define things, or describe processes and their side effects.<p>It is better to have a dedicated person to write them, because the wording and style of requirements should be consistent, and the person that writes them will gradually be more and more experienced in writing better requirements.<p>Having good requirements makes it a lot easier for developers to write the required programs.</p>
]]></description><pubDate>Wed, 03 Apr 2024 08:56:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=39914980</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=39914980</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39914980</guid></item><item><title><![CDATA[New comment by axilmar in "Coding Is Hard"]]></title><description><![CDATA[
<p>Coding is hard because most APIs suck. Most APIs<p>a) contain many leaky abstractions.<p>b) are unnecessarily complex in order to adhere to a specific ideology.<p>c) have various gotchas, either documented or undocumented.<p>d) the basic concepts behind them make sense only to the authors.<p>e) do not contain any abstractions at all, exposing all raw technical details to the user.<p>f) many details about their parameters are not documented at all.<p>g) have undisclosed side effects.<p>h) not implemented in the same way in different platforms.
etc.<p>With all these and many more, a newcomer to coding can feel lost for many years.</p>
]]></description><pubDate>Mon, 20 Nov 2023 09:46:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=38345565</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=38345565</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38345565</guid></item><item><title><![CDATA[New comment by axilmar in "HTML Web Components: An Example"]]></title><description><![CDATA[
<p>Why bother? the percentage of users that have JS disabled is what nowadays? 0.000000000001% maybe? even smaller?</p>
]]></description><pubDate>Mon, 20 Nov 2023 09:35:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=38345445</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=38345445</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38345445</guid></item><item><title><![CDATA[New comment by axilmar in "Learn Wayland by writing a GUI from scratch"]]></title><description><![CDATA[
<p>Way too many chances for buffer overflows.<p>It is a nice approach to learn how things work, but not a recommended approach for building anything useful.</p>
]]></description><pubDate>Tue, 17 Oct 2023 08:33:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=37912096</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=37912096</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37912096</guid></item><item><title><![CDATA[New comment by axilmar in "Making C++ safe without borrow checking, reference counting, or tracing GC"]]></title><description><![CDATA[
<p>My idea for C++ memory safety would be compile time reference counting.<p>I.e. the compiler/tool to go through the code, as if it was executing, and apply reference counting to objects, revealing whether an object will be destroyed normally, prematurely or never.<p>This is what we actually do as humans by the way, when we are developing an algorithm in C++ with manual memory management. We do it implicitly though.</p>
]]></description><pubDate>Sat, 24 Jun 2023 08:46:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=36456805</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=36456805</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36456805</guid></item><item><title><![CDATA[New comment by axilmar in "Graphical Unix has always had desktop environments"]]></title><description><![CDATA[
<p>My favorite non-X-windows GUI was NeWS.<p>It had some good capabilities not found elsewhere.<p><a href="https://en.wikipedia.org/wiki/NeWS" rel="nofollow">https://en.wikipedia.org/wiki/NeWS</a></p>
]]></description><pubDate>Thu, 18 May 2023 08:43:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=35985437</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=35985437</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35985437</guid></item><item><title><![CDATA[New comment by axilmar in "MutexProtected: A C++ Pattern for Easier Concurrency"]]></title><description><![CDATA[
<p>Nice pattern, but it only solves the problem of having to use a mutex, which is almost never the problem. Deadlocks are way more nastier to handle.<p>In order to solve deadlocks, I created a mutex that first does a try lock, then if that fails it unlocks all mutexes of the thread and then relocks them in memory order.<p>Not very efficient some times, especially if there are many mutexes involved (i.e maybe it does not scale up), but it allows me to have algorithms not deadlock.<p>Perhaps it could be made more efficient with various tricks, I may have to do research on that idea...</p>
]]></description><pubDate>Fri, 07 Apr 2023 09:54:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=35479928</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=35479928</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35479928</guid></item><item><title><![CDATA[New comment by axilmar in "C Strings and my slow descent to madness"]]></title><description><![CDATA[
<p>For string heavy workload, C is ideal, provided that you don't use C string functions.<p>You can always allocate a very large buffer and do your string operations there, using memncpy and the assorted functions which can be inlined in many architectures and be really fast.<p>Then you can dispose of the buffer really quickly with one call or reuse it for later operations by simply setting a few pointers to initial status...</p>
]]></description><pubDate>Fri, 07 Apr 2023 09:42:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=35479882</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=35479882</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35479882</guid></item><item><title><![CDATA[New comment by axilmar in "‘Alien calculus’ could save particle physics from infinities"]]></title><description><![CDATA[
<p>Sincere question: could it be that the underlying structure of the universe is really simple but since we have no idea what it is we have to use exotic mathematics for it?</p>
]]></description><pubDate>Fri, 07 Apr 2023 09:18:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=35479771</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=35479771</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35479771</guid></item><item><title><![CDATA[New comment by axilmar in "“Clean” code, horrible performance"]]></title><description><![CDATA[
<p>In C++, you can have clean code and performance, by utilizing templates.<p>In the example given, all polymorphism can be removed, and the shapes can be stored in std::tuple structure.<p>And then the operations would be faster than C, since no switch statement would be needed.</p>
]]></description><pubDate>Tue, 28 Feb 2023 23:23:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=34976396</link><dc:creator>axilmar</dc:creator><comments>https://news.ycombinator.com/item?id=34976396</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34976396</guid></item></channel></rss>