H
HN HRCB top | articles | domains | dashboard | models | factions | about | exp
home / item 35457341
+0.15 Remembering Bob Lee
2090 points by aEJ04Izw5HYm 1057 days ago | 217 comments on HN | Mild positive Editorial · v3.7 ·
Summary Dignity & Memory Advocates
This memorial post honors Bob Lee's professional contributions and affirms his fundamental human dignity while acknowledging a violation of his right to life. The content advocates for freedom of expression, reputation protection, and recognition of technical work, calling the community to remember his legacy rather than reduce him to victim status.
Article Heatmap
Preamble: +0.22 — Preamble P Article 1: +0.16 — Freedom, Equality, Brotherhood 1 Article 2: ND — Non-Discrimination Article 2: No Data — Non-Discrimination 2 Article 3: +0.16 — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: 0.00 — No Torture 5 Article 6: +0.22 — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: ND — Right to Remedy Article 8: No Data — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: +0.22 — Privacy 12 Article 13: ND — Freedom of Movement Article 13: No Data — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: ND — Property Article 17: No Data — Property 17 Article 18: ND — Freedom of Thought Article 18: No Data — Freedom of Thought 18 Article 19: +0.20 — Freedom of Expression 19 Article 20: ND — Assembly & Association Article 20: No Data — Assembly & Association 20 Article 21: ND — Political Participation Article 21: No Data — Political Participation 21 Article 22: ND — Social Security Article 22: No Data — Social Security 22 Article 23: +0.12 — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: ND — Standard of Living Article 25: No Data — Standard of Living 25 Article 26: +0.12 — Education 26 Article 27: +0.06 — Cultural Participation 27 Article 28: ND — Social & International Order Article 28: No Data — Social & International Order 28 Article 29: +0.06 — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Weighted Mean +0.15 Unweighted Mean +0.14
Max +0.22 Preamble Min 0.00 Article 5
Signal 11 No Data 20
Confidence 19% Volatility 0.07 (Low)
Negative 0 Channels E: 0.6 S: 0.4
SETL +0.16 Editorial-dominant
FW Ratio 50% 17 facts · 17 inferences
Evidence: High: 0 Medium: 9 Low: 1 No Data: 21
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.19 (2 articles) Security: 0.08 (2 articles) Legal: 0.22 (1 articles) Privacy & Movement: 0.22 (1 articles) Personal: 0.00 (0 articles) Expression: 0.20 (1 articles) Economic & Social: 0.12 (1 articles) Cultural: 0.09 (2 articles) Order & Duties: 0.06 (1 articles)
HN Discussion 20 top-level · 27 replies
iradik 2023-04-05 10:18 UTC link
So sad. I met Bob once at an interview at Square in 2012 for the final interview. I believe he was the inventor of Google’s guice dependency injection library and the dagger library. I bombed the interview. I liked him anyway. RIP.
matttproud 2023-04-05 14:28 UTC link
Bob was a nice guy. We had an overlapping tenure at Google in the 2000s. He was one of the original authors of the Guice dependency injection framework: https://github.com/google/guice. When I was earning Java readability at Google, I was fortunate to have had him assigned as a reviewer. Having the review work so smoothly alleviated a lot of the imposter syndrome I felt at the time. I felt like a million bucks afterwards. The compassion and humility he brought to the table made a world of difference.

His murder represents a huge loss; he left a very positive impression on me.

echelon 2023-04-05 15:49 UTC link
I first met Crazy Bob when I was onboarding as a junior engineer. He spent a good half hour answering my questions about how to go about work, grow into my role, and explore the things that interested me.

He was the busy CTO, built up the core service container (which I later maintained), but he spent time giving me advice and encouraging me. He was an instrumental figure in getting rid of my imposter syndrome at my first big role.

We met several times after that, and he was always kind.

Thank you for caring, Bob. You made an impact in my career and you're gone much too soon. Your code, fingerprints, and even Crazy Bob moniker are powering billions of dollars of transactions and will be there perhaps longer than all of us.

dang 2023-04-05 17:22 UTC link
The related ongoing merged thread is Bob Lee, former CTO of Square, has died after being stabbed in San Francisco - https://news.ycombinator.com/item?id=35448899. I've converted aEJ04Izw5HYm's comment from that thread into this top-level submission so that comments and memories about Bob Lee can have a place of their own.

As for discussion of the event itself, (1) please keep it in the other thread, not this one; and (2) please don't go off the flamewar deep end when you do. The worst stuff in that thread is pretty bad and not at all in the intended spirit of this site: https://news.ycombinator.com/newsguidelines.html.

Edit: I've gone through that thread now and tried to move all the relevant comments here. If you notice a good comment about Bob Lee languishing in another thread, let us know (hn@ycombinator.com is best) and we'll bring it over.

bcantrill 2023-04-05 17:24 UTC link
Thank you very much -- I guess it's understandable given the tragic circumstances of his death, but Bob very much deserves to be remembered as you described him: an engineer's engineer. I first met him at Foo Camp in 2011, and we had a deeply enthralling conversation about building the Square reader. As it turns out, credit card swipes are (were?) fiendishly complicated! (I still tell others the advice that Bob gave me: for the best read, you want constant acceleration of your card -- not a fast swipe.) He showed me the tooling that he had built at Square to debug bad swipes; it was a role model for rigor in engineering and especially for the power of tooling. (Unsurprisingly, I was not the only person that had a conversation around this time and about this topic with Bob.[0])

