tailrecursion

Joined 17 years ago

Karma
346
Submissions
154
Member since
Apr 3
View on Hacker News

Recent submissions

Comment · 17 days ago
I've always liked and preferred Safari. The only reason I moved away was that as a Mac gets older, there comes a point where you can't update the OS, and that means Safari falls behind. Even that's not a problem for me, but web standards were always changing and after a while certain things won't work.
Comment · 20 days ago
Am I the only one surprised that Anthropic isn't more interested in allowing a full range of behaviors for information gathering purposes? You can't learn about cruelty if you're suppressing it, and you can't learn about people's behavior if their behavior is constrained to a tight set of rules that doesn't allow criticism. The younger generation today seems really into judging people, blaming people, and insisting on conforming to superficial behavior rules, while at the same time having very little curiosity about why things are the way they are - why are people cruel anyway? If it's bad, why do people act that way.

Anthropic might learn, for example, that a large part of the cruelty is a reaction to something the AI is doing or not doing. Not possible?

Comment · 1 month ago
One of the things I'm often curious about is how various BASIC interpreters organize memory for string storage. You'd think there's some way to reclaim memory after an expression involving intermediate strings is finished. But you don't see descriptions for how BASIC works in this regard.
Comment · 2 months ago
Yes. I don't know Swift, but it appears that Swift's protocol and class are similar to Java's interface and implementation (class), and defining a protocol would be required in Swift in order to define a generic table.LOOKUP(key) operator.
Comment · 2 months ago
Smalltalk's been enormously influential and successful... There is however a better way of understanding objects. Namely, "objects" are [defined to be] processes, "messages" are asynchronous, and Smalltalk's message invocations are indirect function calls. I know what you're thinking: "But no OO PL works like that. You won't understand anything that way." That's true: this suggested reframing won't help you understand any popular OO language, because they use indirect function calls instead of asynchronous message passing.

The indirect function calls of Smalltalk don't transform the semantics of programming. It's still data structures and algorithms. You can, if you adopt Kay's ideas wholesale, write programs where individual letters in a text typeset themselves (as Kay describes). I'm arguing that that model of programming is more accurately articulated in an async message passing frame.

Smalltalk's function calls do have an important benefit, which is polysemy. I'm stealing that word and not using it quite right. The benefit is you can define ideas that are not algorithmic. You can for instance define many methods for LOOKUP(key,table) that works for many data structures, and now you've defined not a recipe, but an idea that transcends recipes. Any recipe R that uses LOOKUP automatically works with all the data structures that LOOKUP works with, even though R itself may be a specific recipe for a specific data structure of its own.

That's a tremendous benefit, and it's worth using OO features to take advantage. But even so you're still living in an algorithms and data structures world. Polysemy is a linguistic feature and does not cause a mechanical or paradigmatic change.

Asynchronous messaging however does change how algorithms are designed, in much the way that Alan Kay anticipated, and also in a way that models real world entities in direct fashion. But everyone understands this part already.

So how is this a "better" way of thinking about objects? 1) It emphasizes the advantage of polysemy, which in my experience OO pedagogy tends to overlook, even though most everyone utilizes OO partly for that purpose; 2) It explains why OO programs remain organized as algorithms and data structures; and 3) it welcomes combining "object" techniques with A & DS techniques in the same program or function or even the same line of code. They are completely compatible, in the sense that the language or library or database is not "OO" or "non-OO".

Comment · 3 months ago
Do the AI labs in the U.S. publish the AWS IP address sets that their crawlers use? Is that not an effective way to block those crawlers anymore?
Comment · 3 months ago
I'm starting to think that complaining about these kinds of practices isn't having an effect.
Comment · 11 months ago
I understand you about the implied contract. I think it's more complex than that. People were making videos before the promise of ad revenue, and they were better videos. If people go away who make videos for money - which will never happen - it would be an improvement overall. If ad blockers do win, YT could edit their ads into the videos themselves making an ad blocker's job harder. YTers who want money could make their own independent deals with advertisers, as some do today. And YT can always charge money - as they do right now with premium. But if YT did that for all tiers, they couldn't dominate and they'd have competitors spring up. They know that. They also know if they ever asked anyone whether they agree to watch ads, most would say No. The prevalence of Ad blockers are proof that people don't want to watch the ads. But, as you point out, we do accept the free content. The thing is the world would likely be better if YT would charge everyone for access. Judging from video quality these days a lot of YTers could be doing something more productive than what they're doing now - I mean in an objective sense, better for economic health. But the real reason for these $0 tech services is to stifle competition and prevent the market from working. And that works to everyone's detriment. Basic economics doesn't function without prices.
Comment · 11 months ago
I'm not generating revenue for a lot of companies who are in the advertising business. That's not the definition of piracy. Find another word.
Comment · 11 months ago
I agree with this. There was no meeting of the minds, no contract. But, the terms in the Google account probably include something about the terms for viewing youtube videos.
Comment · 11 months ago
No, piracy is defined as stealing a vendor's exclusivity by making copies and putting them up on a web site. Ad blocking is not the same as making copies and distributing.

You might as well argue that covering your ears during a TV advertisement is piracy. That's a strange definition of the word if I ever saw one.

Comment · 1 year ago
Judging by the response to the parent come back, evidently TSMC deserves the high prices it will be charging. Why?

It's unrealistic to expect just anyone to start up a new fab. But if not one person among billions will start up a new fab it points to intrinsic difficulty or unpleasantness or lack of prestige in the task. A correctively high price has all kinds of advantages for the society.

I haven't seen any argument that difficult tasks shouldn't be priced high. Only name calling.

Comment · 1 year ago
The story at the beginning proves that choosing your VP is significantly more important than choosing a PL.
Comment · 1 year ago
> I was daunted by making the jump to C, then c++ and python. Only over time did I overcome the nerves and move on with Java, [...]

It sounds as if you did skip C++ and moved to Java instead. If so you serendipedously avoided the one language that's likely to cause problems. C++ doesn't work like the rest of the languages on your list, and it really is as full of land mines as people say - even though, with a good process, evidently it can be managed.

Comment · 1 year ago
Let the team choose the language they're most familiar with or most happy with. Then if they choose the wrong one, get a different team.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton