00:00:09.320
Cool! Hey everybody, it's nice to be in Austin. My first time here, and I'm having a great time.
00:00:12.360
So I'm Andrew. Pay attention here—my name is Andrew Lewis. If you notice carefully, I'm not wearing a badge, and something happened here.
00:00:19.680
There’s an identity issue somewhere. I think my name is pretty common, and someone thought, 'Oh, Andrew, nobody will notice that one is gone.' So, look around you and if there's someone wearing an Andrew badge, and they're not an Andrew, let me know, because I really want one of these badges.
00:00:31.560
I'm going to be talking about a personal project I've been working on for the last little while. But before I get into it, I'm going to talk about history.
00:00:40.969
Usually, we don't hear too much about history at tech conferences, but I love history and find all kinds of excuses to share it with people.
00:00:51.899
So we're going to start in the 1930s. It started with a person named Vannevar Bush. He was a cool scientist and engineer who worked at MIT in the 30s. He built some of the first analog computers—giant mechanical devices that mostly did calculus. This was a hard problem that required a lot of work, which he automated with mechanical systems.
00:01:05.430
This is an example of one of those devices. The operator on the right is actually tracing the curve, and the integral is calculated mechanically. These were really cool devices. However, he was pressed into management, as happens to many engineers.
00:01:20.450
Then in the 1940s, something big happened that reshaped much of what science and academia looked like—World War II. Everybody got mobilized, and everybody had to play a part in the war. With the war came an explosion of information.
00:01:43.350
New bureaucracies formed, new offices emerged, and new information was flowing out everywhere. Papers, reports, and new scientific findings were being generated at an unprecedented rate. Vannevar Bush’s job during the war was to distill this information, summarize the research, and provide recommendations to the President.
00:01:58.860
He stated we were being buried under our own products, indicating that while science created new ways of generating and sharing information, we lacked the tools to make sense of it and stay on top of the information overload.
00:02:20.250
When the war wrapped up, he put his engineer hat back on and thought about how to solve these problems. In 1945, he wrote an essay titled "As We May Think," describing a dream device that he envisioned to solve these issues.
00:02:31.530
He called it a Memex (short for Memory Extender). This was a device envisioned to store books, records, communications, and photos. Users could navigate it mechanically to find everything they needed.
00:02:50.700
The Memex would have cool additional devices—like a stylus for taking notes, a voice recorder for leaving voice memos, and a camera for adding photos. Yet the most exciting aspect of the Memex was its approach to navigation.
00:03:03.000
Instead of filing information categorically or alphabetically, it would allow users to navigate personal data as a graph, associating information in a way that reflects how the mind connects ideas. As users navigate through data, the trails they create could be saved and later retraced, offering a unique way to revisit information.
00:03:37.800
The problem with the Memex is that it was never built. It remained a conceptual device because Vannevar Bush was busy and never got around to constructing it. When I learned about this concept, it made me really sad.
00:03:50.400
A little about me: I’m an information pack rat. If I come across a piece of information, I save it. That's just a rule I live by. For example, this is my grade five journal, where I started documenting my days. I have report cards from kindergarten, and I save all my movie stubs from over the years, keeping a record of every film I attended.
00:04:09.780
Before Google Maps, I tried to manually track my walks around Toronto. I saved all of my chat logs from high school, despite them not being worth preserving, just because I wanted to possessively save them.
00:04:34.080
With all these services inundating me with personal information that I want to keep, it's becoming a significant problem. I think some obvious solutions could include talking to a therapist. However, that's not what I did. Instead, I decided to use Ruby to tackle this problem.
00:04:46.770
I set out to build MMX, which aims to gather all data, encompassing everything I read or see, my browser history, and digital consumption—like the photos I look at, videos I watch, music, and podcasts. It also tracks my location history from my phone, along with my messaging and social interactions from apps like Slack and email.
00:05:12.540
I also handle soft data—journaling, notes, and annotations. For all these various services, I wrote importers and scrapers to consolidate everything into one place. Now, I’d like to share a little demo of this project.
00:05:40.170
What you're looking at is the main interface, where I have a query for everything I've watched on YouTube. I can search for videos by Ruby, which will show every video on YouTube about Ruby that I’ve viewed.
00:05:58.460
I have the capability to change how the display presents that information. I can also do different queries, such as searching for every repository on GitHub that I've liked.
00:06:12.560
Everything is stored in a graph inspired by the original memex. I can enable graph view to show how everything's organized. In the center is me, representing my personal perspective. We have repositories associated with tags, which allows me to navigate through my personal history with the graph.
00:06:38.970
For example, if I want to search for everything tagged with 'electron', I can do so. The query is updated, showing all the related elements I've engaged with. This powerful search capability allows me to navigate my history this way.
00:07:00.210
I also have my travel history from my phone. Did anyone fly in last night to Austin? If so, you'll remember there were significant thunderstorms in the area. I can look at my travel history, noting that we flew from Toronto to Houston. Our pilot had to make the decision to turn back due to the thunderstorms, which contributed to me feeling tired today, since we had to wait them out.
00:07:35.220
I have a complete record of my travels over the last half-decade. For example, a couple of years ago, I went on a road trip with a friend named Max. We listened to many podcasts and music during our travels.
00:08:03.170
Suppose I want to recall a particular song we enjoyed on that trip. I can search through my records and track what we listened to during our travels, showing all the relevant songs.
00:08:31.440
If I'm trying to remember a podcast that we listened to, I can specifically look for those too. Tracking our shared experiences through the various mediums makes it easy to reflect on those memories.
00:09:00.470
When we arrived at Strange Loop, I was taking notes and looking up related topics concurrently. If I wanted to see my browsing history specifically during the event, I can query to find all the resources viewed while at the Peabody Opera.
00:09:30.000
Again, if I want to narrow my focus to the repositories I considered during that talk, I can find a good log of all the relevant content and notes taken during those sessions.
00:09:55.950
Now, being at a Ruby-themed event, I can search my entire history related to Ruby. This includes browser data and messaging, allowing me to catalog every interaction regarding Ruby.
00:10:26.250
I can even correlate messages on Ruby with my mood, discovering how expressing interest correlates to my emotional state or productivity throughout the day. There’s a fascinating relationship revealed through that data.
00:10:50.489
I also track my coffee consumption to note any correlations. The data shows that generally speaking, more coffee leads to greater productivity. I can visualize consumption visually too, changing parameters to see patterns according to time.
00:11:25.840
This will include the hours of coffee consumption, with predictable increases in intake. I can also track food habits like burritos, representing ways I can link information across various contexts.
00:11:54.450
If I remember reading a book while eating a specific burrito, I can use the map view to search for it, gaining spatial context and visual cues about my experiences. This lets me surface meaningful patterns across time as I recall things.
00:12:25.450
This may sound contrived, as it’s rare to find myself in those scenarios, but when I do seek what seems like a lost memory, I have different strategies to help retrace my steps.
00:12:46.610
So that’s a quick dive into this personal project and its demo. The next part involves going over technical specs, but I'm not going to delve too deeply into that. If anyone is interested, I’ll be presenting a more technical version of this at RubyConf next week.
00:13:10.610
Alternatively, you can come to me after this talk. I love discussing the technical aspects, but for now, I want to focus on something else. Does anyone recognize what's displayed here?
00:13:36.150
It's a Delta Epsilon proof! When I was a new computer science student, these proofs were giving me such a hard time, and I often felt overwhelmed to the point of considering leaving my studies behind.
00:14:05.800
During this period, I started learning about Ruby on Rails. It was a big deal for me because discovering Ruby allowed programming to become fun again, igniting my passion for technology and development.
00:14:31.060
There were so many fresh ideas and a great community, and Ruby brought me back into tech. It reminded me of the importance of the quirky, playful aspects of the Ruby community.
00:14:54.060
Keep Ruby Weird resonates deeply with me, as it keeps me engaged in this industry, and I truly enjoy it.
00:15:10.490
To connect back to the Memex history, it's important to highlight that the Memex itself was also quite quirky and influenced by its creator.
00:15:34.400
Vannevar Bush envisioned the Memex as a strange project, representing a different approach that didn't necessarily aim for perfection. Its form factor was strange, being designed as a personal device that would be smaller yet capable of storing significant amounts of information.
00:16:04.350
During the 1930s, computers looked vastly different than they do today. The term 'computer' often referred to a room full of people working collectively. The Memex, on the other hand, was designed as a smaller, more personal tool.
00:16:31.780
It was also out of sync with the prevailing tech of the time, using microfilm, which had started to become outdated by then. Vannevar Bush worked with what he knew, preferring concepts over specific technologies.
00:17:00.800
He danced into odd territories, like using crystals for data storage and even mind control. Despite the outdated methods, he aimed for the broader vision of what the Memex could achieve for individual users.
00:17:24.700
What’s fascinating is how the Memex was perceived when it was first published. It didn’t reach the tech crowd through major journals but instead appeared in general publications, such as the Atlantic Monthly and Life Magazine—even side-by-side with poetry and light articles.
00:17:48.660
Remarkably, one of the most significant essays in computing history was nestled amongst these general reader articles. Vannevar Bush's Memex concept was never just a technical idea; rather, it blended everyday life with the potential of computing.
00:18:14.690
It can be said that the Memex was just one of many side projects for Vannevar Bush, who had extensive responsibilities in academia, the military, and technology. His attention was split among many ventures, and while he returned to the Memex repeatedly, he never completed it.
00:18:42.170
Yet, despite its unfinished state, the Memex had an outsized impact on subsequent history. Side projects like these are crucial—they represent an opportunity that not everyone has.
00:19:11.650
One of the important takeaways from this process is to make those side projects weird and experimental. As a quick addition, let me show you something I've been working on—a potential next version, combining the Memex with voice technology like Alexa.
00:19:47.700
Let's demonstrate this. I can query, 'When was the last time I was in Texas?' and it works seamlessly. I can also branch out into less direct inquiries, like recalling the last time I saw someone.
00:20:09.300
The responses are based on true data, as it derives from my travels and interactions. I can also explore photos related to discussions with specific people.
00:20:48.630
In the end, I’d like to discuss an activity, like making apologies. For example, I apologize if I seem too eager or creepy. I joked with one of my friends about how this talk might come across.
00:21:05.920
Secondly, I apologize for working on this on the plane and possibly being a tad disruptive to my neighbor. It's for the sake of this presentation.
00:21:19.500
As this long-running personal project has developed, I observe potential business cases. My true interest lies within the experiment itself—discovering how I can put my life into a database, and what that brings about.
00:21:46.680
There’s a concept from Vannevar Bush where as people engage with the Memex, dynamics between themselves and the tool clarify. My project follows this notion, and I find the interplay leads to enlightening results.
00:22:07.620
Playfulness is integral to Ruby. Keeping that playful experimentation going embodies the spirit of this endeavor.
00:22:28.400
Thank you all for listening! If you're curious about more information or want to connect, feel free to reach out or sign up for my upcoming newsletter. I plan on open-sourcing this next year.
00:22:40.780
Wow! I guess as an American, I don’t quite grasp GDPR, but I would be happy to take questions. We have about five minutes for that.
00:22:49.560
If anyone has queries, go ahead!
00:23:15.960
My question revolves around how you input all this data. Do you type into your phone as you go, or is there some form of automated tracking?
00:23:40.175
The majority of data on display comes from automation. The manual entries are more for food and drink segments, and I entered simpler commands using an app on my phone. The rest mainly comes from Twitter likes, browser history, and travel logs automatically generated by my devices.
00:24:06.200
As for speech recognition, I use the web speech API which functions well across popular browsers and its implementation wasn't complex.
00:24:29.179
Furthermore, the graph modeling relationships is central to this project, and it does use Postgres. It’s effective because it provides solid querying capabilities with marking and categorizing to showcase associations.
00:24:57.999
When it comes to monetization or turning this into a product, I want to ensure I don't host people's data directly. I’m designing a system to deploy updates while keeping personal data secure, and a Kickstarter might be in the works for production.
00:25:18.280
Are there any remaining questions? I’d love to answer.
00:25:43.800
What sort of insights have you achieved through all this data?
00:26:13.350
I haven't gained any lightning-strike realizations about my life yet. Most of the correlations seem trivial, and I'm not particularly chasing down deep insights. Instead, the greatest benefit is the ability to search terms and recall all related history quickly.
00:27:00.000
It has fundamentally changed how I navigate my life, offering a rich context that's readily approachable.