dang: Thank you for the black bar today for Bob, a role model for us all who will be deeply missed.

[0] https://twitter.com/yishan/status/1643599340106301440

pizlonator 2023-04-05 18:12 UTC link
I had a lot of warm interactions with bob.

Here’s a great one: over beers at a certain venerable Silicon Valley establishment, over a decade ago, bob taught me about what a weak map should really do: keep a value alive when both the map and the key are alive. It blew my mind.

This led me to eventually coming up with the idea that a GC is a data flow solver rather than merely a graph search. Something that is at the heart of every GC I’ve written since, including the one that ships in JSC.

Thanks for all the awesome insights bob.

spullara 2023-04-05 18:12 UTC link
I knew CrazyBob for over 20 years. We met at JavaOne and at the time he was still a consultant living in St Louis. Bob was always the life of the party with a grin like a Cheshire cat. Eventually he got a great job at Google working on the core APIs for Android and created the very lightweight Guice dependency injection framework. We shared a distaste for both Spring and J2EE by that point. At Square he started the CashApp and created a strong engineering culture. Even though he was a college dropout he was one of the best algorithm guys I have met (e.g. https://www.beust.com/weblog/coding-challenge-wrap-up/). The closest we ever got to working together was when I was talking with Twitter about an acquisition of my startup and was getting advice from him he immediately put us into the process at Square. I think their pair programming interview style was the most fun I have had interviewing. We ultimately went with Twitter but I would have done as well going with Square.

Our families would hang out together when we lived close and I feel sick just thinking about his children right now.

salgorithm 2023-04-05 18:34 UTC link
The anecdote I always share about my 2013 internship at Square involves Bob. It took place during the quarterly Hack Week, when the company allowed everyone to take a break from work and build whatever they liked. Cash App (known as "Square Cash" back then) had just been launched, and the only way to send money was by emailing someone with a dollar amount in the subject line and cc'ing cash@square.com. My fellow interns and I decided to expand this email functionality by building a "pay by Tweet" feature with essentially the same mechanics (https://twitter.com/hackweek9bot).

We downloaded the codebase (I believe it was called "Franklin") and found ourselves struggling to get it up and running. I entered the room where the Cash team was seated and started asking a random guy questions about the dependency injection library (Guice) and various other topics. After about half an hour of answering my questions, he compiled a list of documentation for me to read and sent it to me via email. I returned to my Hack Week team and forwarded the email to them. "Oh, dude, that's our CTO," one of my teammates informed me. At that moment, I was convinced I would be in trouble for bothering an executive. However, instead of that, I ended up receiving a fist bump during our science fair-style project presentation. He was a genuinely cool guy.

foobazgt 2023-04-05 19:14 UTC link
Bob was "good people", always advocating for others, yet also demanding in expectations. I also knew Bob as an engineer's engineer - able to dive deep down into murky system details (ala The Night Watch - https://www.usenix.org/system/files/1311_05-08_mickens.pdf) while simultaneously advocating for usability in API design. Bob was also the first person I heard the axiom "Code drunk, deploy sober" from. If you know Bob, you know.

I first met Bob when I joined Google and Josh Bloch introduced me to folks working on Guice: Bob Lee, Jesse Wilson, and others. I didn't work directly with Bob, but we talked here and there. I learned he had strong opinions - at one point he tried to convince me to use Dalvik (Android's Java Runtime) for App Engine. I was not convinced. A decision I still stand by today. :)

A bit later Bob left Google to join Square and become CTO, and a bit after that I left Google to start Square's ATL office [1]. I still remember having run the technical interview gauntlet, meeting Bob for a final interview, and him wanting to grill me with a circular queue implementation. [2] Bob and I talked about my work history, and it jogged his memory. In an interview training class that Bob and I later gave together, he recalled being embarrassed about the experience and exhorted everyone to make sure they fully read the candidate's resume before the interview.

Bob was always hands on. You respected his opinions and advice even if you didn't always agree. It's a technical depth that's hard to maintain as you get higher up in management, and I got the impression that it's one of the reasons why he eventually moved on from Square as it was growing from hundreds of employees to thousands.

I like to think of Bob as a kindred spirit. We both grew up in Cobb County, both striving to be world-class engineers. He made the world seem smaller, even if it took a Google re-org, some serendipity, and repeated travel 3,000mi west to get to know each other. RIP Crazy Bob from Cobb.

1) Along with six other Xooglers

2) I refused - I was burnt out from all the previous interviews at that point.

lpolovets 2023-04-05 19:18 UTC link
I interviewed at Google almost 20 years ago, and Bob was one of 5-6 interviewers that I had. I don't remember the other interviewers, but I remember Bob. He was very high energy, and posed a really fun, original question about selective logging. The kind of question that you could tell was born out of his personal experiences at Google, not just something he found in a "ten linked list questions" blog post. The gist of the question was something like "Imagine you have a very high throughput service, and you want to log notable events and errors, but not log terabytes (or petabytes) of data about successful executions. How would you design a logging system around these constraints?" We had a fun discussion about this question for about 30 minutes, and I remember being even more excited to work at Google after seeing that people like Bob worked there.

