|
|
Hello ๐
You can see my freelance website there: https://alex-rock.tech/en/, on which there's a specific section to the few talks I gave.
I sometimes write blog posts too: https://www.orbitale.io/, sometimes technical, sometimes not purely technical, but I try to often talk about the strange world of tech we work in.
I love free Open Source software, and I believe that Open Source could help the entire world by bringing community effort into solving peoples problems, could it be by allowing them to create a website for a project in seconds, or create free and Open Source plans for artificial respirators.
In any way, when I have a project, I will always try to make it Open Source first, create documentation, even if it's just for me, because I hope it will help Open Source newcomers to participate too, and give a good example of how things can be done.
I do have several activities! Check them out:
-
Skills:
- ๐ PHP
- That's my main skill, been doing PHP since 2008, and tried tons of frameworks in the past.
- I have two Symfony certifications, and been doing a lot Symfony-based projects since 2013
- ๐ฆ Rust
- I started coding with Rust in 2020, mostly for the purpose of learning, and also for fun.
- Rust is a low-level language, but I love using it with โพ Tauri to create desktop applications.
- ๐จ Javascript and ๐ฆ Typescript
- Even though I'm mostly a backend developer, I also know frontend, at least enough for having been coding on browsers since 2011.
- ๐ต Typescript is definitely the best option nowadays because it's stricter and has more capabilities.
- I know and love โญ Svelte, and know โ Vue too. (I know React but I don't like it, just saying, because React seems to be kinda famous)
- ๐ณDocker
- Been using it to bootstrap projects since 2016, it's a must-have now to make sure a project's development setup is the same for everyone working on it!
- Other stuff:
- I'm managing Debian/Ubuntu-based dedicated servers.
- I know about OpenAPI, HTTP, REST, GraphQL, and a few things about the protocols that govern make web.
- Experienced DDD, Clean Architecture, and read a lot about design patterns, programming practices, etc. Nobody can know everything, but I do my best to know as much as I can!
- ๐ PHP
-
Open Source projects:
- ๐ SvelteAdmin (alpha phase), a Typescript and Svelte-based frontend AdminGenerator, inspired by ReactAdmin and EasyAdmin.
- ๐ Conventionist (alpha phase), a Symfony+EasyAdmin application which goal is to ease the creation of convention-like events, with venues management as well as workshops subscriptions, booth and map-based visualisation, etc.
- ๐ช ImageMagickPHP, an class-based ImageMagick command-line wrapper for PHP.
- ๐ ArrayFixture, a small package to simplify static fixtures creation with Doctrine ORM.
- ๐ฅ SmokeTesting, a helper tool to ease the creation of Smoke and Functional tests with PHPUnit and Symfony.
- ๐ PHP/JS JAMstack template, a web-application template based on PHP, Symfony, API Platform, OpenAPI, Svelte Kit, to bootstrap a JAMstack-like project quickly
- โฒ processtime, a cross-platform version of the "time" shell function, but as a binary, which goal is to display execution time for a process.
- ๐ Svelte vs React benchmarks, benchmarks of Svelte, SvelteKit, React and Next.js build times and sizes.
- ๐ CmsBundle, a very lightweight Page/Category implementation setup for Symfony applications.
-
Other side-projects:
- ๐ฆ Rymfony, an open-source Rust-based alternative for the Symfony CLI using Caddy server (currently abandoned, since the Symfony CLI was open-sourced, but it's still some nice work).
- ๐ Compotes, a small desktop app to visualize bank account operations analytics, built with Rust, Tauri, Svelte and Typescript (mostly for my personal usage, but fine too).
- ๐ฒ CharacterManagerBundle, a workflow-like system to create character generators for custom table-top role-playing games (usually not very useful, but it contains neat code, I guess).
- ๐ณ Corahn-Rin, once a monolithic project created in 2013, but extracted from the monolith as a smaller application in 2021. It is a character and campaign manager for the Shadows of Esteren table-top RPG.
- ๐บ Esteren Maps, once a monolithic project created in 2013, but extracted from the monolith as a smaller application in 2021. It is a Google-map-like application for the Shadows of Esteren table-top RPG.
-
Prototypes (for learning, fun, or anything else):
- ๐ต Handpan Composer a fun prototype/experiment to create music for the Handpan, a musical instrument classified in the steelpans, with a very zen and lovely sound ๐ถ.
- ๐ฆ Pagoo, a prototype/research on creating a daemon-like command executor listening to webhooks via an HTTP API.
- โ Game dev study, a prototype of a Svelte+Typescript+Hexcomb boilerplate code for board games development in the browser.
-
Some snippets I like. (I do a lot of manual scripting, for audits, data processing, etc., and sometimes I keep some of them online for reuse, documentation or educational purposes)
- Debian starter, a script I often use to set up a new Debian-based machine. I use it both for VPS/Dedicated servers, but also when I set up a laptop for work, or things like that.
- "confirm" action for Makefiles, a useful tool to add a "confirm" interactive feature directly inside a
Makefile
target, to secure some actions (like resetting the project, deploying to production, etc.) - "Check requirements" action, a Makefile command (but can be extracted as a simple Bash function for example) that "onelines" the checks of some prerequisites CLI tools or libraries in your applications or servers.
- Simple Docker-based MySQL server, a script you can add in your
$PATH
to start a simple MySQL server using Docker instead of installing the whole MySQL suite on your machine. Pretty straightforward, will create the container if not set, and start it if already existing, and will persist the data in your local machine (in two/var/tmp/mysql_docker_...
directories). - ImageMagick "geometry" regex, a case-study on how to create a regular expression to match ImageMagick's "Geometry" options in the most consistent way, before having to process the value with more thorough checks.