About me

I'm Charles Samborski, a Software Engineering and Computer Science student in Lyon, France. I am good at software architecture, code analysis or generation, web development and developer tooling. I care about free software and want to help improve the world.

I started programming in 2011 with PHP, Javascript & Casio Basic. It started as a simple hobby when I did my own personal website, dabbed at creating a lonely-survivor-on-an-island simulator and joined a few Ludum Dare game jams (I'll definitely upload my entries again once I'll have more time).

By the end of high-school I started one of my long-running projects: a video game modding platform for The Caverns of Hammerfest, a Flash platformer. With a group of friends, we reverse-engineered the file format used by the levels and created an editor and website to host and share levels. One of the highlights of the project is that I ended up writing my own AVM1 decompiler in Javascript since none of the commercial products were able to retrieve valid source code. I am now busy with other projects but its always a pleasure to return on this project from time to time. It is really the project that got me into programming and pushed me to get an in-depth knowledge of web development.

In 2013, I entered the INSA Lyon engineering school. During the first two years I spent half the day learning advanced mathematics, physics, mecanic, chemistry & compter science, and then came back home to further work on my projects. I continued to learn web development with Node.js but also started programming in Java. Some examples of projects I did in Java are a LAN-multiplayer Space Invader and a 2D platformer with a custom game engine.

After two-years of general STEM courses, I entered the INSA Computer Engineering department in 2015. I am still there today and will graduate in 2018. The covered topic are very numerous and diverse. It went from designing distributed web-applications to inner workings of microprocessors.

Concepts

Computer Science

  • Grammar and parsers
  • Cryptography
  • Compilers
  • Data structures
  • Graph algorithms
  • Dynamic programing
  • Proof of correctness
  • Big Data
  • 3D Graphics

Paradigms

  • Procedural
  • Functional
  • Object Oriented
  • Contract
  • Logical

Testing

  • Documentation
  • Unit-Tests
  • End-to-end tests
  • Continuous Integration
  • Continuous Deployment

Other

  • Semantic Web (Sparql, Dbpedia)
  • Unicode (Characters, regexp engines, normalization, ...)
  • Service-based Architectures

Tools

Languages

  • Typescript
  • Rust
  • Python
  • Javascript
  • C++
  • Haxe
  • Java
  • PHP
  • OCaml
  • Scala
  • Actionscript
  • Prolog
  • C
  • Assembly: x64, ARM, MSP430

At this point there might be some others that I forgot to list, but I should be able to pick any language and be productive with it.

Libraries and frameworks

  • grunt
  • gulp
  • webpack
  • system.js
  • Flex
  • Bison
  • Googletest

Other

  • CSS
  • SVG
  • HTML
  • Markdown
  • Pug (Jade)
  • Sass
  • Virtualbox
  • Arch Linux
  • MySQL, MariaDB, PostreSQL
  • MongoDb
  • Gitlab
  • Github
  • Git

Editors

  • Jetbrains Editors: IntelliJ Idea, CLion, Webstorm, PyCharm, and so on.
  • Atom
  • Notepad++