RIP :(

glaforge 2023-04-05 19:36 UTC link
I believe I met Bob for the first time in 2007. I was already leading the Apache Groovy project back then (started in 2003) and had the chance to do a "tech talk" at Google, in Mountain View, to present the language to Google engineers.

In the crowd, there were pretty famous people like Guido Van Rossum (of Python fame), Cédric Beust (TestNG), Romain Guy (on Android), Patrick Chanezon... and of course "Crazy" Bob Lee, who was working on Guice and the Android libraries. Very humbling.

I then met him a few times at JavaOne, and maybe some other Java-related conferences or parties! I didn't know him very well though, but I highly respected him. However we had some heated-discussions on programming languages! Bob thought Groovy wouldn't last long, but Groovy is still there 20 years later. He was rooting for BeanShell...

Oh time flies!

It's so sad, so terrible! I often walked those streets myself (the Google office is right around the corner)

My thoughts go to his family, his two daughters.

aj_icracked 2023-04-05 19:38 UTC link
I met Bob the evening he launched square cash at a Giants game. Incredibly friendly and approachable guy. He walked in the room and introduced himself by sending me $1 over email by CC'ing cash@squareup.com. I remember thinking, holy cow we have the CTO of Square hanging out with us on the day of one of the biggest product launches he orchestrated - what a time to be alive.

I spent the next few months / years keeping in touch, grabbing beers, and unsuccessfully trying to get him to join my company (iCracked) at the time. I always loved catching up with him and getting the pulse of what was happening in silicon valley. He had a few antique arcade machines and would light up when talking about them.

The last time I was able to catch up with him was we randomly ran into each other on a beach in Mexico a year or so ago - we got together for dinner and traded stories (this was peak covid). I'm tearing up writing this. You'll be missed Bob.

kelp 2023-04-05 19:44 UTC link
A few things about Bob that I found remarkable.

He was incredibly hard working, in the early days of Square he owned the engineering hiring process and was on the interview panel for every engineer up through the company having hundreds of engineers. It was just an amazing amount of work he put into this. When there weren't enough hours in the day, he started delegating, but the whole engineering culture was just incredibly shaped by his hard work.

In spite of being very accomplished as an engineer, he was humble and knew what he didn't know. I worked in infrastructure and Bob was much more of a mobile guy. He deferred to our expertise in the areas where he wasn't an expert.

Some years after we'd both left Square I was interviewing for at various companies. I noticed a shared connection at one company. I asked Bob for any background, and unprompted he sent a glowing recommendation to that company.

And then CashApp. That started as a hack week project led by Bob. It was all email based, I remember how excited he and Jack were about it. It was cool, and IIRC, we actually launched the email only version of it before Square Cash and then CashApp evolved into what it is today.

zinxq 2023-04-05 22:47 UTC link
People loved Bob, it was truly just a magic he had.

In 2010, Zuck gave a lot of money to NJ schools. For reasons completely unknown to me, Bob, who was at Square at the time, was given the task of writing the code to accept the donations that would be given from the public alongside Zuck's gift. For reasons also completely unknown to me, Bob called me and asked me to help write the code. We had something like 3 days. I was working at my own startup at the time but was excited to go work on this one-off with Bob.

We had worked together at Google and spent a lot of time in the Java community thereafter. We were both Java geeks at the time, but I was confused why he couldn't find anyone at Square.

In any case - I went to Square each day for 3(?) days. I remember that we didn't need to process the transactions (thank goodness), but we just needed to validate and log them which made the problem much much easier. Bob insisted we write each transaction to 3 different machines for redundancy. He also insisted we used fsync which ensured the disk writes actually happened and didn't just get left in an output buffer. He was absolutely right, but I remember being saddened how much slower it made our system.

We finished the system with time to spare. Unbeknownst to me (and maybe Bob I guess) another team at Square also implemented the system in Ruby in competition with us. I recall them being rather "anti-Java" at the time.

In any case, we then benchmarked both systems and unsurprisingly, the Java version was many times faster than the Ruby version (in transactions stored per second). Of course, apart from fsync, this was also not just Java code - it was CrazyBob's Java code which wasted nothing. I really had a blast working on that project with him.

I now realize I really don't know so many finer points of why many of these decisions were made. If any early Square folks were there for this, I'd be interested in what you remember.

kevinb9n 2023-04-05 23:03 UTC link
At first, I didn't like Bob Lee. Then I met him.

I didn't know him when he joined my AdWords team in '04. He was the next to join after me. He was 24 (I was 29) and he was known by a fun nickname and he had already co-written a BOOK ferchrissakes.

Worse, he was going to be working on the stuff that I had asked to work on (but had been told we didn't have time for).

I had him sized up all right. I didn't like hotshot kids like that.

Then he pops into my cube one day and asks if I could help him get IntelliJ working.

This immediately surprised me. Hotshots don't ask random nobodies for help! In our field I guess it's the purest sign of humility and respect we have.

My times of not liking Bob Lee were over by about 12 seconds into that conversation.

Once we got it working, I casually mentioned something about the work he was assigned to do -- that I was so jealous about -- and I will never forget what he did. He said "yeah, so I was thinking we might do something like..." and just like that we were COLLABORATING.

That is who Bob was.

And we kept collaborating. He started fixing our dependency hairball issues using injection, and my friend Z and I eagerly adopted what he was building in a second subproject. Soon Bob and I were having interesting design discussions almost every day, figuring out how to turn his brilliant ideas into an open-source product. That became Guice.

When designing a new thing Bob was like a kid at Christmas. I have emails from him sent at odd hours with subjects like "we can solve <X> like <Y>!!" and no body. Classic Bob.

Bob was genuine, kind, and fully possessed of the joy of making things. And he was unlike any other tech person I've met.

His tech accomplishments go on for miles, but I am positive that the list of people like me whose lives he changed for the better is longer.

cpurdy 2023-04-05 23:59 UTC link
I knew Crazy Bob online for a while before we met. We both ended up working with some of the same packages (early Java enterprise stuff) for some of the same big companies, and we were chatting with each other on our blogs, and posting/arguing on TheServerSide.com at the time. I was visiting one of those companies (SBC) in St. Louis in '03, and getting on a plane to fly to SF to speak at JavaOne, when I ran into Crazy Bob on the plane. We instantly recognized each other, and we ended up hanging out for most of JavaOne, and a slew of conferences after that (various JavaOnes, TheServerSide Symposium, etc.) At one of those TSS conferences in Vegas, Crazy Bob married Mrs. Crazy Bob (yup, Krista went by that name online :) Not surprisingly, Crazy Bob was pretty damned crazy about Mr. Crazy Bob, and I wish I could tell some of the stories but they'd probably get me banned from this site. Anyhow, the wedding was on the bridge of the Star Trek Enterprise, and the reception was in a ... um ... let's just call it a specialty dance club. All night. Red bull and vodka to stay awake.

Bob worked on the original Google Adwords. He created Guice. He worked on the original Android. He worked at Square. Cash app. etc. His technical chops were solid, and he actually loved doing the technical work. In his spare time, he programmed his custom garage door openers and did all sorts of other crazy projects.

But what he was best at was being an amazing cheerleader. Sure, he loved to talk about his passion projects and whatever library he had whipped up in a 48-hour coding session the week before, but he actually put more effort into bragging about the stuff other people were accomplishing around him. And he wasn't faking it -- he really loved it all, and he really meant it. He spent hours and hours bragging to me about people he was lucky enough to work with, and I've met many of them, and they're all like "he's got that all backwards". Some of them I haven't met, but I swear I know them inside and out just from all of his descriptions. :D

He was also super proud of his little brother Timmy ("Oliver"), who moved out to SF running some high end restaurants, and ended up switching into the tech industry as well.

And of course Bob was most proud of his two daughters.

I last talked with him in February, and at least I got to tell him one last time that I loved him and his family. And while I'd normally (and respectfully) say RIP, I swear there's no "Rest In Peace" for Crazy Bob ... wherever he is, the music is turned up to 11 and the lights are on all night.

strangemonad 2023-04-06 02:37 UTC link
I worked closely with Bob at Square through most of the 2010s. I keep coming to write something but nothing could do it justice... I just feel numb at this news.

So many of you have shared about how he impacted Java, Open Source, and being an engineer. I figured I could recount a couple more personal anecdotes.

1) I tried to keep up with Bob drink for drink one night... big mistake. We were at Strange Loop in St. Louis together (I believe 2013). On the Saturday, a bunch of us went out for drinks at a nearby dive bar. He was the life of the party as usual. I stopped at least 1 hr and 5 drinks shy of Bob. The next morning I woke up with the 3rd worst hangover I had ever had and he looked fresh as could be.

2) A bunch of Squares went to The Cafe (a Gay bar in the Castro) one night. He and his wife had put the girls to bed and called a sitter so they could come out with us. I vividly remember at one point in the night, we were hanging out by the bar area and I mentioned I was going to go down on the dance floor for a bit. "Down there?" he asks as he grabs me by the shoulder with a mild look a fear on his face. It was a pretty busy night. A gogo dancer stood over us, hips to eye level, on the covered pool table. "You don't want to go down theeeere!" implicit in his tone was a sense of worry that I'd be a piece of meat in the sea of people. His wife looked at me, shrugged, and we laughed

