4 ms·
1000 lines... + nginx. This looks really interesting, but I think I'd sell it as "using nginx as a key-value store" rather than a key value store in less than
by alexchamberlain 6y ago
1000 lines... + nginx.
This looks really interesting, but I think I'd sell it as "using nginx as a key-value store" rather than a key value store in less than 1000 lines.
- tuxone 6y agoYet the number of loc to be maintained is less than 1k. Following this logic we should then add standard libraries and the whole os into account.
- bostik 6y ago> Following this logic we should then add standard libraries and the whole os into account. I realise you're being snarky but systems and verification schemas like that do exist. The terms I most often associate with them is "high-assurance" or "critical supply chain" software. There's bound to be many others. These requirements crop up in stuff like the firmware for ATM keypad. Or Google's source code (they vendor everything in their own trees). Or Vegas slot machines. In an amusing twist, software supply chain assurance is such a massive problem that large security consultancies offer code escrow services. If you, as a software seller, can't guarantee that you'll be around 20 years down the line, the buyer can require you to submit your code to such a third-party service. Should you go out of business, the source code will remain accessible to the buyer for their future development needs.
- vzcx 6y agoI honestly wish people did do this for these sorts of posts because it opens up a lot of solution space and would lead to interesting optimizations along the entire stack. The boundaries between all levels fade, the pieces ready for creative recombination. All that other code needs maintainers. Is it really that interesting to say "look how much I can punt to others?" It's not as if anyone except the authors will use these micro libs, we might as well encourage metrics that produce interesting ones.
- alexchamberlain 6y agoI wasn't so much disagreeing with the number, as much as it being the tag line. Excluding ansible/chef recipe to manage the machine, I could deploy Redis and have no lines of code to maintain.
- ivoras 6y agoGo does include a reasonably capable HTTP server, so they could have done it in Go... but would you add the Go's HTTP server LOC to the count? :)
- tutfbhuf 6y agoIf Go's HTTP server would be a standalone binary and you have to take care of it separately from the main code base, then yes.
- devjam 6y agoGo's HTTP server is typically imported as a package, just like `math/rand`, `time` or `fmt`. The resultant compiled binary would then be larger than if it had not been imported, but the package itself doesn't contribute to LOC. FWIW, the app does import and run Go's HTTP server for "server" commands: https://github.com/geohot/minikeyvalue/blob/master/src/main.go#L108 https://github.com/geohot/minikeyvalue/blob/master/src/main....