Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
nrclark
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
151.
▲
by
nrclark
2y ago
Agreed, I don't like that about Make at all. But also it's never something I have to worry about. Pretty much every syntax-aware text editor knows how to handle Makefiles, and knows that recipe steps start with a tab (unless you c
152.
▲
by
nrclark
2y ago
For sure. But you also don't have to use file-based deps if you don't want. Make doesn't require it in any way. You can mix-and-match.
153.
▲
by
nrclark
2y ago
If you don't want them, don't use them. Make doesn't need you to produce actual files called 'clean', 'build', etc. you don't even have to do anything special unless your build folder has actual files
154.
▲
by
nrclark
2y ago
---- fetch PACKAGE VER: @echo fetching {{PACKAGE}} at version {{VER}} ---- $ just fetch foo 1.2.3 Here is the Make equivalent, with equivalent error-checking ---- fetch: $(if $(PACKAGE),,$(
155.
▲
by
nrclark
2y ago
> What does a makefile look like for "install this list of dependencies with pip/homebrew/apt, and don't run it twice?" It looks like this: default: your_task VENV_DIR := venv $(VENV_DIR)&
156.
▲
by
nrclark
2y ago
If Just grew to have a large enough feature-set that it could replace GNU Make, it would collect an equal amount of warts and sharp-edges along the way. It's a little more user-friendly, but not enough to justify how much power you los
157.
▲
by
nrclark
2y ago
Just is fine, don't get me wrong. But Make targets can take arguements too. They just have to be named, or (if you stretch the definition a bit) wildcard targets. AFAIK, Just doesn't have any way to mark "this task is complet
158.
▲
by
nrclark
2y ago
If you're on PG&E for your electricity and you'd be using the grid to charge your car, a gas vehicle is cheaper per-mile than electric at the current kWh prices. And that will probably be true for many years to come. That'
159.
▲
by
nrclark
2y ago
Yes, that's true. But if the concern is build-times, exposing the data layout is harmless. We don't necessarily need full PIMPL just to get improved build times. By keeping the data layout in the .hpp, you can guarantee that your
160.
▲
by
nrclark
2y ago
You actually don't need to do that at all. It's common style in C++, but the language does not require it. With the right techniques, you can absolutely forward-declare basically all of a class's functionality. Then you can p
161.
▲
by
nrclark
2y ago
Back when I was doing C++ more often, I got a big speedup on my builds (and also smaller binaries) by using C-style forward declarations for everything that I possibly could, including class methods. Method definitions / template insta
162.
▲
by
nrclark
2y ago
Make is leaner and more agile than a custom CLI. It takes no time to get started, and there is no boilerplate. Removing or adding steps is trivial, running shell commands is trivial, and hooking into the dependency graph is trivial. Paralle
163.
▲
by
nrclark
2y ago
What?
164.
▲
by
nrclark
2y ago
My team uses Make to handle the top-level scripting for a Python development project, and it works great. It was pretty easy to set up the correct dependency relationships. Make is a powerful tool. You just have to understand how it thinks
165.
▲
by
nrclark
2y ago
Yes, that's true. But it is "on-by-default" for 95% of desktop Linux machines, with no special action needed.
166.
▲
by
nrclark
2y ago
GNU Make gives me: - tab completion of targets - automatic dependency execution - automatic entry points between every task - result caching - parallel execution Yes, it’s possible to do all of this by hand in shell scri
167.
▲
by
nrclark
2y ago
I think it's kind of interesting to watch the dynamics between Clear, PreCheck, and regular security. I flew out from SFO last month, and the PreCheck line was actually longer than normal security. Clear was a ghost-town. I've alw
168.
▲
by
nrclark
2y ago
What does it mean to go after them? You can't exactly fine somebody who doesn't have any money or an address. And our jails are crowded enough without throwing hundreds or thousands more people in there. I read somewhere that it c
169.
▲
by
nrclark
2y ago
I have very conflicted feelings about this. Homelessness is an epidemic, and it can be easy to fall into and hard to escape from. I want to be a compassionate person. On the other hand, the walking trails and parks in my community are dange
170.
▲
by
nrclark
3y ago
A lot of the biggest perceived differences come from temperature, since red wines are usually served at room-temperature. If you ever decide to do a blind test, make sure to control for temperature. I did it, and I had a very hard time pick
171.
▲
by
nrclark
3y ago
Most FPGAs have various kinds of primitives that can be instantiated manually in the middle of a larger Verilog design. Sometimes those primitives can be used to do things that are very hard to make the synthesizer create automatically. In
172.
▲
by
nrclark
3y ago
I agree that a good realtor can provide a lot of value. But the amounts of money involved are crazy. Much too high. The average sale-price for a house in my neighborhood is about 1.4M these days. At a standard 3% commission, that's $42
173.
▲
by
nrclark
3y ago
In the microcontroller space, I think Zig is more of a replacement for C/C++. It's a compiled language, intended to produce optimized code that hits cost/performance targets. Micropython and friends are well-suited for educat
174.
▲
by
nrclark
3y ago
I got one a couple of days ago, and it really threw me for a loop. I'm used to ChatGPT at least being coherent, even if it isn't always right. Then I got this at the end of an otherwise-normal response: > Each method allows you
175.
▲
by
nrclark
3y ago
Recommend changing the title from Linux to LUnix. The article is about a UNIX-like OS called LUnix, not about Linux.
176.
▲
by
nrclark
3y ago
Zig's comptime feature is really well designed IMO. It uses an interpreter to let you run arbitrary Zig at compile-time, and you can use it to do code generation, custom types, etc. It's pretty cool.
177.
▲
by
nrclark
3y ago
Incrementing a counter would be one example. Like maybe you want to produce file-00.txt through file-99.txt.
178.
▲
by
nrclark
3y ago
Imagine you had all your build commands in a shell-script. Now imagine that you want to run individual steps from time-to-time, instead of running your whole script start to finish. So maybe you write functions that represent each group of
179.
▲
by
nrclark
3y ago
Is Ruby's "yield" different than Python's "yield"? I use Python generators all the time, and I think they're the bee's knees.
180.
▲
by
nrclark
3y ago
Git does have one big architectural problem IMO - native unit of storage is a blob, not a diff. Things like rebase, cherry-pick, 3-way merge, etc would be much easier in a world where the storage model was “diffs” instead of “blobs”. This w
More ›