harper 2023-04-06 03:02 UTC link
I have 4 memories that keep sticking out about bob. I shared them on twitter - but I will share them here with a bit more color. They are a bit different cuz they are not really engineering related, but will give you some idea of his character and how he interacted with folks:

1) when I was CTO of the Obama Campaign I was scared and lost. bob helped me so much. helped me be a better CTO. helped me sell a lot of weird shit to people who didn't want to buy (i.e. tech). and helped us use square. it was always so much fun. He was a very strong guiding force.

Once, when he came to chicago to help with the square integration for OFA, we all went out clubbing and it go so crazy. (I think) he lost his laptop. randy reddig and him both lost a bunch of their stuff. I remember he stayed out all night partying with people who he didn't know. I still have DJ friends who mention "whatever happened to that square guy who was so much fun. "

towards the end of the campaign he schooled me on how to run a better interview program. helped me design the interview strategy we had at modest (which I am really proud of). he reminded me that you can be ethical, gracious and flexible - and still hire great people. no need to be a dick. be positive

2) my friend Derek broox and I went clubbing in the early 2000s. we went to a metallica show with vivid entertainment (wild times) and Derek took this photo of the metallica show. for some reason we uploaded the photos to my flickr account. metallica found the photo and used it in their death magnetic album cover. they credited me and not Derek. (More details here - https://derek.broox.com/blog/do-i-sue-metallica-or-do-i-sue-...)

anyway. Years and years pass and Metallica is like "whoops" and invites both of us to see Metallica at this super small venue in Iowa. I told bob about it and he introduced me to Lars. Lol. Of course bob knows Lars and is just going to introduce me.

3) last week bob calls me at 7am chicago time. I am in bed. he calls me on FaceTime like a mad person. no heads up. just facetimes me. lol.

