HNHacker News
TopNewBestAskShowJobs

samatman

18,419 karma · joined April 24, 2010

..arc.arc.arcitecture..

working to liberate literate programming for the median developer.

submissionscomments
samatman··on Wild – A fast linker for Linux
They have! It's called Julia and it's great.
samatman··on Urban legend: I think there is a world market for maybe five computers
*most of the Americas.
samatman··on Show HN: Lightpanda, an open-source headless browser in Zig
I'll also add something that I expect to be somewhat controversial, given earlier conversations on HN[0]: I see contexts in which it would be perfectly valid to use this and ignore robots.txt.

If I were directing some LLM agent to specifically access a site on my behalf, and get a usable digest of that information to answer questions, or whever, that use of the headless browser is not a spider, it's a user agent. Just an unusual one.

The amount of traffic generated is consistent with browsing, not scraping. So no, I don't think building in a mandatory robots.txt respecter is a reasonable ask. Someone who wants to deploy it at scale while ignoring robots.txt is just going to disable that, and it causes problems for legitimate use cases where the headless browser is not a robot in any reasonable or normal interpretation of the term.

[0]: I don't entirely understand why this is controversial, but it was.

samatman··on My Struggle with Doom Scrolling
It's great actually. Nothing else like it.
samatman··on TabBoo – add random jumpscares to websites you're trying to avoid
This isn't true at all, though. Nicotine is strongly dopaminergic, it directly produces euphoria.

You can describe the trap which is addiction without saying things which are obviously not true. Or, to return your uncharitable rhetoric back upon you, lying.

samatman··on Ross Ulbricht granted a full pardon
It's a system of checks and balances. The Presidential pardon power is specifically a check on the power of the Federal judiciary.

Regimes have toppled in response to popular uprising against imprisonments perceived as unjust. Having a system of governance without a way to rectify that seems unwise to me.

The check on Presidential authority, in turn, is impeachment. It's not a perfect system by any means, but in my estimation it's a good one.

samatman··on The Tyranny of Structurelessness (1970)
YMMV but the way the OP describes the entire cycle occurring in three weeks seems to preclude the founding of a public company, which does take considerably longer in general. That leaves toppling it from the outside.
samatman··on Types are a basic tool of software design (2018)
Is it really too much to ask to use the correct terms here, static and dynamic typing?

Strong and weak are sort of coherent as a spectrum, but they aren't a typology, and they do not in any sense or in any case reduce to static vs. dynamic types. Conflating them is not useful: I can make a good case that Julia's type system is stronger than C's, but Julia is dynamically typed and C is statically typed.

There's no reason to keep doing this. It's a malapropism, we could just.. not say that. Especially in a thread which is specifically about types.

samatman··on iTerm2 critical security release
It looks like the process is more manual than I thought, sorry. There's something which imports themes from the iTerm2 color schemes website weekly, but from what I can find that isn't a feature which ships with Ghostty itself.

Here's the relevant docs page, which I hope explains why I mistakenly thought that transferring a theme directly from iTerm to Ghostty was possible. You could upload your theme to the website they're being sourced from, and wait a week. But that's clearly not the same thing.

https://ghostty.org/docs/features/theme

samatman··on iTerm2 critical security release
Ghostty supports iTerm themes, so you should be able to transfer your preferred look-and-feel directly. I just picked one I liked, so I'm not familiar with the process, but it can be done.
samatman··on iTerm2 critical security release
Ghostty has also been out for what, a week? So this is the open season / shakedown, when security researchers get to try out all the old favorites and see what got missed.

I don't think there are larger lessons to draw from that occurrence. A reputation for security has to be earned, and Ghostty hasn't been around long enough for that. From my vantage point it's on track, but only time will tell.

samatman··on Postgres UUIDv7 and per-back end monotonicity
I maintain that people are too eager to use UUIDv7 to begin with. It's a dessert topping and a floor wax.

Let's say you need an opaque unique handle, and a timestamp, and a monotonically increasing row ID. Common enough. Do they have to be the same thing? Should they be the same thing? Because to me that sounds like three things: an autoincrementing primary key, a UUIDv4, and a nanosecond timestamp.

Is it always ok that the 'opaque' unique ID isn't opaque at all, that it's carrying around a timestamp? Will that allow correlating things which maybe you didn't want hostiles to correlate? Are you 100% sure that you'll never want, or need, to re-timestamp data without changing its global ID?

Maybe you do need these things unnormalized and conflated. Do you though? At least ask the question.

samatman··on What Is miniKanren?
You've posted in the wrong thread.
samatman··on Most people don't care about quality
Since 2001.

Although the iMac was pretty good too. But let's go with 2001.

samatman··on Déjà vu: Ghostly CVEs in my terminal title
It's not just Kitty graphics, the Kitty Keyboard Protocol is a DOS waiting to happen, and Goyal with his customary charm is very hostile to the idea of correcting his mistake: https://github.com/kovidgoyal/kitty/issues/7749

