<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: bpshaver</title><link>https://news.ycombinator.com/user?id=bpshaver</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 05 Apr 2026 06:40:16 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=bpshaver" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by bpshaver in "Show HN: Vibe Kanban – Kanban board to manage your AI coding agents"]]></title><description><![CDATA[
<p>> Get 10x more out of...<p>So you're saying it goes up to 11x?</p>
]]></description><pubDate>Fri, 11 Jul 2025 16:21:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=44534010</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44534010</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44534010</guid></item><item><title><![CDATA[New comment by bpshaver in "Orwell Diaries 1938-1942"]]></title><description><![CDATA[
<p>I'm a little tired of this comparison and this point. Its fine if you like Brave New World more than 1984. But does this need to be mentioned every time Orwell is mentioned? Orwell wrote a lot more than 1984 and Animal Farm.<p>I mean, this article doesn't mention 1984 at all.</p>
]]></description><pubDate>Fri, 11 Jul 2025 00:36:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=44527270</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44527270</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44527270</guid></item><item><title><![CDATA[New comment by bpshaver in "Mathematical Fiction"]]></title><description><![CDATA[
<p>Or economics papers for the kiddie version</p>
]]></description><pubDate>Wed, 28 May 2025 19:04:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=44119510</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44119510</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44119510</guid></item><item><title><![CDATA[New comment by bpshaver in "Remembering Alasdair MacIntyre"]]></title><description><![CDATA[
<p>Not to mention the huge posthumous bump that Rorty got for being labeled "The Philosopher who predicted Trump." There was even a new collection of his essays out in 2022 [0].<p>[0] <a href="https://press.princeton.edu/books/hardcover/9780691217529/what-can-we-hope-for" rel="nofollow">https://press.princeton.edu/books/hardcover/9780691217529/wh...</a></p>
]]></description><pubDate>Fri, 23 May 2025 16:14:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=44074114</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44074114</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44074114</guid></item><item><title><![CDATA[New comment by bpshaver in "Remembering Alasdair MacIntyre"]]></title><description><![CDATA[
<p>> MacIntyre romanticizes ancient communities and traditions, but ignores the fact that plenty of those upheld horrifying practices<p>What makes you think that? A huge part of <i>After Virtue</i> (basically the whole part, after the initial diagnosis of where we are now and how we got here) is about how to construct and understand communities that might provide a shared idea of human good without simply going back to an Athenian idea of what that looks like. In fact if I were to summarize the book in a nutshell I would argue its an attempt to rehabilitate Aristotelian ethics without simply accepting Aristotle's own moral percepts.</p>
]]></description><pubDate>Fri, 23 May 2025 16:09:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=44074080</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44074080</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44074080</guid></item><item><title><![CDATA[New comment by bpshaver in "Why Property Testing Finds Bugs Unit Testing Does Not (2021)"]]></title><description><![CDATA[
<p>Does the article he links to towards the end of the article address your concerns?<p>> Without complex input spaces, there's no explosion of edge cases, which minimizes the actual benefit of PBT. The real benefits come when you have complex input spaces. Unfortunately, you need to be good at PBT to write complex input strategies. I wrote a bit about it here...<p>Here's the link: <a href="https://www.hillelwayne.com/post/property-testing-complex-inputs/" rel="nofollow">https://www.hillelwayne.com/post/property-testing-complex-in...</a></p>
]]></description><pubDate>Wed, 21 May 2025 15:06:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=44052277</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44052277</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44052277</guid></item><item><title><![CDATA[New comment by bpshaver in "Show HN: 90s.dev – Game maker that runs on the web"]]></title><description><![CDATA[
<p>Not that you're asking, but <a href="https://www.littlewargame.com/" rel="nofollow">https://www.littlewargame.com/</a> is a good WC1/WC2 clone with a lot of good QoL features included.</p>
]]></description><pubDate>Tue, 20 May 2025 16:15:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=44043258</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44043258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44043258</guid></item><item><title><![CDATA[New comment by bpshaver in "Static Types Are for Perfectionists"]]></title><description><![CDATA[
<p>I'm aware, but you said Pylance, which to my knowledge is just the VS Code extension.<p>I'm satisfied with Mypy but curious to someday try other type checkers. Pyright is on the list.</p>
]]></description><pubDate>Tue, 20 May 2025 16:09:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=44043187</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44043187</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44043187</guid></item><item><title><![CDATA[New comment by bpshaver in "Static Types Are for Perfectionists"]]></title><description><![CDATA[
<p>I'm afraid you lost me.</p>
]]></description><pubDate>Tue, 20 May 2025 05:33:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=44038111</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44038111</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44038111</guid></item><item><title><![CDATA[New comment by bpshaver in "Static Types Are for Perfectionists"]]></title><description><![CDATA[
<p>Thanks for clarifying that compilers don't have free will. I was being facetious, sorry.</p>
]]></description><pubDate>Mon, 19 May 2025 23:10:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=44035943</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44035943</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44035943</guid></item><item><title><![CDATA[New comment by bpshaver in "Static Types Are for Perfectionists"]]></title><description><![CDATA[
<p>Hard to conceive of a case where that would occur. Can you think of one?<p>The implication of what you're saying seems to be that if you're concerned about some kind of correctness you should be writing unit tests anyway and not being so fussed about type checking in a language like Python. I suppose if you are strictly following TDD that might work, but in all other cases type checks give you feedback much more quickly than unit tests ever can. I guess I don't understand.</p>
]]></description><pubDate>Mon, 19 May 2025 23:06:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=44035909</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44035909</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44035909</guid></item><item><title><![CDATA[New comment by bpshaver in "Static Types Are for Perfectionists"]]></title><description><![CDATA[
<p>No, I was correct. Briefly, my question was "why is static typing good?" and the answer given was "static typing is good because it makes development easier." To the extent that "good" here just means "makes development easier" (and I think that is a lot of what "good" means in this context) then the answer I received was question begging <i>to precisely that extent.</i> Which is why I said "... to an extent." The conclusion was not quite assumed but a pretty similar conclusion was.<p>I can see how it appeared that I was using the phrase in the incorrect way! That usage bothers me too, and I am attentive to it.</p>
]]></description><pubDate>Mon, 19 May 2025 22:58:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=44035839</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44035839</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44035839</guid></item><item><title><![CDATA[New comment by bpshaver in "Static Types Are for Perfectionists"]]></title><description><![CDATA[
<p>Not a VS Code user</p>
]]></description><pubDate>Mon, 19 May 2025 22:51:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=44035777</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44035777</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44035777</guid></item><item><title><![CDATA[New comment by bpshaver in "Static Types Are for Perfectionists"]]></title><description><![CDATA[
<p>What is an example of a compiler that flat out refuses to run (compile) your code? Obviously Python is not an example. The other language I know best is Rust, where as I understand the compiler doesn't refuse to compile your code, it <i>cannot</i> compile your code. Is there a language where the compiler <i>could</i> compile your code but refuses to do so unless the types are all correct?</p>
]]></description><pubDate>Mon, 19 May 2025 19:59:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=44034155</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44034155</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44034155</guid></item><item><title><![CDATA[New comment by bpshaver in "Static Types Are for Perfectionists"]]></title><description><![CDATA[
<p>No offense, but this sounds like user error. I rarely have irrelevant type warnings. If I do, it suggests something is wrong with my design.<p>If you declare a function parameter as `foo: int = None`... that is just an incorrect declaration. Of course a variable annotated as `int` can take a `None` value, but that is because any variable can take any type in Python. Within the Python type (annotation) system it is simply the case that an `int` and an `int | None` are two different things, as they are in other languages (eg Rust's `T` vs `Option<T>` types).<p>Mypy used to support the "implicit optional" feature you describe but now you must make nullable arguments explicitly optional. This is in line with Python's "explicit is better than implicit" design philosophy. In any case, how long does it take you to just type `foo: int | None = None`? Or you could re-enable the old behavior to allow implicit optionals with `--implicit-optional` or the corresponding config file option. It seems like you just need to configure mypy to match your preferences rather than fighting with its defaults.<p>To return to the broader point, I'm unsure what an "irrelevant type warning" is, but I suspect that has something to do with my lack of appreciation for dynamic typing. Can you give an example that isn't just a complaint about typing an extra 6 characters or about mypy being misconfigured for your preferences?</p>
]]></description><pubDate>Mon, 19 May 2025 19:56:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=44034125</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44034125</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44034125</guid></item><item><title><![CDATA[New comment by bpshaver in "Static Types Are for Perfectionists"]]></title><description><![CDATA[
<p>But you can achieve #1 with typing.Protocol in type-annotated Python and traits in Rust. Fitting the "strict definition" sounds like nominal typing but you can opt in to explicit duck typing or structural typing while still <i>being typed.</i> (Someone correct me if I'm using these terms incorrectly.) In short you can still encode a lot of flexibility with types without just abandoning them alltogether.<p>And with #2, you can get that with static typing too... Let's say a method accepts an instance of an object `Foobar`. I can change the definition of `Foobar` ("change what shape [my] data is") without having to change type annotations everywhere.<p>I agree with you, I guess, that I find the steel man position unconvincing.</p>
]]></description><pubDate>Mon, 19 May 2025 19:14:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=44033669</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44033669</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44033669</guid></item><item><title><![CDATA[New comment by bpshaver in "Static Types Are for Perfectionists"]]></title><description><![CDATA[
<p>Sometimes, but maybe you haven't written any tests! Type hints and immediate feedback from mypy are a lot easier than writing unit tests.</p>
]]></description><pubDate>Mon, 19 May 2025 19:09:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=44033601</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44033601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44033601</guid></item><item><title><![CDATA[New comment by bpshaver in "Static Types Are for Perfectionists"]]></title><description><![CDATA[
<p>That would seem to be begging the question to an extent. <i>Why</i> does dynamic typing lead to lower development effort? I mostly write Python and make heavy use of type hints. With LSP set up, mypy informs me immediately of any potential type errors which makes development way easier for me.<p>Just saying "dynamic typing is easier" doesn't do it for me without further qualification since that statement doesn't conform to my own experience.</p>
]]></description><pubDate>Mon, 19 May 2025 19:07:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=44033589</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44033589</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44033589</guid></item><item><title><![CDATA[New comment by bpshaver in "Edit is now open source"]]></title><description><![CDATA[
<p>Or Micro[0]<p>[0]: <a href="https://github.com/zyedidia/micro">https://github.com/zyedidia/micro</a></p>
]]></description><pubDate>Mon, 19 May 2025 19:02:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=44033513</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44033513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44033513</guid></item><item><title><![CDATA[New comment by bpshaver in "Static Types Are for Perfectionists"]]></title><description><![CDATA[
<p>Even better, run `mypy` as part of your LSP setup and you don't even need to wait  to run `mypy` to see type errors! If I make a mistake I want to be notified <i>immediately.</i></p>
]]></description><pubDate>Mon, 19 May 2025 17:09:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=44032026</link><dc:creator>bpshaver</dc:creator><comments>https://news.ycombinator.com/item?id=44032026</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44032026</guid></item></channel></rss>