Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
kiwidrew
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
61.
▲
by
kiwidrew
6y ago
That content protocol is called HTTP and the service discovery protocol is called DNS. I know that it's a bit cliche to say that these days, but acquiring a domain name (either directly from a TLD registrar or indirectly through e.g.
62.
▲
by
kiwidrew
6y ago
I think Charlie makes a good observation: > I've been saying for years that most people relate to computers and information technology as if they're magic, and to get the machine to accomplish a task they have to perform the s
63.
▲
by
kiwidrew
6y ago
I'm impressed with the results from your lo-tech batch file approach. The output is really quite nice. It turns out that real CRTs also have a number of user-adjustable parameters, which of course makes it impossible to define any sor
64.
▲
by
kiwidrew
6y ago
Many of the retro takes on CRTs seem to over-emphasize the scanlines and (perhaps in pursuit of capturing the CRT "glow") also end up over-doing the background. On a properly adjusted CRT you shouldn't be able to see any sca
65.
▲
by
kiwidrew
6y ago
The TTL RGBI 320x200 one looks pretty accurate to me when compared to a real 15.7khz 200-line CRT, and the render of Crystal Caves on a double-scanned VGA also looks about right as compared to an early 90's 14" VGA CRT. Can't
66.
▲
by
kiwidrew
6y ago
Yes. In my hypothetical world where the C compiler makes use of the VLA declaration in the function arguments, it would certainly be possible for the compiler to insert automatic bounds checking in this case: double f(xs, n) double
67.
▲
by
kiwidrew
6y ago
Well, given that C is fundamentally about separate compilation and external linkage, most "guarantees" in the language are really just promises or contracts. As demonstrated in david2ndaccount's comment, standard C already
68.
▲
by
kiwidrew
6y ago
Why yes, yes it does! I did know (but seem to have forgotten) that it's only the first level of array-ness that decays to a pointer. It's unfortunate that the resulting VLA-enhanced function is no longer compatible with the origi
69.
▲
by
kiwidrew
6y ago
Ah, indeed! Thanks for the link. I think many of the "safe C" variants get tripped up by starting with fat pointers (length + pointer as an atomic value) and then have trouble (rightly so!) when trying to squeeze them through the
70.
▲
by
kiwidrew
6y ago
But the caller to strnlen() has already provided both the (pointer to the) array and the length! Note that C99 does permit declaring a VLA in the body of the function: char *strndup(size_t n; const char *s[n], size_t n) { char bu
71.
▲
by
kiwidrew
6y ago
I would argue that C's fundamental mistake (well, more like limitation due to hardware of the time) was allowing arrays to decay to pointers; arrays hold valuable type information (the length!) that is lost once converted to a pointer
72.
▲
by
kiwidrew
6y ago
Yeah, there's something about character-cell displays that makes knocking out a UI prototype really easy, because everything naturally aligns itself to the grid. It's a bit depressing to watch the HTML/CSS users go through hu
73.
▲
by
kiwidrew
6y ago
It turns out that the strlen() behaviour was present as far back as the 4BSD libc [1] circa 1980 , and via the Net/2 releases has found its way into NetBSD/FreeBSD/OpenBSD along with countless other BSD-derived libc implemen
74.
▲
by
kiwidrew
6y ago
Indeed, hooking the timer (or keyboard) interrupt was also the way to do "multitasking" (TSRs) in x86 real mode under MS-DOS. The much-maligned x86 segment registers do come in handy here: they provide hardware-accelerated positi
75.
▲
by
kiwidrew
6y ago
CPython is the only viable Python interpreter, and the Python language specification is "whatever CPython does". In my humble opinion this disqualifies Python from consideration as a language. That doesn't mean Python isn&#x
76.
▲
by
kiwidrew
6y ago
It's unfortunate that Rust has adopted development policies that are so hostile towards bootstrapping and cross-compiling rustc. The fact that most of the people cheerleading for Rust the ecosystem don't even see this as a proble
77.
▲
by
kiwidrew
6y ago
Could dmr have used a Model 37 teletype [1] to print his thesis? It had two key features [2]: half-line vertical spacing control and a 128-character typebox that included mathematical symbols [3]. I reckon that a Model 37 could handle near
78.
▲
by
kiwidrew
6y ago
Agreed! Shell scripting would be so much more sane (and safe) if filenames couldn't contain spaces (or control chars) and couldn't begin with a '-' character. Then the shell's default $IFS would work as intended in
79.
▲
by
kiwidrew
6y ago
Thanks to Microsoft's recent release of the MS-DOS 2.0 source code, we can now peek under the hood and confirm that Microsoft specifically intended for the DOS 2.0 file APIs to be compatible with Unix. From XENIX.ASM [1], the code tha
80.
▲
by
kiwidrew
6y ago
That's because Intel made the 8086 kind-of-sort-of backwards compatible with the 8080; it had six 8-bit registers (A Flags B C D E) plus a 16-bit register pair (H L), in that order. AL corresponds to the 8080's A register and AH
81.
▲
by
kiwidrew
6y ago
RISC-V is just an instruction set specification. It says absolutely nothing about the peripherals that need to be attached to a RISC-V core to produce a usable system. Whereas the IBM PC was delivered as a complete system (including all th
82.
▲
by
kiwidrew
6y ago
I use DDG as my default search engine, and find that the results are usually pretty decent. But there's no question that Google has a larger and more comprehensive index, especially for more obscure "long tail" queries. So
83.
▲
by
kiwidrew
6y ago
The users have already been domesticated [1]. It feels like we have now come full circle back to the 80s to once again grapple with the inherent injustices of proprietary software. Except this time, the proprietary wolves have clothed the
84.
▲
by
kiwidrew
6y ago
> Solid is mostly about working with HTTP and RDF Surely this incarnation of the RDF-based Semantic Web nirvana will succeed where all other attempts have failed! :)
85.
▲
by
kiwidrew
6y ago
Yes, email and IM do have a lot in common -- in particular, XMPP is best visualized as an IMAP-like client/server protocol plus an SMTP-like server/server protocol that both share an XML schema (ugh) for describing the messages ak
86.
▲
by
kiwidrew
6y ago
Because regulation is bad and therefore we have been left at the mercy of the invisible hand of the free market. Even this recent spate of "deplatforming" events can't seem to sway (a certain subset of) the tech community tow
87.
▲
by
kiwidrew
6y ago
> generic & enthusiastic evangelism I'm sorry my post has come across that way. I simply wanted to point out that framing the argument as "Matrix vs $PROPRIETARY_SERVICE" is unhelpful at best. As an actual user of X
88.
▲
by
kiwidrew
6y ago
Python shouldn't be blamed here, because the real reason that the Matrix homeserver is so slow is due to fundamental protocol design issues. It doesn't matter what language you write it in, it's going to be a resource hog b
89.
▲
by
kiwidrew
6y ago
Not nearly enough. Based on some yearly port-scanning surveys [1], the developers of the Prosody XMPP server think there are over 50,000 servers running Prosody (out of a total of over 85,000 XMPP servers). There are a handful of large pub
90.
▲
by
kiwidrew
6y ago
Yet another "Matrix isn't mature enough so just give up and use a centralized service" post that completely ignores the fact that XMPP is still alive and kicking. With multiple independent implementations (both client and se
More ›