He was hanging out with Lee Foss and wanted to make sure we connected (lee is from chicago and we have a lot of mutuals). Bob was like "you guys are both awesome!"

4)

One time in the 2010s we were going to some benefit party at a club in SF. We show up and the door guy told us that it was going to be 25 bucks to get it. Or 5 bucks but we had to ditch our clothes and be in our underwear. Bob and I immediately choose the 5 dollars option without saying anything. Just immediately took off our pants. It just made sense. It was a great party and really fun.

---

Bob was a tremendous mentor to me. He helped me when I was a baby cto (at the Obama campaign lol) and helped me when I was a baby ceo. He was one of the bright stars out there who helped make sure the world was better. I am pretty cynical about technology and our industry - bob was an exception. Without bob, I wouldn't be who I am today. The best part is that I know dozens of people who would say the same thing. His impact is wide and weird.

I wouldn't say I know his values, but I watched his actions: - he was always generous with his time, and his connections - he was always up for an adventure - and even when we had no pants on in a club, he was giving me advice on how to make sure my company was more successful, make sure my teams were properly fed, and make sure I was taking care of myself

I am going to miss that guy

joewalnes 2023-04-06 04:06 UTC link
Bob was crazy. In the best way.

In the early 2000s, I first encountered Bob through the Java open source community. He had a knack of being able to go deep on a tough problem and emerge with a wonderfully elegant solution. This was a time when software was getting increasingly complex, and so did the knowledge required to understand it, yet Bob consistently bucked the trend and made things seems simple. He would tackle problems that scared others. He was crazy. Crazy Bob.

At one point we had a rivalry working on two open source projects competing to solve the same problem. When we first met face to face, I was nervous there may be confrontation, yet he was friendly, full of energy, and excited that we shared the passion for the same problem. We brainstormed many ideas and both went away feeling great! His crazy energy amplified my own and passion for software.

Shortly after, I joined Google because of Bob. Over the years since, he and I did our best to recruit each other for nearly every company either of us worked at - we just never got the timing right, yet I was always hopeful we'd figure it out eventually.

Even in CxO roles, whenever Bob and I met we'd geek out on all sorts of tech problems, ranging from API design, to embedded C firmware tricks, to financial protocols, to graph network theory, to hardware development. He loved tech, and his eyes lit up whenever we found a shared passion.

Bob was one of those few people who was incredibly smart, could see the problem in different ways, energize everyone around them, and make you want to be a better you.

Crazy Bob. You'll be missed.

bradfitz 2023-04-06 04:12 UTC link
I don't have much unique to write but want to say something anyway.

Bob and I overlapped at Google and on Android and I think we even shared a manager for some time. It seems we overlapped at at least one Foo Camp as well.

Bob always seemed chipper, excited, friendly, patient, and happy.

I've been searching my email to re-read our various interactions over the years. We started following each other on Twitter in 2008. In 2012, a friend offered to put me on the guest list for a Stripe party. I replied that "Crazybob already put me on :-)". In 2020 we were DMing about custom-designed front doors and whether my friend also wanted to make him one. He was thinking Shou Sugi Ban style.

We're the same age, both dads. I also used to live in SF and visit sometimes. It all seems so surreal.

I hadn't seen him in person in ages but regularly saw him post to Twitter.

Like I said, nothing much unique to say. But I'll miss him. He was good people.

dannyr 2023-04-05 10:20 UTC link
If I remember correctly, Bob Lee worked on the Google Android team too.
beastman82 2023-04-05 11:09 UTC link
Exact same experience in 2010. He was internet famous for guice, CTO of Square and former lead of Android library dev. Asked about my flight and was generally just friendly.

Before that I had even cold-emailed him about something related to the Square CC reader and he responded.

Anyway I didn't get the job either, but it was impossible not to like him in my very limited experience. Terribly tragic.

oh_sigh 2023-04-05 13:29 UTC link
Oh, yup. I knew him as "crazy bob" through all his guice comments, and didn't connect that these were the same Bob Lees until your comment.
throw_m239339 2023-04-05 13:35 UTC link
Some great contributions he did. RIP, life is simply unfair.
shadowgovt 2023-04-05 15:42 UTC link
I've never met a dependency injection framework I liked, but I hated Guice least. Credit to the minds who conceived it.
BurningFrog 2023-04-05 17:48 UTC link
Ah... I wondered where I recognized the `crazybob` name from.

