Oh boy, I'm starting to slip. When I don't take notes during the day, I don't post a new post at the end of the day. Gotta get back to it. Month one in NYC is complete!

On Thursday, Ken and I read through mutex.go to try and understand how Mutex's worked in Go. We were seeing weird results, but I think we've got it now.

I spent some time refactoring the client code, but my productivity has not been high. One thing I did implement was the Polyline Algorithm in Go, which served us no real preformance benefit, but was interesting to code. The reason I looked into this, was because we were running into issues where we were seeing huge latency problems, and Ken finally realized the reason was because we were sending 5MB JSON dumps ten times a second, which is faster than our internet, which means we couldn't download the updates fast enough. Getting to this point was interesting though, lots of websocket debugging, which isn't easy. All of this would be quickly solved if someone on the Gorilla team implemented Websocket Compression.

On Friday, I didn't get much done. I had talked with the USDS back in January, and last week they reached out to me and asked if I'd like to interview. So on Friday, I did the interview. It went over pretty well. One interesting fact that I didn't know which was interesting was that browsers have a max number of parallel connections per domain. I also almost failed when I said that there were 128 IPs in a /32... which is very much not correct. If you don't know what a /32 is or why this is funny, read about CIDR and check out this cheat-sheet. Thankfully, I caught myself after I got the verbal queue of "are you sure?". Maybe I would have had a chance if I asked IPv4 or IPv6 first, but I wasn't right in either scenario. Oh well.

Another question I got, which both the interviewer and I were skeptical on its practicality, but lead to some interesting discussion was "You’re in a competition for the slowest running program. Your program must run on a Commodore 64 (20 MBs ROM, 64Kbs of RAM) and turn on a light when it finishes. Last person to turn on the light wins, but if your program doesn’t halt, you lose." Something to think about, but I don't think I'd ask it in an interview in most scenarios.

Today (Saturday, Day 32) I'm going to a music hackathon, should be fun!




Related Posts

Lets see, the last two days were pretty whirlwind. Probably the biggest thing on Wednesday was I met @garychou in person. We chatted about building educational systems, how teaching can improve people's lives, how to figure out what to do in the future, what he is doing with @orbitalnyc, and other random topics. I left feeling pretty inspired.

Another day, more feelings of unproductive-ness. Started the day with a nice walk from north of NYU. Got lost wandering among the store fronts.

I spent most of the day working with Pam on flushing out her idea for ShhParty. We did a bunch of whiteboarding and chatting about how to build something that doesn't know about its clients.

I spent all of Monday working with Ken to finish up Hyperspace, our multiplayer asteroids clone. We presented it Monday night in front of a bunch of alumni and current recursers, and it was well received.