Short version: as defined, Mode 16 can deliver many megabytes of CSI parameters before the parser ever sees the `u` telling it what it's parsing. Since this is violently different from any other CSI code ever proposed or implemented, it cannot be parsed using any technique or parser which expects sane behavior.

This isn't the only problem with KKB, it must be deprecated and replaced.

samatman··on Morris Chang and the Origins of TSMC
I cannot stress hard enough how tired every sensible human being is of this kind of crimestop knee-jerk anti-contribution to discussions.

Stop working so hard to make the word racist useless. We need that word. Thank you.

samatman··on Debugging memory corruption: who the hell writes "2" into my stack? (2016)
Exceptions aren't bad because of the name. Exceptions are bad because lower stack frames unwind higher ones, without giving those frames any opportunity to do something sane with any captured resources. Calling it panic/recover doesn't help anything.
samatman··on Systems ideas that sound good but almost never work
Basically agree. This is a list of systems ideas which are harder than one might initially think, and should be approached seriously, never casually.

That slant-rhymes with "sound good but almost never work" but in detail is completely different. When treated as difficult problems, and committed to accordingly, having them work and work well is a normal result, eminently achievable.

As afterthoughts, or when naïvely thought to be easy, then yeah, they frequently go poorly.

samatman··on That's not an abstraction, that's a layer of indirection
What have you accomplished that is noteworthy or useful?

We could use a point of comparison here.

samatman··on That's not an abstraction, that's a layer of indirection
Useless?

Like the RTX2000 which landed on a comet kind of useless?

Or do you mean some other kind of useless. Maybe the controlling radio telescopes kind of useless. That must be it.

samatman··on Ada's dependent types, and its types as a whole
Verbosity was genuinely expensive at the time. Two ways: until the mid-80s, 5 1/4" floppies held between 100 and 250kB depending on format, so a program which used up three times as many bytes (I think that's a good multiplier from C to Ada) is making a meaningful difference for transfer, backups, storage.

What's probably more important is that 80 columns was far and away the likely maximum for a screen, and 40 columns wasn't unheard of. The word PROCEDURE took up 11 to 22% of the column width! This wasn't a show-stopper, Pascal uses a similar syntax (both of them derived from Algol of course) and was pretty popular, but plenty of people complained about Pascal's verbosity as well, and Ada is definitely more verbose than even Pascal.

The lack of autocomplete (even things like snippets were relatively uncommon) didn't help, but mainly, verbosity imposed real costs which are mitigated or irrelevant now.

samatman··on Ada's dependent types, and its types as a whole
Is it really so bad to run it twice, with cat/bat replaced with sh on the second pass? If you're really paranoid about it you could save the first run to a file, so you know for certain that the server didn't do a switcheroo for the second one, but if you think about it, that's a low-payout move for Bad Guy #N compared to just sending the pwnage the first time around.

This is beside the fact that we're talking about downloading and running a user-owned binary, which, unlike the shell script, is impractical to inspect in any detail, and has the same privileges as the shell script we're supposed to worry about.

I view "don't curl to shell" as about 90% theatrics basically. Sure, read it first, I do in fact do that. But it's a silly 'very hard rule'.

samatman··on Does current AI represent a dead end?

  - Signed,
    Some arrogant fucker posting on hacker news
samatman··on Merry Christmas Everyone
The latter I've been told, she came out a couple weeks ahead of schedule.
samatman··on Ghostty 1.0
I have this as a system-wide mapping with Karabiner. Complex modifications, "Post esc if left_alt is pressed alone".

There's never a time when I wouldn't want this to work, may as well enable it everywhere.

Edit: It looks like I misunderstood what that setting in iTerm does. But hey if you do want left option to send Esc by itself, that's how to get it.

samatman··on Ghostty 1.0
WezTerm has emulated tabs, not OS-native tabs. Some people will find that to be enough to suit their needs. Others will want 'real tabs'.

For example, I can select a tab in Ghostty, pull it out into its own window, and then stick it into another window. This doesn't work in WezTerm, nor can you drag them around to rearrange them (keyboard shortcuts allow this however).

samatman··on Merry Christmas Everyone
I have a cousin who shares your birthday. Her name is Merry Noel.

Hope you're having a merry Noel as well. ^_^

samatman··on Merry Christmas Everyone
All food is chemical food. That's why we eat it, for the chemical energy.
samatman··on The number pi has an evil twin
You're thinking of nadir, also Arabic. The zenith is in the opposite direction.
samatman··on The number pi has an evil twin
It's the opposite of zenith, another word ultimately derived from Arabic.

The difference between an apex and a zenith is that an apex exists as a point in space, while a zenith is a direction, with no fixed point which may be said to be "the" zenith. There are other differences given that apex has a few related meanings, but this is the main one.

← PreviousPage 4 of 34Next →