About the website
apotheca.io is the brainchild of Leo.
About the author
Computer engineer, scientist, and mathematician
Reader, writer, technologist, and baker
A lifetime of curiosity
My favorite and deepest areas of exploration relate to computers, programming, and information science, but they smoothly blend into many other domains. I enjoy the study of the intricate nature of computation, and its links to the greater world through physics, chemistry, biology, linguistics, and cognitive science.
I'll never stop learning, because there are far too many interesting things to study. When you know enough about the right topics, it reveals even more unexplored areas to learn about.
Games are what got me into programming in the first place. They're highly concurrent systems that require a lot of serious consideration to make run smoothly, and I've always enjoyed the challenge. I'd like to build the game engine of the future, using what I've learned.
A smart device in my pocket? This is normal now, but it wasn't always. I started my career doing mobile development when it was the new frontier. These days, there's a well-established ecosystem, but there's still unexplored space as the technology continues to develop.
There's no difference between one computer and many - it's just a larger computer. The dynamics of distributed systems, and the requirements to build a stable, self-correcting network is a problem that I have aimed to solve, making it the heart of my research.
The deeper into programming and computer science I get, the more rigor I need to express my program. Functional programming and higher-kinded types have made my programs safer, smaller, and smarter.
Languages and Compilers
VR and Interfaces
Every computer / program needs an interface - there is no point to a computation if its result cannot be observed. As computers grow in power, so does our ability to interface with them. We're especially excited about the coming days of VR as devices become ergonomic enough for casual everyday use.
I've got a decade of professional experience in the mobile / technology engineering space, filling almost every role imaginable for someone who likes to stay close to the code. Whether it be front-end user interfaces or back-end networking and distributed systems, I've done a little bit of everything, big and small - from television apps developed when the iPad was released, to comic book readers and smart lightswitches, to vr development and food e-commerce.
I've been an avid reader and lover of knowledge my whole life. I got into computers at an early age, and I took my first programming class in high school - AP Computer Science 1, learning late 90's Java. By the next year, I had outpaced my teacher, and was the only AP Computer Science 2 student, helping teach the CS 1 course that I had taken the year before. I passed my CS AP exams that year with a perfect score.
I graduated from RIT (the Rochester Institute of Technology) in 2012, and received a Bachelors of Computer Science (Game Design and Development). This was before the great Renaissance of Game Development, when an Unreal license cost hundreds of thousands of dollars a seat, and indie game development meant writing your own input loop, physics engine, and networking and rendering systems. Halfway through my degree, mobile became a thing, and my skill for efficient code in games took me in a new direction. From there, I got into internet-of-things, and distributed computing. Today, I'm deeply invested into functional programming, higher-kinded-types, and information theory, and I'm using that to build a naturally distributed operating system for the future.
Even though I graduated long ago, I remain forever a student at heart. Computer science and information theory are my passion, and I continue to explore and extend the limits of my knowledge. I collect interesting PDFs about data structures and algorithms almost as a hobby, reading them and integrating them into my body of knowledge.
There is no better way to understand something than to teach it to someone who does not. I find great joy in igniting the spark of curiosity in others. It may take patience and effort, but investing in knowledge - be it your own, or anothers - is worth the time. I love to share my knowledge of all things, from functional programming, to physics, to the mathematical nature of what binds them together.
I'm applying to a PhD program.
I've been reading and researching for the last decade, but learning and teaching are different skills. Now it is time to share what I have learned. It is my hope that pursuing a higher degree will help me both as a student and a teacher, and help me turn my sprawl of notes and prototypes into something that can be taught with clarity.