Live data from Hacker News

Facebook adds 5 divs, 9 spans and 30 CSS classes to every post in the timeline

twitter.com

71–80 of 367 posts

Re: Facebook adds 5 divs, 9 spans and 30 CSS classes to every post in the timeline

#71
post #26

I wonder at which point will we just stream pages as interactive video content with a text optimized codec. Most pages on the internet are bloated to the point where it might just make sense. (I am not advocating, I am predicting)

At a previous job in the not-too-distant past, we needed to support IE7 for contractual reasons. I'd unironically floated the idea of launching a VM on the server running Firefox, and starting a VNC session, streamed over frames of a GIF. Clicks and keypresses would be transmitted with AJAX calls. In a later project, we played with the idea of using an asm.js-compiled Webkit to render SVG (with embedded HTML) into a…

Doesn't citrix solve this problem?

Re: Facebook adds 5 divs, 9 spans and 30 CSS classes to every post in the timeline

#72
post #35

I'm really thankful I haven't yet had a job where all I'm developing is new ways to force people to see ads. Imagine working on a 'feature' like this for weeks or months, and the end result is simply that people who don't want to see ads now have to see ads.

Ethics aside, this actually sounds kind of fun to me. It's the kind of clever puzzle solving many of us love about programming - it's basically a cat and mouse game.

I had a job where I had to reverse engineer broker API's. A few brokers sent us warning letters since it's technically legal but brokers obviously hate it.

That was the best cat-and-mouse game. We had a revolving door of proxies that we would use to hit their endpoints so they couldn't catch us. So much fun.

Re: Facebook adds 5 divs, 9 spans and 30 CSS classes to every post in the timeline

#73

Earlier quoted context omitted.

It works fine. Screen readers obey CSS, this uses CSS to hide all of the additional elements (display: none). Screen readers are also designed to work when text is broken up by other inline elements e.g.: He llo world In this case it reads out both the words Sponsored and Public. > If searching "Sponsored" in Chrome doesn't match the posts That also worked perfectly fine in Chrome, Firefox, and Edge. Did you scroll e…

So the technology to defeat this kind of obfuscation has already been developed and is reliable?

And rather insignificant to implement. All this protects against is low-effort document scraping. If they randomized it somehow, that would be a little harder to defeat.

Re: Facebook adds 5 divs, 9 spans and 30 CSS classes to every post in the timeline

#74

I'm really thankful I haven't yet had a job where all I'm developing is new ways to force people to see ads. Imagine working on a 'feature' like this for weeks or months, and the end result is simply that people who don't want to see ads now have to see ads.

The dev working on this spent 6 months doing leetcode day in and day out prepping for the interview just to get this exciting new opportunity.

Re: Facebook adds 5 divs, 9 spans and 30 CSS classes to every post in the timeline

#75
post #26

I wonder at which point will we just stream pages as interactive video content with a text optimized codec. Most pages on the internet are bloated to the point where it might just make sense. (I am not advocating, I am predicting)

At a previous job in the not-too-distant past, we needed to support IE7 for contractual reasons. I'd unironically floated the idea of launching a VM on the server running Firefox, and starting a VNC session, streamed over frames of a GIF. Clicks and keypresses would be transmitted with AJAX calls. In a later project, we played with the idea of using an asm.js-compiled Webkit to render SVG (with embedded HTML) into a…

Facebook should try to adapt screamer-prank tech[0] for ads. Even if an ad missed your attention, you'd still have to pay 1 laundry bill and 1 bill for stuttering-aid couching.

Jokes aside, even with rendering to canvas, ad can be blocked with image recognition. Long time ago I used Sikuli Script for UI testing automation, Sikuli recognized parts of screen and worked very fast; combine it with an app like CinemaDrape and voila.

[0] (loud noises warning) https://youtu.be/469zNXTCHdk?t=10

Re: Facebook adds 5 divs, 9 spans and 30 CSS classes to every post in the timeline

#76

Anyone who has written a few scrappers knows how brutally ineffective this is. Yelp tried to pull the same thing and it took me about 3 minutes to rectify my "for fun" scraper. It's also really not that difficult to write a smart scraper that you say, "Look for these things in this post. However you find them, replicate it for the others". Which is ultimately what I made my Yelp scraper do. If there's a pattern, I wi…

That works for a single iteration, but if there are multiple implementations that are randomly chosen when rendered it's a lot harder.

Pretty easy to build a randomizing span algo that you can't hardcode.

Re: Facebook adds 5 divs, 9 spans and 30 CSS classes to every post in the timeline

#77
post #40

Earlier quoted context omitted.

They do when regulators come calling with significant penalties.

There are no significant penalties at this time.

They're not focusing on sites like FB, because using them isn't a requirement of any meaningful task.

Lawyers are definitely going after things like companies' job sites. Applying for a job is a protected action and no discrimination is allowed, either intentional or not.

Re: Facebook adds 5 divs, 9 spans and 30 CSS classes to every post in the timeline

#78
post #22

I'm really thankful I haven't yet had a job where all I'm developing is new ways to force people to see ads. Imagine working on a 'feature' like this for weeks or months, and the end result is simply that people who don't want to see ads now have to see ads.

That reminds me of a quote about dentistry: "You're in a career where nobody wants to see you and you're the last place they want to come back to and it's depressing." ( https://tonic.vice.com/en_us/article/5344jz/are-dentists-rea... )

I love my dentist. I always leave feeling super clean and well cared for. Doesn't hurt that the window is a striking view of gorgeous skyscrapers.

Re: Facebook adds 5 divs, 9 spans and 30 CSS classes to every post in the timeline

#79
post #35

Earlier quoted context omitted.

Ethics aside, this actually sounds kind of fun to me. It's the kind of clever puzzle solving many of us love about programming - it's basically a cat and mouse game.

I had a job where I had to reverse engineer broker API's. A few brokers sent us warning letters since it's technically legal but brokers obviously hate it. That was the best cat-and-mouse game. We had a revolving door of proxies that we would use to hit their endpoints so they couldn't catch us. So much fun.

In what context was this done/could you provide more details (without giving away any information that you don't care to share)? Sounds like something I would enjoy doing as well!

Re: Facebook adds 5 divs, 9 spans and 30 CSS classes to every post in the timeline

#80

I interviewed at FB recently (didn't pass the in-person) and the one question I asked each interviewer was "tell me about the parts of FB I don't see" - because they have an odd hiring process where you don't figure out what team you'd be working with until after you are hired...and I had no interest in pushing Ads, but understood that wouldn't be a great pitch from my side. Turns out there is a LOT about ads at FB.…

> you don't figure out what team you'd be working with until after you are hired That sounds like hell. I need to meet the team I'll be working with before accepting an offer. It's the only way to know if they're competent, can communicate, and are not assholes.

> I need to meet the team I'll be working with before accepting an offer. It's the only way to know if they're competent, can communicate, and are not assholes.

This is exactly how Facebook's onboarding process works (at least in engineering). You spend 3-4 weeks in "bootcamp" classes (React 101, IOS 101, etc.). After that, you spend another 3-4 weeks auditioning teams -- you sit with teams that have open headcount for a week, attend their meetings, and work with a mentor on a coding project. Once you decide which team is the best fit, you "graduate" bootcamp and join them.

It's not perfect -- if there's no open headcount on your dream team, you'll have to pick another, but it's the best onboarding process I've seen from an employee standpoint.

Post reply on HN