Languages
- C used in Minishell, Philosophers
- C# used in faresm.dev, Business Inventory Management
- SQL used in Hotel Booking Database
- Python used in AI Job Search Assistant, Expense Tracker
- JavaScript used in faresm.dev
- C++
- Bash
open to software engineering internships
I build backend services and systems software, from a Unix shell in C to a CI/CD-deployed ASP.NET app on Azure.
Informatics student at the Czech University of Life Sciences Prague (BSc expected 2027) and software engineering student at 42 Prague.
// about
I am an Informatics student at the Czech University of Life Sciences Prague and a current student at 42 Prague, focused on writing reliable, maintainable software through practical, project-based learning rather than theory alone.
My strongest experience is in C systems programming, C#/.NET desktop development, PostgreSQL database design, and full-stack web development with ASP.NET, JavaScript, HTML, and CSS, applying object-oriented design, data structures, and software design principles to build software that behaves correctly under real constraints.
I am interested in backend engineering, systems programming, networking, cloud technologies, and automation. At the moment I am expanding into computer networking while preparing for the CCNA certification, and deepening my Docker skills.
Languages Arabic (native) · English (B2+, professional working proficiency)
REST APIs, client-server architecture, and maintainable C#/.NET code.
C, Linux, POSIX, process management, memory debugging, and shell projects.
PostgreSQL, ER modeling, normalization, constraints, and SQL reporting.
// skills
// projects
minishell$ echo hello
hello
minishell$ export TEST=42
minishell$ env | grep ^TEST=
TEST=42
minishell$ echo $TEST
42
minishell$ cat << EOF
> hello world
> $USER
> EOF
hello world
farmoham
minishell$ echo "hello world $USER" > file.txt
minishell$ cat file.txt
hello world farmoham
minishell$ echo "
minishell: syntax error: unclosed quote
minishell$ ^C
minishell$ ^C
minishell$ ^C
minishell$ ^C
minishell$ ff
minishell: ff: command not found
minishell$
exit
A POSIX-compliant Unix shell written in C from scratch, with a full lexer-parser-executor pipeline, pipes, redirections, and built-in commands.
This site: ASP.NET Core 10 with server-rendered pages and a REST API over the same JSON-backed data, deployed to Azure App Service by GitHub Actions using OIDC, with no publish profile or client secret stored.
A local, Docker-based job-search automation system that aggregates listings from multiple sources, filters and scores them, removes duplicates, and tracks applications in Google Sheets.
A normalized PostgreSQL database for hotel booking management, with trigger-driven price recalculation and automatic booking-status transitions.
$ ./philo 1 800 200 200
0 1 has taken a fork
800 1 died
$ ./philo 4 410 200 200 1
0 1 has taken a fork
0 1 has taken a fork
0 1 is eating
0 3 has taken a fork
0 3 has taken a fork
0 3 is eating
200 4 has taken a fork
200 4 has taken a fork
200 4 is eating
200 2 has taken a fork
200 2 has taken a fork
200 2 is eating
A multithreaded C simulation of the Dining Philosophers problem, using POSIX threads and mutexes to prevent deadlocks while enforcing strict timing constraints.
A C# WinForms desktop application for managing products, customers, and orders for a small business, with local persistence and a live business-stats dashboard.
An interactive C fractal renderer for the Mandelbrot and Julia sets, with real-time zoom and colored iteration rendering built on MiniLibX.
$ ./push_swap 5 1 4 2 3
pb
pb
ra
pa
pa
ra
$ ./push_swap $(shuf -i 1-100000 -n 100) | wc -l
570
$ ./push_swap 1 2 2
Error
A stack-sorting program in C that sorts integers with a constrained instruction set, choosing moves via a cost-based algorithm to minimize total operations.
$ python3 expense_traker.py
Do you want upload your last data changes? (y/n): n
==Current wallet balance: 0 $ ==
WARNING: Your wallet balance is low! Income is required.
# … menu omitted
chose one of the previous options: 4
(Enter 0 to exit)
How much do you want to add to wallet? 500
Enter a description for it: part-time job
Amount of 500 $ was added to the history successufully!
(Enter 0 to exit)
How much do you want to add to wallet? 0
==Current wallet balance: 500 $ ==
# … menu omitted
chose one of the previous options: 1
(Enter 0 to exit)
How much is the expense? 120
what category is the expense? groceries
Add a description for the expense: weekly shopping
Expense number: 1 was added to the history successufully!
(Enter 0 to exit)
How much is the expense? 0
==Current wallet balance: 380 $ ==
A command-line expense and wallet tracker in Python with category, date, and amount filtering and local JSON persistence.
$ python3 miniGPT.py
Simple Local AI Chat
------------------------------
Type 'exit' to quit
You > In one sentence: what does a Unix shell do?
AI >
A Unix shell is a command-line interface that allows users to interact with the
operating system by typing commands and receiving output, providing a way to
manage files, directories, processes, and system resources.
------------------------------
You > What did I just ask you? Answer in one sentence.
AI >
You asked me what a Unix shell does in one sentence.
------------------------------
You > exit
Bye.
A local LLaMA3 chatbot that runs entirely offline through Ollama, with an automated setup script and in-session conversation memory.
// education
Expected graduation: 2027
Bachelor of Science in Informatics
In my 3rd and final year, with 120/180 ECTS credits completed and a 1.45 average (CZU scale, 1.0 = best). Achieved excellent grades in Mathematics I and Mathematics II and received a professor recommendation for academic performance and analytical ability.
Expected completion: 2026–2027
Project-Based Software Engineering Program
Peer-to-peer program focused on systems programming, Linux/Unix, algorithms, software architecture, debugging, and collaborative software development.
// learning
Networking fundamentals, TCP/IP, routing, switching, and network troubleshooting.
Deepening existing Docker skills: containerizing applications and improving deployment workflows.
Cloud infrastructure fundamentals for backend and deployment work.
// contact