<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: joesb</title><link>https://news.ycombinator.com/user?id=joesb</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 06 Apr 2026 07:02:27 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=joesb" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by joesb in "How we centralized and structured error handling in Golang"]]></title><description><![CDATA[
<p>Either the package does or the developers do. And only one of them has compilation checks.</p>
]]></description><pubDate>Thu, 19 Dec 2024 01:53:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=42457549</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=42457549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42457549</guid></item><item><title><![CDATA[New comment by joesb in "How we centralized and structured error handling in Golang"]]></title><description><![CDATA[
<p>And what does DOS attacker want you to do? Not crashing the whole service to deny others of the service?</p>
]]></description><pubDate>Thu, 19 Dec 2024 01:34:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=42457437</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=42457437</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42457437</guid></item><item><title><![CDATA[New comment by joesb in "How we centralized and structured error handling in Golang"]]></title><description><![CDATA[
<p>When a process is used to serve multiple requests, I don't think you need to let the whole process terminate just because there is a bug dealing with a single request.
Just because we can not reason about the current request does not mean the only way to get to the clean state for other requests is to terminate the whole process.</p>
]]></description><pubDate>Thu, 19 Dec 2024 01:31:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=42457417</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=42457417</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42457417</guid></item><item><title><![CDATA[New comment by joesb in "Racket Language"]]></title><description><![CDATA[
<p>I'm lost on how should I integrate all these "languages" of Racket into a single application.
Like, I can see there are `typed/racket`, `racket/gui` and `scribble/base` languages. But how do I write a GUI application that create PDF while also having all the code be typed? 
I tried following Racket tutorial multiple times but I'm still lost on how to tied each unrelated "languages" together.<p>IMO, each chapter of the tutorial just talk about unrelated "language" and then never once show how they all work together. One chapter will talk about web server but not class system, then another chapter will talk about another "language" that support class but then never write web server in it.</p>
]]></description><pubDate>Sun, 21 Apr 2024 08:02:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=40103954</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=40103954</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40103954</guid></item><item><title><![CDATA[New comment by joesb in "Ask HN: 9-yo son wants to build a game, I'm lost. What can I do?"]]></title><description><![CDATA[
<p>The game doesn't have to be started from scratch.<p>For example, get him to write game on top of Roblox. Or any other game that allow simple mod.<p>If you want to get more hands on, there are plenty of game engines that is simple to write, many are in Python.<p>If you have an iPad, there are lots of Game coding app, like Swift Playground.</p>
]]></description><pubDate>Thu, 18 Jan 2024 09:01:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=39039577</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=39039577</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39039577</guid></item><item><title><![CDATA[New comment by joesb in "Saga Pattern Made Easy"]]></title><description><![CDATA[
<p>It's not completely about handling unplanned failure, but handling alternative path when the condition for one path is not met. For example, when you perform `withdrawMoney()` it can fail because there's not enough money in the account. This has nothing to do with your coding failure.<p>If you have if/else in your code, you don't think "If one path fail, so can the other path, so I never handle the other path".</p>
]]></description><pubDate>Thu, 01 Jun 2023 07:33:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=36148463</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=36148463</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36148463</guid></item><item><title><![CDATA[New comment by joesb in "VanJS (Vanilla JavaScript): smallest reactive UI framework"]]></title><description><![CDATA[
<p>> If my code works out of the box in an unmodified browser, then it is Vanilla JS. If I have to load a framework for it to work, then it isn't, period.<p>Minor nitpick, third party library and framework does not modify your browser. They all still run on unmodified browsers.</p>
]]></description><pubDate>Fri, 26 May 2023 13:09:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=36083591</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=36083591</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36083591</guid></item><item><title><![CDATA[New comment by joesb in "Plant-based meat is turning out to be a flop"]]></title><description><![CDATA[
<p>What is this article's obsession with things being "processed" food? Is "processed" the new "chemical"?<p>It's like the article trying to keep repeating the words "processed", "ultra-processed", "hyper-processed" as if it's some scary boogey man.</p>
]]></description><pubDate>Thu, 19 Jan 2023 07:46:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=34437756</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=34437756</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34437756</guid></item><item><title><![CDATA[New comment by joesb in "React's UI State Model vs. Vanilla JavaScript"]]></title><description><![CDATA[
<p>Which is fine if your company and teams use React a lot.<p>Why introduce inconsistency in everyone's workflow just because this specific page is a simple contact form?<p>The fact that it is just a simple contact form is exactly why you should use the same tools and workflow that everyone in your team has already been using.<p>Write what other people knows so you don't have to be the one maintaining it.</p>
]]></description><pubDate>Sun, 18 Jul 2021 17:13:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=27874604</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=27874604</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27874604</guid></item><item><title><![CDATA[New comment by joesb in "React's UI State Model vs. Vanilla JavaScript"]]></title><description><![CDATA[
<p>Why not? At that size, it takes less than your client can blink to load it.</p>
]]></description><pubDate>Sun, 18 Jul 2021 17:09:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=27874571</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=27874571</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27874571</guid></item><item><title><![CDATA[New comment by joesb in "React's UI State Model vs. Vanilla JavaScript"]]></title><description><![CDATA[
<p>Why is it relevant? The point is <i>you</i> are not the one needing to remember.<p>One day React could change from using Virtual Dom to the Svelte way and most user of library wouldn't notice.<p>The point of the article is that React remember where to make the modification for you.</p>
]]></description><pubDate>Sun, 18 Jul 2021 17:04:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=27874524</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=27874524</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27874524</guid></item><item><title><![CDATA[New comment by joesb in "Not everyone needs 8 hours of sleep: new research"]]></title><description><![CDATA[
<p>I think OP was just saying that even if the article were true, it didn't mean that someone who claim to be one of those people actually were.</p>
]]></description><pubDate>Mon, 17 Aug 2020 08:33:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=24185236</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=24185236</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24185236</guid></item><item><title><![CDATA[New comment by joesb in "NASA SpaceX Crew enters iPad pin in plain view of camera"]]></title><description><![CDATA[
<p>And that's a problem because?</p>
]]></description><pubDate>Sat, 01 Aug 2020 23:04:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=24024690</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=24024690</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24024690</guid></item><item><title><![CDATA[New comment by joesb in "Why Is the Human Brain So Efficient? (2018)"]]></title><description><![CDATA[
<p>> But our low-level motor actions and perceptions, coordinated by the brain, require a lot of precise computation.<p>But we don't actually do that precise computation though. try repeating any action exactly and you will see some inaccuracy.</p>
]]></description><pubDate>Fri, 05 Jun 2020 17:54:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=23431590</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=23431590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23431590</guid></item><item><title><![CDATA[New comment by joesb in "How to detect if an object has been garbage collected in JavaScript"]]></title><description><![CDATA[
<p>> (1) I have no leaks and (2) I don't know how to create them -- These don't really square with each other.<p>If he runs his service for a long time and the memory usage doesn't keep growing, no resource exhaustion problem occurs, then he can reasonably say he has no leaks. At least, he has no significant leaks.<p>I don't have to know how to create nuclear bomb to know I don't have one.</p>
]]></description><pubDate>Wed, 27 May 2020 22:27:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=23330888</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=23330888</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23330888</guid></item><item><title><![CDATA[New comment by joesb in "I’ve made a conscious effort to stop apologizing for bugs in my code"]]></title><description><![CDATA[
<p>I don't think anyone is argue for one instead of the other.<p>Why not a little bit of both? Can we not think about system and data driven improvement while also at the same time apologize for our mistake?</p>
]]></description><pubDate>Fri, 24 Apr 2020 18:31:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=22971455</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=22971455</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22971455</guid></item><item><title><![CDATA[New comment by joesb in "I’ve made a conscious effort to stop apologizing for bugs in my code"]]></title><description><![CDATA[
<p>While I agree with not "blaming" people for the mistake as if it's their fault as a person. I disagree with all of his reasoning and the action he choose not to do in this case.<p>I also take the position of "criticizing the idea/code, not the people" when it comes to other people's work. I rarely have a problem with criticizing myself.<p>Especially when it comes to "your" own code. You should be able to apologize for your mistake.<p><i>> It reinforces the idea that any one person or piece of code can be blamed for a given failure. Short of malice, this is never the case.</i><p>You can be attributed to your action. If you can be attributed to the good things in your work, then you can be attributed to bugs. Unless you are claiming that you have no control what so ever about how your code turns out, at which point, what are the different from you and a typewriter?<p>The thing is, you can be attributed for an instance of error. You can be blamed for the error you did. But you should never be categories as "the error".<p><i>> It gives the impression that, when you wrote the code, you should have written it better. This is a counterfactual that rarely holds up to examination.</i><p>Yes. There are instances that I could have written it better.<p><i>> It positions shame as the correct emotion to feel about bugs in your code: if you were a better engineer – a better teammate – the bug wouldn’t exist.</i><p><i>> If you’re a more senior engineer on your team, the effects of these anti-patterns are magnified: people see you apologizing for bugs, so they think that they should be striving to write bug-free code. They may feel ashamed if their code has bugs.</i><p>I take the approach and culture of "be strict with yourself but be kind to others". When I talks about other people's bug I always criticize the bugs itself and talks about problem and process in general without tying it to them. But when I talked about my code, I will also express what I could have done better or what is the pros and cons of my coding decision.<p>The thing is there's different between people striving to better themselves, and people blaming others for not being better.<p>You should strive to be better, while at the same times not being a snob or looking down on other for not being perfect.<p>In every day's life there's no permanently good people or bad people. There's bad action that people do. You should still be able to attribute a certain instance of event to a person. You just don't have to hold grudge and judge them forever based on it.<p>I am probably reaching it here, but I feel that the author is the kind of person that can't take criticism of his idea well because he feel that his idea is himself.<p>Your idea and action is yours. But your idea and action is not who you are. If you think it is yourself, then you become blindly defensive and either never acknowledge that you did it, like the author did, or never change.</p>
]]></description><pubDate>Fri, 24 Apr 2020 18:27:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=22971410</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=22971410</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22971410</guid></item><item><title><![CDATA[New comment by joesb in "Bangkok Smoking Kid"]]></title><description><![CDATA[
<p>> Unless you've invented a mind-reading device I'm pretty sure you're talking out of your ass.<p><i>You</i> may feel that. But you can't know what other smokers feel, either.</p>
]]></description><pubDate>Tue, 21 Apr 2020 20:05:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=22938775</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=22938775</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22938775</guid></item><item><title><![CDATA[New comment by joesb in "Hermes – A message broker built on top of Kafka"]]></title><description><![CDATA[
<p>You can use HTTP client to contact any HTTP compatible service. You can only use Kafka client to connect to Kafka.<p>That sounds like a tautology but it's practical.
There is way higher chance that you can make any of your future service response speak HTTP, than all of them speaking Kafka. If you add HTTP client libs today, there's higher chance of reuse than adding Kafka libs.</p>
]]></description><pubDate>Fri, 17 May 2019 06:54:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=19936964</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=19936964</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19936964</guid></item><item><title><![CDATA[New comment by joesb in "Making Playgrounds a Little More Dangerous"]]></title><description><![CDATA[
<p>That reminds me of the villian robot in I, Robot movie. They don't want to harm human, they just want to keep them in the house, so that there is less crime, and less people die.<p>It may take away freedom. But freedom should not be a reason to trade lives.<p>Some may say the playground is about happiness, some may say it's about the freedom to experience.</p>
]]></description><pubDate>Thu, 16 May 2019 04:00:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=19926025</link><dc:creator>joesb</dc:creator><comments>https://news.ycombinator.com/item?id=19926025</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19926025</guid></item></channel></rss>