Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
kbolino
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
61.
▲
by
kbolino
7mo ago
TFTP is also a good choice for transferring files over trusted networks to/from underpowered devices.
62.
▲
by
kbolino
7mo ago
I think you're assuming that LCDs all have framebuffers, but this is not the case. A basic/cheap LCD does not store the state of its pixels anywhere. It electrically refreshes them as the signal comes in, much like a CRT. The pixe
63.
▲
by
kbolino
7mo ago
I touched on the issues with FTP itself in another comment, but who can forget the issues with HTTP+FTP, like: modes (644 or 755? wait, what is a umask?), .htaccess, MIME mappings, "why isn't index.html working?", etc. Every
64.
▲
by
kbolino
7mo ago
There are multiple reasons why FTP by itself became obsolete. Some of them I can think of off the top of my head: 1) Passive mode. What is it and why do I need it? Well, you see, back in the old days, .... It took way too long for this crit
65.
▲
by
kbolino
7mo ago
There isn't much advantage that can be taken from O/S users and perms anyway, at least as far as git is concerned. When using a shared-filesystem repository over SSH (or NFS etc.), the actually usable access levels are: full, incl
66.
▲
by
kbolino
7mo ago
The Steam hardware survey currently has FMA support at 97%, which is the same level as F16C, BMI1/2, and AVX2. Personally, I would consider all of these extensions to be baseline now; the amount of hardware not supporting them is too s
67.
▲
by
kbolino
7mo ago
So much software was stuck on Java 8 and for so long that some of the better GC algorithms got backported to it.
68.
▲
by
kbolino
7mo ago
They do have uniform policies, those policies come from the aforementioned CA/Browser Forum, which has been issuing its Baseline Requirements for over a decade.
69.
▲
by
kbolino
7mo ago
The edge connectors also look quite off, like two-thirds of the traces are missing, but that does take a discerning eye to notice.
70.
▲
by
kbolino
7mo ago
Python chose, quite some time ago, not to follow C's lead on division: PEP 238 – Changing the Division Operator (2001) [1] The rationale is basically that newcomers to Python should see the results that they would expect from grade
71.
▲
by
kbolino
7mo ago
I think in the case of MIPS, at least, the decision logic was simply: condition flags behave like an implicit register, making the use of that register explicit would complicate the instruction encoding, and that complication would be for l
72.
▲
by
kbolino
7mo ago
Yeah, it's not the end of the world, and as others mentioned, a good implementation can recognize the instruction pattern and optimize for it. It's just a bizarre design choice. I understand wanting to get rid of condition flags,
73.
▲
by
kbolino
7mo ago
This result is misleading. First, the code claims to be returning "unsigned long" from each of these functions, but the value will only ever be 0 or 1 (see [1]). The code is actually throwing away the result and just returning whe
74.
▲
by
kbolino
7mo ago
Interfaces in Go are structurally typed but they're still types. A variable of an interface type has two components: a pointer to its dynamic type information, including virtual method table, and a pointer to its value. When you consid
75.
▲
by
kbolino
7mo ago
This forms a closed set of types (A, B, nil -- don't forget nil!) but the compiler doesn't understand it as such and complains that the following type-switch is not exhaustive ("missing return"): func Foo(s SumType)
76.
▲
by
kbolino
7mo ago
Go does not use LLVM at all and never has. It uses its own compiler and its own (quirky) assembler. Of course, this does not matter to most people, but LLVM compilation can be both a blessing (good interop with C/FFI) and a curse (chan
77.
▲
by
kbolino
8mo ago
> They also failed to initially offer any automatic porting tooling which could have increased adoption. Maybe it wasn't very good, but 2to3 was there from the start: https://docs.python.org/3.0/library/2to
78.
▲
by
kbolino
8mo ago
From nbio's README: For regular connection scenarios, nbio's performance is inferior to the standard library due to goroutine affinity, lower buffer reuse rate for individual connections, and variable escape issues. From gn
79.
▲
Rust 1.94
(blog.rust-lang.org)
2 points
by
kbolino
8mo ago
|
0 comments
80.
▲
by
kbolino
8mo ago
I picked hosting because it's a line item that exists across all of their budgets, it's a rough proxy for a web business's non-salary expenses, it's a big part of what you think you're donating to based upon Wikiped
81.
▲
by
kbolino
8mo ago
There are a couple of ways to approach this information. One is to compare to the past. For example, comparing with 2008-2009 [1], they now spend 3.75 times as much on hosting, but 48 times as much on salaries, illustrating a more-than-tenf
82.
▲
by
kbolino
8mo ago
Where and how they spent their money is on p. 21 of this PDF [1] which can be obtained from this official source [2]. This is just a high-level breakdown, but it does illustrate that, for example, more than twice as much is spent on "D
83.
▲
by
kbolino
8mo ago
It is not always necessary to explicitly use prepared statements, though. For example, the pgx library for Go [1] and the psycopg3 library for Python [2] will automatically manage prepared statements for you. [1]: https://pkg.g
84.
▲
by
kbolino
8mo ago
The Apple monitor will likely have better speakers, and I'm not even sure the others will have microphones at all. Apple also does a better job with color accuracy/consistency, at least historically. There's still a sizeable
85.
▲
by
kbolino
8mo ago
Go 1.26 just added new(expr) which simplifies passing values to places that expect pointers. The old guard is slowly stepping away, for good or ill. QoL changes are not off the table, but they do have to fit into the language.
86.
▲
by
kbolino
8mo ago
There are cases where privileging the first alternative makes sense (like Maybe[T] = None|T with None = struct{} e.g.), and there are cases where it doesn't (like Either[L,R] = L|R). There has been an extensive amount of discussion abo
87.
▲
by
kbolino
8mo ago
This is true, but it feels like a mistake. It's too late to change now, of course, but I feel like (0, nil) and (!=0, !=nil) should both have been forbidden. The former is "discouraged" now, at least. It does simplify impleme
88.
▲
by
kbolino
8mo ago
The author doesn't touch on it, but the bigger problem with things like Foo|Bar as an actual type (rather than as a type constraint) is that every type must have a default/zero value in Go. This has proven to be a difficult proble
89.
▲
by
kbolino
8mo ago
The ability to grow without copying is already part of how slices work. Every slice is really a 3-word tuple of pointer, length, and capacity . If not explicitly set with make, the capacity property defaults to a value that fills out the
90.
▲
by
kbolino
8mo ago
Whole-file encryption with authentication is also more tamper-resistant. Basically the only thing an adversary can get away with there is rolling back the entire file to a previous version. Whereas, any incrementally encrypted format has th
More ›