The Curious Engineer

All blogs / Rust

Andrea Bergia's Website

andreabergia.com

Developer, gamer, cat lover, tea addict

RustJava / JVMC++CompilersDev tools / editors / IDEs

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

  1. Billions
  2. Links list - 2026-05-10
  3. Links list - 2026-03-06
  4. PyChat.ai: A live Python REPL with an agentic LLM that edits and evaluates code
  5. Website Redesign!
  6. Links list - 2026-01-01
  7. Arena allocators

2025 14

  1. Turning 40
  2. Links list - 2025-11-28
  3. RustLab 2025
  4. Useful tools and apps
  5. Links list - 2025-09-19
  6. Pest gotchas
  7. Links list - 2025-07-16
  8. Debugging tricks for IntelliJ
  9. Links list - 2025-05-27
  10. Writing C++ in 2025
  11. Emjay - implementing function calls
  12. Emjay - a simple JIT that does math
  13. Links list - 2025-02-09
  14. Crazy debugging stories - Quota

2024 8

  1. Crazy debugging stories - Macros
  2. Links list - 2024-03-30
  3. Crazy debugging stories - Recursion
  4. Links list - 2024-03-30
  5. How is this blog built?
  6. Links list - 2024-02-16
  7. Working effectively with legacy code
  8. Playing with Nom and parser combinators

2023 13

  1. 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
  2. A JVM in Rust part 8 - Retrospective
  3. A JVM in Rust part 7 - Objects and GC
  4. A JVM in Rust part 6 - Methods and exceptions
  5. A JVM in Rust part 4 - The Java bytecode
  6. A JVM in Rust part 5 - Executing instructions
  7. 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.
  8. A JVM in Rust part 2 - The class files format
  9. A JVM in Rust part 3 - Parsing class files
  10. 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.
  11. 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.
  12. Links list - 2023-03-12
  13. Languages opinion - part three - Javascript and Typescript

2022 21

  1. Languages opinion - part one - JVM
  2. Languages opinion - part two - Rust
  3. Links list - 2022-10-20
  4. Design - Primitive obsession smell
  5. Future Java releases - part three
  6. Future Java releases - part two
  7. Links list - 2022-08-28
  8. Notes software - Obsidian
  9. Links list - 2022-07-10
  10. Future Java releases - part one
  11. Links list - 2022-06-12
  12. Java's GC and Kubernetes's OOM killer
  13. Links list - 2022-06-25
  14. Links list - 2022-05-08
  15. Links list - 2022-05-22
  16. PostgreSQL and MVCC
  17. Reboot
  18. Links list - 2022-04-12
  19. Links list - 2022-04-19
  20. PostgreSQL is awesome
  21. Links list - 2022-04-30

2016 12

  1. Writing a Gradle Plugin / 1
  2. Writing a Gradle Plugin / 2
  3. Guava Tips: Primitives
  4. Guava Tips: Splitter and Joiner
  5. Guava Tips: Bimap
  6. ThreadPoolExecutor gotcha
  7. Spring @Autowired and missing beans
  8. Guava tips: Defaults and HttpHeaders
  9. HTTPS ready!
  10. Guava tips: MediaType
  11. Guava tips: ComparisonChain
  12. Guava tips: RateLimiter

2015 34

  1. Guava tips: Charsets
  2. Guava tips: Strings
  3. Parsing dates in multiple formats in Joda-Time
  4. Guava tips: Throwables
  5. Guava tips: ThreadFactoryBuilder
  6. Guava tips: StandardSystemProperty
  7. Order by and nulls in SQL
  8. Metrics
  9. Exposing Metrics via JMX
  10. Guava's Caches
  11. Guava's immutable collections
  12. Guava's Multimap
  13. Null object pattern
  14. Detecting deadlocks programmatically in Java
  15. Stack Based Virtual Machines - 7
  16. Stack Based Virtual Machines - 8
  17. Optional in Java
  18. Stack Based Virtual Machines - 4
  19. Stack Based Virtual Machines - 5
  20. Stack Based Virtual Machines - 6
  21. CONNECT BY in Oracle
  22. Stack Based Virtual Machines - 1
  23. Some not well known facts about enums in Java
  24. Stack Based Virtual Machines - 2
  25. Stack Based Virtual Machines - 3
  26. Introduction to Parsing - 13
  27. Introduction to Parsing - 14
  28. A grammar for JSON with ANTLR v4
  29. Introduction to Parsing - 8
  30. Introduction to Parsing - 9
  31. Introduction to Parsing - 10
  32. Introduction to Parsing - 11
  33. git rebase --interactive
  34. Introduction to Parsing - 12

2014 10

  1. Introduction to Parsing - 3
  2. Introduction to Parsing - 4
  3. Introduction to Parsing - 5
  4. SQL - Group by on steroids
  5. Introduction to Parsing - 6
  6. Introduction to Parsing - 7
  7. Introduction to SQL Window Functions / 1
  8. Introduction to SQL Window Functions / 2
  9. Introduction to Parsing - 1
  10. Introduction to Parsing - 2