HNHacker News
TopNewBestAskShowJobs

bpshaver

110 karma · joined April 23, 2023

submissionscomments
bpshaver··on The last time my family was replaced by technology
> Because, yes, we love to say AI is the biggest revolution since the Industrial Revolution, and that we’re going through a transformation unlike anything we’ve seen before. But that overlooks the farmers who watched the tractor roll in, or the farrier who watched the car arrive.

How does that overlook the farmers? They're alluded to right there in the prior sentence. I don't get this.

bpshaver··on Show HN: Ledge.sh – Runnable Markdown Notes
In truth I think it was just the use of the definite article that got me. This is a notebook that runs code, not the notebook that runs code. I just think this is cool and it could be better differentiated.
bpshaver··on Show HN: Ledge.sh – Runnable Markdown Notes
Yes, exactly. I'm sharing with this creator what my initial knee-jerk reaction was, admittedly exaggerating a bit. In case he'd like to avoid other people having a similar reaction. (And indeed, he thanked me for my feedback.)

It seems like you think that pointing out that I'm sharing my attitude is some sort of gotcha, but I'm confused. Sharing one's attitude is the whole point of posting an internet comment, isn't it?

bpshaver··on Show HN: Ledge.sh – Runnable Markdown Notes
This is all valid, but I'd suggest rethinking the slogan "The notebook that runs code" at the top of the README. I much prefer .md too and haven't used notebooks regularly in years, but nevertheless I scoffed when I read that (I thought: hasn't this guy heard of Jupyter?). I believe you'd be better off not calling this a "notebook" at all since that terms tends to describe something slightly different than what you have here.
bpshaver··on I made a visual workspace for AI Automations
I guess I just don't know what you mean by "everything."
bpshaver··on Ask HN: What are you reading?
Eliot*
bpshaver··on Ask HN: What are you reading?
Kindred spirits or these are just about the top 3 most often recommended books on Reddit and similar platforms. Nothing wrong with that.
bpshaver··on I made a visual workspace for AI Automations
Maybe I'm dumb that that still doesn't make it clear to me
bpshaver··on Owed a billion dollars in Nvidia stock
Consider that many people do things that they don't need to do!
bpshaver··on Thinking fast and slow in AI: The role of metacognition (2021)
Surely that is obvious
bpshaver··on Show HN: Whiteboard (YC W26) – An open-source IDE for thoughtful software design
There are a lot of emerging tools like this for which we will need a name. A similar one I randomly came across (https://github.com/Maksim-Burtsev/merl) calls itself a "Code Navigator."

Along similar lines, I also don't know what we're calling tools like T3 or Superset. They're basically harnesses for harnesses.

bpshaver··on Show HN: Vibe Kanban – Kanban board to manage your AI coding agents
> Get 10x more out of...

So you're saying it goes up to 11x?

bpshaver··on Orwell Diaries 1938-1942
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.

I mean, this article doesn't mention 1984 at all.

bpshaver··on Mathematical Fiction
Or economics papers for the kiddie version
bpshaver··on Remembering Alasdair MacIntyre
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].

[0] https://press.princeton.edu/books/hardcover/9780691217529/wh...

bpshaver··on Remembering Alasdair MacIntyre
> MacIntyre romanticizes ancient communities and traditions, but ignores the fact that plenty of those upheld horrifying practices

What makes you think that? A huge part of After Virtue (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.

bpshaver··on Why Property Testing Finds Bugs Unit Testing Does Not (2021)
Does the article he links to towards the end of the article address your concerns?

> 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...

Here's the link: https://www.hillelwayne.com/post/property-testing-complex-in...

bpshaver··on Show HN: 90s.dev – Game maker that runs on the web
Not that you're asking, but https://www.littlewargame.com/ is a good WC1/WC2 clone with a lot of good QoL features included.
bpshaver··on Static Types Are for Perfectionists
I'm aware, but you said Pylance, which to my knowledge is just the VS Code extension.

I'm satisfied with Mypy but curious to someday try other type checkers. Pyright is on the list.

bpshaver··on Static Types Are for Perfectionists
I'm afraid you lost me.
bpshaver··on Static Types Are for Perfectionists
Thanks for clarifying that compilers don't have free will. I was being facetious, sorry.
bpshaver··on Static Types Are for Perfectionists
Hard to conceive of a case where that would occur. Can you think of one?

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.

bpshaver··on Static Types Are for Perfectionists
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 to precisely that extent. Which is why I said "... to an extent." The conclusion was not quite assumed but a pretty similar conclusion was.

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.

bpshaver··on Static Types Are for Perfectionists
Not a VS Code user
bpshaver··on Static Types Are for Perfectionists
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 cannot compile your code. Is there a language where the compiler could compile your code but refuses to do so unless the types are all correct?
bpshaver··on Static Types Are for Perfectionists
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.

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).

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.

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?

bpshaver··on Static Types Are for Perfectionists
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 being typed. (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.

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.

I agree with you, I guess, that I find the steel man position unconvincing.

bpshaver··on Static Types Are for Perfectionists
Sometimes, but maybe you haven't written any tests! Type hints and immediate feedback from mypy are a lot easier than writing unit tests.
bpshaver··on Static Types Are for Perfectionists
That would seem to be begging the question to an extent. Why 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.

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.

bpshaver··on Edit is now open source
Or Micro[0]

[0]: https://github.com/zyedidia/micro

Page 1 of 3Next →