Skip to content
View LM-official's full-sized avatar
  • Computer Science Sapienza
  • Terni, Italy

Block or report LM-official

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
LM-official/README.md

About Me

Hi, I'm Lorenzo
๐ŸŽ“ Third-year Computer Science student at Sapienza University of Rome

๐ŸŽฏ My main interests include:

  • Artificial Intelligence & Computer Vision
  • Software Engineering
  • Systems and low-level programming

๐ŸŒ Socials

LinkedIn

๐Ÿ’ป Tech Stack

C CSS HTML Java JavaScript Makefile Python SCSS TypeScript

๐Ÿš€ Projects developed

Project What it is Stack
Link-Map ๐Ÿ—บ๏ธ A personal knowledge base โ€” a digital garden of interlinked notes, published as an interactive graph with Quartz. TypeScript SCSS
Concrete-Hunters ๐ŸŒŽ Lightweight, dependency-free exploration site โ€” lazy-loaded articles, photo carousels, and password-protected locations (AES-256-GCM). Pure HTML/CSS/JS. JavaScript HTML CSS
JBlackjack ๐Ÿƒ Blackjack game in pure Java Swing โ€” play against AI opponents with accounts, avatars, stats, level progression, looping soundtracks, and a MVC + Observer architecture. Java
Finger-Slicer ๐Ÿ–๏ธ A webcam Fruit-Ninja alike game where your fingertip is the blade and any photo becomes the fruit Python
Client-Server-Cryptography ๐Ÿ” Multithreaded XOR block cipher with a TCP client/server in pure C. Encrypts files block-by-block across threads, sends them over the network, and decrypts them in parallel on the server. C Makefile
C-Precompiler โš™๏ธ A dependency-free C preprocessor in pure C: recursively expands quoted #includes, strips comments, and validates identifiers C

๐Ÿ“Š GitHub Stats



A snake eating my contribution graph

๐Ÿ› ๏ธ How this README builds itself

Nothing in the generated sections is written by hand. Two scheduled workflows keep them current:

Workflow What it does
update-readme.yml Runs update_projects.py, which asks the GitHub API for every public (not forked) repository and rewrites two blocks of this file
snake.yml Draws the contribution-graph animation and publishes it to the snake branch

The script reads only repository metadata โ€” never the files inside a repository:

Column Comes from
Project the repository name
What it is the repository's About description
Stack the Languages GitHub detected (the same data behind the coloured languages bar)

So a project is updated by editing its About field on GitHub, never by editing this README.

Badge colours are a SHA-256 of the language name mapped onto a hue, then darkened until white text stays readable. The hash keeps a language's colour identical between runs โ€” a genuinely random colour would rewrite this file everyday and commit it for nothing.

The two generated blocks live between HTML markers:

<!-- "STACK:START" -->     ...     <!-- "STACK:END" -->
<!-- "PROJECTS:START" -->  ...     <!-- "PROJECTS:END" -->

Everything outside them is hand-written and never touched.


๐ŸŽฎ Reusing it

It costs nothing to run. Public repositories get unlimited Actions minutes, every service used is a free public one, and there are no API keys or accounts to set up โ€” the workflows use the GITHUB_TOKEN GitHub creates for each run.

  1. Clone it and make it yours. On GitHub, create an empty repository named exactly your username โ€” that name is what puts a README on a profile page. Then:
git clone https://github.com/LM-official/LM-official.git YOUR-USERNAME
cd YOUR-USERNAME
rm -rf .git && git init     # drop my history, start yours
git remote add origin https://github.com/YOUR-USERNAME/YOUR-USERNAME.git
  1. Replace LM-official with your username everywhere. One find-and-replace across the repository covers all of it: the stats cards, the snake images and config.py.
  2. Rewrite the top of this README โ€” bio, interests, socials. Leave the four START/END markers alone and everything between them will fill itself in.
  3. Allow the bot to commit, before pushing: Settings โ†’ Actions โ†’ General โ†’ Workflow permissions โ†’ Read and write.
  4. Run it, by pushing. Both workflows also trigger on every push to main, so the first one starts them:
git add . && git commit -m "My profile"
git push -u origin main
  1. Give each of your repositories an About description, since that is what the table shows.

Nothing inside scripts/ or .github/ needs touching. The workflows read the owner from the repository itself, so the script already knows whose profile it is building. USERNAME in config.py only matters if you run it by hand (not recomended):

python scripts/update_projects.py

โš™๏ธ Tuning

Everything adjustable lives in scripts/config.py:

Setting Effect
MAX_DESCRIPTION where a long About description gets truncated
MAX_STACK languages shown per project
MIN_SHARE ignore Languages below this share of a repository
SATURATION, LIGHTNESS how vivid and how deep the badges are
MAX_LUMINANCE contrast floor against the white badge text
COLOR_SALT bump it to any other value to redraw the whole palette

๐Ÿ‘ฅ Authors

This repository was designed and built by:


๐Ÿ“„ License

Released under the MIT License. See LICENSE.


๐Ÿค– The Tech Stack and Projects developed sections are generated automatically from my public repositories โ€” Names, About descriptions and detected Languages โ€” by a script that GitHub Actions runs every day.

Pinned Loading

  1. Link-Map Link-Map Public

    ๐Ÿ—บ๏ธ A personal knowledge base โ€” a digital garden of interlinked notes, published as an interactive graph with Quartz.

    TypeScript

  2. Finger-Slicer Finger-Slicer Public

    ๐Ÿ–๏ธ A webcam Fruit-Ninja alike game where your fingertip is the blade and any photo becomes the fruit

    Python

  3. JBlackjack JBlackjack Public

    ๐Ÿƒ Blackjack game in pure Java Swing โ€” play against AI opponents with accounts, avatars, stats, level progression, looping soundtracks, and a MVC + Observer architecture.

    Java

  4. Client-Server-Cryptography Client-Server-Cryptography Public

    ๐Ÿ” Multithreaded XOR block cipher with a TCP client/server in pure C. Encrypts files block-by-block across threads, sends them over the network, and decrypts them in parallel on the server.

    C

  5. LM-official LM-official Public

    ๐Ÿค– A self-updating GitHub profile โ€” a Python script and two Actions workflows rebuild it daily from my repositories' metadata.

    Python