Guice was the one Google code that surprised me with how good it was while I was there.

bgirard 2023-04-05 18:34 UTC link
> bob taught me about what a weak map should really do: keep a value alive when both the map and the key are alive. It blew my mind.

Can you share more details? That's so counter intuitive to how I think of WeakMaps and I would like to know more.

mavelikara 2023-04-05 18:40 UTC link
I was trying to find that blog post by Cedric. Thanks Sam for linking it.

Bob Lee, RIP.

ng12 2023-04-05 18:43 UTC link
Love this story. This was how I remember him too; I didn't know he was our CTO until after a long conversation with him about some technical minutiae.
asfasfo 2023-04-05 19:38 UTC link
You forgot to mention that the dependency injection library, Guice, that you were asking about was created by Bob himself!

CashApp's monolith is still called Franklin today.

nicoburns 2023-04-05 20:39 UTC link
> At that moment, I was convinced I would be in trouble for bothering an executive. However, instead of that, I ended up receiving a fist bump during our science fair-style project presentation.

I suspect many CTOs long for this kind of work. But their time is usually taken up with administrative duties.

KingOfCoders 2023-04-05 20:52 UTC link
What a thread with all those people from the mid-2000s.
xvedejas 2023-04-05 22:36 UTC link
Constant acceleration, or did you mean velocity? I'm imagining that the magstripe data must be unevenly spaced for constant acceleration to make sense?
zinxq 2023-04-05 23:18 UTC link
Oh yes - Our system ended up being good for several hundred or several thousand (don't recall) transactions per second.

Bob called me after Zuck's announcement that the system hit a peak of (wait for it), 5 transactions per second. And that for only a very short time. The system was mostly only loaded with a transaction every few seconds (or maybe even minutes)

The Ruby version would have been fine. Heck, we probably could have just printed the transactions to some screen and have someone write them down at that speed.

We did have a good laugh though.

cpurdy 2023-04-05 23:24 UTC link
For what it's worth, he still talked about you pretty much every time we got together. He loved his time there.
cpurdy 2023-04-05 23:27 UTC link
Hey Sam, that's actually the JavaOne that I was flying to from a meeting in St Louis. When I got on the plane, I met ... Crazy Bob and the rest is history.
ergocoder 2023-04-05 23:50 UTC link
I've never found anyone who was punished for asking questions / raising concerns about org problems to leadership.

Most of the times the leadership is clueless about the problems in their orgs because nobody wants to tell them any real problem.

They appreciate that you share your pain points with them even without solutions.

Of course, you should share the pain points in a polite manner where you talk about your perspective only without speculation on other people's intents. But you should do that any way regardless of who the listener is.

kevinb9n 2023-04-06 00:05 UTC link
> He spent hours and hours bragging to me about people he was lucky enough to work with, and I've met many of them, and they're all like "he's got that all backwards".

YES, that is peak crazybob right there. Thanks, this was beautiful.

strangemonad 2023-04-06 01:26 UTC link
Not to mention patient as he helped the org mature multiple times over
randometc 2023-04-06 02:37 UTC link
Like you, “engineer’s engineer” was the phrase that came to mind for me too. Just really loved the craft, always happy to get into it and unpack a problem with you. Everything was tractable through code. So long as it was Java.

Like you, and hundreds of other Square engineers, I was asked to implement a circular buffer in my interview with him. I did it, not having the fortitude to decline, and I’m glad I did. I learned a thing or two, including that I would learn a hundred more things if I joined Square. What a great way to sell candidates.

I remember Bob kicking off the effort to get every Square engineer to come up with a pairing question and carry that culture forward when it no longer scaled for him and a handful of others to do it. I don’t think people thought it was reasonable. I do believe it worked!

I remember new folks asking earnest questions about why we had a monorepo and Bob replying that it was self-evident (a rare miss). But when I called him out on that he took the time to explain to me how it was all about being able to do global refactors across all our apps… something that only made sense when you were the kind of seasoned Java programmer who really wanted to refactor shared libraries on behalf of all teams at once. So glad he attracted more of you ;)

I remember working with Bob to update some of the Square visualizations that Mike Bostock of d3 fame had created. The “can do” attitude prevailed, even though Mike’s code was not documented, we were able to get it working and I believe we did truly novel work that day. Pretty sure (thanks Hindenburg) that code is still running.

I remember a lot of hiring bars, where not only was Bob responsible for scaling up the pair programming interviews, but he was actually really interested in the code people wrote, and in reviewing it with his colleagues. I later saw some flaws with that, but I’ve always respected the passion and the attention to detail.

As Cash scaled, before he left Square, I remember Bob went back into IC mode and was there, late nights and all, headphones on, cranking out the code. Pretty sure it was Minus the Bear on repeat for hours.

Last memory, I remember a surprising number of hugs and enthusiastic handshakes when things went well. Candidates closed. Features shipped. Fridays.

Just the raw exuberance. That’s why this hits so hard. RIP crazybob.

