HNHacker News
TopNewBestAskShowJobs

fjp

517 karma · joined October 17, 2018

submissionscomments
fjp··on Best Python IDEs and Code Editors
VS Code in Python for me is very poor at refactoring/renaming. Very slow, mostly can't find all the instances of a symbol, etc etc.

Every once in awhile I want to reach for VS Code as more lightweight alternative to PyCharm, but PyCharm just blows it out of the water in almost every category except resource usage.

fjp··on Alpine makes Python Docker builds slower, and images larger
Could you elaborate on why? I worked at a co that almost exclusively ran Alpine containers with a single Python app. No use of virtualenv. Never experienced any hangups with this.
fjp··on Illinois governor signs law capping insulin costs at $100 per month
Lack of price transparency is an issue. There's waaay too many misdirections and misaligned incentives between the price a consumer pays for a drug and the manufacturer's pricing.

But again, market-based solutions are just not appropriate for essential health care. You would pay ANYTHING to not die - there's no price elasticity of demand.

Every other developed country has figured out that this is simply immoral.

fjp··on Illinois governor signs law capping insulin costs at $100 per month
"Markets" are poorly designed for health care/research investment in general. Just like roads, education, general science research, etc... It just doesn't play well with being largely run with a profit motive.

That's not to say there's on place for the private sector there, but there is massive friction between a profit motive in drug research and you know, building a more healthy society. See the "new Adderalls" like Vyvanse that offer no benefits over Adderall, but Adderall's patent is up so it can be made by generics and isn't as profitable anymore.

fjp··on Threads Are a Bad Idea for Most Purposes (1995) [pdf]
I’m always a +1 for aiohttp (and aiopg)’s ease of use
fjp··on PandaPy has the speed of NumPy and the usability of Pandas
Some Python devs seem to pull in Pandas whenever any math is required.

IMO Pandas documentation somehow manages to document every parameter of every method and somehow it’s almost as helpful as no documentation at all. Combined with the fact that it’s a huge package, I avoid it unless I really really need it.

A version with human-understandable docs could convince me otherwise

fjp··on How much longer will we trust Google’s search results?
I used them in college in Chicago ~ 4 years ago and we have 12+ outages in a single year, several of which took multiple days to resolve, and we never got close to the speed we were paying for.
fjp··on Ask HN: What change in your programming technique has been most transformative?
Thank you for the thorough reply! I'll keep hacking away at it :)
fjp··on Ask HN: What change in your programming technique has been most transformative?
Hi, thank you for writing the book! Great introduction to Go.

One thing I was uncomfortable with about TDD is the step to "just write enough to make the test pass". The danger seems to be when you have to walk away from some code and you or whoever picks up your code doesn't know what you were up to.

In a simple app and a few tests you could probably tell, but the larger an application gets, the less you can put effort into finding out "this test works because the application works how it should" or "this test works because someone wrote just enough code and hardcoded some value somewhere in order to make the test pass".

It seems "safer" to write tests that are going to stay broken until every little corner of everything works properly, even though this is less iterative.

As mentioned above I have little TDD experience, so maybe I'm missing something.

fjp··on Ask HN: What change in your programming technique has been most transformative?
+1... black for Python. I didn't agree with some of the formatting decisions, but it has gotten better with passing versions, and the gains of not thinking about it at all are huge.
fjp··on Ask HN: What change in your programming technique has been most transformative?
I guess to me:

1) Writing a test that calls an API and asserts that everything resulted correctly from it is more of an integration test in my opinion - in this case I can agree this can be written beforehand.

2. If I'm changing my tests as I write my code then it doesn't matter if I go test-code-test-code vs code-test-code-test. I have still changed my definition of "correct" on the fly based on something I found out as I implemented.

fjp··on Ask HN: What change in your programming technique has been most transformative?
I did Learn Go With Tests which was my first intro to TDD and I found it enjoyable even if the author is little overly pedantic about his preferred testing approach.

However at work, I often find that I feel like I can't write unit tests before starting code because I just don't know how it's going to get built until I start poking at the code. I'm not sure how to break out of this

