About

About me

Hi there! If you have come this far, then probably you want to know more about me for whatever reason.

My name is Jun-Ichi Susaki. I’m a programmer with broad interest.

I’m interested in complex systems, primarily focusing on the intersection of Computer Science and Neuroscience/Biology.

I find it fascinating the fact that from simple things emerges extremely sophisticated and complex things.

I like to learn new things by doing R&D. And I really enjoy the ideas of playful exploration and playful problem solving.

By R&D I mean: reading, modeling, simulating, building, prototyping, experimenting, reverse engineering, hacking and playing.

If you thought, “Is this a program?”, then you are correct.

The thing that drives me is the materialization of the imagination by means of science and engineering, which was ingeniously invented by humans. In my viewpoint, programming is exactly the means to instantiate the abstract idea/concept, by specifying the meaning of the elements that compose the idea precisely with programming language, resulting in a program that implements and executes idea/concepts. In essence, programming is understanding and problem solving.

I also like games, both creating and playing, ranging from abstract strategy games like Chess, Shogi and Go to hardcore action RPG like Dark Souls. One of my favorite game genre is roguelike, which has several design features combined elegantly to maximize replayability, including procedural content generation, permadeath, and progression.

Philosophy

I appreciate the beauty of pattern, structure, function and I strive for: Simplicity, Efficiency and Elegance.

Learning Algorithm

One thing I like to think deeply and tries to perfect forever is the learning algorithm implemented in our brain which is an information processing system designed by evolution. Meta-learning, or meta-programming, in other words, learning to learn, or programming to program.

My view is that Learning is a continuous Research & Development process, which is essentially an analysis and synthesis.

The learning algorithm driven by curiosity take input an idea or a question, and output a prototype.

Learning algorithm pseudo-code

  1. Get interested in ideas, concepts, principles and techniques.
  2. Analyze problem by reading books, papers, blogs, and watching lectures online to understand the core ideas, principles, concepts and techniques.
  3. Synthesize solution by designing a minimum viable system and implementing a prototype that apply the core ideas, principles, concepts and techniques.
  4. Generalize experience by relating to other projects and transfer learning by writing technical posts.
  5. Optimize solution by perfecting the code.
  6. Go back to step 1.

The outcome of this loop is an experience, prototype, domain-specific knowledge and skills.

GitHub.