Recent submissions

Comment · 1 month ago
Related: Not US postage labels, but suspicious US postage stamps, seemed to also be used as a crude currency.

A third-party seller on Amazon or eBay was including sheets of suspicious US postage stamps in product shipments, unsolicited, with full-color glossy notes offering more stamps in exchange for positive reviews.

(I took the stamps and note I received to a post office, where a manager agreed they looked suspicious, and I asked them forward it up the chain. I like the USPS as a trustworthy service and institution, and I hate counterfeiting.)

Comment · 1 month ago
The biggest early selling point of Tcl was Tk, as a relatively easy way to make good-enough GUI programs with open source on Unixen and the X Window System. Even much easier than the easier-to-use X toolkits like XView with C, and the alternatives only got more difficult from there. There were no Web frontends.

Tcl itself was quite clever as what I'd actually call a string-based scripting language (contrast with Bourne/C-shell/etc. that preceded it on Unix).

Originally, Tcl was among the handful of off-the-shelf extension languages. You write your big application in C or C++, and then you embed an interpreter for a higher-level extension language, for users or the original developer to add on functionality. The options at the time were usually a small Lisp/Scheme, Tcl, Python, or something entirely bespoke and probably quirky and half-butted.

During early dotcoms, there was considerable interest in Tcl for backend work, and it also wouldn't have been the worst choice to put into the browser. Like Python, Tcl would've been more accessible and democratizing-the-Web than JavaScript, and there were already solid off-the-shelf designs and implementations. (Scheme would've appeared slightly more intimidating than Python or Tcl, and was more powerful, which I think was why Tim Berners-Lee preferred Python over Scheme as the people's programming language for various Web purpose. The semantics of the JavaScript we got was more a hurried toy Scheme, plus the simplest object model, and a more intimidating syntax that came from systems programming.)

Comment · 1 month ago
If Google cares about some of the long-standing problems, I wonder whether they know how to fix them. (Assign OKRs, which may be conflicting, or get quietly triaged/prioritized?)

Maybe they need personnel tasked solely to just go in, with the blessing of some high-up person, find any bad customer service or goodwill problem, bottom-up, figure out why it's happening, and work with the relevant teams to fix it, quickly. Then repeat.

To fit with ingrained cultural incentives for relevant teams, other managers and ICs might have to be convinced that their performance evaluations depend strongly on cooperating with this process.

Comment · 1 month ago
I have a suspicion that 99.999% of people who say that Lisp syntax is difficult to read haven't really tried to use it (outside of a random homework assignment in CS101).

The syntax is incredibly trivial, and needs very little initial instruction (except to tell newbs to stop trying to put the close-paren on a line by itself, like they are fresh out of a JavaScript boot camp and have no frame to conceive anything else, and that, really, the automatic indentation and the shapes should be at least as readable once you try to use it in real-world examples, and see how that works in practice).

> Since Lisp puts the function name after the opening parenthesis, there is more distance between the parentheses. This makes it less likely that the parentheses are close enough to be scanned as a single shape.

Or we can navel-gaze differently, and claim it's more a shape, because then it's a nicely rounded shape that contains the whole function application/call:

    (foo x y z)

    foo(x, y, z);
There is a small chance that you're doing the following in a Lisp or C, but you'd be doing something fancy that most people do not (like writing the internals for a pluggable framework or object system):

    (((f a) b ) c)    Pseudo-Lisp

    f(a)(b)(c)        Pseudo-C
If you were doing this, and you thought the particular code was hard to read, you could throw in a variable or two, for the intermediate function (or function pointer) values. Or use a combinator...

When you don't have this fancy function-that-produces-function-that-produces-function pattern, your list head will typically have the name of a function there, and then the syntax simple shape and indentation visually disambiguates.

In skimming the article, I did see something the article could've followed through on, for a good syntax criticism of many Lisps:

    f[a][b][c]    Pseudo-C, array access notation
Array-intensive Lisp code could use syntax/dialect extension for square brackets for this, if the Lisp doesn't already have comparable syntax:

    [m a b c]
In both references and setters; see my most recent mention of it:
https://mastodon.online/@neilvandyke/117067069023420085
Comment · 1 month ago
> REDCmts sells one Reddit comment for $9.99 and 100 for $699.99, from what it calls "real, aged accounts", and shows a gallery of brand mentions it says it delivered. Soar says its accounts are "aged and manually warmed" for weeks before a single brand mention. Bazzly advertises automated replies to every post that looks like someone shopping.

Why doesn't Reddit make sure that shilling is disallowed by their ToS, and then sue these companies and all their customers?

Comment · 1 month ago
As someone who used PostmarketOS previously, and would be interested in returning...

