The summer break spent at a programming retreat in Brooklyn, USA, was a thrilling series of explorations that bridged the latest technologies and classical computer science. The activities were diverse, ranging from experiments with large language models and AI agents to implementing a mini-language from scratch and developing a byte-level decompressor. Beyond solitary study, I gained deep insights by collaborating with peers to write code. In this post, I aim to vividly recount the various projects and collaborative moments encountered there. Let’s take a look at what kind of outcomes were created when people who truly enjoy programming came together.
=
A Summer in Brooklyn: A Record of Learning at a Programming Retreat

1. Study Groups and AI Experiments

I visited this place on a friend’s recommendation, where anyone could freely form groups and set their own schedules to pursue in-depth study. A culture had taken root where participants would gather every Friday to solve past programming problems, compete with peers, and share solutions. In particular, groups focused on modern artificial intelligence and autonomous agents conducted new and ingenious experiments every week. We built virtual sandboxes to safely execute code in remote environments and combined them with Docker to complete local execution environments. We also created a communication game modeled after a famous board game to observe the process of AI agents collaborating with each other. We trained small predictive models to mimic the unique style of classical literature while simultaneously enhancing their conversational abilities. By studying practical deep learning materials together, we built broad knowledge ranging from the fundamentals of machine learning to constructing neural networks from scratch.
It was a precious time to test both the possibilities and limitations of AI while honing practical skills.
We solidified both theory and practice through autonomous study and AI experiments.
2. Mathematical Exploration and Board Game AI Analysis

The group dedicated to exploring mathematics in a fun way adopted a format where the first half was devoted to learning theory and the second half to implementing related programs in pairs. We solved mathematical puzzles together, drew fractals and generative art, and expressed geometric beauty through code. We used proof assistant tools to handle Boolean algebra identities and used pen plotter equipment to draw complex curves directly. Reverse-engineering board game AI to analyze strategies was one of the most immersive activities. After mastering the rules perfectly, we played against the AI and interpreted its neural network weights and reaction targets. We found that economic strategies were significantly more powerful than military strategies, a result that exactly matched the perception of actual players. It was astonishing to visually confirm that most high-weight nodes were directly connected to the possession of individual cards.
I clearly understood how theoretical mathematical concepts are implemented in actual programs and AI strategies.
We gained a deep understanding of how algorithms work through mathematical puzzles and board game AI analysis.
3. Completing a Mini-Language and the Supporting Role of AI

We finally achieved the milestone of completing a mini-language that we had conceptualized from the ground up during the onboarding process. Implementing conditional statements with recursive code was extremely tricky, but the process of solving the problems itself was a great joy. I wrote the core implementation code myself, while assigning auxiliary tasks such as organizing specifications and writing test cases to the AI. To make it easy to share the results with others, we created an interface that could be executed directly online. The AI served as an excellent assistant, faithfully following human instructions and quickly generating repetitive test code. Although not perfect, we witnessed the potential of collaboration where humans set the direction and AI acts as the hands and feet.
In the process of designing and implementing a language myself, I was able to fully enjoy the essential joy of programming.
We improved development efficiency by implementing a mini-language ourselves and using AI as an auxiliary tool.
4. Collaborative Implementation of a Specification-Based Decompressor

While listening to a presentation on file compression formats, I became aware of the severity of security vulnerabilities arising from discrepancies between how antivirus software and users decompress files. Deeply attracted to the compression algorithm featured in the presentation, I decided to implement it myself with a colleague over several weeks. This algorithm works by replacing repeating strings with back-references and assigning short bit sequences to frequently occurring bytes. We embarked on the journey of writing a decompressor from start to finish in an unfamiliar language, reading the official specification line by line. Although we struggled with the strict rules of the unfamiliar language, it thoroughly quenched our thirst for the C language. The act of debugging by writing down expected bit sequences and actual results in a notebook whenever they diverged was the very embodiment of a true hacker.
It was an unforgettable moment that was both the most challenging and allowed us to fully experience the deep flavor of programming.
We added technical depth by implementing a decompressor directly based on the official specification.
5. The Joy of Pair Programming and Growing Together

The collaborative culture of two or more people coming together to solve problems formed the foundation of all these activities. We conducted optimization experiments applying powerful tools to simple problems with peers, learning new perspectives. We collaboratively created a Game of Life that freely controlled specific areas of the screen and visually depicted changes across generations. We could easily overcome limitations by teaching each other what we didn’t know and exchanging hints whenever we got stuck. We fueled our curiosity that bridged digital and analog by 3D printing necessary parts and handling various tools. Just spending time observing other participants’ unique projects and gaining inspiration was enough to feel the value of being there.
We successfully completed complex tasks that would have been impossible to tackle alone by joining forces with our peers.
We maximized synergy through pair programming and collaboration with diverse peers.
6. Changes Brought by the Programming Retreat and Future Commitments

The time spent in Brooklyn did more than just improve coding skills; it completely changed my attitude toward technology. I internalized the spirit of exploration that digs deep into topics driven by curiosity, without being confined to set textbooks or frameworks. We fearlessly explored the entire spectrum of technology, from cutting-edge tools like AI to classical compression principles. In the future, I will not confine myself to a solitary room but will share knowledge with peers and continuously challenge myself with new things. This wonderful journey of turning small curiosities into massive projects will be the most reliable nourishment for my future development career. I hope that you, who are reading this, will also take the interesting ideas you have been holding in your heart and translate them into code right now.
The attitude of not fearing new technologies but sublimating them into joy leads to true growth.
Based on the experience at the retreat, I will continue to challenge myself without losing my curiosity.
Frequently Asked Questions
=