I worked on Prime during the rollout of Prime Video and shortly after (maybe a year or so) pre-roll for other Prime Video content was inserted. I brought it up in a meeting with our org (but the Amazon Video team wasn’t present) and one of our business guys shrugged it off as not interrupting content, blah, blah, blah. I said the agreement was ad-free content, not uninterrupted content. The conversation stopped and nothing was done.
I worked on backend subscription management and the implementation of benefits. The team that business guy worked on was the group eventually at the center of the predatory subscription issue (I can’t say whether they were still around when that happened or not).
Why encode the length at all in the extension? Either the next byte is a continuation byte or not. Are there real world use cases where the length encoding is used in UTF-8 where individual bytes don’t have to be read anyway (for example, codepoint counting, but in practice what good is that
without knowing if the code points are combining)? Even in the case where you just want a byte count, an invalid UTF-8 stream won’t respect the first count marker. The arbitrarily sized count is no better than an arbitrarily sized code point - you’d still have to handle all the same resource and sizing issues for safety. And then what, are you going to allocate a buffer that can fit a length that needs more than 64-bits to represent?
It's a brilliant hack. It means that when you're dealing with valid UTF-8 strings, various kinds of string relationships enjoy a homomorphism between byte strings and Unicode strings. Specifically, where S and T are Unicode strings and E is the UTF-8 encoding operation:
• E(S concatenated with T) = E(S) concatenated with E(T)†
• S starts with T iff E(S) starts with E(T)
• S ends with T iff E(S) ends with E(T)
• S contains T iff E(T) contains E(T)
This means that, as long as you know your encoded strings don't contain invalid UTF-8, you can do a great deal of your string processing on the byte-encoded form, which is enormously faster than decoding the strings before doing the string processing, permits efficient radix-256 tries, and is much smaller in many common cases.
It also bounds the work you have to do if you're processing a string starting from the end, while certain other encodings require looking back in the string arbitrarily far to figure out how to interpret the bytes you're looking at. This is particularly important for Boyer–Moore string search, but in many cases it's also an express trip to getting your code featured on https://www.tumblr.com/accidentallyquadratic.
In short, yes.
______
†Surprisingly, even this most basic homomorphism is not true of many other character encodings, which may need extra bytes to be inserted in between.
Having the length of encoded in each codepoint means that you know if a stream ends at codepoint boundary or if it has a truncated final codepoint. You could probably do away with the length and maintain this property if you had distinct forms for start, continuer-mid and continuer-final bytes.
We’ve had 30 years of people killing digital people, often controlled by actual people without any obvious impact on violent tendencies.
I’m concerned about campaigns by misguided people to “protect” the bots. Seeing the response to the Unitree bots on AGT and their behavior’s effect on my own emotional response, I wonder how far off we are from calls for robot rights. We are more than tool-using apes, but for those that think that’s all we are, what’s the difference between that and tool using bots that emote, mimic distress, and otherwise act autonomously.
This is one of those things that really does need checked up on occasionally.
For example, do video games not cause violence because of something like being on the wrong side of the uncanny valley. We know it's fake therefore its fake.
Do does this break down when it gets "too real".
For example lets imagine a future VR video game that the inside game doesn't feel much different from the world we live in? Lets also imagine an interesting unique constraint in this video game. If you die in it you cannot play it any more. You play it for years safely and make romantic connections in it. One day someone kills your partner violently in front of you. You'd be pretty willing to take up violence against said person, right? How much of that violence would carry out of the game?
I don't want to make proclamations like the video game violence people did that were not correct, but I also don't want to assume as we make our simulacra more like us that it won't affect us somehow. Situations like this are rarely binary, and it's best to keep an eye on it.
Lastly, because LLMs can and do effect the real world with their actions, it's likely a good idea to error to the side of caution and at least be polite.
Expand this to 1-minute before birth, 1-month, 4-months, keep going. Fetal brain development is mature enough by 6 weeks that reflex and movement start.
The first and third most correlated stats are completely out of the player’s control. The confessional stat is reasonable if you’re trying to guess the winner, but as a player, there’s no obvious way to control it.
Interesting to see Russel as the biggest upset. He is probably my favorite and completely changed some aspects of the game (idol hunting without a clue or game information about an idol even being present). He burned everyone, but his strategic game was flawless while his methods were still novel. Once they were known, however, his game collapsed.
Russell is famous for playing a different game than survivor, and then getting mad that he wasn't rewarded for it. His game didn't really collapse, because he was never going to win.
He was a rich asshole who personally wronged everyone on the jury in his first season, and carried by luck/ignorance/Parvati Shallow in his second season. Which stats capture that?
In the FreeBSD section he mentions loading the AMD GPU drivers lower the power. I have less experience with AMD GPUs, but with Nvidia cards on FreeBSD I’ve had to load drivers, then open the GPU device (/dev/nvidia0) to get powermizer to kick in. This takes an old Ampere card from running at full power during idle (p state 0), to entering its lowest power mode (p state 8). among other things, this drops the temperature on the card by 15-20° C. Nothing has to be done with the device, just having an open file handle to it is enough.
On Linux this doesn’t seem to be an issue. Additional Nvidia utilities do this already.
I think more intuitively for speed - you are multiplying the things per period. If I’m making widgets 9x faster I have 9 x the previous number of units per period of time. To get the amount of time, you invert the ratio to period over units.
Multiplying some scale by units per period makes sense and is both linguistically and mathematically sound.
There has to be a route to where the LLM is running, and if there's a route for that there's probably a way for the machine to use it to route traffic somewhere else.
There doesn't have to be. You can easily block all outbound traffic, or the VM can exist without any network interface at all - you can control it through its host using a serial console.
The exception list includes South Africa with a comment that it can’t be rendered with just rectangles, but I don’t think that’s correct. Layering and rotation should be able to reproduce the effect. South Korea’s Taegeukgi can be created with circles, crescents and rectangles, though it would take a little more work.
It’s really sad, because they mostly aped search from BeOS and had best in class search for a decade or so. Now indexing frequently breaks or works when an external disk is not attached, but won’t find local files after it’s connected.
It is sad, and as one of the several former BeOS employees who went to Apple to add our experience to OSX, I can say that most of us have moved on. This isn't to say that others can't do what we did; they certainly should be able to. The OSX team back then was much smaller and we all had a maniacal attention to detail. One reason is that we were micromanaged by Steve J. and did lengthy weekly reviews with him and he was direct and brutal. He wasn't always right, but he did have the final say. This is all gone and even though Steve Lemay (now head of UX) was there during this time, he was also present during the overall rot of the user experience.
/meta let me just say how cool it is to cool it is to make a comment on HN and have responses from folks who worked on legendary teams. Thanks for your work on BeOS.
Now that we are living in The Future, I am dumbfounded how e.g. dynamically populated lists change their content reliably to something I did not want, during the phase of interaction where my finger is descending onto the target. Click! Not what I want.
Feels like a lost art which will be "discovered" again in the next 15 years.
Why do filesystem indices get stale? The OS can track what files get accessed, isn't inotify watertight?
I know that Windows has some equivalent stuff, that the antivirus uses to disallow opening files before they got scanned, so I'd wager that API is functionally required to not miss any changes.
Yet Windows indexing is one of the worst pieces of software in existence and frequently gets out of sync.
Even with inotify failing, if the system is plugged in and idle, it could quickly do a scan for files with update date > last known indexed time and index those. Like once per day maybe. Wouldn't take much load or memory, IMHO.
I worked on backend subscription management and the implementation of benefits. The team that business guy worked on was the group eventually at the center of the predatory subscription issue (I can’t say whether they were still around when that happened or not).
reply