fjp··on How I write back ends
I'm curious what's a good rule of thumb for "dependent on each other". A foreign-key relationship? That's... pretty much everything unless you have two completely separate business lines.
fjp··on Epic Tells Customers It Will Stop Google Cloud Integrations
By undercutting the hell out of Epic (at least to start) is what I would expect.
fjp··on Httpx: A next-generation HTTP client for Python
Aiohttp + Aiopg which uses sqlalchemy
fjp··on Announcing Updated Postman Plans and Pricing
I switched to Insomnia because I was having a miserable time with Postman being able to resolve hostnames created as part of a Docker network on my local machine. There were a bunch of stack overflow and similar posts about how to configure it properly and nothing worked.

Insomnia didn't need any configuration at all, and the UI is so much less bloated and confusing

fjp··on Ask HN: How do I choose the right resource to learn CS fundamentals?
Just got my Raspberry Pi in the mail and I’ve been looking for a project-oriented way to learn computer architecture... looks like Nand2Tetris is going to be what I do on the pi.

Thank you!!!

fjp··on Python Type Hints
I won't deny that static typing is great. You're just never going to get rid of Python.

Python is just an incredible language to learn programming in and an extremely productive language for building small-to-medium sized apps. Type hints + making type checking part of the build stage helps, a lot in my opinion. With these + tests in place I almost always experience that I can refactor safely.

I would use a statically typed implementation of Python in a heartbeat, I really hope it gets made.

fjp··on Ask HN: What’s your favorite developer tool of all time and why?
Pycharm really is an incredible tool nothing can match its refactoring and debugging capabilities for Python
fjp··on Boeing CEO ousted as 737 Max crisis deepens
Johnson & Johnson has known its baby powder caused cancer since the 70s, so what did they do? Focus on marketing it to minorities.

https://www.cbc.ca/news/business/johnson-johnson-baby-powder...

fjp··on Undocumented Catalina file access change
Plus as far as I can tell, I give permission once and the process "python" has access to my folders forever?
fjp··on Message DB: Event Store and Message Store for PostgreSQL
Any reason for your choice of asyncpg vs aiopg? Curious as I have worked with both
fjp··on Poetry – Dependency Management for Python – v1.0
You can do both! Your general file can loosely define dependencies like greater than this version, less than this version, skip this version, etc

Then you “lock” and it builds a dependency tree with the newest version of everything that satisfies your loose requirements.

Then you can choose to install dependencies from your lockfile, which is exact frozen versions OR you can re-run the lock later, which will again attempt to update everything to the latest versions that satisfy your loose constraints

fjp··on Student Loans a Lot Like the Subprime Mortgage Debacle, Watchdog Says
Though it's less direct than the NHS benefit, I think it's a pretty good argument that everyone benefits from an educated society, even if you can't point at every single person with a degree and say they're contributing to the greater good.

Educated people design infrastructure, products, services, (public and private) that affects every aspect of everyone's life.

fjp··on Django 3
aiopg is also great and has full SQLAlchemy support
fjp··on Django 3
I'm a really big fan of using aiohttp + aiopg + some light wrapping for CRUD APIs
fjp··on 16-inch MacBook Pro
I have the 15" with 32gb and I thought docker was making my laptop shit the bed - screens flickering all the time, mouse barely moving, etc.

It turned out to be docker plus Firefox (current version/Quantum yada yada) that was too much - I can't stop using all this docker stuff but I switched to Safari and haven't had any problems at all

fjp··on Draw.io: Online Diagramming Website
abandoned torrent client
fjp··on System design hack: Postgres is a great pub/sub and job server
SKIP LOCKED is much simpler and doesn't really have any gotchas.

We had an internal library that used advisory locks which had all sorts of strange behavior we couldn't figure out until we just moved to SKIP LOCKED

fjp··on Simple Does Not Mean Ugly
Even if everyone is doing everything really well, there will always be the endless battle between "usability" aka having a few obviously-named-and-organized features that a new user can instantly understand (while severely limiting overall functionality) - think Asana task management software - vs. "flexibility" which is having all the features anyone could want which almost invariable leads to bloated incomprehensible menus that lead to menus that lead to more damn menus - think Jira or Salesforce.

I think non-enterprise sites/web apps are usually going to tack toward "usability" and enterprise sites/web apps are usually going to tack toward "flexibility".

← PreviousPage 2 of 7Next →