Profile

Cover photo
Brett Slatkin
Works at haxor
Lives in San Francisco, CA
AboutPosts

Stream

Brett Slatkin

Shared publicly  - 
 
I'll be giving a talk at the Bay Area Python Interest Group on Thursday, June 25th in Mountain View at LinkedIn. Hope to see you there!
Abstract: Defining a natural hierarchy of classes in Python can be challenging. Features like multiple inheritance, metaclasses, and classmethods can make such hierarchies significantly more powerful. However, these language features are complex and easy to use incorrectly. This talk will cover the best way to put the capabilities of classes to work so you can write Python programs more effectively. Speaker: Brett Slatkin is the author of Effecti...
7
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
Neatu Ovidiu's profile photo
 
Did you made it?
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.
11
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.
16
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.
11
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.
88
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  - 
 
I wrote a post that attempts to apply the best practices of  #Python  to #golang . It's called: "Translating Effective Python into Go: Know When to Use Channels for Generator-Like Functions"

http://www.informit.com/articles/article.aspx?p=2359758
7
4
Eric Casteleijn's profile photoJose Luis Garcia's profile photoMatt Dragon's profile photogeorge oloo's profile photo
3 comments
 
Neat! I somehow hadn't seen anonymous fields before, but they seem very nice for FooOrErr-type structs. It feels a bit weird that the "Distance" field in DistanceOrErr is named, but I guess that that's because it's a predeclared type rather than a struct with its own fields. Doing:

type DistanceOrErr struct {
  float64
  Err error
}

and then using d.float64 to refer to the anonymous field feels weird too, though.

(I clearly should've read https://golang.org/ref/spec#Struct_types more carefully when I was first getting into Go.)
Add a comment...

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.
10
6
Gregory P. Smith's profile photoTobias Klausmann (Blackbird)'s profile photoEd S's profile photoAndré Fachat'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.
5
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.
8
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:
3
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...
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