1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="color-scheme" content="dark">
<meta name="theme-color" content="#111111">
<title>nasr</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/comic-mono@0.0.1/index.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<nav>
<strong><div>nasr</div></strong>
<div class="nav-links">
<a href="#home">home</a>
<a href="#projects">projects</a>
<a href="#blog">blog</a>
<a href="https://github.com/nasrlol">github</a>
<a href="https://linkedin.com/in/abdellah-el-morabit">linkedin</a>
</div>
</nav>
<!-- HOME PAGE -->
<div id="home" class="page">
<p class="intro">Programmer. Recreational programming. Interested in compilers, operating systems, and hardware interfaces.</p>
<hr>
<h1>Recent Posts</h1>
<div class="post-list">
<!-- POSTS -->
</div>
</div>
<!-- BLOG PAGE -->
<div id="blog" class="page">
<h1>blog</h1>
<div class="post-list">
<!-- POSTS -->
</div>
</div>
<!-- PROJECTS PAGE -->
<div id="projects" class="page">
<h1>Projects</h1>
<div class="grid">
<a href="https://git.nsrddyn.com/compiler.git" class="card">
<h2>/compiler</h2>
<p>Compiler for a small language: preprocessor with imports, lexer and parser. Own arena, string and platform layers for Linux and Win32.</p>
<span class="tag">C++</span>
<span class="tag">compilers</span>
</a>
<a href="https://git.nsrddyn.com/tb.git" class="card">
<h2>/tb</h2>
<p>Handmade-style platform layer. Arenas, SIMD, a Vulkan renderer and Linux/Win32 backends, no libraries.</p>
<span class="tag">C++</span>
<span class="tag">Vulkan</span>
<span class="tag">systems</span>
</a>
<a href="https://git.nsrddyn.com/tb_db.git" class="card">
<h2>/tb_db</h2>
<p>Database engine from scratch. B-tree index and a CSV decoder as the storage and query layer.</p>
<span class="tag">C</span>
<span class="tag">database</span>
</a>
<a href="https://git.nsrddyn.com/resources-tool-api.git" class="card">
<h2>/resources_tool</h2>
<p>Remote system monitor. C agent collects CPU, GPU, RAM and disk data, served by a Go REST API.</p>
<span class="tag">Go</span>
<span class="tag">C</span>
<span class="tag">web</span>
</a>
<a href="https://git.nsrddyn.com/teacher-journal.git" class="card">
<h2>/teacher_journal</h2>
<p>Laravel app for teachers to manage classes, students, lessons and activities.</p>
<span class="tag">PHP</span>
<span class="tag">Laravel</span>
</a>
<a href="https://git.nsrddyn.com/loo.git" class="card">
<h2>/loo</h2>
<p>Wayland client from scratch. xdg windows, rendering and collision detection.</p>
<span class="tag">C++</span>
<span class="tag">Wayland</span>
</a>
<a href="https://git.nsrddyn.com/torque.git" class="card">
<h2>/torque</h2>
<p>Lightweight system stress-testing and performance tool.</p>
<span class="tag">Scala</span>
<span class="tag">systems</span>
</a>
<a href="https://git.nsrddyn.com/unix-shell.git" class="card">
<h2>/unix_shell</h2>
<p>POSIX-compliant shell. Fork/exec/pipe, job control, redirections.</p>
<span class="tag">C</span>
<span class="tag">systems</span>
</a>
<a href="https://git.nsrddyn.com/i2c_controller.git" class="card">
<h2>/i2c-controller</h2>
<p>Hardware I2C controller implementation. Bit-bang and peripheral mode.</p>
<span class="tag">Python</span>
<span class="tag">Voice Recognition</span>
<span class="tag">embedded</span>
</a>
<a href="https://git.nsrddyn.com/tetris.git" class="card">
<h2>/tetris</h2>
<p>Terminal tetris. Raw mode input, double buffered render.</p>
<span class="tag">C</span>
<span class="tag">terminal</span>
</a>
</div>
</div>
</body>
</html>
|