(previously known as SutandoTsukai181)
If only writing profile readmes was as fun as coding...
-
BSc. w/ High Honors in Computer Engineering (read: CS in middle east). Attended 2 years at Bilkent University then transferred to Middle East Technical University (NCC).
-
Some of the interesting courses I took:
-
Database Management Systems: query optimization, transaction management, concurrency control, crash recovery, security & authorization...
-
Image Processing: space and frequency domains, image enhancement, edge detection, segmentation, morphology, compression, pattern recognition... (all practiced in MATLAB)
-
Cloud Computing: parallel & distributed systems, scaling, virtualization, containers, AWS, architectures (REST, pub-sub, middleware), communication (RPC, messaging), coordination, election algorithms, fault tolerance...
-
Computer Graphics: ray tracing, shading, texture mapping, data structures for graphics, modelling & viewing transformations, forward rendering pipeline, culling, clipping, rasterization, OpenGL, vertex & fragment shaders, shadows, curves, surfaces...
-
Operating Systems, Data Communication & Networks, Embedded Systems
-
-
My capstone project was about activity detection-based health monitoring where I programmed MCUs in C++ and Pi's in Python to create a reliable and recoverable multi-sensor network that collects human motion data for activity detection on the edge.
Backend development, because I like designing and building systems, and I'm always excited about the latest open-source libraries that let me try out different approaches for solving a problem π.
- Completed courses about HTTP clients and web servers while learning Go on Boot.dev.
- Build(ing) an API for a workout tracker (idea from roadmap.sh) in Go so I can become familiar with modern backend practices in Go.
- Built some RESTful servers during my internships using .NET (C#). I later on realized how huge of a tech debt .NET had after I built a server in Go.
Reverse engineering, because I like going deep into the details of how something works.
- I RE'd a lot (and I mean a lot) of file formats and structures used in video games, and built tools for them, such as:
-
(Un)packers for archive formats
-
Conversion (or Blender import) scripts for 3D model, animation, and texture formats for games such as Yakuza, Kurohyou, and Naruto Storm/JoJo All Star Battle
-
(De)serializers for general game data formats
-
- Used IDA Pro, Ghidra and x64dbg (disassemblers/debuggers) to figure out specific game behaviour which allowed me to:
-
RE some of the more complicated formats
-
Find out the compression algorithms or encryption used for archives
-
Write function hooks that get injected into the game's process to modify the logic, and perform things such as loading unpacked modifed files from other directories (essentially a mod loader)
-
-
Language I'm most comfortable with: Python, as I've been using it for +4 years for writing scripts and it just used to fill my (simple) programming needs.
-
In addition to Python, I've written a lot of projects in C++, C#, Java, and Rust.
-
Favourite programming language:
the right one for the jobGo, because it lets me write clean and simple, yet powerful and performant code. It also ticks all of my checkboxes for a user-friendly language (type inference, structs with methods, no OOP, no borrow checker, less brackets/semicolons). -
I still occasionally use C++ and Python, depending on the requirements of what I need to build.
These are some of the projects I think are interesting, grouped by language.
π» Language | π Projects |
---|---|