joering2 2023-04-06 04:08 UTC link
This is very interesting but I fail to see an issue. You listen to all incoming log messages and only store != success. What am I missing (obviously)
glohbalrob 2023-04-06 04:13 UTC link
this is kinda story of life too, huh. I try to be open. We are all mostly great people on this planet. Too bad about his passing.
arcticbull 2023-04-06 06:47 UTC link
I remember your hack week project :)

Bob interviewed me, and taught me to be a good interviewer. I don't know if other folks remember him for this, but he taught half the company how to interview. This skill proved very helpful in the rest of my career.

Thanks, Bob. You'll be missed.

KingOfCoders 2023-04-06 06:57 UTC link
"dang: Thank you for the black bar today for Bob"

I want to second that.

kevinb9n 2023-04-06 23:09 UTC link
Thank you so much for posting these
kevinb9n 2023-04-06 23:25 UTC link
Just to fill in some detail, Dagger was originally by jessewilson, but Bob was certainly highly involved. They were working together a lot then.
springrod 2023-04-08 01:49 UTC link
> And while I'd normally (and respectfully) say RIP, I swear there's no "Rest In Peace" for Crazy Bob ... wherever he is, the music is turned up to 11 and the lights are on all night. +1000
Editorial Channel
What the content says
+0.30
Preamble Preamble
Medium Framing
Editorial
+0.30
SETL
+0.24

Post affirms fundamental human dignity and faith in human worth, honoring Bob Lee's value as a person and professional

+0.30
Article 6 Legal Personhood
Medium Advocacy Framing
Editorial
+0.30
SETL
+0.24

Post affirms Bob Lee's right to be recognized as a person and valued member of society, opposing erasure or reduction

+0.30
Article 12 Privacy
Medium Advocacy Framing
Editorial
+0.30
SETL
+0.24

Post actively advocates for protection of Bob Lee's reputation and honor against reduction to tragedy

+0.20
Article 1 Freedom, Equality, Brotherhood
Medium Advocacy Framing
Editorial
+0.20
SETL
+0.14

Post advocates for equal respect toward Bob Lee as professional and person, opposing reduction to victim status

+0.20
Article 3 Life, Liberty, Security
Medium Advocacy
Editorial
+0.20
SETL
+0.14

Post acknowledges violation of Bob Lee's right to life and security by labeling the event 'tragic and wrong'

+0.20
Article 19 Freedom of Expression
Medium Advocacy
Editorial
+0.20
SETL
0.00

Post is direct exercise of freedom of opinion and expression, advocating through personal testimony

+0.20
Article 23 Work & Equal Pay
Medium Advocacy Framing
Editorial
+0.20
SETL
+0.20

Post advocates for respect of work and professional achievements, emphasizing career advancement as worthy of recognition

+0.20
Article 26 Education
Medium Advocacy Framing
Editorial
+0.20
SETL
+0.20

Post recognizes Bob Lee as mentor and role model, advocating for educational value of professional development

+0.10
Article 27 Cultural Participation
Low Framing
Editorial
+0.10
SETL
+0.10

Post acknowledges Bob Lee's contributions to technological culture and innovation

+0.10
Article 29 Duties to Community
Medium Advocacy
Editorial
+0.10
SETL
+0.10

Post calls for community participation and shared responsibility in remembering and honoring Bob Lee

0.00
Article 5 No Torture
Editorial
0.00
SETL
ND

Post does not address torture or cruel treatment

ND
Article 2 Non-Discrimination

Post does not address discrimination or equality among groups

ND
Article 4 No Slavery

Post does not address slavery or servitude

ND
Article 7 Equality Before Law

Post does not address equality before the law

ND
Article 8 Right to Remedy

Post does not address right to remedy

ND
Article 9 No Arbitrary Detention

Post does not address arbitrary arrest or detention

ND
Article 10 Fair Hearing

Post does not address fair trial or due process

ND
Article 11 Presumption of Innocence

Post does not address presumption of innocence

ND
Article 13 Freedom of Movement

Post does not address freedom of movement

ND
Article 14 Asylum

Post does not address right of asylum

ND
Article 15 Nationality

Post does not address nationality

ND
Article 16 Marriage & Family

Post does not address marriage or family rights

ND
Article 17 Property

Post does not address property rights

ND
Article 18 Freedom of Thought

Post does not address freedom of conscience or religion

ND
Article 20 Assembly & Association

Post does not address freedom of peaceful assembly

ND
Article 21 Political Participation

Post does not address participation in government

ND
Article 22 Social Security

Post does not address social security or welfare rights

ND
Article 24 Rest & Leisure

Post does not address rest and leisure rights

ND
Article 25 Standard of Living

Post does not address standard of living rights

ND
Article 28 Social & International Order

Post does not address social and international order

ND
Article 30 No Destruction of Rights

Post does not address destruction or limitation of rights

Structural Channel
What the site does
+0.20
Article 19 Freedom of Expression
Medium Advocacy
Structural
+0.20
Context Modifier
ND
SETL
0.00

HN platform actively facilitates and protects such expression through public post functionality

+0.10
Preamble Preamble
Medium Framing
Structural
+0.10
Context Modifier
ND
SETL
+0.24

HN platform enables memorial discourse and affirmation of human dignity through public posts

+0.10
Article 1 Freedom, Equality, Brotherhood
Medium Advocacy Framing
Structural
+0.10
Context Modifier
ND
SETL
+0.14

