Skip to content

Instantly share code, notes, and snippets.

View simonespa's full-sized avatar

Simone Spaccarotella simonespa

View GitHub Profile
@simonespa
simonespa / tsmc.md
Created November 25, 2025 10:04
TSMC, ASML, Nvidia

TSMC

Taiwan Semiconductor Manufacturing Company, is the world's largest dedicated semiconductor foundry, based in Taiwan and founded in 1987. The company manufactures and sells integrated circuits and other semiconductor devices for a global client base, including major tech companies, and has a reputation for leading process technology.

TSMC pioneered the "pure-play" foundry business model, focusing solely on manufacturing semiconductors for other companies rather than designing its own branded chips.

TSMC builds chips for Nvidia and Apple and about 80/90% of its chips production is in Taiwan

These types of chips (3 and 4 nanometers) can only be manufactured by 2 companies: TSMC and Samsung. To make these chips, you need an insane high precision, and only one company makes the machines to manifacture these chips, and it's called Advanced Semiconductor Materials Lithography (ASML).

@simonespa
simonespa / next-build-id.md
Created November 25, 2025 09:55
Next.js build ID forr _next/data/

Next.js

When you use a next/link to navigate to another route, and that upcoming route has a getServerSideProps method implemented, Next.js will send an API request to the server, which will run getServerSideProps and return a JSON containing the result. You can read about this in Next.js docs here. That resulted JSON fetch request data is used to render the upcoming route. Those data fetch requests have a path that looks like this: _next/data//.json.

The problem with that for our context — to be able to run multiple Next.js apps on same domain without base url prefix — is that Next.js doesn't give us a way to control this path. Which is to say there's no data fetch request path URL prefix which Next.js gives as a configuration option. Because of that we have a hard time finding a distinguishing factor for data URLs for multiple apps.

Remember that the data fetch url looks like _next/data//.json. If we could have a way generate unique for all our ap

@simonespa
simonespa / data-engineering.md
Created November 25, 2025 09:54
Data Engineering notes

Data engineering

  • Processing frameworks
  • Automation (scheduling)

Storage

  • MySQL
  • PostgreSQL
  • MongoDB
Render-blocking assets live on the Critical Path
Non render-blocking assets must stay off the Critical Path
HTML and CSS are render-blocking and live on the Critical Path. OPTIMISE THEM
JS can be both. Keep it off the Critical Path unless is vital it's loaded/executed asap
Images and fonts are off the Critical Path. KEEP THEM OFF
- Identify your critical assets
- Don't add any redirects
- Hit as few domains as possible
@simonespa
simonespa / application.yaml
Created October 10, 2025 17:26
Spring Boot example application.yaml file
# Server port configuration
server:
port: 8080
servlet:
context-path: /api # Base path for all endpoints
error:
include-message: always # Include error messages in responses for debugging purposes
include-binding-errors: always # Include binding errors in responses for debugging purposes
whitelabel:
enabled: false # Disable default whitelabel error page
@simonespa
simonespa / cover1.md
Last active November 5, 2025 10:05
Cover letters

Hands-on experience in Data Science. I used my technical skills to build a Content-to-Content recommendation system using Passports metadata for iPlayer programmes. My solution consisted of an Autoencoder network able to learn/generate metadata embeddings from Passport tags, to improve similarity calculations compared to the existing recommender. The solution was evaluated adopting a custom diversity metric I came up with to allow for variety of similar content. Strong algorithm and data structure uunderstanding and Python coding. I have experience in code managemeng and CI/CD.

Completed a Level 7 (MSc) AI & Data Science staff apprenticeship in March 2025 started in Feb 2023, which helped building a strong knowledge of data science and machine learning techniques, further developed during the work attachment period with the iPlayer Recommendation team.

10+ years of experience in Software Engineering, 6 of which as a Team Leader. I have experience working in cross-functional teams, building and delivering BB

Get the name of the branch containing this commit

git branch -a --contains 9f12d89998fbd38a3fd3a1d21e7b028b9659c107

Search this commit in the PR

gh pr list --search "${SHA}" --state merged gh pr list --search 9f12d89998fbd38a3fd3a1d21e7b028b9659c107

@simonespa
simonespa / distributed_performance_testing.txt
Created April 21, 2025 18:25
Distributed Performance Testing
- https://www.youtube.com/watch?v=Uv7I75pLmb4
- https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/
@simonespa
simonespa / index.tsx
Created March 31, 2025 18:39
Dash.js player with react
import {
SyntheticEvent,
useCallback,
useEffect,
useRef,
useState,
} from "react";
import RadioList from "@/ui/radio-list";
@simonespa
simonespa / bbc-ai.md
Created March 12, 2025 11:16
BBC AI principles

BBC Mission

Set out in our Royal Charter, the BBC’s Mission is:

To act in the public interest, serving all audiences through the provision of impartial, high-quality and distinctive output and services which inform, educate and entertain.

The BBC's Public Purposes, which describe what the BBC must do for its audiences, are also laid out in the BBC's Royal Charter. Our use of AI must be consistent with them.

  • To provide impartial news and information
  • To support learning for people of all ages