Live data from Hacker News

An Unbelievable Demo

brendangregg.com

251–260 of 478 posts

Re: An Unbelievable Demo

#251
post #155

Earlier quoted context omitted.

> 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. Start recording; have them, a big multinational with a massive legal department, admit to violating and stripping a license from source code. Then sue them. They should know better, and they're making billions off of other people's work. That in itself is fair…

But in most country's you get sued first for illegally recording other peoples, and your proof is nothing worth because it's illegally obtained. Better make detailed notes, who said what with time and date.

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

Re: An Unbelievable Demo

#252

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…

While I'm not the author of anything, I did on one occasion share Russ Cox' articles on regexes with a fellow developer, only for that developer to reply "that guy is making a mountain out of a molehill, just use re2" .

For anybody who's lost: Russ Cox is the original author of re2, a fast C++ library implementing regular expressions that are guaranteed to run in linear-time.

There's a collection of articles they wrote talking about regexes and various pitfalls: https://swtch.com/~rsc/regexp/

Re: An Unbelievable Demo

#253
post #162
post #89

Years ago, I interviewed a candidate for a role on my team. As usual, one of the ways I break the ice with candidates is to get them to talk "war stories". The team he'd worked on had produced a tool that was only ever intended to be used by the team to solve a particular problem they had. It contained proprietary code. Unknown to the team, word had spread about the tool, and others had started to use it, including s…

> having to rapidly re-architect the tool around a non-GPLv3 licensed library ... or just go with it and have it be open source? The old version is already open and free for anyone to request the code of. No rush at that point, you can withhold updates for a little while while you rearchitect this or take the situation as it is and have the next few bugfix releases also fall under GPL until you get around to replacin…

Depends who had rights to the proprietary code. If it was someone else's (for example, if the internal version had used both GPLed code and some proprietary third-party library), open sourcing the whole thing just might not be possible.

Re: An Unbelievable Demo

#254

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 wanted to show something that the interns could try and replicate. I mean, if everything your in house dev team is working on are CRUD applications built on 90s tech, that's not very exciting.

Re: An Unbelievable Demo

#255

Earlier quoted context omitted.

I don't understand what bsdiff does, or is. I am a software developer and I frankly have no clue what I would ever use bsdiff for! I've read what it does (libraries for building and applying patches to binary files) and still don't really have a sense for what the purpose of this tool is. What are some real life use cases for it? When does a developer need such a tool?

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 main index and replaces the entries in the index with the updated ones. This is the most common way of doing a patch if it's not just overwriting the original files.

Some games load their file as a virtual filesystem and then the patch just replaces the entries in the virtual store with new ones. Guild Wars 2 works this way. This is only common in MMOs though.

Re: An Unbelievable Demo

#256

Earlier quoted context omitted.

Are there no legal recourse options for breaking the license so blatantly?

As he said, he did not want to burn his bridges.

That’s a pretty interesting thought experiment. How likely is it to burn bridges with a multibillion dollar corp by taking them to court to protect your IP? They might even respect you for it. Most likely the people working there will move on eventually and especially if they are responsible for IP theft that results in a heavy legal bill. Companies sue each other over ip all the time and then still do business with each other. I’m also assuming OP’s bridges with the persons directly responsible are already burnt. So which bridges exactly are being protected?

Re: An Unbelievable Demo

#257
post #104

I have a similar experience to this myself. A long time ago (early 2000s) I wrote a handful of tools to ease physical to virtual (P2V) migration for Windows Server. I was a systems administrator in the UK working for a large American firm. I wrote the tools in my own time and unlike in other countries my employer had no ownership of them, just to clear that up at the start. I did use these tools at work but never dev…

did you follow up with that company to make sure they granted you recognition and money for your tools?

Recognition - yes, but money - why? It was open source.

This meeting does not sound at all awkward to me if I was the sales person. To me this sounds like how lots of companies work with open source to make a business.

They take some open source tools (maybe they built it themselves, maybe not), package then and maybe sell some cloud service around it or simply just support.

If I was the sales person I would be delighted to meet the person who wrote a part of the package.

The only reason to be embarrassed is if it did not contain the correct attribution and recognition.

Edit: the fact that it happened 2000 could have made it embarrassing though. Many things have changed since then...

Re: An Unbelievable Demo

#258

Earlier quoted context omitted.

I don't understand what bsdiff does, or is. I am a software developer and I frankly have no clue what I would ever use bsdiff for! I've read what it does (libraries for building and applying patches to binary files) and still don't really have a sense for what the purpose of this tool is. What are some real life use cases for it? When does a developer need such a tool?

If you have a game, where you have large packs of files (like a 2GB sized textures.pak), and in a patch you want to add 2 small things, you can just ship the differencd between the old anc new pack file, and skip transferring the rest.

They do this, but not as a binary diff. The new files are just shipped as an override of the old files that are loaded after the old files. It's substainally faster than applying a binary diff and file sizes really aren't a concern for the most part.

The game industry really hasn't used binary diffs and patching since the 90s when they used RTPatch.

Re: An Unbelievable Demo

#259

Almost been there. I was once hired and given some sources to work on by a company, and those were the same exact sources I wrote at another company years before, although my name and all recognizable comments were stripped, save for a few almost invisible traces I left like my initials paired with reserved words to make them appear like directives, pragmas, etc. The guy who had given me the "new" sources was without…

I for one wouldn't be so forgiving. Stripping the author's name from source code is an absolute no-go.

Re: An Unbelievable Demo

#260

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…

Circa 1995: we (company) used RTPatch as the users at the time were floppy based via Post, but enjoyed BBSes (and Prodigy, etc.) as it was a social community due to the nature of the software/industry. We could upload small RTPatch based updates and bugfixes to our tiny company BBS, users could dial in and download a rtpatch a lot faster than a floppy in the mail (besides avoiding the usual corrupt floppies that plagued the tech).
Post reply on HN