Profile

Cover photo
Brett Slatkin
Works at haxor
Lives in San Francisco, CA
AboutPosts
Story
Introduction
Engineering lead and co-founder of Google Consumer Surveys. Author of Effective Python (Addison-Wesley 2015). Previously worked on App Engine and PubSubHubbub.
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
San Francisco, CA
Work
Employment
  • haxor
    present

Stream

Brett Slatkin

Shared publicly  - 
 
This answer to "What is the appeal of dynamically-typed languages?" is great. I think the argument also carries over to Go because Go's type system is so much simpler than that of other statically typed languages.
answer @nuttycom - Gist is a simple way to share snippets of text and code with others.
11
4
Brian Dorsey's profile photoDan Sanderson's profile photoGregory P. Smith's profile photoTobias Klausmann (Blackbird)'s profile photo
4 comments
 
Go's type inferences and fluid interfaces are what save it here.
Add a comment...

Brett Slatkin

Shared publicly  - 
 
Yet another lesson I've had to learn the hard way: A little bit of future-proofing goes a long way.
An ounce of prevention is worth a pound of cure.
6
1
Antonio D'souza's profile photoMatt Dragon's profile photo
 
I'd never heard of Lobsters before but it seems pretty awesome. Mind inviting me?
Add a comment...

Brett Slatkin

Shared publicly  - 
 
I made some improvements to my perceptual diff tool, Depicted.
I landed a few updates to Depicted today.
9
1
Matt Dragon's profile photo
Add a comment...

Brett Slatkin

Shared publicly  - 
 
Today only to celebrate  #pycon ! Get 50% off the digital edition of Effective Python by following the link below:
4
Thomas Flaherty's profile photo
 
U s treahsury
Add a comment...

Brett Slatkin

Shared publicly  - 
 
This item is my favorite part of the book. Hope you like it!
5
1
Brett Slatkin's profile photoJoseph Smarr's profile photoDan Sanderson's profile photo
5 comments
 
BTW, my biggest "oh whoa, yeah makes sense in retrospect, but man that woulda confused the heck out of me before i read your book" moment so far has been default={} on Item 20 being shared among all callers of the method :) i can just picture some serious wtf?!1 moments in the lives of programmers past...
Add a comment...

Brett Slatkin

Shared publicly  - 
 
Reconsidering a paper from 2003 that praises the benefits of coroutines.
Looking back on a paper called: "Why Events Are A Bad Idea (for high-concurrency servers)".
8
Kelly Norton's profile photo
 
That's cool. I was not even aware of this paper. I took my personal journey through this space, which started with me bemoaning Java's design wrt to IO & concurrency. Trying to write a high performance server that is immune to slowly connected clients is so tricky. When node was released, I embraced the model and even wanted to build a replacement for java.io. I started working on it as a hobby and later dropped it when I was trying out Go and realizing the immense practical benefits of not dealing with events directly. I'm still very fascinated that runtimes are often evaluated purely on their ability to run straight-line code quickly and those that attempted user-space threading in the past have been strongly nudged to kernel threads. Java went through this and now rust seems to also be working its way through this as well. Go and Erlang seem to have put their stake so firmly on the other side of the river by having the user-space thread decision prevalent in the libraries that the debate isn't really possible.
Add a comment...

Brett Slatkin

Shared publicly  - 
 
If you're going to #EuroPython  you should vote for my talk and many other great submissions!
These will be in the same style as the talk I gave at PyCon 2015 this year, but the content will be completely new.
1
Add a comment...

Brett Slatkin

Shared publicly  - 
 
Some thoughts on the impact of static types on building software. In reply to another post you should read (linked within).
My team’s biggest problem has always been answering the question: “How do we stay in business?” We need to optimize for existence.
12
2
Chung Wu's profile photoMatt Dragon's profile photo
Add a comment...

Brett Slatkin

Shared publicly  - 
 
Here's the video of my #PyCon  2015 talk from yesterday! Amazingly it's already uploaded and has closed captioning.
17
3
Brett Slatkin's profile photoFelix Crux's profile photoMatt Dragon's profile photoThomas Schranz's profile photo
2 comments
 
+Alan Bram Absolutely. Someone else mentioned the same thing here (https://github.com/bslatkin/effectivepython/issues/6). If you understand the iterator protocol then yes, you're right. If you don't, then I think this is more clear ("two iterations can't be the same").
Add a comment...

Brett Slatkin

Shared publicly  - 
 
Some thoughts on writing code to solve a problem for the first time.
The purpose of founder code is to demonstrate the intended outcome of design choices.
13
2
Dan Pupius's profile photoBrett Slatkin's profile photoEric Casteleijn's profile photoMatt Dragon's profile photo
3 comments
 
+Dan Pupius Totally agree. That's an important point! Thanks for clarifying.
Add a comment...

Brett Slatkin

Shared publicly  - 
 
First hard copy of Effective Python I've seen! Bizarre but awesome to have a year of work in your hand.
89
2
Dan Sanderson's profile photoBrett Slatkin's profile photoSamuel Tom's profile photoFelix Crux's profile photo
7 comments
Add a comment...

Brett Slatkin

Shared publicly  - 
 
Some thoughts on the purpose of Python's new asyncio module.
Such a unified asynchronous programming model has been a secret weapon for our team.
8
1
george oloo's profile photo
Add a comment...