Skip to content

Commit

Permalink
writing
Browse files Browse the repository at this point in the history
  • Loading branch information
robalb committed Nov 4, 2024
1 parent c10920a commit 673a056
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 48 deletions.
26 changes: 17 additions & 9 deletions astro-website/src/pages/about.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,30 @@ activePage: about
---

Hey, welcome to my website!<br/>
If there is something you should know about me is that I like to take things apart to understand how
they work. I've been doing that since I was a kid, when I realized that it was possible to understand and modify
The main thing you should know about me is that I like to take things apart to
understand how they work.
I've started programming when I was a kid, when I realized
that it was possible to modify
the javascript files powering my favourite games, and I haven't stopped ever since.

I've been lucky to work and experiment with all forms of web development -
From Frontend to Backend, from DevOps to Cloud Infrastructure - Always trying to understand in depth the
technologies I interact with.
This early start gave me the opportunity to work and experiment with most areas of web development -
From Frontend and Backend development to DevOps and Cloud Infrastructure.
Wathever the technology, I always aim to undestand it in depth, and
to share what I learn with others.<br/>
I always try to be the kind of person I wish I'd met when I was learning.

Right now I'm mostly learning the art of Binary exploitation,
Right now I'm mostly practicing the art of Binary exploitation,
competing in Cybersecurity CTF (Capture The Flag) Competitions in my free time.
You can check out what I'm up to by visiting the [projects](/projects) page, or the [Technical articles](/articles) I've written.


### About this Website
This website is part of an ongoing effort to improve my technical writing skills.<br/>
'Writing is refined thinking';
I believe that strong technical writing directly correlates with better engineering.
This website is part of an ongoing effort to improve my technical writing skills.
There are no invasive trackers, ads or affiliate links here.
I'm not trying to sell you anything.
In fact, the target audience for most of the articles I've written is the younger me
that struggled on some specific task. I'm not expecting to fool the SEO gods with that content
anytime soon.

The visual aspect of this website is heavily inspired by
<a href="https://github.com/taniarascia/taniarascia.com">Tania Rascia</a>'s
Expand All @@ -42,3 +49,4 @@ blog.

Feel free to contact me on ~Twitter~ [infosec.exchange](https://infosec.exchange/@al).
I'm also on [LinkedIn](https://www.linkedin.com/in/alberto-ventafridda/) and [Github](https://github.com/robalb).

4 changes: 2 additions & 2 deletions astro-website/src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import ProjectPreview from '../components/ProjectPreview.astro';
import SharedLayout from '../components/SharedLayout.astro';
import Guestbook from '../components/Guestbook.astro';
let description = "Hi, I'm Alberto. I'm a wearer of many hats with a passion for Cybersecurity, web development, and Cloud architectures."
let description = "Hi, I'm Alberto. I'm a wearer of many hats with a passion for Cybersecurity, Web Development, and Cloud architectures."
let permalink = 'https://halb.it';
// Data Fetching: List all Markdown posts in the repo.
Expand Down Expand Up @@ -36,7 +36,7 @@ let projects = allProjects.slice(0, MAX_PROJECTS)
<section>
<h1>Hey, i'm Alberto</h1>
<p style="max-width: 600px">
I'm a wearer of many hats with a passion for Cybersecurity, web development, and cloud architectures. You've reached my website.
I'm a wearer of many hats with a passion for Cybersecurity, Web Development, and Cloud Architectures. You've reached my website.
</p>
<div class="socials">
{/* https://kittygiraudel.com/2020/12/10/accessible-icon-links/ */}
Expand Down
43 changes: 6 additions & 37 deletions astro-website/src/pages/projects.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ I recently created [x64.halb.it](https://x64.halb.it), a webapp designed to run,
debug x86-64 assembly directly from your browser.

The development has been an interesting technical challenge; A whole x86-64 linux environment
is emulated client-side in a WebAssembly port of the blink emulator.
is emulated client-side in a WebAssembly port of the [blink](https://github.com/jart/blink/) emulator.
There is no backend server, everything runs locally in your browser
in a runtime that weights ~200Kb, less than the screenshot below.
You can find the source code on [github](https://github.com/robalb/x86-64-playground)

<img src={x64_src.src} />
<br />

I created the website during my tutoring for the cyberchallenge course at unimib, where I taught binary exploitation
I created the website during my tutoring for the cyberchallenge course at UniMib, where I taught binary exploitation
in weekly training sessions.
In that course, students with potentially no experience with linux, terminals or debuggers were taught
core concepts like memory layouts and stack frames, and were then expected to immediately put this
Expand Down Expand Up @@ -149,41 +149,9 @@ experimentations in the integration between react and php
<br/>


### Parsers in exotic languages

Back in February 2022, I took a course at my university titled Programming Languages, which I particularly enjoyed.
A more fitting name for the course would have been Exotic Programming Languages,
as it focused on relatively obscure programming paradigms.

<Picture src="uri-parser-diagram" height={390} alt="Railroad diagram of the URI ebpf grammar" />
<br/>

The final project consisted of implementing an URI parser in both Lisp and Prolog.
There were some extravagant requirements: the code had to be written exclusively in Emacs,
with a line limit of 80 columns, or it would be disqualified.<br/>
With that said, it was one of those rare situations in software development where all the project
requirements were defined in advance;
we had a detailed description of the grammar to implement
and an extensive set of tests the professor would use on the code.

You don’t get that many chances in life to practice pure test-driven development:
I took a couple of days to write a ton of language-agnostic unit tests in Python, including tests for Emacs-like
code formatting and for the 80-line limit. Then, together with two other classmates,
we started the actual development.
It was a pretty satisfying experience to know that when all tests passed,
we had the certainty of a full grade.

The code for the parsers and the language-agnostic unit tests is
[on github](https://github.com/robalb/uri_parser_project)

The emacs [code formatter tests](https://github.com/robalb/uri_parser_project/blob/master/tests/tests_formatting.py)
could still be of use to some fellow UniMib student
looking to develop the project in vim, or some other editor forbidden by the emacs church


### Sailing regattas Android app

This was yet another university group project, that took an unconfortable amount of my time
This was a university group project, that took an unconfortable amount of my time
back in 2022.
The task was to develop an Android app in Java, adhering to Google's recommended best practices.

Expand Down Expand Up @@ -213,8 +181,9 @@ using a cursed javascript+java scripting language.

Since then, I've created several web projects that got lost in time,
along with miscellaneous stuff that is not worth its own section like
this website for [my old high school](https://github.com/liceobanfi/banfi-in-diretta), or
[my dotfiles](https://github.com/robalb/dotfiles)
this website for [my old high school](https://github.com/liceobanfi/banfi-in-diretta), my
[my dotfiles](https://github.com/robalb/dotfiles),
or some university projects like this [URI parser in lisp and prolog](https://github.com/robalb/uri_parser_project)



Expand Down

0 comments on commit 673a056

Please sign in to comment.