DavidMcLaughlin

Joined 18 years ago

Karma
932
Submissions
100
Member since
Dec 7
Software developer @ Twitter david @ dmclaughlin.com

blog: http://www.dmclaughlin.com

View on Hacker News

Recent submissions

Comment · 7 months ago
A/B testing is very, very different to handing over control of your content to a reward function that optimizes for time spent over any other criteria.

We had 10 years+ plus of having products like Facebook, Twitter, YouTube, hell even LinkedIn with a basic content model of "you build your own graph of people who you pull content from" and their job was to show it to you and puts ads in there to fund the whole enterprise. If I decided to follow harmful content? That was a pact between me and the content creator, and YouTube was nothing more than a pipe the content flowed through. They were able to build multi-billion dollar businesses off of this. That's really important, this was enormously profitable. But then the problem happened that people's graphs weren't interesting enough, and sometimes they'd go on the thing and there were no new posts from people they followed, and this was leaving money on the table. So they took care of that problem by handing over control of the feed to the reward function.

More accurately, especially for Meta products: they completely took control away from you. You didn't even have the option to retain the old, chronological social graph feed anymore. And it was ludicrously profitable. So now the laws of capitalism dictate that everyone else has to follow suit. I now have extensions on my browser for Instagram and YouTube to disable content from anything I don't follow - because I still find these apps useful for that one original purpose they had when they blew up and became mainstream. Why are these browser extensions? Why can't I choose to not see this stuff in their apps? That's the major regulation hole that led to this lawsuit, imo.

It's the same thing you see with people blaming smartphones for brainrot. We've had 15 to 20 years of smartphones with more or less the same capabilities as they have today and for the vast majority of that time my phone didn't make books less interesting or make me struggle to do chores or manage my time. For a full decade or more I saw my phone as a net positive in my life, was proud to work for Twitter and generally saw technology like the Louis CK bit about the miracle of using a smartphone connected to WiFI on an airplane. But in the last five years or so, things have noticeably and increasingly gone to shit. Brainrot is a thing. All my real life friends who are the opposite of terminally online or technical are talking about it. I don't use TikTok but it seems like that is absolutely annihilating attention spans. The topic of conversation over drinks is how we've collectively self-diagnosed with ADHD and struggle with all kinds of executive function.. but also are old enough to remember a time when none of this existed. Complete normies are reading Dopamine Nation and listening to Andrew Huberman trying to free themselves.

I don't know what the exact solution is, but there's at least a simpler time we can point to when we all had smartphones and we were all connected via platforms and we all posted and consumed stupid pictures of each other and it wasn't.... _this_.

Comment · 8 months ago
Comment · 9 years ago
Cloud Platform @ Twitter | San Francisco, CA | ONSITE

We're looking for engineers to come work on Twitter's Cloud Platform team in downtown San Francisco. All of Twitter's stateless services run on our platform, and this means we need to support hundreds of thousands of tasks running across tens of thousands of machines (and growing every day!).

Our platform is almost entirely open sourced via Apache Mesos and Apache Aurora, and we're looking to push on and improve the efficiency, usability and reliability of our platform at our unique scale.

We have the following technologies on our team:

