HN user

tailrecursion

345 karma
Posts5
Comments139
View on HN

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.

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.

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.

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.

A new language / style / technology / whatever very often will leave us less competent.

This may be a big factor in rejecting unfamiliar languages. Over time the brain trains itself to grok a specific syntax, and understanding becomes partly automatic: we look at a Java program and our brain injects meaning into our consciousness. If we then look at APL or Lisp, however, that training on Java doesn't apply and the automatic injection doesn't function. We're left having to read the symbols directly, and it's unsettling not having the auto-assist. It makes us feel we "can't" understand the language, when it would likely take a couple weeks of immersion to change that impression.

I too appreciate detail-free programs, and I wonder at the value of including all the typedecls and pointer markings, and lifetime markings, and mutability markings interleaved with the logic. Some people I guess believe that the details are "part of the program" and they aid understanding. Do you buy that?

I find that sometimes typedecls aid understanding, but they get in the way if they're the least bit complicated. I'm better off reading the program. I never had problems understanding Lisp programs for some reason.

[...] show people posts from the people they follow or that the people they follow liked.

Yes, this is a good system. It'll work particularly well at filtering spam because people largely agree what it is. One thing that will happen with your system is people will separate into cliques. But that's not the end of the world. Has anyone implemented Anthony's idea of using followees' likes to rank posts?

I never did any real programming in APL, but I studied it over about 2 months. When you get used to the symbols, reading spelled-out words feels like reading in slow motion, or being stuck in molasses.

Most (not all) APL code I've seen uses very short names, often one letter names, for function names. And APL programmers are famous for cataloging "idiom" which are short phrases for common subroutines. In other words, it's best practice to repeat 3- or 4- symbol phrases instead of defining a subroutine.

Of course, there's nothing about an array language that requires using symbols; but for some reason most do.

I saw a video where a mechanic replaced a pack on his Model S with a 100Wh pack. There were some minor issues of fit, which he had all figured out. There was a connector change and some sheet steel around the edges that needed changing out to make it physically fit. The procedure was to keep a table under the vehicle, lower the vehicle so that the pack rested on the table, remove the last retaining bolts on the bottom, and lift the car back up. Reverse for install except he had to align it first. He estimated it would take 2 hours total. This car was designed for fast pack exchange. The coolant connections were self connecting and disconnecting.

Then came the software. The amount of complexity and jargon and issues and roadblocks that come out of nowhere is extraordinary. You have to dive several layers deep in a menu system to do step 1, then get hung up on opening a "gateway", then dive down the same menu to do step 2 of a 2-step process. He had another problem that kept him busy but what impressed me is the amount of time and complexity to do the simplest things. He wasn't performing many steps, but just getting to the step required rebooting, waiting, pressing the brake pedal to see when it was time to move the right turn signal stalk, didn't work, go back, do something else for 10 minutes, try again, it seemed endless.

German automotive companies have historically been terrible at software. Just because Tesla hasn't simplified or integrated their various software components yet, doesn't mean others can't do it nicer. But any company that doesn't value software like the Americans do is going to have a real tough time with the EV software problem.

If Google has failed so far to resolve mem safety issues in their decades old giant code base, then I'd rather hear standardization ideas from someone who succeeded. If G succeeded at resolving those issues, then that's a concrete positive example for the rest of industry to consider following. They ought to lead by example.

It seems like decades-old giant code bases are precisely the ones hardest to migrate to memory safety. That's where coercion and enforcement is needed most. You and I don't need to be told to start a new project in not-C++ do we? Nearly every trained programmer has been brainwashed (in a good way) with formal methods, type systems, bounds checking, and security concerns. Now those same people who champion this stuff say it isn't enough, and therefore we need to do more of the same but with coercion. That's a failure to understand the problem.

The article in question is published on Google's blog. Has Google resolved memory safety issues in its C++ code base? Did G port their code base to Rust or some other memsafe language? What's preventing them from doing that by themselves?

What's preventing Microsoft, or Apple, or the coagulate Linux kernel team, or any other kernel team, from adopting memsafe technology or practice by themselves for themselves?

The last thing we need are what are evidently incompetent organizations that can't take care of their own products making standards, or useless academics making standards to try to force other people to follow rules because they know better than everyone else.

