Live data from Hacker News

An Unbelievable Demo

brendangregg.com

301–310 of 478 posts

Re: An Unbelievable Demo

#301
> It was something I and my consulting colleagues had run into before: The belief at Sun that only Sun could make good use of its own technologies, and anything created outside of Sun was trash.

Yep. See Sun's response to the Linux SPARC maintainers technical critique of Solaris for SPARC. Meanwhile at Red Hat we started hiring all the ex-Sun people that had been pushing for x86 internally at Sun and gotten frustrated with the flip flops (RHEL 3 on Xeon already demolished Solaris/SPARC) .

Re: An Unbelievable Demo

#302
post #110

> a heavy American accent Any non-Americans want to chime in on what is a heavy American accent? I’m imagining heavy southern accent, but maybe this is something that can only be heard by non-Americans?

For me, if the speaker uses two syllables for "and", it's a strong American accent.

I’m trying to understand what you mean here. How does one pronounce and with 2 syllables?

Re: An Unbelievable Demo

#303

Earlier quoted context omitted.

> They look deceptively simple, but those that are kprobes-based are really kernel-specific and brittle, and need ongoing maintenance to match the latest changes in the kernel It seems like there is a missing formal interface here if this is so brittle, no? If it’s hitting a bunch of internal kernel stuff shouldn’t this stuff just live with the kernel itself?

The formal interface is tracepoints. So tracepoints in theory aren't brittle (they are best-effort stable) and don't need so much expert maintenance (which is mostly the case). In theory, someone could port tracepoint-based tools and almost never need maintenance. But kprobes is basically exposing raw kernel code that the kernel engineers bashed out with no idea that anyone might trace it. And they can change it from…

Thanks Brendan for creating the bpfcc-tools! I’m using it in magicmake [1] which is a tool to automatically find missing packages when compiling, based on file path accesses.

[1] https://github.com/truthly/magicmake

Re: An Unbelievable Demo

#304
post #148

Earlier quoted context omitted.

TV/film - is there something new even remotely popular across the world that's French? It was the case up to the 2000's, I think, but I can't even remember the name of a new French director since then. The last one I remember is Luc Besson. Kind of similar story for actors/actresses, are there some major French stars popular across the world? I feel most of the influences are leftovers from a different era, folks lik…

TV/film - is there something new even remotely popular across the world that's French? Indian here who doesn't know French - just finished watching all four seasons of Dix Pour Cent (Call My Agent) and really enjoyed it. I also watched Lupin (after learning that it stars Omar Sy who I loved in the movie The Intouchables ).

Seconding Lupin, it was great and also my first thought! (American who doesn't know French)

Re: An Unbelievable Demo

#305
post #292
post #251

Earlier quoted context omitted.

Check the laws first. Some places only require one party (you the recorder) to consent.

>Some places only require one party (you the recorder) to consent Some places...nord Korea? You the recorder have to consent?? I consent to myself that i record others without their knowledge?

Most of Australia, for example.

https://www.sydneycriminallawyers.com.au/blog/is-it-legal-to...

Re: An Unbelievable Demo

#306

A colleague of mine was attending a local tech conference just before Covid hit. I believe it was aimed at newcomers and various companies tried to show off exciting tech that interns/new coders could potentially work on. She couldn't believe what she saw. A major govt. backed logging company (which does do a lot of dev work themselves) were showing off one of our projects as theirs! We were using depth cameras to es…

Maybe they hunted for some passionate overzealous intern to rewrite it from scratch for them. Kind of "make me a clone of facebook for $10" gigs :)

Re: An Unbelievable Demo

#307

Earlier quoted context omitted.

Implementing software updates where you don't want to ship entire binaries again (and only the diff) would be one. In some video games the assets are also packed into massive binaries, so you don't want to ship gigabytes of data because you replaced one icon. Sadly many games do this anyway nowadays.

There are other solutions to this problem that the game industry uses. Binary diff patching is slow, incremental, involves large diffs and has the possibility of corruption. It was used back in the mid 90's (RTPatch was the big name), but really isn't used anymore because of the drawbacks. Games frequently use an override directory or file. The patch contains only the files that have changed and is loaded after the m…

Different things.

Games are directories/packfiles containing many individual files, mostly binary art assets, plus one executable that takes up a negligible proportion of the total size. When binary art assets in the directory/packfile are updated between versions, they don't really "change" in the sense that a source-code file might be changed a git commit; instead, they get replaced. (I.e. every file change is essentially a 100% change.)

