<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: PhaseLockk</title><link>https://news.ycombinator.com/user?id=PhaseLockk</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 06 May 2026 13:56:19 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=PhaseLockk" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by PhaseLockk in "EEVblog: The 555 Timer is 55 years old [video]"]]></title><description><![CDATA[
<p>You can learn about the origin of the 555 timer from its creator in his free book here: <a href="http://www.designinganalogchips.com/" rel="nofollow">http://www.designinganalogchips.com/</a><p>Fun fact: his original concept needed 9 pins and therefore was going be forced to have a 14 pin package. A late epiphany got it down to the 8 pin version we know today.</p>
]]></description><pubDate>Wed, 06 May 2026 00:01:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48030435</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=48030435</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48030435</guid></item><item><title><![CDATA[New comment by PhaseLockk in "Infineon chip flaws to disrupt IONIQ 5 EV production"]]></title><description><![CDATA[
<p>It's not that there is zero applicable knowledge transfer, but there are definitely some fundamental differences between digital components and analog power devices, in particular.<p>For digital, the transistor are CMOS, optimized to be as tiny as possible, running at < 1V, and with individual devices mostly driving microamps, going up to milliamps in some particular areas of the chip.<p>For power, we're talking about IGBTs, optimized to handle as much power as possible with maximum efficiency, at hundreds of volts.<p>They are both semiconductor devices, but they are about as similar as the engine for a sports car vs. for a panamax cargo ship.</p>
]]></description><pubDate>Thu, 04 Aug 2022 13:43:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=32342782</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=32342782</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32342782</guid></item><item><title><![CDATA[New comment by PhaseLockk in "Farm vehicles approaching weights of sauropods exceed limits for soil function"]]></title><description><![CDATA[
<p>That's what all those citations are for.</p>
]]></description><pubDate>Tue, 24 May 2022 13:27:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=31491794</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=31491794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31491794</guid></item><item><title><![CDATA[New comment by PhaseLockk in "What chords do you need?"]]></title><description><![CDATA[
<p>He was saying that the III of C major is the V of A minor, and so if you are planning to play in A minor using a set of chords pulled from C major, you may want to add a III alongside the iii.</p>
]]></description><pubDate>Thu, 21 Apr 2022 16:38:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=31111708</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=31111708</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31111708</guid></item><item><title><![CDATA[New comment by PhaseLockk in "Nvidia R&D chief on how AI is improving chip design"]]></title><description><![CDATA[
<p>The skills needed to create a chip and the skills needed to create chip design software are fundamentally different. Of all the engineers I've met who work on the physical implementation and timing closure of digital chips, only a very limited number would have any hope of creating some sort of place and route tool, and it would be rudimentary and inefficient. They are not expert programmers.</p>
]]></description><pubDate>Wed, 20 Apr 2022 16:05:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=31098974</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=31098974</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31098974</guid></item><item><title><![CDATA[New comment by PhaseLockk in "Light mode, Dark mode, and Gen-Z mode?"]]></title><description><![CDATA[
<p>Mario Kart on Wii was released in 2008, when the oldest of Gen-Z would have been 11 years old. I'm pretty sure that's too young to be setting design trends.</p>
]]></description><pubDate>Tue, 15 Mar 2022 14:53:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=30686070</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=30686070</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30686070</guid></item><item><title><![CDATA[New comment by PhaseLockk in "Metallurgist admits faking steel test results for US Navy subs"]]></title><description><![CDATA[
<p>I have no idea if there are systems on a submarine that might experience extreme temperatures. But for the hull, since it is constantly surrounded by liquid water, I would expect that it does not regularly experience temperatures less than ~0C. Maybe there's a concern when surfacing in the arctic? That said she obviously shouldn't have faked data whether it was stupid or not.</p>
]]></description><pubDate>Tue, 09 Nov 2021 14:50:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=29162461</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=29162461</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29162461</guid></item><item><title><![CDATA[New comment by PhaseLockk in "Ask HN: Introduction to Analog Synthesizers (Simulation OK)"]]></title><description><![CDATA[
<p>This may not be the level of detail you are looking for, but I found this short tutorial to be effective at explaining the basics:  <a href="https://learningsynths.ableton.com/" rel="nofollow">https://learningsynths.ableton.com/</a><p>Ultimately, I think using synthesizers does entail a lot of exploratory knob turning, even if understanding the effect of different components can help guide you to the sound you are looking for.</p>
]]></description><pubDate>Tue, 13 Jul 2021 16:10:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=27822721</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=27822721</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27822721</guid></item><item><title><![CDATA[New comment by PhaseLockk in "Linux Rust Support"]]></title><description><![CDATA[
<p>Maybe I can try to explain the parent comment's point a different way. When saying that rust works on types and not on arbitrary specifications, I think he is saying that rust is more limited than languages that support arbitrary specifications. However, by making this tradeoff it achieves a reasonable degree of safety without incurring a ton of overhead.<p>I believe the comment that types are aligned with the syntax is meant as a contrast to other languages which include specifications written in a format substantially different from or fully removed from the implementation. This can reduce the friction of using type-based verification when compared to formal verification capable of describing an arbitrarily complicated spec.<p>When discussing the scalability of types, I think he is saying that because types are coupled to the implementation, and don't support non-local reasoning, it is less likely that you will run into issues with type checking as you try to compose many small components into a larger program. In contrast, my impression is that with full formal verification, it can become extremely difficult to properly verify a large system.<p>Regarding your comparison to C and python, I think it's clear that the parent was comparing the specific type system and borrow checker that Rust provides vs. formal verification, not making a statement about the general concept of a type system. In particular, I don't think it's reasonable to assume he was saying the existence of types provides any sort of safety. Rather, it's clear he was saying the use of a powerful type system (such as that found in Rust or Haskell) to implement a limited specification of the program functionality can provide a degree of safety.</p>
]]></description><pubDate>Tue, 06 Jul 2021 15:58:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=27750258</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=27750258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27750258</guid></item><item><title><![CDATA[New comment by PhaseLockk in "IBM creates 2nm chip"]]></title><description><![CDATA[
<p>In the original naming scheme, 2nm would be the length of the transistor gate, which is the smallest feature on the device, not a dimension of the whole transistor. It's not meaningful to compare 2nm to the area numbers given above.</p>
]]></description><pubDate>Thu, 06 May 2021 13:13:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=27062693</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=27062693</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27062693</guid></item><item><title><![CDATA[New comment by PhaseLockk in "Hacker's Guide to Numerical Analysis"]]></title><description><![CDATA[
<p>Exactly this. It may be useful for OP to consider what the hypothetical opposite of significant digits would be: insignificant digits, ie. digits that tell you nothing. A leading zero can be omitted from a number without any loss of information. A trailing zero, when correctly used in a position that is not below the tolerance, gives you significant information. On the other hand, if you start combine numbers with different tolerances, but do not truncate the result, you will have a bunch of trailing digits that are meaningless in practice because they are below the combined tolerance.</p>
]]></description><pubDate>Fri, 19 Mar 2021 19:19:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=26517277</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=26517277</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26517277</guid></item><item><title><![CDATA[New comment by PhaseLockk in "Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer"]]></title><description><![CDATA[
<p>Conceptually HDL is actually very similar to those cases, but with an important difference: simulated time. In an HDL simulator, the simulator starts executing by running code designated to run at time 0 (in Verilog, this is specified using an "initial" block).<p>Looking first at combinational logic: As the simulator goes through the "initial" code, it will set variables to new values. These value changes will activate event listeners throughout the code ("always @ *" or "assign" in Verilog), which represent combinational logic. So if variable "myvar" is updated, and it is an input to an adder in some other module, the always statement which updates the adder output will be triggered. Whenever a combinational event is triggered here at time 0, it is "scheduled" to be resolved at time 0 + delta, where delta just represents a time after time 0, but before time 0.000...01.<p>Alternatively, you can schedule events with a specific delay, such as setting up a clock signal to wait 0.5ns and then toggle. You can then setup event listeners to react to the rising edge of this clock signal ("always @ posedge" in Verilog), giving you synchronous logic.<p>Typically, a simulation will involve a bunch of setup a time 0, combinationally getting every variable to its initial condition. Then there will be no more events scheduled at the current simulator time, so the simulator advances until the next time it has an event scheduled (such as the clock edge at 0.5ns). That value changes from that event will likely trigger many more combinational events that will be resolved before moving onto the next clock edge.<p>So, all of the scheduling basically works the same as event driven javascript, the big difference from what I can tell is that events are scheduled relative to simulator time, rather than real world time, and the time doesn't advance until everything scheduled for the current time has resolved. This lets us simulate the massively concurrent nature of hardware even using a single simulator thread.<p>When considering how this looks in actual hardware, you can still consider clocked elements as being event driven, but it's not obvious that it makes sense to think of combinational gates that way. Still, the tools are designed to construct a circuit that gives you the same result as the event driven semantics, as long as you meet timing constraints.<p>I'm not a simulator expert, so I may be slightly off in my explanation, but hopefully that gives you the general idea!</p>
]]></description><pubDate>Fri, 19 Feb 2021 17:15:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=26195297</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=26195297</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26195297</guid></item><item><title><![CDATA[New comment by PhaseLockk in "History of Tcl (2009)"]]></title><description><![CDATA[
<p>Yes. A typical SoC is assembled using thousands of lines of TCL to drive the various EDA tools that are involved in the design process.</p>
]]></description><pubDate>Thu, 14 Jan 2021 20:59:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=25782411</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=25782411</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25782411</guid></item><item><title><![CDATA[New comment by PhaseLockk in "I Don't Use Classes"]]></title><description><![CDATA[
<p>A typical way to handle this in a functional language would be to create a datatype with a name like "PositiveInt", which just contains an Int inside it. However, in a language like OCaml, you can make it so that users of this type cannot directly create it, and instead must use a function like "makePosInt", which would check that its argument is positive, then give you back a value of type PositiveInt containing your data.<p>I'm not too experienced with this though, so this is pretty much the extent of my knowledge on this topic.</p>
]]></description><pubDate>Thu, 12 Mar 2020 15:54:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=22558098</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=22558098</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22558098</guid></item><item><title><![CDATA[New comment by PhaseLockk in "Ask HN: What Skills to Acquire in 2020?"]]></title><description><![CDATA[
<p>"Is there any evidence that tweets have meaning? I could easily imagine a world where posters fool themselves into thinking the words they wrote contained their intentions, while readers fooled themselves into thinking they had uncovered those intentions."<p>As with all natural language, production and interpretation of poems is subjective. Poetry is just an attempt to use natural language without the constraints of prose, in order to accomplish things that are not possible with prose.<p>Some poets may have a goal to convey a particular idea or emotion. Others may just want to create something moves the reader. Still others may not care about the reader at all. All of these things are okay.</p>
]]></description><pubDate>Tue, 04 Feb 2020 15:43:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=22236802</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=22236802</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22236802</guid></item><item><title><![CDATA[New comment by PhaseLockk in "Who Says Tcl Rules?"]]></title><description><![CDATA[
<p>I'm not that guy, but here's my interpretation: tcl is used as the embedded scripting language in the vast majority of EDA tools. In some ways it performs this job quite well, with tool companies providing functions which parse their arguments like inputs to a shell script. For example, you can call<p><pre><code>  report_timing -from ... -to ...
</code></pre>
When the commands have 50 optional parameters, this method of calling is convenient.<p>However, the problem is that it has been pushed to its absolute limit. Massive automated design flows consisting of tens to hundreds of thousands of lines of often highly unstructured tcl are present at most semiconductor companies. All of this code is written by VLSI engineers who have not much software training. These engineers take advantage of the highly dynamic nature of tcl to solve their problems quickly... and the result is often an unmaintainable mess of code. As an example, I've almost never seen anyone use tcls module system, instead its just scripts using the `source` function to load other scripts.<p>Since the language is not mainstream among software engineers, there is very little material on best practices, and semiconductor companies are extremely locked down meaning there is no open source tooling to speak of. So VLSI engineers continue producing spaghetti code to handle all of the implementation.<p>Obviously I am speaking in very broad strokes, so there may be companies out there that do it right.</p>
]]></description><pubDate>Wed, 29 Jan 2020 17:41:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=22183423</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=22183423</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22183423</guid></item><item><title><![CDATA[New comment by PhaseLockk in "Barn Find MOS MCS6502 – A Restoration"]]></title><description><![CDATA[
<p>There are many effects that contribute to semiconductor aging. Thermal stress and diffusion, as you and the child comment suggested, are definitely part of it. There is also electromigration, which can cause the interconnect to fail. In advanced nodes there are effects related to the magnitude of the electric field and the various material interfaceds, such as hot-carrier injection (HCI). Here's an article which gives explanation of a few aging effects:<p><a href="https://spectrum.ieee.org/semiconductors/processors/transistor-aging" rel="nofollow">https://spectrum.ieee.org/semiconductors/processors/transist...</a></p>
]]></description><pubDate>Wed, 29 Jan 2020 14:50:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=22181083</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=22181083</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22181083</guid></item><item><title><![CDATA[New comment by PhaseLockk in "A Sad Day for Rust"]]></title><description><![CDATA[
<p>Following this logic, if a popular rust crate doesn't prioritize security, it can potentially change people's risk assessment of the rust ecosystem as a whole. So this maintainer's actions could have negative effects on other rust projects with no relation to his. He may not have an obligation to do anything about it, but it's kind of "not cool".</p>
]]></description><pubDate>Fri, 17 Jan 2020 18:55:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=22077866</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=22077866</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22077866</guid></item><item><title><![CDATA[New comment by PhaseLockk in "A Sad Day for Rust"]]></title><description><![CDATA[
<p>> You could (and perhaps should) take the opinion that one should care about security, but there is no obligation (legal, financial, or moral) that requires an open source maintainer to care about anything.<p>I was taught that part of being an engineer taking a moral responsibility for the safety of your creations. I know that the field has changed quite a bit, and that people in open source come from many different backgrounds. But I think it's reasonable to hold as an ideal that there is a moral responsibility to at least make sure people using your stuff understand what they are getting into. And that such a moral responsibility would require more than disclaiming liability.</p>
]]></description><pubDate>Fri, 17 Jan 2020 18:18:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=22077466</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=22077466</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22077466</guid></item><item><title><![CDATA[New comment by PhaseLockk in "Ouster's new digital Lidar – 128 beams, ultra-wide view"]]></title><description><![CDATA[
<p>I'm pretty sure the effect you are discussing has to do with the uncertainty relationship inherent to the Fourier Transform [0]. This is very closely related to the Heisenberg uncertainty principle, and states you cannot simultaneously constrain time and frequency, which are the values you need to measure for position and velocity, respectively. In the context of signal processing applications, I don't think the particle nature of light is typically considered, which is why it may not be exactly correct to refer to it as the Heisenberg uncertainty principle in this context. This is a bit outside my domain though, so take it with a grain of salt.<p>[0] <a href="https://en.wikipedia.org/wiki/Uncertainty_principle#Signal_processing" rel="nofollow">https://en.wikipedia.org/wiki/Uncertainty_principle#Signal_p...</a></p>
]]></description><pubDate>Mon, 06 Jan 2020 19:55:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=21972561</link><dc:creator>PhaseLockk</dc:creator><comments>https://news.ycombinator.com/item?id=21972561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21972561</guid></item></channel></rss>