Daily Shaarli

All links of one day in a single page.

06/18/19

5 command-line games for sysadmins | Enable SysAdmin

If you're living life at your terminal emulator anyway, why not have a little fun while you're there?

Just because you prefer working in a text-mode interface doesn't mean you're not entitled to a little fun here and there.

Last December, I took some time out before the holidays to explore some of my favorite command-line diversions into a series for Opensource.com. It ended up being a bit of an advent calendar for terminal toys, and I got some great suggestions from readers.

OpenBSD Is C Documentation

StackOverflow is the de facto standard place to go when you need to figure out how to do something as a programmer. A web search for information about how to check the number of lines in a file using the C programming language will probably give you StackOverflow questions as the most relevant search results. Unfortunately, while writing good, clean, reliable C does not need to be difficult, it is certainly difficult to find information about how to do it well, and the people answering these questions on StackOverflow are not filtered by their skills or knowledge of good practices. From time to time, the top-rated answer or the accepted answer is even the worst answer that addresses the question.

The best example I have seen of a straightforward line count algorithm is in a place that might seem obvious after the fact: the source code of the wc command line utility. Figure out how the -l option is handled in a good implementation of wc, and all that's left is to adapt it to your needs. Ideally, the solution you find should be short, simple, careful (e.g. checking for error conditions), robust, well-worn, and well-formatted.

The C coding standards of the OpenBSD community are among the highest and most pragmatic you'll ever find, and when someone makes a decision about implementation whose reasoning is not pretty obvious in the code itself you're almost certain to see that reasoning clearly documented in code comments, which can also teach you something about being a good programmer in general.

Go Creeping In

I’ve seen the inside of the Google and Amazon tech stacks. There are common threads that run through them and also, I bet, through most BigTechCos. Here and there down the stack is a lot of C++ and vestigial remnants from earlier days, Perl or PHP or whatever. Out in front of humans, of course, JS. But in between, there are oceans and oceans of Java; to a remarkable degree, it runs the Internet. Except for, here and there, you find a small but steadily increasing proportion of Go.

How to Limit Time and Memory Usage of Processes in Linux

The timeout script is a useful resource monitoring program for limiting time and memory consumption of processes in Linux. It allows you to run programs under control, and enforce time and memory limits, terminating the program upon violation of these parameters.

Level Design and Shaping a Cogmind Experience | Grid Sage Games

A complete rundown of the entire process behind designing and building a new map for the world of Cogmind, and explaining how it integrates with gameplay.

A curated library of venture capital investment pitch decks

Helping founders craft successful VC investment pitch decks. See how Uber, AirBnB, Facebook, Dropbox, WeWork, Square or Coinbase raised venture capital.

Send Emails From Linux Terminal Using SSMTP - Linux Handbook

This article will give a brief introduction to SSMTP and steps to install it and use the same to send emails from Linux terminal.

Protect your privacy: Privacy-friendly alternatives to Google - Tap - Take control of your data

This first post in our Protect your Privacy series, guides to help you protect your privacy and personal data, we have compiled some of the best privacy-friendly alternatives to Google that don’t track you.

If you think we’ve missed something out, please leave a comment with your submission and we’ll do our best to add it.

HotStuff: BFT Consensus in the Lens of Blockchain

We present HotStuff, a leader-based Byzantine fault-tolerant replication protocol for the partially synchronous model.

Once network communication becomes synchronous, HotStuff enables a correct leader to drive the protocol to consensus at the pace of actual (vs. maximum) network delay--a property called responsiveness--and with communication complexity that is linear in the number of replicas. To our knowledge, HotStuff is the first partially synchronous BFT replication protocol exhibiting these combined properties. HotStuff is built around a novel framework that forms a bridge between classical BFT foundations and blockchains. It allows the expression of other known protocols (DLS, PBFT, Tendermint, Casper), and ours, in a common framework.

Our deployment of HotStuff over a network with over 100 replicas achieves throughput and latency comparable to that of BFT-SMaRt, while enjoying linear communication footprint during leader failover (vs. quadratic with BFT-SMaRt).