RSSAmplifier

Blog

/var/log/bhs

Rambling about technology and related matters.

blog.bensigelman.orgRSS feed ↗8 posts

Latest posts

Distributed systems in Go

The folks at Hakka Labs were kind enough to record the GoSF talk I gave a few weeks ago. Here’s the video: http://www.hakkalabs.co/articles/distributed-systems-go-good-bad-otherwise#! Here are the slides (with a few after-the-fact additions/edits): http://bit.ly/gosf_2014_10_23

sort slices in Go without cursing under your breath!

For the N’th time, I found myself writing another custom unexported type with custom Len(), Swap(), and Less() methods just so I could get the golang sort.Sort() function to do something that should be trivial. And, as usual, I was cursing under my breath. I’m sure every Go programmer has been in this situation – and I wouldn’t be surprised if others have even written and published equivalent code…

making GOPATH work the way you'd want it to

I often switch off between distinct Go projects with distinct GOPATH s. While there were some bits and pieces of reasonable solutions on stack overflow, none fulfilled all of my requirements: follows me around as my working directory changes no need to remember a different name for the go toolchain meta-command sets GOPATH properly even when the go command isn’t running (this is important…

the real problem with facebook's "psychology experiments"

Surely everyone who cares about social media has already heard about Facebook’s grand psychology experiment and marveled at the backlash. After all, griping about Facebook has practically become a national pastime, and, over the years, Zuck and co have given us so much great material! But in this case it’s a little more complicated. Every product in the world – anything from software…

The Ten Commandments of Engineering Interviews

Everyone knows that hiring is crucial for a tech startup. Everyone also knows that it’s really difficult: partly because good candidates have lots of choices in today’s tech labor market, but also because it’s sometimes hard to separate the good candidates from the ones that just look like good candidates on paper. This is why we interview people, of course, but anyone…

My impressions of Go

Several months ago while doing engineering work at a startup, I ran into a problem that demanded an efficient backend that could scale up/out/etc. The existing implementation was part of a Rails app, and we couldn’t reasonably grow within that framework. The company had almost no non-Rails code, so a larger question arose about which language we should use. While at Google, I spent the better part…

Go for loops and slices: why?

I am mostly enamored of Go as a language. Someday I’ll devote a post to all of the things I admire about it, but at the moment I’d rather complain about the way the range keyword interacts with slices. The semantics are almost inconceivable to me. Here’s how range works with hashmaps: m := map[int]string{2: "two", 5: "five", 8: "eight"} for key, value := range m { fmt.Printf("%v:…

Why Nobody Should Use Rails For Anything, Ever

In my [recent post]( http://blog.bensigelman.org/post/56158760736/golang-impressions ) detailing my impressions of Go (the language), I took the following swipe at Rails: > Independent of ruby, I see Rails as the emperor with no clothes on. A subject for another post, but I will try my damndest to steer clear of it in the future. I was called out [on Hacker News](…