Live data from Hacker News

An Unbelievable Demo

brendangregg.com

221–230 of 478 posts

Re: An Unbelievable Demo

#221

Earlier quoted context omitted.

Sun was the number one employer in town in Australia? What?!

Sorry, should have said "tech" employer, and this is referring to Sun and its ecosystem. A few years earlier I gave a talk to a local University about the job market and asked the comp sci students to have a showing of hands as to whether they thought they'd work on Windows or Solaris when they graduated. Most hands went for Windows. Then I showed the local job statistics: Sun Solaris was number one.

How fantastically different to my experience. I graduated 2010 in Australia, and we were just entering into the pre-cloud age. A lot of us expected to either move to SV or just work at local consultancies for banks or insurance companies (which I did). 10 years earlier, I would have gone to work at Sun!

Re: An Unbelievable Demo

#222

I once had an interview where someone quoted one of my blog posts at me. 'Oh, I wrote that', I said. It felt good.

And I thought it was fun when a colleague who publicly belittled me on a somewhat regular basis for scripting (“we're not programmers!”) triumphantly showed a blog post he’d found to solve a problem he was having.

A blog post on my blog.

In fairness to him, it was still on a domain that didn’t identify me at all, though the “About” page had my name on it.

He then proceeded to launch up the chain of command to get me in trouble for publishing company secrets on said blog.

I promised to only write it outside of work hours and not to directly copy any code (scripts, one-liners) I wrote at work, and that was the end of that.

There were other less-antagonistic instances of others in this large company finding solutions on my blog, which says something about the value to the company of posting generic stuff like this on publicly-searchable platforms instead of an internal-only SharePoint or Confluence instance, and definitely instead of the PDFs our senior management insisted on for all documentation.

Re: An Unbelievable Demo

#223

> I've learned ... instead to simply say "I have a lot of experience with that technology" and leave it at that. Shows Brendan's maturity. I am not sure what should be the appropriate reaction or corrective measure in these situations. We should talk more about handling these unfair situations. Someone else can become more successful building on top of one's open source project. On a resume, a top contributor and a m…

Thanks. There was a time when many observability products were adding latency heat maps, and at one conference expo floor there were three companies with latency heat maps on their screen at the same time, pitching them as a flagship feature. If I walked near them they'd start trying to explain them to me, and I never figured out an appropriate response. If I said "hey, great to see you added them, I invented these b…

Years back I was at a deep learning conference and was reading Andrej Karpathy's blog during one of the talks. Demis hassabis had come in slightly late and sat at the last free seat that happened to be next to me.

He leaned over, asked if I liked the blog, and (slightly proudly if I remember correctly) mentioned that deep mind had hired Andrej for an internship starting soon.

Re: An Unbelievable Demo

#224
post #173

Earlier quoted context omitted.

We usually don’t compress the data on disk; decompression would make loading and file access slower. Instead, we just pack the uncompressed files together (frequently using normal zip in a no-compression mode) so that we can avoid needing to ask the OS to open and close files for us or examining the contents of a directory, both of which can be kind of startlingly slow (by video game standards) on some common OSes. I…

> We usually don’t compress the data on disk; decompression would make loading and file access slower. Did you actually benchmark this? It probably makes sense in your head, but on any vaguely modern hardware it's very unlikely to actually be true because of how exponential the memory hierarchy is.

Console hardware tends to have fast processors & cache but extremely slow RAM. Benchmarking a console's memory vs cache access tends to be one of the first things a team of principal game devs do and that information becomes bible for their titles.

Re: An Unbelievable Demo

#225
post #173

Earlier quoted context omitted.

One of the reasons games do this is the data is compressed, so a "patch" might be indistinguishable from a real update. Also, as a dev, you have no idea what version your users are updating _from_. You either need to generate some number of patches for every version you could be updating from, and figure out if you should just download the whole thing again in any of those cases anyway.

We usually don’t compress the data on disk; decompression would make loading and file access slower. Instead, we just pack the uncompressed files together (frequently using normal zip in a no-compression mode) so that we can avoid needing to ask the OS to open and close files for us or examining the contents of a directory, both of which can be kind of startlingly slow (by video game standards) on some common OSes. I…

I have worked on a number of embedded products which ran from compressed root file system from eMMC. The overhead was a wash because RAM is so much faster than eMMC. What you spent in decompression time was covered by reduced eMMC access time.

Re: An Unbelievable Demo

#226
post #203

Earlier quoted context omitted.

If that's what you took from the article, then you got completely the wrong end of the stick. The problem was the removal of the author's attribution and illegal relicensing. He says himself he was glad when Apple later included his tools in macOS with correct attribution and licensing.

Exactly. That was the problem that he saw. The problem he should have noticed was that the Sun was selling the code he wrote for hundreds of thousands of dollars and not passing any of that on to him. Step one shouldn't have been to worry about putting his header comment back in place and getting them the latest version of his code to sell to their customers. It should have been negotiating a redistribution license f…

If you want to sell your code, just use a commercial license. He released his code as OSS.

Re: An Unbelievable Demo

#227

Earlier quoted context omitted.

Yes, there can be good reasons to fork (especially after making a fair effort to have things fixed), and bad reasons. But also yes: There are two particular issues with bpf tooling forks. 1) 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. One ftrace(/kprobe) tool I wrote has already been port…

