Andrea Bergia's Website
Developer, gamer, cat lover, tea addict
- Posts
- 119 from 1 Nov 2014 to 17 May 2026
- Posting
- monthly (10 in the last year)
- Kind
- personal blog
- Feed
- https://andreabergia.com/index.xml
2026 7
2025 14
- Turning 40
- Links list - 2025-11-28
- RustLab 2025
- Useful tools and apps
- Links list - 2025-09-19
- Pest gotchas
- Links list - 2025-07-16
- Debugging tricks for IntelliJ
- Links list - 2025-05-27
- Writing C++ in 2025
- Emjay - implementing function calls
- Emjay - a simple JIT that does math
- Links list - 2025-02-09
- Crazy debugging stories - Quota
2024 8
2023 13
- Markdown and Git for design documents Friday, Dec 29, 2023 Design documents are very important in may opinion, yet many teams skip them or use cumbersome tools like Word or Google Docs. Using markdown and Git PRs for writing and commenting on design documents makes it much simpler for an engineer, a
- A JVM in Rust part 8 - Retrospective
- A JVM in Rust part 7 - Objects and GC
- A JVM in Rust part 6 - Methods and exceptions
- A JVM in Rust part 4 - The Java bytecode
- A JVM in Rust part 5 - Executing instructions
- I have written a JVM in Rust Wednesday, Jul 12, 2023 I have built a toy Java Virtual Machine in Rust, complete with garbage collection, exception handling, and the ability to run real Java bytecode using OpenJDK's rt.jar.
- A JVM in Rust part 2 - The class files format
- A JVM in Rust part 3 - Parsing class files
- Error handling patterns Monday, May 1, 2023 A mini review of various approaches to error handling: from error codes in C to exceptions in Java, from callbacks in JavaScript to Result types in Rust.
- Migrating and evolving services in production Sunday, Apr 2, 2023 At lastminute.com, we replaced a production system that processes thousands of flight changes daily, without any downtime or data loss, using the Strangler Fig pattern and shadow calls.
- Links list - 2023-03-12
- Languages opinion - part three - Javascript and Typescript
2022 21
- Languages opinion - part one - JVM
- Languages opinion - part two - Rust
- Links list - 2022-10-20
- Design - Primitive obsession smell
- Future Java releases - part three
- Future Java releases - part two
- Links list - 2022-08-28
- Notes software - Obsidian
- Links list - 2022-07-10
- Future Java releases - part one
- Links list - 2022-06-12
- Java's GC and Kubernetes's OOM killer
- Links list - 2022-06-25
- Links list - 2022-05-08
- Links list - 2022-05-22
- PostgreSQL and MVCC
- Reboot
- Links list - 2022-04-12
- Links list - 2022-04-19
- PostgreSQL is awesome
- Links list - 2022-04-30
2016 12
- Writing a Gradle Plugin / 1
- Writing a Gradle Plugin / 2
- Guava Tips: Primitives
- Guava Tips: Splitter and Joiner
- Guava Tips: Bimap
- ThreadPoolExecutor gotcha
- Spring @Autowired and missing beans
- Guava tips: Defaults and HttpHeaders
- HTTPS ready!
- Guava tips: MediaType
- Guava tips: ComparisonChain
- Guava tips: RateLimiter
2015 34
- Guava tips: Charsets
- Guava tips: Strings
- Parsing dates in multiple formats in Joda-Time
- Guava tips: Throwables
- Guava tips: ThreadFactoryBuilder
- Guava tips: StandardSystemProperty
- Order by and nulls in SQL
- Metrics
- Exposing Metrics via JMX
- Guava's Caches
- Guava's immutable collections
- Guava's Multimap
- Null object pattern
- Detecting deadlocks programmatically in Java
- Stack Based Virtual Machines - 7
- Stack Based Virtual Machines - 8
- Optional in Java
- Stack Based Virtual Machines - 4
- Stack Based Virtual Machines - 5
- Stack Based Virtual Machines - 6
- CONNECT BY in Oracle
- Stack Based Virtual Machines - 1
- Some not well known facts about enums in Java
- Stack Based Virtual Machines - 2
- Stack Based Virtual Machines - 3
- Introduction to Parsing - 13
- Introduction to Parsing - 14
- A grammar for JSON with ANTLR v4
- Introduction to Parsing - 8
- Introduction to Parsing - 9
- Introduction to Parsing - 10
- Introduction to Parsing - 11
- git rebase --interactive
- Introduction to Parsing - 12