Hello! My name is Aryan Ebrahimpour. I am a Software Engineer and Designer.
I began programming in middle school and since then my interest has become an obsession. I develop applications and write articles in my weblog, I read software and hardware articles, and I follow Programming language and technology documentation to improve my programming and algorithm design skills. I constantly strive to become a better software engineer.
Age: years old (as of )
Personal: [email protected]
Academic: [email protected]
Work: [email protected]
F# is currently my favorite language that I use it everywhere I can. I’m an experienced Functional Programmer in F# and its great features such as:
Check out my F# projects and contributions in GitHub.
I know C# and its features, design guidelines, data structures and model of computation.
Check out my C# projects and contributions in GitHub.
I can automate systems using PowerShell scripts.
I know ECMAScript and TypeScript and their new features.
I’m novice in C and C++, however I’m experienced in some of POSIX APIs (processes, fork features, p_threads, …), and solved some distributed-systems problems using C and MPI. I also have a GUI Tic-Tac-Toe game project fully written in C++.
I’m experienced in writing software in Assembly. Take a look at my Calculator assembly project and DC Motor controller in GitHub. Both projects are simulated in Proteus.
I’ve done some basic projects with Python in complex dynamic networks area using NetworkX, and Epidemics algorithms using ndlib. I’ve analyzed data of websites like Twitter and Stackoverflow for useful information. You can also check out my Scikit Heart Disease Classifer where I used SVM Classification, Decision Trees, grid search cross validiation, PCA, and Cost complexity pruning and visualized data using Confusion Matrix, ROC and Decision surface/region.
I’m experienced in Threading, Socket Programming and Desktop Programming with Java (JavaFX). In most of our university projects I used Java in respect to projects specs, so ergo all of my AI, Programming Language design and Advanced Programming course projects are written in Java. Here is my Minesweeper game, and a minimal Cola lang compiler using Java Parser Generators.
As I mentioned in the IoT section, I’ve written a complete ping-pong game in VHDL, with help of other technologies like Xamarin, Windows IoT core, and RaspberryPi.
I’ve done various projects with ASP.NET Core and I’m experienced in it’s MVC pattern and DI System.
I’ve written a Web Extension for University of Guilan students with Javascript. In that project, I was able to get familiar with some WebExtension APIs.
I can create websites with F#’s SAFE-Stack.
I know HTML 5 and I’ve designed some templates for Blog.ir (A blogging service in Iran). I’ve also done some front-end projects for a company in Tehran, capital of Iran.
See the vanilla template I’ve created for my Events website without using any frameworks or 3rd party libraries: Event Eater Template
I’m experienced in CSS 3 and many of its features such as keyframe animations, effects, etc.
See the vanilla template I’ve created for my Events website without using any frameworks or 3rd party libraries: Event Eater Template
WPF, UWP and lately Avalonia (including Avalonia.FuncUI), are my UI frameworks of choice. Almost all of my desktop projects are written in these frameworks. I’m skilled in many aspects of these frameworks such as:
XAML or Extensible Application Markup Language is an xml-based declarative language with lots of useful features that can be used in WPF, UWP, Xamarin, Unity and a lot of other types of apps and games. My Xaml skills includes:
I can create reactive web apps using Vue.js.
I have done some projects with React and React version of Fluent UI so I have some knowledge about JSX/TSX, React hooks and it’s component system.
I’ve used Microsoft SQL Server, SQLite and a little bit Postgresql in my desktop and web applications.
I’ve used EF in my Web and Desktop projects to manage databases in a simpler and better way.
I’m experienced in Xamarin Technologies. I have one project written in Xamarin.Android and another one in Xamarin.Forms.
I can create mobile apps using F#’s Fabulous, Elmish MVU architecture and the Functional approach.
I am a big fan of Electronics and DIY. I built lots of cool stuff with my complete pack of sensors and electronic tools including Arduino.
As I mentioned in the Electronics section, I am a big fan of Electronics and DIY. I worked on the final project of my university’s CAD course with Windows IoT core + Xamarin + VHDL. The result was a ping pong game that can be controlled with a smartphone, sending data to a RaspberryPi with Windows and an FPGA which runs the game that is written in VHDL.
I ‘ve written a ping pong game using a FPGA, supervised by my professor Dr Mahdi Aminian.
I have basic knowledge and experience about Docker (I can create Dockerfiles, docker compose and containerize applications), Orchestraton with Kubernetes, Microservice Architecture and SOA.
I have experience in Message and Stream processing with WSO2 Stream Integrator and Siddhi Apps. Check out my contribution in solving DEBS2015 challange at IUST open projects
I have experience in MPI. Check out my contribtuions in solving some problems using MPICH at IUST open projects.
I’m really interested in Game Development. I know some about CryEngine, Unity, and Xenko game engines editors. I also have a merged PR to Xenko Game Engine and created a new dark theme for it (+ Icon theming features).
I’ve done some basic game projects using Godot Engine and GDScript.
I’ve done some basic game projects using Unity and C#.
I can create Plug-ins for Microsoft Office products. I’ve already created an extension for Microsoft Excel that can modify a sheet for easier question importing for Moodle.
Creating charming user interfaces has always been a hobby for me. I love blending art with computers!
Design and making use of better algorithms with factors like time and space has always been of my concern. I always try to learn and use better algorithms when possible.
DevOps makes everything faster and that’s what I love about Software Engineering. I know some about Agile Methodologies, Scrum, Unit Testing, CI/CD and other aspects of DevOps. I’m also experienced in GitHub and Azure DevOps. I can also create extensions for Azure DevOps using Azure DevOps Extension SDK.
Linux is a great operating system with a great community and an open door to the free world. My secondary Operating System is NixOS and although my primary one is Windows, I still use WSL and Bash on Windows.
I know how to use the WinAPI to create Shell Extensions for Windows.
Visual Studio is a great tool for developing software. It has a lot of features that you can use to refactor your code or debug your application in a faster way. I’m also familiar with Visual Studio Blend and its great XAML designer.
I’m experienced in Word, Excel, Power Point and Microsoft Power BI.
I know some about network tools such as Wireshark, GNS3 and Cisco Packet Tracer. You can read my Network Lab Documentations here.
I can give presentations about different topics. Here is a list of Documents and Slides that I’ve created over time and used in my presentations.
I can write AutoHotkey scripts to create keyboard shortcuts and macros to do some of my tasks faster with it.
I’m a Persian Native Speaker.
I’m average in English Writing, Listening and Speaking skills.
I can write Hafez-style classic poems in Persian.
I work in the DevOps team of the SystemGroup, a large company in Tehran, Iran which provides enterprise-scale ERP systems, cloud solutions, automation and accounting services and software. I work on a wide varity of DevOps related projects in the company.
I mainly use F#, C#, PowerShell, JavaScript and TypeScript for the projects.
I work for the Cloud Computing Center of Iran University of Science and Technology, a research cloud lab supervised by Dr Mehrdad Ashtiani.
Because I was a student in a university far from the city, I couldn’t work in a company, but instead, I worked as a freelancer and done side projects in my spare time. I built desktop and web applications at the time.
I developed Industrial applications for HOMATEC company, such as CityCloud cloud file storage app, Bafgh Automation app, etc.
At Iran University of Science & Technology, I’ve studied performance evaluation of computer systems, distributed systems, cloud and grid computing, data mining, dynamic complex networks, and fault tolerance of software and hardware systems. I’m currently working on scheduling algorithms in serverless platforms and function-as-a-service. My advisor professor is Dr Mehrdad Ashtiani.
At University of Guilan, I began to share my knowledge about programming and web design with other students. After that, I became a member of the academic forum and participated in an ACM programming contest with the result of honorable mention. I had in-class presentations about Agile software methodologies, DevOps, Refactoring and Bad smells in code, processes and threads, SQL Server and Entity Framework related presentations, Economical and social topics like Human Development Index, Informal Sector, etc.
Hasti-Lang is an educational Persian functional programming language, created and developed in University of Guilan as my BCS project
In years of high school, I’ve studied Discrete mathematics, Differential mathematics, Chemistry, Static and Dynamic Physics, Geometry, Statistics, Probability and Persian literature.
Even tho I am skilled in Microsoft Technologies, I am comfortable and open to use and learn other techs, solutions and approaches. In summary, I don’t belive that I’m vendor locked-in by MS as I embrace and use every tech that looks cool to me.
I find Functional Programming easier to reason about the code, and it helps you to do much more with less code. It’s safer, and fits my soul.
I’m always open to hear about new opportunities.