If the team that designed and implemented KeyKos, or that designed Erlang, were pushing for standardized definitions or levels of memory safety, it would be less ridiculous.

At the same time, consciousness of security issues and memory safety has been growing quickly, and memory safety in programming languages has literally exploded in importance. It's treated in every new PL I've seen.

Putting pressure on big companies to fix their awful products is fine. No pressure needs to be applied to the rest of the industry, because it's already outpacing all of the producing entities that are calling for standards.

I notice you don't make a definite claim that it wasn't stolen. You're annoyed by the fact others believe it was, based on what you feel is insufficient evidence, yes?

But if you can prove it wasn't, I'm interested

Because I'd much rather my grandma get a COVID vaccine than trying to find a source of Ivermectin or hydroxychloroquine.

So the misinformation didn't affect your decision making. Instead, the misinformation you were exposed to was corrected by your exposure to more, better information.

I agree with the first part totally, and you're probably right I invented something there. I only meant that free speech / "more information helps" seems to resonate with the right, and censorship seems to resonate with the left. Not so?

Those are all valid disadvantages of community notes, and free speech in general.

How do you explain that there are smart people who have known about these very disadvantages for many years, and still respond positively to "the solution to misinformation is more/better information"?

I don't suppose you know of a solution (to a problem that I admit I haven't fully specified) that has no disadvantages. The proposed solutions I've seen appearing on the left are frightening.

I take it that left wingers feel that "community notes" isn't effective or sufficient to combat right wing beliefs that are wrong?

The people on the right seem satisfied for now that they can "combat misinformation with more information". (That's a misquote by the way, I believe he said better information, not more. On second thought, he may have said it both ways.)

Has anyone discussed why the right believes this can work, and the left doesn't?

"specification of system behavior" sounds like a programming language to me. A systems programming language, even.

Lamport has directly and repeatedly addressed the differences between what's desirable in a specification language versus what's desirable in a programming language. Understanding the difference is vital to writing specifications.

This appears to be downvoted, but why? I'd like to see the counterargument that we need to put each executive, author, director, or artist through a purity test before we can appreciate or purchase their work. How about listing a few pure American car CEOs.

Consumers are free to make choices based on anything they want: but whining in public about how some tweets affect your opinion on a car is not the same thing as privately making choices. This subject was opened for discussion and it remains open.

The K-202 could conduct a million operations per second – many more than the PCs that became popular a decade later.

That the K-202 was faster than the personal computers that came later is not unusual, because those later computers were based on microprocessors. Early microprocessors such as the 8008 and 8080 were not speed demons compared to LSI TTL designs of that time. The article mentions the [Data General] Super Nova as being similar in speed to the K-202.

Another interesting computer is the Datapoint 2200, another TTL design. The manufacturer went to Intel and TI to realize their CPU design on a single chip, which resulted in the 8008, a microprocessor with an almost identical instruction set and which ran slower than the original 2200.

The CPU for this computer is microcoded and is made out of a small number of discrete logic chips, plus an EEPROM. The data and address bus are 8 bits wide but the NOR unit operates on one bit only. The microcode has to loop in order to perform an 8 bit add.

I was looking for a hardware shifter in the diagram, because I figured it'd be necessary to access bits D1-D7. But there is none. He uses a lookup table in EEPROM to do the shift.

If you're interested in nice CPU designs, here's another one: the Novix NC4000 (also RTX2000), in which the bits in the instructions lead directly to control various muxes and units inside the chip. There's almost no decoding.

You appear to have your heart set on toasters, and that's fine. A coffee roaster for the prosumer, however, strikes me as a more interesting product to make. I think there's still an opportunity to make a better or at least different product, and the area has been heating up recently. It's a lot like a toaster, if you think about it. And there's more opportunity for software and hardware integration ("roast profiling").

I also have a question: if a product is sold as a kit where the buyer performs the "final assembly", does that alleviate any of the burden with UL testing, FCC, or product liability?

I agree, and this is just a by-the-way comment about Smeg. I always assumed Smeg was a bargain-basement brand because of its espresso machines, which appear to be rebadged Delonghi devices. There's one model that looks like a clone of the Dedica for example.

As another commenter pointed out, coffee-makers are one area where people are willing to pay thousands, e.g. espresso machines made in Italy or Germany that are robust and largely authentic.*

*Even though many follow virtually the same design and are made from near-commodity parts.