- Site Reliability Engineering: How Google Runs Production Systems
- Operating Systems
- Operating Systems: Three Easy Pieces
- How Linux Works, 2nd Edition
- Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
- [Systems Performance: Enterprise and the Cloud](https://www.amazon.com/gp/product/0133390098?ie=UTF8&tag=deirdrestraug-20&linkCode=as2&camp=1789&creative=390957&creativ
│ File: .zsh/includes/cleanup.sh | |
───────┼───────────────────────────────────────────────────────────────────────────────────────────────────────── | |
1 │ cleanup () { | |
2 │ find ~/src -name 'node_modules' -type d -prune -exec rm -rf '{}' + | |
3 │ find ~/src -name '.next' -type d -prune -exec rm -rf '{}' + | |
4 │ cargo sweep -r -t 30 ~/src | |
5 │ brew cleanup | |
6 │ is_bin_in_path docker && docker system prune -a -f --volumes || echo "skipping docker" | |
7 │ } | |
8 │ # https://stackoverflow.com/questions/6569478/detect-if-executable-file-is-on-users-path |
#!/bin/bash | |
# get name of currently logged in user | |
currentUser=$( /usr/bin/stat -f "%Su" /dev/console ) echo "Current user is $currentUser." | |
# get current user's home folder | |
homeFolder=$( /usr/bin/dscl . read "/Users/$currentUser" NFSHomeDirectory | /usr/bin/awk -F ": " '{ print $2 }' ) | |
# remove account by description name from Accounts sqlite database | |
/usr/bin/sqlite3 "$homeFolder/Library/Accounts/Accounts4.sqlite" 'DELETE FROM ZACCOUNT WHERE ZACCOUNTDESCRIPTION = "Exchange"' |
require_relative "test_helper" | |
require "open-uri" | |
require "net/http" | |
class EmojiTest < Blog::Test | |
def test_no_emoji | |
posts.each do |post| | |
content = File.read(post) | |
refute_match /:[a-zA-Z0-9_]+:/, content, |
#! /usr/bin/perl | |
$stage = 1; | |
while (<STDIN>) { | |
if ($stage == 1) { | |
if (/TRACE (\d+)/) { | |
if ($line ne '') { | |
$cpu{$id} = $line; | |
} |
Availability and quality of developer tools are an important factor in the success of a programming language. C/C++ has remained dominant in the systems space in part because of the huge number of tools tailored to these lanaguages. Succesful modern languages have had excellent tool support (Java in particular, Scala, Javascript, etc.). Finally, LLVM has been successful in part because it is much easier to extend than GCC. So far, Rust has done pretty well with developer tools, we have a compiler which produces good quality code in reasonable time, good support for debug symbols which lets us leverage C++/lanaguge agnostic tools such as debuggers, profilers, etc., there are also syntax highlighting, cross-reference, code completion, and documentation tools.
In this document I want to layout what Rust tools exist and where to find them, highlight opportunities for tool developement in the short and long term, and start a discussion about where to focus our time an
Migrado para o site: http://tecsinapse.com.br/nossas-vagas
There are a lot of ways to serve a Go HTTP application. The best choices depend on each use case. Currently nginx looks to be the standard web server for every new project even though there are other great web servers as well. However, how much is the overhead of serving a Go application behind an nginx server? Do we need some nginx features (vhosts, load balancing, cache, etc) or can you serve directly from Go? If you need nginx, what is the fastest connection mechanism? This are the kind of questions I'm intended to answer here. The purpose of this benchmark is not to tell that Go is faster or slower than nginx. That would be stupid.
So, these are the different settings we are going to compare:
- Go HTTP standalone (as the control group)
- Nginx proxy to Go HTTP
- Nginx fastcgi to Go TCP FastCGI
- Nginx fastcgi to Go Unix Socket FastCGI