58 karma · joined April 6, 2023
Interests: Programming, DevOps, Open Source, Web Development, Technology
---
Constructor autowiring is the application of the inversion of control and dependency injection pattern. If there was no autowiring, you could autowire the components together just the same with normal code calling constructors in the correct order. Spring just finds the components and does the construction for you.
OpenRailwayMap is a project focused on displaying everything railway related in the world, powered by OpenStreetMap data.
That is very much a future I look forward to living in. Not requiring to own a car but sharing it efficiently with folks in the neighborhood, would save quite some parking space for unused vehicles in front of homes, and centralize maintenance to the companies operating the vehicle fleet.
Do not use build arguments for anything secret. The values are committed into the image layers.
If the backup times were O(n^2), are they now O(n^2 / 2^n)? I would guess not.
For other use cases I would use newline separated JSON. Is has most of the benefits as written in the article, except the uncompressed file size.
The style was built to match the look of the original raster tiles closely, although I added many more interactivity features in the vector variant.
Is is interesting from a style/tile design perspective that the performance tradeoffs choices become very different how and where the tiles are rendered. This is obvious, but it has effects on what is possible on the server / clients visually as well.
Yes, but I consider commits immutable so reordering or editing commits is not a thing that would happen. New commits are appended (either upstream or downstream), and any conflicting changes then of course have to be merged from upstream into downstream.
The JVM runtime has solved this problem neatly with virtual threads in my opinion. Run a web request in a virtual thread, and all blocking I/O is suddenly no longer blocking the OS thread, but yielding/suspending and giving and giving another virtual thread run time. And all that without language keywords that go viral through your program.
It's more science fiction than my normal pick of fantasy, but nice reads.
Kotlin can have exactly the same code with lambdas, using either a receiver type, or a context receiver. And it's type safe.
transaction {
foo()
bar()
}
Type-safe DSLs become a pleasure to build and use.