What does HackerNews think of guice?

Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 8 and above, brought to you by Google.

Language: Java

Bob was a nice guy. We had an overlapping tenure at Google in the 2000s. He was one of the original authors of the Guice dependency injection framework: https://github.com/google/guice. When I was earning Java readability at Google, I was fortunate to have had him assigned as a reviewer. Having the review work so smoothly alleviated a lot of the imposter syndrome I felt at the time. I felt like a million bucks afterwards. The compassion and humility he brought to the table made a world of difference.

His murder represents a huge loss; he left a very positive impression on me.

Bob created Guice [1] and was involved in a number of JSR specifications. Bob also lead the initial development of Androids core libraries before moving on to the payment industry. He was a well known figure in the Java world. RIP.

[1] https://github.com/google/guice

> it specifically guards against inheritance/factory/DI hell by offering a unique type system

Many people, including Google engineers (https://github.com/google/guice) see DI as useful tool, not hell. But nothing prevents you to write your java code without DI if you don't like it.

Because of things like: https://github.com/google/guice

4k LOC of "lightweight" garbage for... variable lookups?

Thank you, and of course you may.

The backend is written in Java(8) and it is built with the following (noteworthy) components :

  Netty[1] - Extremely fast and stable Java networking framework,
             serves static files and relays traffic 
             (both tasks are custom implementations)

  Guice[2] - IoC container by Google, nice for keeping the code clean

  jOOQ[3] - I log some statistics in PostgreSQL 
            (file size, content type, transfer time - but no filenames). 
            If you're comfortable with SQL jOOQ is a real breeze to use.
The backend is hosted on the cheapest VM option at Digital Ocean (Amsterdam region), (which seems to be holding up pretty well so far :). I do run PostgreSQL on another $5 VM, so the Station307 server only has to worry about serving static content and moving large chunks of bytes around. SSL certificates are kindly provided by Let's Encrypt[4].

For the frontend, I know for a fact it uses left-pad (babel-core)... Written in JavaScript (ES2015 + JSX) and built with :

  Mithril[5] - Fast, small and simple React-like framework, quite a joy to use.

  Bootstrap[6] - Because not having to worry about L&F is quite nice. 
                 Trimmed it down a bit by only importing the parts I needed (SCSS).
And I think that's about it. If there's anything else you'd like to know, let me know!

  [1] http://netty.io
  [2] https://github.com/google/guice
  [3] http://www.jooq.org
  [4] https://letsencrypt.org
  [5] http://mithril.js.org
  [6] https://getbootstrap.com
edit: formatting D:
The specific systems I'm thinking of were Google-internal, but there's a close public analogue with Guice & Dagger:

https://github.com/google/guice

https://github.com/square/dagger

Imagine injecting Futures into your code. Now imagine injecting them, but having the Provider record a lot of metadata about who you were calling, how you were calling it, how long it took, whether an error occurred, letting an SRE turn off the call, etc.