> 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 one minor release to another. And change it in unobvious ways: Add a new codepath somewhere that takes some of the traffic, so gee, seems like my tool still works but the numbers are a bit lower. Or maybe I measured queue latency and now there's two queues but the tool is only tracing the first one, or now there's no queues so my tools blows up as it can't find the functions to trace (that's actually preferable, since it's obvious that something needs fixing!).

I really don't like using kprobes if it can be avoided (instead use tracepoints, /proc, netlink, etc). But sometimes it's solve the problem with kprobes or not at all.

Now, normally such code-specific-brittle things should indeed live with the code like you say, so normally I'd think about putting the tools in the kernel code. But we don't want to add so much user space to the kernel, and, it also opens the door as to whether these should actually be tracepoints instead (which begins long discussions: Maintainers don't want to be on the hook to maintain stable tracepoints if they aren't totally needed).

Another scenario where the tools should ship with the code base would be user space applications. E.g., if someone wrote a bunch of low-level tracing tools for the Cassandra database that used uprobes and were code specific, then they would be too niche for bcc, and would probably be best living in the Cassandra code base itself.

Re: An Unbelievable Demo

#228

Reminds me of when Apple started providing "smaller size updates" to OS X. I was curious about the details since my doctorate had touched on the topic, so I worked my contacts (I had a few in Apple engineering from the FreeBSD / OS X relationship) and after a few months I got back as answer: "We're using a tool called bsdiff, are you familiar with it?" I was indeed, since I was the author of said tool. (Just to be cl…

Yeah, but did you win the Putnam?

Re: An Unbelievable Demo

#229
post #148

Earlier quoted context omitted.

To offer some off-topic support: France is indisputably a cultural giant -- tourism, food, TV/film (Canal+!), the arts. Do not underestimate that!

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).

Re: An Unbelievable Demo

#230
post #129

Earlier quoted context omitted.

If you know a user is on version 3 and need to update to version 5, then why not just send out all the patches between 3 and 5? Why do you need to generate a new patch for each pair of versions. It feels a bit egregious when I have to download a 100MB update just because a few characters were buffed or nerfed. More involved changes end up being over 1GB.

It can go worse - some cheap and badly designed Android phones which download updates from every month when you first buy it until the current month, so maybe 10+ updates, but they aren't deltas (diffs) but full images. Ridiculous on so many levels.

It’s because they only tested updates from one version to the next, and not every version to every newer version.

It is a complete image, but phones today have nontrivial state that may be a problem - e.g. your baseband processor might have its own rom with its own update protocol, which changed between image 2 and image 7, so image 10 after image 1 will be unable to update the baseband.

Post reply on HN