1. Congrats to them on a name change.

2. Bummer about not getting the .org domain name, but if the current registrant hasn't been using the name, there is some ICANN trademark pressure that can help the registrant be reasonable with the price.

3. Is the effort into branding a sign that there's also imminent big news on viability for daily drivers?

Comment · 1 month ago
That seems to be a big part of it.

There's a widespread problem of anti-intellectualism and acting-out, including, in the US, by both right and left. Most of the learning feedback to that -- pointing out to people when they might be missing something or acting unfairly -- is ignored, except to attack those who point it out.

AFAICT, for various reasons, they're proud of being warriors for their beliefs, and anyone who sounds like they're saying anything differently is the enemy, and the only thing you do with an enemy is score points against them or hurt them, while trying not to concede anything that the enemy would claim as points or hurt you. It's a toxic recipe for society.

Coincidentally, recently I've decided even Fedi isn't safe from that (it's just different and fewer people doing ideological bully thinking), and have resigned myself that issues of substance can't be discussed there either. Maybe the only safe thing to post is cat pictures.

I think it's much less a problem with HN. Of course, over time you realize certain positions get downvotes that aren't flattering to the people doing it, and some annoying commenting behaviors, and not always all the integrity we'd like to see, which are relatively mild by social media standards. However, I'm also seeing occasional random individual actor extreme toxicity problems with HN. And I'm anticipating some related but different kind of problems from how AI-powered tools will be easily used with the corpus/firehose to play toxic games.

Comment · 1 month ago
Editing would be a good idea, but it was already over an hour old before someone pointed out the confusing phrasing, and HN won't let me edit it. Do you agree that the clarifying comments right below it will suffice?
Comment · 1 month ago
Yes, I was thinking of the whole tragedy together, not wanting to dwell on it, and misspoke. Thank you for catching that.

I assume that the whole tragedy is also on the minds of those responsible for trying to prevent it from happening again, on any campus. So I'd think the point still stands, about, once you're talking about motivations for campus surveillance, that's one of them.

Comment · 1 month ago
As context for this article presumably written for an audience of faculty, a few bits of historical MIT culture:

1. MIT prided itself on having minimal rules. Historically, they think rules are barriers to MIT people doing smart things.

2. MIT valued an open campus. Typical example was that at any time of night students could walk into an empty classroom to work on a problem or something.

3. There is a joke that it stands for "Military-Industrial Technology". There have been very close ties to US govt., more than most than most universities. Whatever goes on at a small set of partifcular universities will be seen by some to affect national security. This is in addition to, like other US research universities, suddenly feeling at the mercy of whatever US administration is controlling the purse strings.

4. Overall strong libertarian bent, of the student body and much of the faculty. This affects how you make non-engineering/science/financial/prestige arguments to this audience. (Excepted are administrative staff, more typically having the background of solid liberal arts educations.)

5. (This one is my own observation) MIT student body overall were less aware of societal and world issues, compared to students overall at the university I was at before. If you see demonstrations on certain issues, that might be originating with international students arriving on campus with concerns felt widely in their home countries, rather than the stereotypical general idealism of young college students.

(Aside: I'm surprised by the style of the article, if the audience is broad MIT faculty. The authors seem to be mostly from humanities pockets, so I wonder whether they bounced a draft off some engineering or science professors. Also, although the article might be implying that inhibiting protests is a motivation (not just an incidental effect) of the surveillance, I didn't see the article acknowledge the horrific recent mass-shooting on campus, which would be an obvious motivation. I'm personally highly skeptical of mass surveillance, and I think there are some profound questions for society, so I'd like to see engagement of the broader faculty.)

Comment · 1 month ago
Comment · 1 month ago
A rival team has an ambitious but craven assistant coach who, with a regime change, could be better controlled towards our interests.

Another team's key player couldn't be replaced on short notice, were they to be removed from the board, in a deniable 'gang-related' incident in front of the nightclub they frequent.

The roster of a favored team could be boosted with secret financial incentives to candidates, funded off-the-books by new gambling and prostitution operations.

Comment · 1 month ago
In a startup with move-fast lightweight processes:

1. Docs that are naturally versioned with the code, like API doc or a design doc, might well go in the code repos. (I'm personally a big fan of API docs embedded in comment chunks right above the respective implementation chunk, but a separate Markdown or SVG file, or other format, also works.)

2. Everything else, one of the top priorities is to minimize friction to someone who has the information capturing it such that it can be found by someone else later, so put it in the very low-friction wiki (or an issue/task comment).

3. Have a lightweight way of cross-linking things between these locations, that everyone knows, so info is more likely to be found later.

This still applies even if you feed everything into AI now.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton