My journey to Google I/O ’24

Tuesday, 04 June 2024

On March 15th, I was surprised by an email invitation to Google I/O.

When I clicked into cc, I noticed Reid Baker’s email - the Google employee whom I collaborated with on various boring-sounding Android-related integrations in the Flutter framework for the past year1.

I didn’t immediately make any decision on whether to go or not to go. You know, I’m a student and have coursework to do and attendance to check off.2

After a few weeks of practicing my usual “running away from making decisions”, I decided to go. My reasoning was simple, if a bit weird:

In mid-April, I finally booked the flight from Porto (where I live right now) to San Francisco and back. Me being me, I wanted to fly there as cheap as possible, and also stay as short as possible (because school). This year, I/O took place on Tuesday (May 14th) and Wednesday (May 15th), and initial plan was to arrive anytime Monday and leave ASAP. But because of the prices, in the end I chose to fly in on Thursday (May 9th) – because it was a few hundred $ cheaper than Monday, and I’d rather spend that money on living and exploring the Bay Area instead of paying a premium for the flights.

Mistake made

The cheapest “Economy Light” (lol) flights I bought from Lufthansa are, well, stripped off of literally everything except for a seat in a plane - so I could forget about rebooking. Naturally, a few days after I bought them, I got an email inviting me to a Flutter community party on a Wednesday night – right when my flight is set to take off at 7:40pm on Wednesday. I could not justify shelling out another $600 or so to depart a few days later, and I didn’t attend that event.

When I’ll be attending conferences in the future, I’ll either stay a few days longer, or make sure I can rebook.

Thursday, May 9th

Taking off

This was my flight’s itinerary:

08:40am Porto -> 12:10pm Zurich
01:35pm Zurich -> 4:30pm San Francisco

(Times are local – I wish the flight was 3 hours. It was 11.)

I remember still being in Porto metro at 7:40am and freaking out if I’ll make it on time. Fortunately I did, and the plane in Porto had about an hour of delay. Coupled with little time for layover, it was a close call, so as soon as I landed in Zurich, I ran to the gate – only to find out it had closed a few minutes ago. I was rerouted to Frankfurt, and from there I flew to San Francisco. It was the first time I experienced that situation, and frankly, was nicely surprised how smoothly everything went.

I was fortunate to get a seat at the window, and two seats to the right were free – so I could spread myself out comfortably.

Once over California, I could take in wonderful views:

View on Clear Lake
View on the Bay – zoom in and you’ll see Golden Gate Bridge, San Francisco, Oakland and Berkeley
View on South Bay and the Dumbarton bridge

In the end, I arrived at SFO 4 hours late, around 8pm local time. It was a remarkably beautiful evening - warm, with delicate mist in the air.

I took BART to the city, where I had the hotel.

Friday, May 10th

Internet Archive

For the first day I had planned a visit to the HQ of Internet Archive (IA) (I learned about this possibility from a reddit thread). Back in April, I emailed Jason Scott and he responded – and told me to come an hour before the tour so I’d get lunch! Turns out, every Friday they host a community event of sorts, where they invite some speakers, and then discuss the topic while having pizza and ice cream.

After lunch, the trip around the building started, and oh boy, was it worth it!

The HQ building very closely resembles the IA logo - but actually, it was the logo that came first, and then one of IA founders discovered the property and bought it.

Internet Archive HQ (300 Funston Avenue)

The building itself is a former Fourth Church of Christ, Scientist. It looks magnificent on the outside, but the inside is what surprised me the most.

Inside the main hall

The main hall has remained mostly unchanged from the church times. There are huge server racks scattered around, with pew benches taking most of the space, and hundreds of figures3 of former and current IA employees (each Archive employee gets one after working there for 3 years).

Completely accidentally, I found the figure of Aaron Swartz

There’s also no air conditioning, so if Wayback Machine seems to be working slow for you, check the weather in San Francisco - there’s a good chance it’s hot!

There are 30-ish such towers in the HQ. Each has 360 spinning disks.

It felt a bit surreal to just casually walk around (and even touch!) the servers of one of the busiest websites in the world and talk with engineers who make them run.

Some takeways from that visit

Internet Archive’s mission is becoming harder in the present age of increasing dominance of so-called social media.

The so-called social media provides its users with an illusion of shared experience. It is not shared at all.

In the past, we all used to read the same newspapers, watched the same TV programmes, listened to same radio stations. Nowadays, everyone’s feed is unique, and results of search engine queries are tailored to you, to make you see more ads. It’s not only impossible for IA to archive everyone’s unique feed, but it’s also hard to agree on common matters if there’s not enough shared experience among us.

This is big and growing problem. Our (western, liberal, democratic) societies are built on us having shared experience, which is steadily fading away.

Having visited IA, I took the bus back to the hotel and rested a bit – but not too long, because it was another beautiful day. I went to Fisherman’s Wharf, and then walked the waterfront to Oracle Park.

View on Downtown SF

SF Giants

I’m no baseball fan (I barely understand the basics), but given that I didn’t have anything planned for the evening, I went to see a Giants game. They played against Cincinnati Reds (and lost 4:2).

Funny thing: I bought tickets on SeatGeek, and expected to receive it over email. The email arrived, but it said that the tickets were available in the SeatGeek app – and I couldn’t download SeatGeek on my non-US iPhone (“App not available in your region”). Since the game had already started, and I just wanted to get in as soon as possible, I tried to buy another ticket at the counter – but they didn’t accept tap, and I only had a phone with me (In Poland, you can tap literally everywhere, and apparently I’m spoiled by that). There was an ATM nearby, but none of my cards worked. I was so angry and almost came to terms with my failure, but then a guy walked up to me and told me to go ask at some other counter, where I explained my situation to nice, elderly lady - and she printed a paper ticket for me!

I missed the beginning, but I think it was well-worth it, since now I have a cool souvenir.

I experienced a similar problem at the Dodger Stadium in LA a few months back, and in the end I also got paper tickets. I think I might start collecting them!

Berkeley

A few days earlier I had mentioned to my friend Nils that I’d be in the Bay, and he dropped me the invite to “finals are over rave” organized by some UC Berkeley students.

I didn’t stay until the end of the Giants game. Since I was starving, I bought the worst (and most expensive – $12) hotdog I’ve ever had and took tram and then BART to around the UC Berkeley campus.

I had some weird impostor syndrome – here I am, a random dude studying at some random, no-name university in a European country most people there probably won’t be able to pinpoint on the map. How can I even party with people from UC Berkeley?

In retrospect, this thinking was stupid and made no sense. Now it’s just another data point in my life that proves to always try to get out of the comfort zone.

I’m so glad I went.

Saturday, May 11th

For the weekend, Nils and me had planned a trip to Santa Cruz.

Car rental

I woke up a bit hungover, checked out of the hotel, and went to the car rental at O’Farrell, where I was informed that there weren’t any cars left, so I had to take BART down to the gigantic car rental at SFO. For $70 I got a new and shiny Nissan Sentra – not a bad deal if you ask me!

An ambitious plan to reach Santa Cruz in the afternoon got delayed, but not stopped.

I picked up Nils and drove down the coast to Santa Cruz for about 2 hours.

Mandatory stop at Taco Bell in Pacifica

Santa Cruz, Saturday evening

Santa Cruz in June

Either blue, surf the moon

Red Hot Chili Peppers

Upon arrival to some cheap-ass motel in SC, we unloaded the bags and drove to the see the campus of University of California, Summer Camp Santa Cruz. It’s beautifully placed on a hill, a short drive from the city.

The center of the campus, Quarry Plaza, was occupied by Palestine protesters
I liked the murals a lot

We walked around the campus, then hiked the woods in the back. What can I say – it’s absolutely stunning. I envy all the people studying there, among birds chirping, squirrels running on sidewalks and climbing trees, and Pacific wind blowing.

As we returned, a thick fog began to roll in, and it was getting dark, so we drove back to Santa Cruz and had dinner at the lovely Santa Cruz Diner.

Sunday, May 12th

Santa Cruz, Sunday morning

In the morning, we checked out and drove to see the Santa Cruz Boardwalk and the beach.

I’m not a huge fan of amusement parks. I also noticed that this one had seen better times. It looked a bit old and dull. The weather – misty and chilly - just added to my slight disappointment.

View on the Boardwalk’s Giant Dipper

The next stop was Santa Cruz Mission. It’s not as impressive as the mission in, say, Ventura, but it was still nice. We also grabbed a geocache there!

Unfortunately, it was closed, so we only walked around it

As we were about to leave, Nils searched for “ice cream” on Google Maps and we went to the place that had the highest rating – Marianne’s Ice Cream. This rating thing actually works – we found a true local gem.

The clock was ticking though, and my 24h car rental was due in a few hours, so before noon we left Santa Cruz and rushed to Fremont (where Nils lives), with a quick stop for In-N-Out.

As I later learned, we didn’t have to rush so hard – the clock starts ticking when I actually pick up the car, not from the time I selected when making a reservation on Booking.com.

Mistake made

Never ask for animal style In-N-Out if you’re not gonna eat it right away. Otherwise it will be absolutely ruined! The sauce thickens very fast and it’s honestly quite disguisting once it’s cold.

Back to San Francisco

Having returned the car, I went back to the city, where I met with my friend Szymon (or rather, he came to pick me up in his car). We wanted to drive to Twin Peaks (since I hadn’t been there yet), but it was a foggy day again, so we settled for Tank Hill, which was happily just below the fog level yet still provided great view of the area.

View on Mission District from the Tank Hill

Then we spend some time in Dolores Park, and then drove Battery Spencer vista point, on the other side of the Golden Gate Bridge.

Serene, sunny afternoon in Dolores Park
Pacific Ocean, as seen from Battery Spencer

Aurora borealis

At night, I went to see the northern lights (aurora borealis) with some friends I met at the Friday party. Again, there was thick fog everywhere, so thick we could barely see the lights of cars passing the bridge, let alone aurora.

Still, it was hella fun.

I ended up being at Battery Spencer twice on that day.

Golden Gate at night

Monday, May 13th