* Mesos - C++ - Isolation and resource management (https://github.com/apache/mesos)

* Aurora - Java - Service scheduler. (https://github.com/apache/aurora)

* Workflows - Scala/ReactJS - our internal Continuous Delivery platform

* Analytics Pipeline - Scala/Python - our data pipeline to feed back to users to help them make smarter decisions about how they use our platform.

* Operations - Python/Go/Puppet/etc. - The tooling we use to do all of this with a pretty painless oncall and only two SREs.

As you can imagine, it's a great team for an experienced generalist who enjoys all parts of building a product, but we also have problems that a specialist in any of these areas would have a field day with.

We're mostly looking for candidates who have at least a couple years experience designing (and implementing) complex systems in a team environment, as well as candidates excited about this space.

If this interests you at all or you'd like more information on the work we're doing, our roadmap or any other questions, please get in touch at [email protected]

Comment · 9 years ago
You know there are places where they use Teslas as taxis right? I was picked up in a Tesla at the standard Schipol Airport taxi line.
Comment · 9 years ago
Twitter | Software Engineer | San Francisco, CA | ONSITE

We're looking for engineers to come work on Twitter's Cloud Platform team. The majority of this work revolves around developing Apache Mesos[1] and Aurora[2].

Aside from the constant challenge of making sure our platform can scale with the company (we have the largest Mesos clusters in the world), Twitter is in an exciting stage where efficiency (and thus hard performance problems) are becoming more and more important.

Because most of our platform is open sourced, contributions you make on this team will also be felt across a huge number of companies in the community. Mesos is used at companies like Apple and Netflix and Aurora adopters include Paypal, Uber and Electronic Arts. Twitter's commitment to OSS as well as our unique position in terms of platform size gives us a huge opportunity to lead development of key features.

One of my favorite things about working on this team for the last few years has been that I get to touch literally every part of the stack. It's a constant learning process. Mesos is written in C++ and is very heavy on systems, Aurora is on the JVM, much of our developer tooling and automation is in Python, and then we also have a product layer and other tooling that are written in a modern JS stack (React/redux/etc.). So no matter your interests, you can make a huge impact here.

From a product point of view - trying to keep thousands of developers happy and productive in the face of constant comparisons to public offerings like Heroku and AWS, as well as other platforms like Kubernetes, Docker Swarm, etc. is also a huge (but fun) challenge. So if you're a product-focused engineer, this is also a great opportunity.

We have a great team that's based in SF and within six months will be completely onsite. So we're not looking for remote workers right now.

If this interests you at all or you'd like more information, please get in touch at [email protected] for my work e-mail or [email protected] for my personal e-mail.

[1] - http://mesos.apache.org/ [2] - http://aurora.apache.org/

Comment · 14 years ago
We're hiring at Twitter (San Francisco, CA - H1B welcome).

My team is working on monitoring and alerting for all of the different services at Twitter. Zipkin (https://github.com/twitter/zipkin/) is an example of the kinds of tools our team is building right now. The two central components are a dashboard/charting monitoring service as well as our own alerting system.

Most of our infrastructure challenges stem from the sheer number of writes we need to deal with as well as the temporal nature of what we're doing - all of our writes need to happen within certain time periods and reads have to be consistent within certain time-frames to avoid engineers being woken up at 4am due to incorrect data from a dirty read. Given that we're the service which observes all the other critical components - our reliability requirements are also a huge challenge.

The product challenge on this team is making sense of a whole lot of data. So there is a lot of cutting-edge data visualisation work. You have certain services running on thousands of nodes and teams want to use our product to quickly find outliers and scan their dashboards with key metrics. This means you have potentially thousands of timeseries with thousands of data points on the screen at the same time. This is a JavaScript gig where you get to think about algorithms and performance on a daily basis. We're also an internal tool, so we have the option of targeting cutting edge, modern browser features. In reality it means 90% of your time is working on cool stuff and not on getting IE to work.

I think the biggest benefit of working on our product team is that you a level of autonomy which is hard to find on a user-facing product. So if you're the creative type who doesn't want to be micro-managed or told where to push those pixels, I think this is a really good gig.

Right now we're looking for experienced engineers for both infrastructure and product. Our infrastructure is JVM-based and written in Scala, with some Python. Our product is written in JavaScript and we have some Ruby to deal with. Knowledge of these platforms is beneficial, but solid experience and passion for this problem domain is even better.

A systems position: https://twitter.com/jobs/positions?jvi=ospeWfwL,Job A dataviz position: https://twitter.com/jobs/positions?jvi=og12VfwY,Job

The dataviz position doesn't accurately reflect the open rec we have for my team, so don't worry if you don't match the skills exactly.

I work on both infrastructure and product for the positions I described, so if you're interested you can send your resume to me directly at david @ dmclaughlin.com to speed up the process.

Also - we're hiring across the board at Twitter so also take a look at all open positions here: https://twitter.com/jobs

Comment · 15 years ago
I think this is a great way to think about it. People who try everything to extend their life do not die in vain. Over ten people in my family in the last ten years have been diagnosed with cancer and so far we've only lost one. The person who didn't make it was the youngest of all the victims, but his tumour was also somewhere the doctor's didn't see that often - the bile duct near the liver.

The number of operations and suffering he had to endure still lives with me to this day and I could see why any doctor would choose not to go through this if they had to see such futile attempts at extending life end the same way. They flew in special equipment from the USA that was deemed highly experimental and would cut him open and try it out, only to have to cut him back open a few weeks later to remove what they put in. They tried surgery after surgery in the hopes something would be successful. They did not save his life but I like to think they at least learnt something about a cancer they simply don't see that often, that gave the next person a better shot. When they finally told him there was nothing more they could do, he asked them to stop all further treatment and to let him die on his terms.

The outlook for patients with breast, stomach, lung, testicular, skin or any other form of "common" cancer used to be as bad as pancreatic or bile duct cancer, but these days it's not a death sentence and a lot of people had to lose hard fought battles to get to this point.

Comment · 15 years ago
> Then I use "sudo !!"

Wow. For six years I've been doing "UP + CTRL^A + sudo + SPACE" instead. This is much better.

Comment · 15 years ago
One:

The anti-spam systems work because they are based on content of emails and properties across the providers entire user-base. Every time you click "Mark as spam" you are contributing data for all users in the service. In a decentralised service, even if people agreed to submit all their emails and information for the greater good (which they probably wouldn't), the data still needs to be centralised somewhere and secured by experts. The blacklist/whitelist of notorious spammers and servers needs to be maintained somewhere. You end up having a committee to do that, an elected/trusted group of people and they need to deal with appeals, etc.

Two:

If the logic for blocking spam were public, don't you think that would make it much easier for spammers to circumvent?

Edit - I can't reply to the user below. Must be some HN feature. But the logic for accepting an email is essentially a decision tree, it is based on data and evolves over time. It is a very different problem from something like encryption.

Comment · 15 years ago
This guy really should go work for Google and figure out the problems they need to deal with running a service like Gmail. Even for just a little while.

At work we had a researcher from Yahoo Mail come in and give a presentation on the machine learning techniques they use to try and stop spammers abusing their mail servers. It was eye-opening to learn just what kind of hourly battle they face to keep spam out of their systems and the ways they are trying to combat it. It was even more enlightening when the presenter told stories about the problems that machine learning can't solve - like people within the company being bribed to whitelist spam companies based in Vegas.

On the surface it's such a simple problem, and I'm sure anyone who's tried to prevent their web application's outgoing mail being marked as spam by the evil corporations of Yahoo and Google will have had the desire to go write a blog post saying what a crock of shit the whole thing is and how they would never take part in that. But here's the thing - those systems are in place because if they weren't, email would be a completely useless form of communication at this point.

The people sending spam make _millions_ of dollars abusing a system which is popular because its open and based on trust. That kind of money combined with greed gives people all different levels of drive and incentive to get their emails about bigger penises and viagra through to your inbox. Every time they prevent one form of attack, these guys will create a new one.

To do this they do things like install mail servers on unsuspecting user's machines, specifically targeting Yahoo/Hotmail/Google users because their IP will obviously need to be trusted by those companies. They will also hack into other people's private mail servers. They will spoof email headers and pretend they're someone else. They will hire people, experts, who will find new ways of breaking in to servers they detect as having mail servers running on them. All this just to get past the spam filters and prevention that make email a useful form of communication to begin with.

And let's forget the people who couldn't set up their own mail server for just a second. I like to think I know what I'm doing. After installing Postfix and jumping through all the hoops to get my emails whitelisted by Gmail and making sure I didn't have an open relay on my mail server, you know what happened? Someone managed to hack in by brute force anyway. I only noticed because of the _millions_ of automated replies that were coming in every day from dead email accounts or people that were out of office.

Now, I could have worked hard to fight this. I could have did something other than changing my passwords and hoping they didn't get crack them again. But the point is - I only ran a mailserver to get email delivered to me on my personal domain. I didn't want to have to fight and battle and dedicate myself to solving this problem. I wanted to take this thing for granted. I just wanted to send and receive email. Instead bad people could not only sit there and read all my incoming mail - but they could use my server to spam people and get me blacklisted and blocked from so many other services I worked so hard to be trusted by. And they did all this without even specifically targeting me. I was a statistic to them, someone who simply didn't know what they know. In the end, I moved my personal mail account to Google Apps, free of charge. Problem solved.

By using Gmail or Yahoo Mail or Hotmail - you are almost definitely more secure than setting up your own mailserver. You have people paid hundreds of thousands of dollars a year working full time to make sure your data is secure. I mean if privacy is your reason not to use Gmail, then I hope for your sake your mail server is secure. Maybe you think it is. I know I did too.

And all these people complaining about advertisements based on the content of their emails. Yahoo Mail had a team of like 30 people just doing _research_ on how to stop spammers. Then all these other people working on support. How does that service get provided to us _free of charge_ without advertisements or some sort of monetisation? I know in some people's heads they think it's literally just a Bayesian classifier and some hand-coded rules, but it's so beyond that.

And of course, let's not forget the fact that a lot of people would not be able to set up their own mail server anyway. Maybe you don't need them, but Hotmail, Gmail and Yahoo Mail enable hundreds of millions of people to communicate _for free_ with other people around the world that otherwise wouldn't be technically competent enough to buy a domain name and set up a local mail server. It lets you communicate with them too, because they don't get frustrated wading through hundreds of spam emails just to read the good stuff.

And that system only works because we have good guys that are fighting the bad guys who want to ruin it for the rest of us. And this is just the one example of email. Which has all this decentralised and open properties that you desire. I am reminded of Diaspora when they released a first beta of their code and it got absolutely torn to shreds for security reasons, and we haven't heard much since.

The real world sucks.

That's why I think it might be a good idea for you to go work for Google.

Comment · 15 years ago
Comment · 15 years ago
Comment · 15 years ago
> While our universities are turning out very able graduates, well versed in the sexy new languages of Java, .net and the like

I have been flirting recently with a return home to Scotland (from Berlin) recently, and have found it extremely difficult to find any interesting opportunities on par with what I'm doing right now. The quote above reminds me why I had to leave to stay sane.

Comment · 15 years ago
Note for anyone signing up for this who has been in industry for a while: the prerequisites for this class really are prerequisites and it can be quite difficult to follow along if you're too busy trying to get your head around the basic math. You can check out the existing lectures on iTunes U to see what I mean.

Completing the Khan Academy playlists for Linear Algebra and Probability would be pretty useful if you want to be prepared in time for October.

Comment · 15 years ago
"Learn a new programming language"

I would rephrase this to learn a new programming paradigm. There are fundamental differences between static typing and dynamic typing, object orientation and functional, manual memory management and garbage collection. There are also "pure" single-paradigm languages and multi-paradigm languages. If you learn the same type of language multiple times, you're really just learning new syntax and probably a couple of extra idiosyncrasies, so it's important that you pick languages with fundamental differences.

Compare going through this learning path:

Perl -> PHP -> JavaScript -> Python -> Ruby -> Node.js

To going through this:

Java -> C -> Scheme -> JavaScript -> Erlang

For example.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton