On the Grounds That I Don't Know the Answer[1]

Published September 22, 2025

Written by Carl Edward Lyons

I'm Carl.

I sometimes find it difficult to describe exactly who I am. But one thing I can say for certain: I'm a nerd. I love science fiction, from Star Trek's naive mid-century techno-optimism to Jurassic Park's outlandish cautionary tale. I also love games in any form, but I'll take a simple, creative tabletop role-playing game over an uninspired transaction-fuelled "AAA" any day. I'm passionate about aesthetics, ethics, and morality; I love discussing anything intellectually or philosophically challenging.

I'd like to introduce myself, my work, and my ambitions to give context to my projects and other endeavours. While I find it challenging to write about myself, hopefully leaving my story here will help me share and connect with the online community.

I Have Ended Up Where I Need to Be

I have loved science and computers for as long as I can remember. My earliest memories recount a mild obsession with Bill Nye the Science Guy and tireless efforts to bootstrap video games from my compact floppy disk collection. These preoccupations, as well as a natural curiosity about how things work, have carried throughout my post-secondary education and professional career. Now, I am primarily a software developer, but I also see myself as a scientist and an educator.

I'd Far Rather Be Happy Than Right

I continued to pursue my interest in science through a diverse university education. I first received a Bachelor of Science (BSc) degree from the University of Waterloo, where I studied physics — an intuitive choice for someone fascinated by the fundamental workings of the universe. Naturally, I enrolled in any course that focused on mathematical modelling and computer simulation, which led me to specialize in astrophysics.

Over the last few years, I have been gradually working towards a Master of Science (MSc) degree in psychology at McMaster University. I have been studying and have assisted with undergraduate courses, completed teaching assistantships, and performed guest lectures. While I had always had a pet interest in psychology, the Department of Psychology, Neuroscience & Behaviour gave me an opportunity to dive deeper into statistical analysis, experimental design, and scientific writing. I applied this knowledge in my MSc thesis studying the biophysics of vesper bat echolocation. I have been working to document and understand the spatial characteristics of big brown bat (Eptesicus fuscus) developmental vocalizations (the sounds bat pups make as they learn to echolocate). This work might seem distant from programming or physics, but the majority of my time has been spent developing computational signal analysis tools to extract acoustic data from the raw audio recordings.

You Live and Learn

In tandem with my education, I have continued to pursue a professional career in technology, where my love for computers has thrived. After receiving my BSc, my career began in an electrical manufacturing support role bridging quality assurance, testing, technical sales, and incident management. It was in this role, while troubleshooting and field repairing commercial-industrial control systems, that I realized my passion for systems design.

Pursuing this passion into the software development industry required significant amounts of determined effort. Aside from the undergraduate simulation and modelling courses — which used Python and C++ — my software and programming skills are self-taught.

While modding video games in my free time, I began writing small scripts to automate medial tasks, and free-lancing for friends and family. Then, while building a website for my good friend Jerry's business, I realized the potential of the web and dove headfirst into a world of HTML, CSS, JavaScript, web servers, and web servers on top of web servers. Since then, I have been busy building full-stack web applications and services.

I Love Deadlines

Over the last six years, I have been professionally writing software and building web applications concurrently with my MSc studies. For most of this time, my task was to rebuild the MRKTBOX e-commerce web application. The goal of the project was to create a multi-channel e-commerce application that intuitively handles whatever customer experience a small business could throw at it: cafe, catering, home delivery, and other special offerings.

One of the most valuable experiences of this project was supervising aspiring student developers from local colleges as they worked on co-op terms or industry partner projects. Spending countless hours reviewing student code, untangling git commits, and lecturing on best practices was an enlightening exercise in leadership and project management.

After finishing my work on the MRKTBOX project, I joined another, software startup, Rohirrim (yes, as in the Riders of Rohan; no, it's not just a Lord of the Rings fan club). There, I have continued to build web applications and services, learning new tools and strategies, as we redefine bureaucratic workflows using the latest, cutting-edge technology.

I am still dedicated to studying, researching, and experimenting, which has culminated in this weblog I built, here. My goal is to create a prototype for an open-source, modular, extensible, (maybe eventually) federated blogging service. I am also writing programming guides, professional tips, and other articles to include on my weblog. Essentially, this weblog is the current expression of my love for software design and development, in the form of development diaries, how-to guides, opinion pieces, and the code that props it all up. Sharing the software and the software's development process is my attempt to add to the long-form content software ecosystem.

It Has Great Practical Value

Across my many roles in academia and industry, I've learned the vast amount of power that modern technologies can provide. Development over the last few decades has led to amazing tools that can not only improve our day-to-day lives, but that have the potential to advance us exponentially as a society. However, even with the unfathomable amount of computing power and data available today, we still struggle to solve many important problems that seem within reach.

I don't believe that technology itself is ever the root problem. Instead, I believe that certain applications of technology are the problem. For example, vast amounts of our economic and social infrastructure rely on centralized services. The corporations responsible for operating these services have continually proven incapable of self-moderation and are plagued by misaligned incentives. Increased demand for computing power now necessitates a dependence on privatized infrastructure. Unless we find ways to address these concerns, our future will only become more contingent on these unreliable resources as our needs continue to grow.

Luckily, there have been software developers working to embrace technology to help solve these problems without compromising our safety and security. Federated systems are already making social platforms, like Mastodon, more autonomous and democratic; local-first architecture is now giving users more control over their data. But as it stands, there is still much to learn in order to satisfy all of our ambitions without unintended consequences.

See First, Think Later, Then Test

My personal goal is to apply what I've learned from scientific training to my professional work. Namely, I've learned that researching any phenomenon requires correct scientific process. The definition of scientific process is a method of inquiry that is systematic, empirical, and reproducible. By this definition, it stands to reason that any approach to problem solving can (and probably should) follow scientific process; product design and project management are no exception. A scientific approach provides a reliable framework to find the best solution to an enigmatic problem. I believe that harnessing this process will undoubtedly lead to better software solutions, grounded in evidence and reason, for the benefit of all.

Let the Present Move Forward Into the Future

I'm also of the opinion software developers should always be thinking towards the future. Sure, we all have to stay focused on the next milestone. But any experienced project manager knows: if you don't consider your direction, you may just be [scrum] sprinting into a wall.

Personally, I want to create technology that will stand the test of time, either by being extensible or modular. In this way, new software solutions can be applied to problems outside their originally intended domain. I can't think of a greater achievement than creating a foundational piece of work that paves the way for others to build.

Grapple With the Ineffable

Though, most of all, I want to teach what I've learned. Throughout my teaching assistantships, guest lectures, and supervision of college projects and co-op internships, my desire to educate has solidified. I know I wouldn't be where I am without the mentorship and guidance I've received along the way, and I want to provide the same for others.

Continuous research and investment into teaching computer programming will only become more important as technology continues to demand more from us in return. I believe that software innovation can only continue when new developers are trained with the fundamentals required to solve new problems.

Already, technology has become a necessary part of our lives. However, differences in access to technology, "The Digital Divide", is a key factor in worsening inequity. If we want a future free from oppression and classism, we have to remove socioeconomic barriers and fairly distribute resources. Making software resources and tools freely available reduces the financial barrier for everyday use and careers in technology. Thus, a future of equity requires working together and sharing knowledge of technology. This weblog is my contribution to sharing knowledge and enabling others.

At Any Rate, You Live

I have been told "[I] don't work very hard, but [I] work smart." I want to share that gift with others, by:

  • scientifically researching how to build educated solutions,
  • building and sharing tools to manage complex and unintuitive problems,
  • and teaching the skills so others can do the same.

In the end, I hope my efforts will contribute to scientific research, technological development, and education. I can't fix all the problems in the world myself, but I can help others to in their work. If I don't live to see a classic science-fiction future, I'll have died trying.

Better to Talk to Than Nobody

If you're here, I hope you found something interesting. I appreciate all the support that has gotten me here[2], and I look forward to sharing more in the future. Currently, all of my work is available via my GitHub profile. If you have any questions, comments, or suggestions, please feel free to reach out to me.


  1. If you're not familiar with the references, all the headings in this article are lifted from popular Douglas Adams quotes. I highly recommend reading his works, if you haven't already. Douglas Adams was a brilliant satirist and his philosophy and sense of humour has always inspired me. ↩︎

  2. A special thanks to my partner, Ren, for their editorial assistance and the endless emotional support. ↩︎

Edited by Renata Soljmosi