HN allows equal voice and memorial space for all users regardless of background

+0.10
Article 3 Life, Liberty, Security
Medium Advocacy
Structural
+0.10
Context Modifier
ND
SETL
+0.14

HN platform permits advocacy regarding violations of fundamental rights

+0.10
Article 6 Legal Personhood
Medium Advocacy Framing
Structural
+0.10
Context Modifier
ND
SETL
+0.24

HN structure permits community recognition and legacy preservation

+0.10
Article 12 Privacy
Medium Advocacy Framing
Structural
+0.10
Context Modifier
ND
SETL
+0.24

HN platform enables memorial narrative framing and reputation protection through community voice

0.00
Article 5 No Torture
Structural
0.00
Context Modifier
ND
SETL
ND

Not applicable

0.00
Article 23 Work & Equal Pay
Medium Advocacy Framing
Structural
0.00
Context Modifier
ND
SETL
+0.20

Not directly addressed by HN platform structure

0.00
Article 26 Education
Medium Advocacy Framing
Structural
0.00
Context Modifier
ND
SETL
+0.20

Not directly addressed

0.00
Article 27 Cultural Participation
Low Framing
Structural
0.00
Context Modifier
ND
SETL
+0.10

Not directly addressed

0.00
Article 29 Duties to Community
Medium Advocacy
Structural
0.00
Context Modifier
ND
SETL
+0.10

HN structure enables community engagement through comments and story sharing

ND
Article 2 Non-Discrimination

Not structurally relevant

ND
Article 4 No Slavery

Not structurally relevant

ND
Article 7 Equality Before Law

Not structurally relevant

ND
Article 8 Right to Remedy

Not structurally relevant

ND
Article 9 No Arbitrary Detention

Not structurally relevant

ND
Article 10 Fair Hearing

Not structurally relevant

ND
Article 11 Presumption of Innocence

Not structurally relevant

ND
Article 13 Freedom of Movement

Not structurally relevant

ND
Article 14 Asylum

Not structurally relevant

ND
Article 15 Nationality

Not structurally relevant

ND
Article 16 Marriage & Family

Not structurally relevant

ND
Article 17 Property

Not structurally relevant

ND
Article 18 Freedom of Thought

Not structurally relevant

ND
Article 20 Assembly & Association

Not structurally relevant

ND
Article 21 Political Participation

Not structurally relevant

ND
Article 22 Social Security

Not structurally relevant

ND
Article 24 Rest & Leisure

Not structurally relevant

ND
Article 25 Standard of Living

Not structurally relevant

ND
Article 28 Social & International Order

Not structurally relevant

ND
Article 30 No Destruction of Rights

Not structurally relevant

Supplementary Signals
Epistemic Quality
0.34
Propaganda Flags
0 techniques detected
Solution Orientation
No data
Emotional Tone
No data
Stakeholder Voice
No data
Temporal Framing
No data
Geographic Scope
No data
Complexity
No data
Transparency
No data
Event Timeline 20 events
2026-02-26 08:55 dlq Dead-lettered after 1 attempts: Remembering Bob Lee - -
2026-02-26 08:55 dlq Dead-lettered after 1 attempts: Remembering Bob Lee - -
2026-02-26 08:55 dlq Dead-lettered after 1 attempts: Remembering Bob Lee - -
2026-02-26 08:55 dlq Dead-lettered after 1 attempts: Remembering Bob Lee - -
2026-02-26 08:53 rate_limit OpenRouter rate limited (429) model=mistral-small-3.1 - -
2026-02-26 08:53 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 08:53 rate_limit OpenRouter rate limited (429) model=qwen3-next-80b - -
2026-02-26 08:53 rate_limit OpenRouter rate limited (429) model=hermes-3-405b - -
2026-02-26 08:52 rate_limit OpenRouter rate limited (429) model=mistral-small-3.1 - -
2026-02-26 08:52 rate_limit OpenRouter rate limited (429) model=qwen3-next-80b - -
2026-02-26 08:52 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 08:52 rate_limit OpenRouter rate limited (429) model=hermes-3-405b - -
2026-02-26 08:51 rate_limit OpenRouter rate limited (429) model=mistral-small-3.1 - -
2026-02-26 08:51 rate_limit OpenRouter rate limited (429) model=hermes-3-405b - -
2026-02-26 08:51 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 08:51 rate_limit OpenRouter rate limited (429) model=qwen3-next-80b - -
2026-02-26 08:32 eval_success Evaluated: Neutral (0.00) - -
2026-02-26 08:30 dlq Dead-lettered after 1 attempts: Remembering Bob Lee - -
2026-02-26 08:30 eval_retry OpenRouter API error 400 model=step-3.5-flash - -
2026-02-26 08:30 eval_failure Evaluation failed: Error: OpenRouter API error 400: {"error":{"message":"Provider returned error","code":400,"metadata":{"raw":"{\"error\":{\"message\":\"response_format json_object is not supported for this model\",\"t - -
About HRCB | By Right | HN Guidelines | HN FAQ | Source | UDHR | RSS
build 1686d6e+53hr · deployed 2026-02-26 10:15 UTC · evaluated 2026-02-26 12:13:57 UTC