Smalltalk

Ruby Changed My Life

Ruby Changed My Life

by JohnnyT

In the video titled "Ruby Changed My Life," Johnny T shares his personal journey of discovering the Ruby programming language and its significant impact on his life. He begins by narrating his introduction to Ruby at a Rails conference in London around 2006, where he was inspired by a keynote address from Dave Thomas. This led him to quit his job and pursue Ruby consulting full-time. Despite enjoying programming, he found the business aspects overwhelming and transitioned back into programming. \n\nJohnny emphasizes the core philosophy of Ruby, focusing on making programmers happy and enhancing productivity. He highlights the community aspect of Ruby, specifically the welcoming environment for newcomers, which motivated him to co-found the Salt Lake chapter of the Utah Ruby Users Group. His passion for Ruby also includes its alignment with agile practices and testing. \n\nTransitioning to Smalltalk, Johnny discusses how a project called Sub Wars introduced him to MagLev, a new Ruby implementation that promised easier object persistence. Citing a quote from Kent Beck, he reflects on the transformative influence of Smalltalk in programming, despite its struggle for mainstream adoption. He notes the need for guidance (a 'Sherpa') when learning Smalltalk, as it offers powerful features that can be challenging to navigate independently. \n\nSignificantly, Johnny shares his experiences with MagLev, emphasizing how it allows for a real-time, live environment that enhances user interaction and debugging. The ability to manipulate objects seamlessly is contrasted with traditional programming constraints. He concludes by encouraging developers to remove storage management burdens from their creative processes, allowing for greater innovation in design. Johnny wraps up his talk by inviting attendees to further discuss MagLev and Smalltalk, emphasizing the growth interest in these technologies. \n\nKey Points Discussed: \n- Introduction to Ruby and its philosophical foundation. \n- Transition from a business career to Ruby programming. \n- The supportive nature of the Ruby community. \n- Discovery of Smalltalk through the MagLev project. \n- Quote by Kent Beck relating Smalltalk and Ruby. \n- The importance of mentorship in learning Smalltalk. \n- Real-time advantages and object persistence in MagLev. \n- Encouragement for innovation without storage management constraints. \n\nIn conclusion, Johnny T's journey showcases the profound influence of Ruby and Smalltalk in his life and underscores the potential for creative programming when foundational challenges are addressed.

00:00:18.279 I'm here to talk about Ruby and how it changed my life, as well as my history of discovering Ruby. Later, I found Smalltalk, which is a topic we've heard mentioned in a few talks today. I want to share how I discovered Ruby and the intersection with Smalltalk through a project called MagLev.
00:00:36.000 First, a brief introduction: I am Johnny T, and I work at a company called Creditera in Salt Lake City. I started there just a few months ago, and as you can see from my picture, I love Smalltalk.
00:01:21.240 I first discovered Ruby around 2006 when I attended a Rails conference in London. The closing keynote was given by Dave Thomas, who delivered a fantastic talk about Ruby. At that time, he said, 'Ruby is not enterprise yet, but it's coming.' He noted that more people were quitting their day jobs to start Ruby consulting.
00:01:51.320 After attending that conference, I returned to the States and, a couple of months later, I quit my day job to focus on Ruby consulting full-time. It was a fantastic experience, but I ultimately realized that running my own business wasn't for me—I loved programming too much and found the business aspects overwhelming.
00:02:16.239 Later that year, I attended the RubyConf in Denver, which was my first Ruby conference. I had the opportunity to meet Yukihiro Matsumoto, affectionately known as Matz. During the conference, there was a humorous skit poking fun at Smalltalk, showcasing its pure object-oriented principles and some memorable quotes from Alan Kay.
00:02:46.800 We've heard Matz discuss why he created Ruby. The core philosophy behind Ruby is to make programmers happy while also boosting productivity. I can definitely attest to that, as I'm sure many of you here feel the same way.
00:03:06.720 One of the things I love about Ruby is the direct path between my thoughts and how I express them in code, allowing me to convey ideas with very little code. It’s enjoyable—I always loved programming, but I never reached out to other developers until I discovered Ruby. I felt excited about sharing this new passion.
00:03:50.000 My enthusiasm led me and a coworker to set up the Salt Lake chapter of the Utah Ruby Users Group, where we aimed to share Ruby with everyone we could. A key aspect that I appreciate about the Ruby community is its welcoming and friendly nature. Newbies find help and support easily.
00:04:30.000 I also admire Ruby's focus on agile practices and testing, as the Ruby language and community promote supportive practices in this area. Another point I’d like to make is that I've done this conference before, and I encourage everyone here to take a moment to thank Matz for his contributions to Ruby.
00:05:06.160 To express gratitude, let me teach you how to say 'Thank you, Matz' in Japanese: 'Matsumoto-san, Ruby kurete arigato.' I would love for you to repeat this after me so we can honor him for Ruby.
00:06:08.800 My journey of discovering Smalltalk began with a project called Sub Wars in 2010. This was a GPS-based submarine game that led me to discover MagLev, a new implementation of Ruby that promised a pure object database. This meant no worrying about mapping objects to a relational database.
00:07:30.440 I want to mention a famous quote by Kent Beck: 'I always knew that one day Smalltalk would replace Java; I just didn't know it would be called Ruby.' Kent Beck is one of the key figures in computer science and agile development.
00:08:14.120 Smalltalk was a fascinating yet enigmatic world that many people heard about but few accessed. In 1981, an issue of Byte magazine released significant information about Smalltalk, aimed at shedding light on its potential to influence programming.
00:09:00.000 Though Smalltalk never fully took off in the mainstream, the ambition behind its creation to inspire and change programming practices remained influential. There was a genuine need for a Smalltalk Sherpa—a guide to navigate the complexities of the language.
00:10:00.920 With Sub Wars and discovering MagLev, I began writing a version of the game in MagLev and experimenting with persistence. It was intriguing to engage with the underlying system and learn about Smalltalk programming.
00:11:00.000 One pivotal lunch with an old acquaintance who worked with Gemstone, a Smalltalk implementation, was particularly eye-opening. He mentioned that instead of focusing on Ruby, I should dive straight into Smalltalk. It made me realize how being guided by someone experienced in Smalltalk would profoundly enhance my understanding.
00:12:00.000 Over several weeks, I frequently visited him to learn about Smalltalk. He guided me through its features, which transformed my perspective. I discovered that attempting Smalltalk was challenging but rewarding, requiring insight into its distinct dialects.
00:13:20.760 However, having someone to mentor me personalized the experience of learning the language, making it easier to grasp concepts I initially found elusive. Smalltalk grants immense power when understood correctly, and having a face-to-face mentor was instrumental in maximizing that learning.
00:15:19.120 In summary, Smalltalk requires a Sherpa to help guide newcomers through its complexities. I transitioned into MagLev and soon discovered its native object persistence.
00:17:10.320 Smalltalk offers a unique live environment, allowing you to execute and save elements without ever starting from scratch. The ability to work with live objects facilitates seamless debugging and experimentation, like you saw in a demonstration of the MagLev database explorer.
00:20:56.560 The live environment in Smalltalk lets you interact with and debug code in real-time. Unlike other languages, where you often face static errors requiring tedious stack tracing, Smalltalk allows you to look directly into the stack while coding.
00:22:40.240 Additionally, let me show you how, with MagLev, you can modify and persist objects seamlessly. For example, I’m pulling up some objects right now; Smalltalk allows real-time alterations, which is revolutionary in how we can utilize programming languages.
00:24:45.279 Being able to work with a large persistent data store with pure objects can be a game-changer, especially when there's no active record or object-relational mapping involved. This is one of Smalltalk's many strengths that Ruby can learn from.
00:26:00.000 In conclusion, it is fascinating how much of our minds focus on storage management in development. If we could remove this burden, the potential for creativity and design would be limitless. Smalltalk's philosophy emphasizes the importance of automatic storage management, complementing an object-oriented approach.
00:29:09.120 Thank you all for listening. Before I go, I encourage everyone to join me tonight at 7 PM in room 24 for further discussions on MagLev or any questions you may have.
00:30:06.080 Any final questions? Yes, there is a growing interest in Gemstone among leading organizations, including JP Morgan, that rely on its performance for automated trading. Although MagLev is still in limbo, I'm exploring the possibility of using it in an open-source database project.
00:32:40.240 Once again, thank you for listening, and I look forward to connecting with many of you tonight at the session.