# N.B. The only tool missing here that is mentioned in the document is `zenmap` | |
# purely because this image is intended to be run via a CLI and `zenmap` is a GUI | |
# to `nmap` i.e. one can play around with the tools by running: | |
# | |
# $ docker build --name bite_size_networking:latest . | |
# $ docker run --rm -d --name bsn_test bite_size_networking:latest | |
# $ docker exec -it bsn_test bash | |
# | |
# Alternatively, one can change the `ENTRYPOINT` to `["bash"]` and run: | |
# |
I curate a list of interesting CLI tools, below are some command line tools that I personally love and use
- tmux - Terminal multiplexer.
- ripgrep - Search text for patterns fast.
- fzf - Command-line fuzzy finder.
- exa - Replacement for ls written in rust.
- git - Version control.
- create-react-app - Create React apps with no build configuration.
- npx - Execute npm package binaries.
- wifi-password - Get the password of the WiFi you're on.
package client | |
import ( | |
"context" | |
"crypto/md5" | |
"crypto/tls" | |
"encoding/json" | |
"errors" | |
"fmt" | |
"net" |
Operation-based variant of CRDTs is based on idea, that instead of replicating the state (or its delta), we replicate the operations, and let the corresponding replica build eventually consistent state from operations only. A standardized API for such data types consist of several members:
initial
: empty instance of CRDT object.query
: returns a value out of the CRDT object.atSource
: which returns a serializable operation. I.e. for a givenCounter
CRDT, itsatSource
function could return operations likeinc(replicaId, delta)
ordec(replicaId, delta)
.downstream
which is used to consume operations incoming from both local and remote sources to produce new state of the CRDT object.
this is my goto copy paste answer that I post everywhere and I'm going to explain you how to solve an issue using an example so I cannot assure you that this would work in case of every issue but my aim is to try to make you understand what and how to think like when solving an issue.
Note this guide assumes that you have some exposure to software devleopment and have built at least one or two of your own applications as a side project. If not then try building a few projects before starting out with OSS dev it would certainly help. Use this guide for ideas.
Get familiar with git and github if you are not already. Best way to do this is to make a little side project and push it to github. You have a lot of time for GSoC so you can make lots of side projects and experiment around with those until you are familiar with the git workflow
Pick up a software that you find interesting
#!/usr/bin/env bash | |
#################################################################################### | |
# Chipr Globals | |
#################################################################################### | |
GIT_REMOTE="$(git remote)" | |
#################################################################################### | |
# Chipr Functions |
Hello, Rust community!
My name is Hadrien and I am a software performance engineer in a particle physics lab. My daily job is to figure out ways to make scientific software use hardware more efficiently without sacrificing its correctness, primarily by adapting old-ish codebases to the changes that occured in the software and computing landscape since the days where they were designed:
- CPU clock rates and instruction-level parallelism stopped going up, so optimizing code is now more important.
- Multi-core CPUs went from an exotic niche to a cheap commodity, so parallelism is not optional anymore.
- Core counts grow faster than RAM prices go down, so multi-processing is not enough anymore.
- SIMD vectors become wider and wider, so vectorization is not a gimmick anymore.
This is a draft for binary format and implementation proposal for Hyperion, a fast binary serializer for .NET. Currently Hyperion is in beta and uses non-standard binary format. This document aims to specify it. Before we do that, there are few important properties of the serializer we wish to maintain:
Hyperion is polymorphic serializer, therefore it's tolerant for subtyping rules. Example using C# pseudo-code:
var serializer = new Serializer();
The following books are ordered in descending order of Matthew's preference.
by Avinash K. Dixit
Recommended by Ted Neward. A different perspective and writing style from the other volumes listed.
“I am hard pressed to think of another book that can match the combination of practical insights and reading enjoyment.”—Steven Levitt