Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
wyuenho
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
61.
▲
by
wyuenho
4y ago
I attribute most of this to the simple fact that in Europe, Apple products are around 20% more expensive, because, protectionist EU trade policies. Unsurprisingly, iPhone has a pretty damn high penetration rate in Japan where it costs about
62.
▲
by
wyuenho
4y ago
I'm saddened to see people complaining about YAML when it's actually Helm and Jinja and treating configs files as plain text file like it's still the early 2000s that are the problem. In my experience, syntax tree based compo
63.
▲
by
wyuenho
4y ago
> thus changing the problem of trustworthiness to one of authority I wish Google would just penalize Quora. I can't ask any question on Google without seeing a bunch of Quora fake experts on the first page providing vacant answers t
64.
▲
by
wyuenho
4y ago
Delete all your search and watch history, and perhaps all your comments and likes. After a hard refresh, you should see the algorithm suggest something new again. Also, whenever you see a bot/spam channel or a channel with robotic voic
65.
▲
by
wyuenho
4y ago
As another dev with decades of experience, I've got to ask, why would you "validate" every commit in a PR lol. The reason every CI pipeline is setup to only validate the tip is because your combined outgoing changes that is a
66.
▲
by
wyuenho
4y ago
There's no "instead of" to speak of. Either you run the same linting step both locally and on CI, or just on CI, you can't skip linting on CI. Every properly set up CI pipeline has some combination of Makefile/shell
67.
▲
by
wyuenho
4y ago
You've already run them at edit time.
68.
▲
by
wyuenho
4y ago
I initially had some problems, then I've written an emacs package[1] to fix all of them. And it's due to the course of writing this package made me realize just how bad pre-commit is from its UX, design to its entire premise. [1]:
69.
▲
by
wyuenho
4y ago
Except this problem rarely comes up. Everyone has their favorite way to set up their editors to lint and format automatically using the project's config. Over my career, I see that every company has some version of: 1. New guy joins a
70.
▲
by
wyuenho
4y ago
Except your usual configuration don't necessarily work for your pre-commit hooks. A prime example is mypy.
71.
▲
by
wyuenho
4y ago
Perhaps, but it's not just one team, and if you are doing code quality checks on CI anyway, I don't see the point of pre-commit (for most people).
72.
▲
by
wyuenho
4y ago
Guilty
73.
▲
by
wyuenho
4y ago
> The CI/CD pipeline is there to give the team the confidence to merge your stuff. That's why linting is a part of every CI stage. Linters check your code for bugs. > Have your team installed hooks that take a long time to r
74.
▲
by
wyuenho
4y ago
> One thing that's really annoying these days are CI/CD that can't be replicated locally pre-commit just runs your linter, formatter and tests. Surely you can fully replicate this step locally. Just run make lint both loca
75.
▲
by
wyuenho
4y ago
That does not alleviate the problem with difficulty having your editor to use the correct version and settings for the linters and formatters. This approach also does not address the issue of having 2 separate sets of configuration when you
76.
▲
by
wyuenho
4y ago
1. Because it defeats the purpose of pre-commit. 2. pre-commit install installs the hook by default. 3. If you happen to fail linting a few times a year, there's always an anal coworker telling your boss in a 1-on-1 you are not followi
77.
▲
by
wyuenho
4y ago
> Do you really want to push changes to some remote CI system only to be told it's failed some boring QA check? Yes, that's what CI/CD is for. > Pre-commit is completely optional for each developer. No it is not, it
78.
▲
by
wyuenho
4y ago
I wish people would just forget about pre-commit, this thing is especially useless in a setting where a CI/CD pipeline exists. It's not that hard to write a simple Makefile or shellscript to run linters on push. Pre-commit is one
79.
▲
by
wyuenho
4y ago
This post brings back horrors when I was trying to figure out from the logs why there was a sudden doubling of requests and orders on 2016-12-31:23:59:59. This is the time I learned that Linux does not distinguish the leap second from the s
80.
▲
by
wyuenho
4y ago
> This feels like a hack that punts the problems to the future. We've already done this before, it's called the Gregorian Calendar.
81.
▲
by
wyuenho
4y ago
If you need 2 hrs to clean up disk space to checkout a repo, maybe how you organize code is the problem.
82.
▲
by
wyuenho
4y ago
> That's quite the odd statement It's odd only if you are new to DVCS. In the early days of git and hg, git commands were lots of plumbing and very little porcelain. At the time, most people switching from svn to a DVCS almost
83.
▲
by
wyuenho
4y ago
Most people prefer to buy Wintel not because of religious or philosophical reasons of "closed" vs "open". Most people buy Wintel for the simple fact that most of the world aren't rich western countries, when they ne
84.
▲
by
wyuenho
4y ago
Can confirm. Git: 50 mins of googling to know what the next 5 commands to type. Hg: 5 mins of googling to know what the next 50 commands to type.
85.
▲
by
wyuenho
4y ago
It doesn't matter. Pinning means pinning every dependencies and sub dependencies.
86.
▲
by
wyuenho
4y ago
The hardest packaging problem in Python is not resolving dependencies or pinning down dependencies. Pip has it largely solved a some years ago. Literally every Python packager using some parts of pip underneath. The messiest part is literal
87.
▲
by
wyuenho
4y ago
Cleo creates "subcommands" in a git like manner, whereas pexpect spawns a subshell. That cleo Terminal class you see is only a viewport. A terminal emulator will be something substantially more complex such as libvterm. If it ain&
88.
▲
by
wyuenho
4y ago
pip freeze > requirements.txt
89.
▲
by
wyuenho
4y ago
Use direnv to take care of the virtualenv part of functionality poetry offers, use pip-tools to deal with the dependency management/reproducible build part. Or if you like, straight up pip freeze. Use pyenv to install all the different
90.
▲
by
wyuenho
4y ago
https://twitter.com/SDisPater/status/1521932867214921728 poetry shell is also not a term emulator, it's just a subshell with some environment variables setup for your project. Once you are in, it's just
More ›