The "binary diff patching" you're talking about the game industry using, was just the result of xor-ing the old and new packfiles, and then RLE-encoding the result (so areas that were "the same" were then represented by an RLE symbol saying "run of zeros, length N"). For the particular choices being made, this is indeed much less bandwidth-efficient than just sending a new packfile containing the new assets, and then overlay-mounting the new packfile over the old packfile.

bsdiff isn't for directories full of files that get 100% rewritten on update. (There's already a pretty good solution to that — tar's differential archives, esp. as automated by a program like http://tardiff.sourceforge.net/tardiff-help.html .)

Instead, bsdiff is for updates to executable binaries themselves (think Chrome updates), or to disk images containing mostly executable binaries + library code (think OS sealed-base-image updates — like CoreOS; or, as mentioned above, macOS as of Catalina + APFS.)

In these cases, almost all the files that change, change partially rather than fully. Often with very small changes. The patches can be much smaller, if they're done on the level of e.g. individual compiled function that have changed within a library, rather than on the level of the entire library. (Also, more modern algorithms than xor+RLE can be used — and bsdiff does — but even xor + RLE would be a win here, given the shape of the data.)

There's also Google's Courgette (https://www.chromium.org/developers/design-documents/softwar...), which goes further in optimizing for this specific problem domain (diffing executable binaries), by having the diff tool understand the structure/format of executables well-enough to be able to create efficient patches for when functions are inserted, deleted, moved around, or updated such that their emitted code changes size — in other words, at times when the object code gets rearranged and jumps/pointers must be updated.

The goal of tools like bsdiff or Courgette isn't to reduce an update from 1GB to 200MB for ~10k customers. The goal is to reduce an update from 10MB to 50KB for 100 million customers. At those scales, you really don't want to be sending even a 10MB file if you can at-all help it. The server time required to crunch of the patch is more than paid off by your peering-bandwidth savings.

Re: An Unbelievable Demo

#308

Earlier quoted context omitted.

>> "that guy is making a mountain out of a molehill, just use re2" That's an odd thing about the tech world, it's accessible. As you get better in different areas you are actually more and more likely to make contact with important people (big names? people who did important stuff?). This can creep up on you if you're not aware what level you're operating at. It can be a small world.

yep. i remember asking a question on google groups about some AppEngine query early on a Saturday morning thinking, "this will never be answered". about 15 minutes later Guido van Rossum answered my question.

I read about a similar example this week. Some news orgs filed FOIA requests for Dr. Anthony Fauci's email and I was surprised at how many regular people just emailed him and got a response.

Apparently the guy answers about 1000 emails per day.

Re: An Unbelievable Demo

#309

Earlier quoted context omitted.

There are other solutions to this problem that the game industry uses. Binary diff patching is slow, incremental, involves large diffs and has the possibility of corruption. It was used back in the mid 90's (RTPatch was the big name), but really isn't used anymore because of the drawbacks. Games frequently use an override directory or file. The patch contains only the files that have changed and is loaded after the m…

To my knowledge, most developers have gone back to binary patching for obfuscation purposes. Bethesda does this now (and ID, by extension), as well as many other developers I've seen.

For at least the Nintendo Switch (not sure other modern conosles), the digital distribution infrastructure is built in terms of overlay packfiles. Games, updates, and DLC on disk are all single-file archives / filesystem images. The OS, when launching a game, mounts the game + its updates + its DLCs together as a transparent overlay filesystem. The game just sees a unified representation of its newest version, with whatever DLC has been installed, sitting under (IIIRC) /title.

I wouldn't be surprised if the other consoles also do things this way. It's a very sensible way to manage updates — especially when a game is running off of physical media but the updates are held in local storage. It also means there's no point where the update gets "merged in" to the base image, which means updates can be an atomic thing — either you have the whole update file downloaded + sig-checked (and thus it gets added to the overlay-list at boot) or you don't.

And, if all the consoles are doing it, I wouldn't be surprised if studios that do a lot of work on console don't just use that update strategy even on PC, for uniformity of QA, rather than for "obfuscation."

Re: An Unbelievable Demo

#310

Earlier quoted context omitted.

That one reply in that flame war is still hilarious so many years later. To anyone who didn't get the reference of Putnam https://news.ycombinator.com/item?id=35079

tldr; In 2007, an academic argues with PG and others. After long exchange, academic defensively states their own achievements. Another user challenges academic with GP question, to which academic provides unexpected affirmative response.

I think you missed the point. Scroll up, it's the same guy :)
Post reply on HN