I woke up in the morning and took Caltrain from the SF station down to Mountain View.

Badge pickup

I walked4 from the train station to near the Shoreline Amphitheatre, where the badge pickup facilities were located.

In addition the badge, I got a water bottle, a T-shirt, and a blouse (which I lost the next day).

The tent where registration took place
My badge, with GBikes in the background

Meeting with Reid

On Monday evening, Reid and me met up and had a dinner at the superb Milagros Latin Kitchen restaurant in Redwood City.

In front of Redwood City’s City Hall

Tuesday, May 14th

Google I/O, day 1

I woke up in the morning and took Caltrain from the SF station down to Mountain View.

There was a huge line at the venue. Me and hundreds other people were admitted late because of Palestine protesters who blocked one of the entrances.

Some of the banners mentioned Project Nimbus

Overall, this was one of the best organized events I’ve attended to date. Lots of great food, drinks, and activities. I’ve got to admit I had a bit too many Bud Lights.

Watching the main keynote

The best thing was meeting IRL the people who previously had only been GitHub usernames to me. I met guys from the triage team at Codemagic. I met Google engineers who work on the Flutter framework every day. I met many other community members whom I recognized from GitHub issues.

All in all, it was a very fun day. In addition to watching the main keynote and developer keynote, I attended a few additional developer-focused sessions. On one of them, I (accidentally) sat next to Hixie, the Flutter project lead. It was humbling.

As the sun began to set, I took Caltrain back to SF.

Mistake made

I should’ve just kept my rental car instead of trying to save money by taking public transport which, while being very good in San Francisco, barely exists outside of it. I ended up paying with my time and patience.

Wednesday, May 15th

Google I/O, day 2

I woke up in the morning, packed my things, left the hotel and took Caltrain from the SF station down to Mountain View, one last time.

Arrested (almost)

On that day, I didn’t feel well and had to take a break from all the hustle happening at the venue. Some person that I had eaten lunch with suggested me to climb the nearby Shoreline Vista Point. I took his advice, walked out of the amphitheater, and headed towards the trail entrance.

To my disappointment, I was greeted by this sign:

Yes, the bird is real

Since nobody was around, I ignored all those signs and hiked to the hill, taking in the beautiful vistas of the South Bay.

It was a very pleasant short hike (~20min). After reaching the top, I lay on the grass and was marveling the area.

After a short while, some dude came along. He seemed to be just another rogue tourist. We chatted for a bit and then he walked away. It was only then that I noticed he had an earphone in one ear. This made me a bit suspicious, but I ignored it and just kept sitting there.

But then, after ~5 minutes, a police patrol drove up the hill in a big quad. Guys were fully geared-up, looking like they were going to fight in a war.

One of them said that I’m lucky he’s in a good mood today, that he’s not angry but I cannot be here - and then they offered me a ride back to the venue. We chatted a bit on the way down the hill. Overall, it was… fun?

Looking back, my behavior was just plain stupid, but fortunately, the odds seemed to be in my favor on that day.

Departure

After that little excursion, I went back to the venue for a while, mainly to say bye to friends and take some more photos (and eat more free food, hehe).

The last photo at the I/O sign

I mentioned I had lost a blouse from the welcome pack the day before. Fortunately, my friend Bruno gave me his blouse. He said he doesn’t care about swag (I do). Bruno – thank you!

After a few hours, I arrived at SFO, and that was the end of it.

Wrapping up

I feel happy and grateful that I could experience everything I did during those few days.

For me, the Bay Area – and California in general - is the most beautiful place in the world, despite its many flaws. I enjoyed every minute of being there, and I hope to come back sooner than later.


Thanks to Reid for the invite. This journey wouldn’t have happened without it.

Thanks to Marcin for proofreading this post.


2024-08-18 – frp (Fast Reverse Proxy) instead of ngrok
2024-08-16 – Cirrus CI is the best CI system out there
2024-08-14 – Going to Berlin for Droidcon/Fluttercon
2024-06-25 – I was awarded Google Open Source Peer Bonus
2024-06-04 – My journey to Google I/O ’24
2024-05-11 – GitHub Actions beg for a supply chain attack
2024-03-19 – Writing a custom Dart VM service extension (part 1)
2024-02-08 – On using smartphone for things that make sense
2023-11-30 – Semantics in Flutter - under the hood
2023-11-25 – Flutter Engine notes
2023-09-17 – Creating and managing Android Virtual Devices using the terminal
2023-05-27 – Suckless Android SDK setup
2023-05-26 – Let’s start over
2023-05-21 – Short thought on “The Zen of Unix”
2023-05-15 – Notes about “flutter assemble”
2019-01-07 – Google Code-in 2018


  1. If you’re curious, here are all the issues and PRs I created.↩︎

  2. In retrospect – I cannot believe I was seriously thinking about not going. Given the opportunity again, I’d say “yes” in an instant.↩︎

  3. I don’t remember what material they’re made of, unfortunately.↩︎

  4. Not that there’s anything interesting to see in Mountain View - it’s all infinite suburban sprawl. I simply felt like taking a walk, just like Forrest Gump felt like running.↩︎