<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: jdw64</title><link>https://news.ycombinator.com/user?id=jdw64</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 09 Aug 2026 09:05:17 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jdw64" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jdw64 in "Shopify replaced Redis with MySQL for inventory reservations–and it scaled"]]></title><description><![CDATA[
<p>Is it really the right choice to drop Redis and go back to a disk based relational database just to wrap transactions into a single unit?<p>Redis handles tens of thousands of concurrent connections in a single event loop, while MySQL uses one thread per connection. No matter how I look at it, that seems like a step backward.<p>Of course, performance isn't everything. And if performance isn't a problem, having everything in one place does make it easier to reason about. But I'm worried that under spike traffic, this approach might actually cause more problems.</p>
]]></description><pubDate>Sun, 09 Aug 2026 09:02:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=49229699</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49229699</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49229699</guid></item><item><title><![CDATA[New comment by jdw64 in "“Code was never the hard part” is an insult to all programmers"]]></title><description><![CDATA[
<p>To me, one of the most agonizing parts of programming is that whenever I think I have discovered something new and write down a good explanation for it, I inevitably find out that a pioneer programmer from long ago has already given the exact same phenomenon a much more elegant name. Your analogy of the Journeyman explains the model I was trying to describe far more gracefully.<p>I actually think all these industry issues arise because the ultimate role most programmers aspire to is that of the Master. They want to be the ones designing the rules, frameworks, and architectures that mass produce journeymen. In reality, a department head at a major tech company certainly holds a position worthy of being called a Master.<p>However, I believe being a Journeyman is a thoroughly valuable and respectable end destination in itself. The reason is that once someone becomes a Master, they drift away from the actual field. They start focusing purely on building tools for the journeymen, whereas it is the journeyman who generally remains closest to the actual consumers.<p>I read your comment carefully. Thank you for taking the time to reply, and have a great day. It's been a weekend full of things to think about.</p>
]]></description><pubDate>Sat, 08 Aug 2026 22:53:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=49226667</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49226667</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49226667</guid></item><item><title><![CDATA[New comment by jdw64 in "“Code was never the hard part” is an insult to all programmers"]]></title><description><![CDATA[
<p>After reading your follow-up comment, I realize I may have misunderstood some parts, but I think there is a slight difference in our fundamental perspectives. Still, given your context and your experience, your view is probably the right one for you, and given my worldview and my situation, mine is probably right for me. I agree with your points, and thank you for taking the time to comment. Even though our views differ in some ways, it's precisely because of those differences that we have these conversations—and thanks to your comment, I was able to organize my own thoughts. Have a great day. I always appreciate your thought-provoking comments</p>
]]></description><pubDate>Sat, 08 Aug 2026 22:39:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=49226580</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49226580</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49226580</guid></item><item><title><![CDATA[New comment by jdw64 in ""Code was never the hard part" is an insult to all programmers"]]></title><description><![CDATA[
<p>I resonate with much of what you have pointed out, but I have a different perspective on certain parts.<p>Software consists of various layers, and everyone has their own specific areas of strength.
For instance, because I am an application programmer, I often need to write code that prevents the program from halting—aligning with recent programming trends that involve preserving the computation context using monads.
In other words, my strengths lie in the overall architecture and interface design.
This fundamentally relates to cohesion and coupling. I excel in this area, particularly when dealing with codebases around the 60,000-line mark. This is a realm where books like Clean Code are quite effective (many people dislike it, but it is actually a well-written book).
Put differently, I possess the ability to mass-produce software (regardless of absolute quality). Over the course of 7 years, I have built CRUD applications for 43 companies across 16 different domains (ranging from drones and golf simulators to tax SaaS and supermarket POS systems). Therefore, I believe I have at least an average, solid capability in this regard. The primary area where I actually made money was PLC, so while I may not have deep academic expertise, I certainly do not think I lack capability.<p>In Korea, the profession known as SI (System Integration) is a field where you enter contracts on a "project" basis. In that environment, I have encountered a wide variety of people. From those experiences, my takeaway is that programming is divided into quite several distinct layers.<p>To speak of algorithms first: I learned basic algorithms and fundamental data structures in university. However, in the field where I worked, there were many people who struggled to implement those basic algorithms, yet they still built a large number of applications. Why is that? There was even someone who made an amount of money I could never dream of touching in my lifetime. Why did he make so much money when he didn't even know how to implement basic algorithms?<p>The answer is quite simple. It is because the "implementation model" and the "contract and cost model" are different.
The contract and cost model is a self-contained body of knowledge. It is the ability to know exactly where to fit a given piece into the puzzle. Implementation is simply the ability to build that piece from scratch. In fact, mostly due to issues like employee turnover and the organization's future maintenance capabilities, many teams (specifically, organizations with lower implementation capabilities) decide on an open-source library and design their architecture based on its API. In these cases, the primary technical challenge becomes how to connect those components based on the performance of that library.<p>Yet, people tend to think that only those who can implement from scratch are capable of programming. A person who can take someone else's implementation and piece it together to fulfill their own contract is also a programmer, but people frequently forget this. Depending on which layer you exist in, certain knowledge requires you to implement it yourself, while other knowledge only requires you to understand the contract. I believe this is the core of programming.<p>Those on the side that must design and build libraries or frameworks naturally have things they must know about implementation, as they are creating the SDKs. However, I have seen quite a few cases where these very people have no idea how their work is actually utilized in the upper layers.
And these types of knowledge are highly fragmented.<p>In my case, I am familiar with quite a few paradigms. On my personal homepage wiki, I can differentiate between OOP, DOD (Data-Oriented Design), and others, and in the context of relational databases, I know exactly where the ORM impedance mismatch occurs. However, this is largely an area intertwined with architecture, and its essence is closely linked to David Parnas's theory of information hiding.
In other words: to what extent do we hide the internals, and where do we expose them to minimize the contact surface area and ensure a safe connection?<p>For example, I can't implement PostgreSQL's B-tree. But I can design a business system using PostgreSQL. I only know the name of TCP congestion control—I don't know how to implement it. But I can build networked applications.<p>That's what an 'industry' really is. The ability to trust the contracts of other people's implementations and assemble them. The ability to trust others.<p>In that regard, I agree with many of your points. However, I actually believe the software industry needs more of those "average" people. I think the very definition of an "industry" should premise that average people can maintain their livelihoods simply by dedicating themselves to a single specific field. From that perspective, when building one's expertise within this fragmented landscape of knowledge, it is perfectly natural not to know much outside of your own specific layer.<p>p.s <a href="https://www.makonea.com/en-US/casual/cargo-cult-programming-and-just-in-time-learning" rel="nofollow">https://www.makonea.com/en-US/casual/cargo-cult-programming-...</a></p>
]]></description><pubDate>Sat, 08 Aug 2026 19:22:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=49224984</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49224984</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49224984</guid></item><item><title><![CDATA[New comment by jdw64 in ""Code was never the hard part" is an insult to all programmers"]]></title><description><![CDATA[
<p>Good post!</p>
]]></description><pubDate>Sat, 08 Aug 2026 18:38:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=49224579</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49224579</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49224579</guid></item><item><title><![CDATA[New comment by jdw64 in "“Code was never the hard part” is an insult to all programmers"]]></title><description><![CDATA[
<p>No, code was always difficult.<p>To be precise, it depends on the domain. The people who could actually write algorithms or core implementations were always a minority. Programmers like me mostly did copy-paste from Stack Overflow or assembled libraries.<p>It's not that code wasn't difficult—it really was.<p>In CRUD apps, about 70~80%of the work was building the same thing over and over, so once you got familiar with it, most of it was repetitive practice. But the number of people who could actually create something new was always small.<p>Most business programs had issues that arose in the application stage, the application layer. In this application layer, only a very small portion involved difficult logic. Most of it was just applied.<p>The problem is that people often romanticize the lower layers beyond their own, compilers and low level systems, calling that 'real programming,' and in doing so, they make programming seem harder than it is. In reality, the coding that most people make money from is mostly at the abstracted layers. The infrastructure beneath those layers is owned by giant corporations. If you work at one of those giants, that's fine. But beneath them are countless consumers paying those giants, and the coding that targets those consumers isn't that difficult.<p>In the end, whether coding was difficult or easy depends entirely on which layer you're working in.<p>What's certain is that coding was difficult, and it still is.</p>
]]></description><pubDate>Sat, 08 Aug 2026 18:27:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=49224466</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49224466</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49224466</guid></item><item><title><![CDATA[New comment by jdw64 in "No one can afford to make Myst games anymore"]]></title><description><![CDATA[
<p>I agree with some points, but I also disagree with others.<p>I agree that the 'overall' video game industry is recession resistant. Over the long term, it will continue to grow.<p>But I don't think the 'polarization' of video games makes the middle tier recession resistant<p>So, because the game industry has an escapist quality to some extent, I can understand why people set aside a budget for hobbies. But apart from that, I think game consumption itself is becoming polarized."</p>
]]></description><pubDate>Sat, 08 Aug 2026 14:44:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=49222324</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49222324</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49222324</guid></item><item><title><![CDATA[New comment by jdw64 in "Don't use your phone while you poop"]]></title><description><![CDATA[
<p>Sitting on the toilet reading this post gives it a whole different feel.</p>
]]></description><pubDate>Sat, 08 Aug 2026 14:42:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=49222297</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49222297</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49222297</guid></item><item><title><![CDATA[New comment by jdw64 in "No one can afford to make Myst games anymore"]]></title><description><![CDATA[
<p>Games fundamentally require a lot of artistry, depend on user device performance, and involve many factors to consider. from engine licensing costs to labor costs.<p>There's this concept of 'AA games' or 'Myst games' that sit between AAA and indie titles. From what I hear across most of the industry and genres, as people's disposable income shrinks, the market is polarizing into reliable AAA games on one side and small, niche indie games on the other. Small indies can bet on extreme gameplay that big companies would never attempt.<p>In other words, when people start cutting back on hobbies, the first thing they reduce is spending on hobbies. And when they start tightening further, the first games to get dropped from their lists are the mid-tier ones.<p>Whether it's software or any genre market, this middle tier is disappearing because consumer spending itself is becoming extremely polarized.<p>This is a contradiction in cost structure.<p>When developing software, reducing the size to a mid tier level doesn't linearly reduce fixed costs. You still need to build server infrastructure, payment systems, security, basic UI/UX, cross platform support, and more, all of which come with enormous upfront costs. AAA companies can amortize these fixed costs by selling to millions of users, but a AA studio with limited capital ends up spending most of its budget just on infrastructure, leaving few resources to polish the core value of the product, graphics, gameplay fun, and design.<p>Also, when a recession hits, a cognitive tandem effect occurs. Only two things survive: what everyone else is playing, and niche products that match your personal taste. Mid tier products with moderate price and moderate quality require marketing efforts to convince consumers of their ambiguous value, often relying on influencer reviews or other forms of consumer persuasion.</p>
]]></description><pubDate>Sat, 08 Aug 2026 14:24:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=49222102</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49222102</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49222102</guid></item><item><title><![CDATA[New comment by jdw64 in "Water system controllers don't belong on the internet, says ex-NSA chief"]]></title><description><![CDATA[
<p>I agree. The problem is this: most companies using PLCs work in isolated networks with internet disconnected, based on confidentiality. There are many difficulties even with using git, because the structure forces you to implement features in a way that makes it hard to separate them. Branching, in particular, doesn't work well with PLC ladder logic—PLC uses proprietary binary formats that make diff tracking impossible, so you're forced into a unified development approach</p>
]]></description><pubDate>Sat, 08 Aug 2026 08:48:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=49219984</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49219984</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49219984</guid></item><item><title><![CDATA[New comment by jdw64 in "Thoroughly Understanding C++ ABI (2024)"]]></title><description><![CDATA[
<p>I'm sorry for always bothering you, senior. I've learned quite a lot from the books you recommended. I've especially been studying low-level topics lately, and the books you suggested have been very helpful. Have a great day.</p>
]]></description><pubDate>Fri, 07 Aug 2026 17:24:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=49213588</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49213588</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49213588</guid></item><item><title><![CDATA[New comment by jdw64 in "Thoroughly Understanding C++ ABI (2024)"]]></title><description><![CDATA[
<p>Thank you for the kind comment. !</p>
]]></description><pubDate>Fri, 07 Aug 2026 16:27:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=49212852</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49212852</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49212852</guid></item><item><title><![CDATA[New comment by jdw64 in "Thoroughly Understanding C++ ABI"]]></title><description><![CDATA[
<p>Thank you for the kind comment. I'll make a note of it and look into it.</p>
]]></description><pubDate>Fri, 07 Aug 2026 15:11:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=49211679</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49211679</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49211679</guid></item><item><title><![CDATA[New comment by jdw64 in "Thoroughly Understanding C++ ABI"]]></title><description><![CDATA[
<p>I understand that Move Semantics led to better implementations and that this is why things changed. I know that in this case, problems arose when transitioning from C++98 to what's commonly called Modern C++ (C++11). However, I'm not very familiar with what the specific issues were with COW. If you happen to know of any documents that describe this problem in more detail, I'd appreciate it if you could let me know.
I'm sorry for always asking questions. I've looked up a few documents, but since you clearly know much more about this than I do, I'm asking to study it myself as well. If it's too much trouble, feel free not to reply.</p>
]]></description><pubDate>Fri, 07 Aug 2026 14:44:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=49211252</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49211252</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49211252</guid></item><item><title><![CDATA[New comment by jdw64 in "Thoroughly Understanding C++ ABI (2024)"]]></title><description><![CDATA[
<p>Does the C++ standard guarantee binary ABI? Isn't that something that compiler and library contributors handle separately? So I think the arguments you see online are more accurate—vendors are the ones maintaining it.<p>In other words, the ABI we rely on today isn't really part of the C+ standard—it's more like the Itnaium C++ ABI or the MSVC C++ ABI.<p>In the end, I think the ABI stays stable because of community conventions established by compiler vendors.</p>
]]></description><pubDate>Fri, 07 Aug 2026 14:35:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=49211115</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49211115</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49211115</guid></item><item><title><![CDATA[New comment by jdw64 in "Parsers don't have to be complicated"]]></title><description><![CDATA[
<p>I'm going to collect this post after 24 hours, extract the methodologies from everyone's comments, and write them down in my notes. The reason I like HN is that people freely share their tips in the comments</p>
]]></description><pubDate>Fri, 07 Aug 2026 09:49:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=49208033</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49208033</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49208033</guid></item><item><title><![CDATA[New comment by jdw64 in "I won't read LLM authored fiction"]]></title><description><![CDATA[
<p>That's true, but even so, there were people who loved the story itself regardless of the grammar. I was actually shocked when I read the original English version of the Twilight series..</p>
]]></description><pubDate>Fri, 07 Aug 2026 09:20:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=49207848</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49207848</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49207848</guid></item><item><title><![CDATA[Cookies Became the Web's Memory]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.makonea.com/en-US/blog/how-cookies-became-the-web-s-memory">https://www.makonea.com/en-US/blog/how-cookies-became-the-web-s-memory</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49207422">https://news.ycombinator.com/item?id=49207422</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 07 Aug 2026 08:27:07 +0000</pubDate><link>https://www.makonea.com/en-US/blog/how-cookies-became-the-web-s-memory</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49207422</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49207422</guid></item><item><title><![CDATA[New comment by jdw64 in "I won't read LLM authored fiction"]]></title><description><![CDATA[
<p>I think people read novels because they want to connect with the author on some level. LLM generated text is actually more logically airtight than human writing. For non fiction, I think the information dense LLM style is often better. But human writing leaves space for the reader to breathe. There are gaps scattered throughout.<p>In that sense, I sometimes feel like logical flaws might actually be a signal of humanity</p>
]]></description><pubDate>Fri, 07 Aug 2026 08:26:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=49207420</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49207420</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49207420</guid></item><item><title><![CDATA[New comment by jdw64 in "Bioengineered chewing gum may offer a way to fight HPV and other microbes"]]></title><description><![CDATA[
<p>thanks!</p>
]]></description><pubDate>Fri, 07 Aug 2026 06:52:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=49206794</link><dc:creator>jdw64</dc:creator><comments>https://news.ycombinator.com/item?id=49206794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49206794</guid></item></channel></rss>