mattj | 1 year ago | on: Waymo One is now open to all in Los Angeles
mattj's comments
mattj | 2 years ago | on: DIY Espresso (2020)
I'm not sure if I'd recommend it to someone else - and if I was doing it again I'd probably spend a few hundred more (than the gaggia + parts cost) and just buy an off-the-shelf machine with the same feature set.
mattj | 5 years ago | on: Nearly 12M Square Feet of Vacant Office Space in S.F
mattj | 8 years ago | on: Attention Is All You Need
DNNs typically operate on fixed-size tensors (often with a variable batch size, which you can safely ignore). In order to incorporate a non-fixed size tensor, you need some way of converting it into a fixed size. For example, processing a sentence of variable length into a single prediction value. You have many choices for methods of combining the tensors from each token in the sentence - max, min, mean, median, sum, etc etc. Attention is a weighted mean, where the weights are computed based on a query, key, and value. The query might represent something you know about the sentence or the context (“this is a sentence from a toaster review”), the key represents something you know about each token (“this is the word embedding tensor”), and the value is the tensor you want to use for the weighted mean.
mattj | 8 years ago | on: Show HN: Kozmos – A Personal Library
Excited to see where this ends up!
mattj | 9 years ago | on: Most Winning A/B Test Results Are Illusory [pdf]
That being said, building a "proper" a/b harness is really hard and will be a constant source of bugs / FUD around decision-making (don't believe me? try running an a/a experiment and see how many false positives you get). I've personally built a dead-simple bandit system when starting greenfield and would recommend the same to anyone else.
mattj | 9 years ago | on: Wide and Deep Learning: Better Together with TensorFlow
mattj | 9 years ago | on: Twilio S-1
mattj | 10 years ago | on: Ask HN: How do I get better at CSS?
mattj | 11 years ago | on: Introducing Progressive Equity – Increase employee ownership as company grows
mattj | 11 years ago | on: Kythe: A pluggable ecosystem for building tools that work with code
Is this for cross-language doc generation? Refactoring tools? Something else?
Are there any concrete examples of a tool built on top of this that would otherwise be impossible / very difficult?
mattj | 11 years ago | on: Scalable A/B Experiments at Pinterest
In terms of these issues, we handle them in a few ways. In particular, experiment review catches many of these issues. Think of it like code review for your experiments.
In order to run an experiment, we require you to have an "experiment helper" sign off on your change. This involves reviewing your group sizes, verifying that you have the statistical power you need to test the magnitude of change your hypothesis expects, verifying you interact with the framework correctly etc.. Training to become an experiment helper is generally not very easy, and involves a combination of shadowing existing reviewers, performing enough reviews across the stack, and taking a test to verify you understand potential errors (the test itself being composed of many experiments where we have made mistakes).
Changes to experiments (increasing group sizes, terminating an experiment, modifying an experiment etc.) all require this review.
mattj | 11 years ago | on: Moving product recommendations from Hadoop to Redshift saves us time and money
mattj | 11 years ago | on: Moving product recommendations from Hadoop to Redshift saves us time and money
mattj | 11 years ago | on: Moving product recommendations from Hadoop to Redshift saves us time and money
One huge advantage of redshift over hive: you can connect with plain old Postgres libraries, so you can build redshift results into your admin interfaces, one off scripts, and anywhere else you're fine trading a few seconds of latency for extra data.
mattj | 12 years ago | on: Zuckerberg, Musk Invest in Artificial-Intelligence Company Vicarious
"Phoenix, the co-founder, says Vicarious aims beyond image recognition. He said the next milestone will be creating a computer that can understand not just shapes and objects, but the textures associated with them. For example, a computer might understand “chair.” It might also comprehend “ice.” Vicarious wants to create a computer that will understand a request like “show me a chair made of ice.”
Phoenix hopes that, eventually, Vicarious’s computers will learn to how to cure diseases, create cheap, renewable energy, and perform the jobs that employ most human beings. “We tell investors that right now, human beings are doing a lot of things that computers should be able to do,” he says."
mattj | 12 years ago | on: Introducing SmartStack: Service Discovery in the Cloud
mattj | 12 years ago | on: Parameterized Docker Containers
mattj | 12 years ago | on: Mrjob: A Python 2.5+ package that helps you write and run Hadoop Streaming jobs
Steve's post is 100% correct. I originally wrote mrjob as an internal tool at yelp out of my frustration with using dumbo for multi-step jobs. Specifically, I found myself writing the same incantation of "wrap a mapper / reducer function with an encoding scheme" over and over again. I tried to add protocol support into dumbo (so you could specify that your job reads json, uses pickle for intermediate data, and writes thrift), but I had a hard time working with the dumbo codebase (disclaimer: I haven't looked at it since, so it might be easy to do this now). I also wanted to represent mappers and reducers as python generators, which makes writing memory-performant steps natural (eg you normally want to rely on the shuffle / sort to perform the hard work of aggregating by key). Finally, I wanted my jobs to be easy to test both from unittest and from the command line - debugging hadoop streaming jobs is way more of a pain in the ass than it should be.
mattj | 12 years ago | on: Poll: Full-time software engineers in the Bay Area, what's your annual salary?