- MSc. in Computer Engineering (2024 - Ankara University, Turkiye)
My thesis explores challenges I encountered while using genetic programming to synthesize Go programs from unit tests, as well as suggestions for addressing them. Read full thesis in Turkish or check out the code behind. - BSc. in Computer Engineering (2018 - Ankara University, Turkiye)
I am open to considering offers where the requirements match my projects fully or partially. Feel free to send me an email using your organization provided account. I will respond shortly after reviewing the company's public profile.
- Go
- Gonfique A code generator written in Go that produces Go code from YAML or JSON file.
- bump A CLI utility that adds the next semantic version tag to a repository using
major
,minor
,fix
commands. - golits A CLI utility to check if a Go file contains multiple occurrences of any string literal.
- ovpn-auth An easy-to-deploy OpenVPN authorization agent written in Go that works offline. It supports time-based one-time passwords (TOTPs) and password checks, and uses Argon2 for hashing.
- Python
- Diffusion of Innovation A Python script built with NetworkX and Matplotlib’s pyplot to simulate the spread of a hypothetical innovation.
- reddit-galaxy A Python and NetworkX project using Matplotlib’s pyplot. Processes the dataset in Scala.
- Bash, Make
- JavaScript, TypeScript
- Gonfique Playground Written in TypeScript and compiled to JavaScript via Vite, built on Microsoft Monaco and loads a Go WASM binary.
- Dim A Visual Studio Code extension written in TypeScript
- Terraform, Packer (DigitalOcean)
- PHP
- Poor Man's Social Media WA PHP application that processes AJAX-based API requests and serves a simple frontend with basic JavaScript interactivity.
- C++
- TicTacToe AI with TUI Implements alpha-beta pruning for TicTacToe.
- ball-and-stick-man Written in C++ with GLUT for basic 3D character movement and interactions.
Gonfique Playground brings Gonfique to the browser. It is a web app built on the Monaco editor and Golang WASM, providing an extremely responsive development environment where you can see the results of changes to the input file and Gonfique config in real time. Written in TypeScript and built with Vite to produce static files, it still works offline.
An offline, customizable tool that generates Go code for YAML or JSON files, designed for those seeking an alternative to Mholt’s JSON-to-Go. The pre-alpha of version 2 introduces new features such as overriding resolved type expressions, implementing struct iterators, providing a choice between struct or map representations for JSON/YAML objects, and assigning parent references to nodes. It also improves existing capabilities, such as auto-generated type names that avoid collisions by choosing the shortest semantically valid name, and importing external packages for type replacement.
A Visual Studio Code extension that reduces the opacity of matching statements and expressions to help the main logic stand out. Originally intended for pushing Go’s error-wrapping blocks and JavaScript logging lines slightly into the background.
Provides basic authentication for an OpenVPN server. It supports TOTP-based codes and password checks and uses Argon2 to handle hashing securely.
Shows the connections between subreddits based on shared links; one end of the link is orange, the other is blue. Built with Apache Spark, Python, and Matplotlib.
Simulates the spread of a hypothetical innovation in different types of communities, where members progress through seven states (from initial awareness to confirmation). Observes the resulting s-curve of adoption and the role of high-degree nodes. Created using Python, Matplotlib, and NetworkX.
A basic 3D demonstration with a movable camera, animated arms, a “tour” mode, and waving interactions. Created with C++ and OpenGL (GLUT).
A PHP-based application that processes AJAX calls to an API and provides a straightforward frontend for user interaction with JavaScript.