About Me

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.

Basic Information

Age:

Email: [email protected]

Programming Topics

F#

I’m an experienced Functional Programmer in F# and its great features such as:

  • Computation Expressions like async, query, …
  • Type Providers
  • Units of Measures
  • Type Extensions and Abbreviations
  • Data Structures like list, array, seq, …
  • Record Types
  • Discriminated Unions
  • Inline Optimization and Statically Resolved Types (Compile-time Generics)
  • Flexible Types
  • Active Patterns
  • Lazy Expressions
  • +All .NET features mentioned in C# section…

C#

I know C# language features such as:

  • All C# Keywords and Preprocessor Directives
  • Delegates, Event system
  • Linq
  • Extension Methods
  • Data Structures and Enumerables, Tuples, …
  • Attributes
  • Interop and P/Invoke
  • Interpolated Strings and Formatting
  • Async/Await Pattern, Task and ValueTask
  • OOP, Covariance and Contravariance
  • Functional Features and Lambda Expressions
  • C# and .NET coding conventions
  • Socket Programming, Networking, Multithreading…

I have more than 3 years of professional experience in C# and .NET. I work on lots of Desktop projects and I have experience in Web Development, Game Programming, and IoT development with C#.

ASP.NET

I’ve done various projects with ASP.NET Core and I’m experienced with it’s MVC pattern and DI System.

WPF/UWP

WPF and UWP are my UI frameworks of choice. Almost all of my desktop projects are written with these frameworks I’m skilled in many aspects of these frameworks such as:

  • Creating animations
  • Creating vector graphics
  • Text rendering features
  • Model-View-ViewModel Pattern
  • WPF and UWP Controls (DataGrid, Layouts, … )
  • Custom Behaviors and other Microsoft.Expression.Interaction features
  • Creating Custom User Controls
  • Data Binding
  • Creating Styles and Templates
  • Globalization and Localization (i18n)

PowerShell

I can automate systems using PowerShell scripts.

Entity Framework

Entity Framework is my favorite ORM. I use it in my Web and Desktop projects to manage databases in a simpler and better way.

Xamarin Technologies

I’m experienced in Xamarin Technologies. I have one project written in Xamarin.Android and another one in Xamarin.Forms.

Xaml

XAML or Extensible Application Markup Language is a great markup 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:

  • Design custom controls with custom behaviors
  • Create custom MarkupExtensions
  • Create custom Attached Properties
  • Create responsive user interfaces

Microsoft Office Dev

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.

SQL

I’ve used Microsoft SQL Server, SQL-CE and SQLite as data and config storages of my Desktop applications.

HTML

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. I also know Bootstrap, a popular HTML framework.

See the vanilla template I’ve created for my Events website without using any frameworks or 3rd party libraries: Event Eater Template

CSS

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

Game Development

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).

Browser Extension Development

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.

IoT / Rasp / Arduino

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.

C++

I’m experienced in POSIX APIs (processes, fork features, p_threads, …). I also have a GUI Tic-Tac-Toe game project fully written in C++ CLR.

Assembly

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.

VHDL

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.

Java

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.

Career Topics

UI / UX

Creating charming user interfaces has always been a hobby for me. I love blending art with computers!

Algorithm Design

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

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 Visual Studio Team Services.

Linux

Linux is a great operating system with a great community and an open door to the free world. Although my primary operating system is Windows, I still use WSL and Bash on Windows.

Windows Dev

I know how to use the WinAPI to create Shell Extensions for Windows.

Visual Studio

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.

Microsoft Office

I’m experienced in Word, Excel, Power Point and Microsoft Power BI.

Network

I know some about network tools such as Wireshark, GNS3 and Cisco Packet Tracer. You can read my Network Lab Documentations here.

General Topics

Presentation

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.

AutoHotkey

I can write AutoHotkey scripts‌ to create keyboard shortcuts and macros to do some of my tasks faster with it.

Languages

Persian

I’m a Persian Native Speaker.

English

I’m average in English Writing, Listening and Speaking skills.

Persian Poetry

I can write Hafez-style classic poems in Persian.

Work Experience

Freelancer

Because I am a student in a university far from a city, I can't work in a company, but instead I work as freelancer and do side projects in my spare time. I build desktop and web applications right now.

Desktop Developer

I develop WPF Desktop Industrial applications for HOMATEC company, such as CityCloud cloud file storage app, Bafgh Automation app, etc.

Education

Bachelor of Computer Engineering

  • Bachelor's Degree
  • University of Guilan
  • 2015 - 2019

At University of Guilan, I began to show other students my knowledge about programming and web design. 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.

Mathematics and Physics

  • High School
  • Eshragh High School
  • 2013 - 2015

In years of high school, I’ve studied Discrete mathematics, Differential mathematics, Chemistry, Static and Dynamic Physics, Geometry, Statistics, Probability and Persian literature.