Hacker Newsnew | past | comments | ask | show | jobs | submit | more fantod's commentslogin

Good for St. Louis, bad for NYC.


> if everyone forgot all they knew about math today we would be easily able to get back to where we are in a just by reading

If your definition of "easily" is the amount of work required to become a mathematician, then sure.


But it is way less work than it took to build the knowledgebase we have today. Imagine if we could give all our math literature to the Romans 2000 years ago in a translated form, do you really think it would have no effect? Calculus was invented just a few hundred years ago, it took humanity millennia to get where we are today.


We started from the assertion that if a software project loses all of its devs it will not be maintainable anymore by new hires.

Not only this is far from a general truth, we all maintained codebases we knew nothing about I guess, but it applies even less to mathematics, which is a language based on definitions built on few concepts rather than vague and buggy business requirements.


> We started from the assertion that if a software project loses all of its devs it will not be maintainable anymore by new hires.

I recognize that this is due to my imperfect summary/introduction of the paper, but it doesn't make that assertion. I highly recommend reading it; it's not that difficult or technical.

I've maintained systems where I could talk to the original developers, and I've maintained systems where I couldn't. I know there's a difference in outcomes between the two cases, but I wouldn't say the latter is "not maintainable". Certainly buggier and slower to develop against, though.


You don't really need to know calculus (derivatives and such) but it's true that big O notation requires some sort of "asymptotic thinking" which is probably only explicitly taught in a calculus course.


That’s part of Pre-Calculus or general mathematics coursework at most US high schools.

Beyond that it’s a very simple idea you can cover at the same time as your doing Big O notation in the first place.


Exactly. When I initially started using typed Python, I would write code as though I were using a statically-typed language. In order to appease mypy, I found myself increasingly needing to either rewrite my code in awkward ways or add explicit ignore comments.

What happened is I started losing out on the advantages that Python provides as a dynamically-typed language without truly gaining those of statically-typed ones. Then I realized, type hints are just that: hints. They're a form of documentation. In some cases, they're very helpful, but in other cases, it doesn't really make sense to use them. I don't need to appease mypy. The type hints are their for the benefit of myself and other developers.


There is definitely truth to this statement. However often when I write something that’s hard to type, it’s a code smell. Ex. A complex nested map should probably be represented by a few concrete classes/abstractions.

(Similar to when you something you wrote is hard to test, it’s probably just poorly abstracted code.)


I agree and I think a good thing about the type hints is they help uncover these kinds of code smells. But there are definitely cases where it's definitely not worth the effort to fight mypy.

One example is that variable re-assignment can cause type errors in mypy but re-assigning a variable to a value of a different type is an extremely common and reasonable thing to do in Python. Another situation where strict typing can be borderline hopeless is when parsing e.g. very dynamic content like json. Sure you could encode every possible situation using types but this would basically defeat the purpose of using Python for such a task.


> rewrite my code in awkward ways or add explicit ignore comments.

Probably just used to writing poor quality (immediately unintelligible to someone other than the author but functional) code then.


Using typing in Python is a code smell. Lack of understanding of what the language is for and how to use it.


Personally, I always read it as "advice" rather than as an insult. Unfortunately, can't seem to find much context for that quote so it's hard to determine what was intended.


Apparently Mark Twain never said it.

If the quote stated "If you are ignorant on a topic it's better not to discuss it" that would be advise. (Though less quippy).

But I read the quote as essentially saying:

"You are so incredibly stupid you should never, ever attempt to speak to another human being ever again, on any conceivable subject".

But maybe some people don't take it that way.


> Apparently Mark Twain never said it.

The advice has been written and uttered in various forms for millennia.

> If the quote stated "If you are ignorant on a topic it's better not to discuss it" that would be advise. (Though less quippy).

Your quote would be different advice; it doesn't have the same meaning nor implications.

> But I read the quote as essentially saying: "You are so incredibly stupid you should never, ever attempt to speak to another human being ever again, on any conceivable subject".

How many of your personal experiences are you reading into a context-free aphorism of the ages? Friendly suggestion: you may be making this same mistake when interpreting words in other situations.


"Your quote would be different advice; it doesn't have the same meaning nor implications."

What meanings or implications does the aphorism have other than "some people (fools in this case) shouldn't ever talk?"

We've established you think I've misinterpreted the aphorism and that you suspect there's something socially off with me, but we haven't established what you think the aphorism means. Go on, educate me.


You can get the best of both worlds. Stop worrying too much about what you think and say, like you mentioned; and also stop engaging on Twitter.


I think it was a joke about the author's writing style.


You can think of each vector space as being embedded in the direct sum of the two.


I think SQLModel actually exists precisely so that you don't have to do that. According to [1]:

> That class Hero is a SQLModel model... But at the same time, it is a SQLAlchemy model... And at the same time, it is also a Pydantic model

[1] https://sqlmodel.tiangolo.com/#sqlalchemy-and-pydantic


Ah, I must've missed something in the first lookaround.

looks good.


Not to mention the implicit string concatenation that you get instead.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: