# me **Repository Path**: dan_k391/me ## Basic Information - **Project Name**: me - **Description**: 关于我的介绍 。。。。。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-15 - **Last Updated**: 2023-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Hi, I am Daniel email: wangd170@mcmaster.ca / 3242118462@qq.com [My Github](https://github.com/Dan-k391) [My Gitee](https://gitee.com/dan_k391) ## Technical Skills * Languages Mastered: Python, Javascript / Typescript. * Languages familiar: Java, PHP, Ruby, C / C++, C#. * Familiar with Windows and Linux basic commands. ## Interested Aspects * **Web development**. Specialized in front-end website development. I am also the leader of school WebClub. * **Compilers**. Started many projects related to the compiling process, although most of them are not finished. (Take a look on github) Quite familiar with front-end of compiler development but needs progress in back-end of compiler development. * **Game development**. Especially in Web Games. Recently trying to build a web game from scratch with HTML canvas but still in progress because of the lack of inspiration. Made many simple games with C++ such as snake, 2048... * **Cyber security**. I often participate in CTF competitions with my friends during spare time. Relatively familiar with web exploitation. Little experience in reverse engineering and cryptography. * **AI**. Especially enthusiastic in learing NLP. Can call and use basic python libraries such as tensorflow, keras, pytorch, numpy, pandas, matplotlib. Also have some experience in using OpenCV on image analysis. ## Projects * **Compilers / Interpreters** * [C++ Compiler](https://github.com/Dan-k391/New-PseudocodeCompiler) Uses Flex and Bison to generate front-end of compiler. Constructs the AST with C++ and uses LLVM for the IR layer and back-end. This is a semi-finished project, still in progress. * [Online Web Interpreter](https://github.com/Dan-k391/Web-interpreter) Hand-written lexer and parser. Uses Javascript to generate AST and interpret it. Also conbines a online GUI and act as an IDE-like tool. (Front-end is written with Vue.js) The project itself is quite fulled-featured however the code is not organized and the performance is poor so I decided to start the next project. (Used to have a online website but it is closed now) * [OAC](https://gitee.com/dan_k391/oac/tree/master) A similar project to the previous one. However Typescript is used to construct AST and emitted into Webassembly which significantly improves the performance. Involves well-organized code and avoided the overuse of cdn's. * [Pseudo2Wasm Compiler](https://gitee.com/dan_k391/Pseudo2Wasm/tree/master) The pretty much final version of all combined. The last project emits binary code directly from the AST which has several limitations such as the lack of optimization etc. Therefore, I decided to add an IR layer to the project and use binaryen to generate and optimize the binary code. However, due to the limitations in WebAssembly, the project becomes ultimately difficult to implement. The project is still in progress. * **Simple Games** * Snake Game Made snake games with C++ / python / javascript. The C++ version is command line based. The python version is implemented in processing. The javascript version is implemented in HTML canvas. * 2048 Game Command line based game implemented in C++. * [Web Game](https://dan-k391.github.io/Sienna-the-block/) A simple web game designed by myself when I was relatively new to web development. * **Perlin Noise Terrain Generator** Implemented with processing. Generates a terrain with perlin noise. * **EyeMouse** A gaze tracker implemented with python and opencv, designed to control the mouse through gaze. Uses DLIB and mediapipe to analyse the position of eye. The project turned out to be a failure because of the limitations of the algorithm. I hope to complete this project in the future. * **PID Controller line follower** A line follower implemented with arduino, built from scratch, totally designed by myself. Uses a PID controller to control the speed of the car. ## Expreriences * **WebClub Leader** Every week, I will organize a class and communicate with the students about many aspects of computer science, including web development, game development, compilers, network security etc. * **School Lectures** * [Internet Infrastructure](https://dan-k391.github.io/theinternet/) Introduces basic knowledge about the internet, including requests, protocols, basic html knowledge etc. * About CTF Introduces basic knowledge about CTF competitions, including web exploitation, reverse engineering, cryptography etc. Has a series of questions made by myself to help students learn the methods of solving CTF problems. * **SJTU AI camp** Participated in SJTU AI camp during summer vacation in 2021. Learned basic knowledge about AI and lead the team during the project development. The project made is EyeMouse. * **Internship at AnHeng** Participating as a cyber security fellow during the summer holiday in 2023. Learned about basic analysis on virus and many reverse engineering techniques. Also enhanced the knowledge among linux, studied deeper into how the OS works and some interesting techniques.