What would a EvE online Internet look like?
I always viewed this map like a network, it’s a large mesh of systems that connect to each other so that people can get across, with most systems having more than two jump gates. this lead me to think what would happen if you took the idea of the map being a network literally? What would a EvE online internet of systems look like?

For this we need to understand how the real Internet works. The internet is a large collection of ISP’s that are all numerically identified with a standardised and unique ISP number, called an Autonomous System Number or ASN ( or AS for shorter ). These AS’es need a way to exchange routes with each other, since they will own ranges of IP addresses, and need a way to tell other ISPs that their routers can route these IP addresses. For this, the world has settled on Border Gateway Protocol or BGP.
bgp  games  networking  internet 
16 days ago
huge-success/sanic: Async Python 3.5+ web server that's written to go fast
Sanic is a Python web server and web framework that's written to go fast. It allows the usage of the async/await syntax added in Python 3.5, which makes your code non-blocking and speedy.

Source code on GitHub | Help and discussion board.

The project is maintained by the community, for the community Contributions are welcome!

The goal of the project is to provide a simple way to get up and running a highly performant HTTP server that is easy to build, to expand, and ultimately to scale.
performance  python  framework  http 
22 days ago
encode/starlette: The little ASGI framework that shines. ✨
Starlette is a lightweight ASGI framework/toolkit, which is ideal for building high performance asyncio services.

It is production-ready, and gives you the following:

Seriously impressive performance.
WebSocket support.
GraphQL support.
In-process background tasks.
Startup and shutdown events.
Test client built on requests.
CORS, GZip, Static Files, Streaming responses.
Session and Cookie support.
100% test coverage.
100% type annotated codebase.
Zero hard dependencies.

Python 3.6+
python  flask  async  performance 
22 days ago
sharkdp/bat: A cat(1) clone with wings.
bat supports syntax highlighting for a large number of programming and markup languages:
bat communicates with git to show modifications with respect to the index (see left side bar):

You can use the -A/--show-all option to show and highlight non-printable characters:
github  tools  cli  rust  cat 
24 days ago
Concourse Tutorial by Stark & Wayne
Learn to use https://concourse-ci.org with this linear sequence of tutorials. Learn each concept that builds on the previous concept.
ci  tutorial  concourse_ci  documentation  example 
4 weeks ago
uber/assume-role-cli: CLI for AssumeRole is a tool for running programs with temporary credentials from AWS's AssumeRole API.
CLI for AssumeRole is a CLI tool for running programs with temporary AWS credentials. It is intended to be used by operators for running scripts and other tools that don't have native AssumeRole support.
aws  cli  golang  github  iam 
4 weeks ago
remind101/assume-role: Easily assume AWS roles in your terminal.
This tool will request and set temporary credentials in your shell environment variables for a given role.

OSX, Linux + Windows Support
aws  iam  cli  golang  github  shell 
4 weeks ago
Scala Best Practices - Foreword
I often find myself, both professionaly and otherwise, having to explain bits of Scala to newcomers to the language (but usually not new to programming).

Something that’s becoming increasingly obvious is that Scala developers follow a certain set of unspoken rules without really thinking about them, and never really explain them to beginners. This is not helping Scala’s reputation as a hard to learn language, which is unfortunate - it’s a language I enjoy and wish more people would learn.

This site is meant to address that, by listing and explaining all these rules I wish someone’d told me about when I was learning the language.

Comments, suggestions, … are welcome! I’m clearly not the best Scala developer out there and might have gotten things wrong, or right for the wrong reasons. If you see areas that could be improved on, feel free to open an issue!
scala  development  best_practices 
6 weeks ago
AWS Cloud Map Documentation
AWS Cloud Map is a fully managed service that you can use to create and maintain a map of the backend services and resources that your applications depend on.
aws  aws_services  aws_cloud_map  service_discovery  service_mesh 
6 weeks ago
Squarespace/pgbedrock: Manage a Postgres cluster's roles, role memberships, schema ownership, and privileges
pgbedrock is an application for managing the roles, memberships, ownerships, and most importantly the permissions for tables, sequences, and schemas in a Postgres database.

Given the parameters to connect to a Postgres database (i.e. host, port, etc.) and a YAML file (a "spec") representing the desired database configuration, pgbedrock makes sure that the configuration of that database matches the spec. If there are differences, it will alter the database to make it match the spec.

It can be run as a docker container (via docker run quay.io/squarespace/pgbedrock) or as a local command-line utility (via pip install pgbedrock).
squarespace  postgres  authentication  authorisation  permissions  python 
11 weeks ago
tobegit3hub/mirror-dockerhub: Tools to mirror container images from docker hub
Mirror-dockerhub is the tool to mirror container images from docker hub.

You can mirror images from not only docker hub but also other private registries.

Collection of rough bash scripts to mirror docker reops
mirror  docker  bash  github 
11 weeks ago
λ Tony's blog λ - scala.Option Cheat Sheet
Many people who are coming in to Scala first encounter the Option type, which may be thought of (among other things) as a type-safe null. They also encounter pattern matching as both a new and (relatively) powerful concept, but also one that is easy to understand. This leads to quite a lot of use of pattern matching and often excessively so in what I have observed.
scala  cheat_sheet  option 
11 weeks ago
Deploying EFF's Certbot in AWS Lambda
This post describes the steps needed to deploy Certbot (a well-maintained LetsEncrypt/ACME client) inside AWS Lambda. The setup used below is now powering 100% automated TLS certificate renewals for this website - the lambda runs once a day and if there’s less than 30 days remaining on my existing cert it will provision a new one and import it to be served by my CDN.
eff  lambda  certbot  letsencrypt  ssl  tls  certificates  aws 
12 weeks ago
kelseyhightower/kubernetes-the-hard-way: Bootstrap Kubernetes the hard way on Google Cloud Platform. No scripts.
This tutorial walks you through setting up Kubernetes the hard way. This guide is not for people looking for a fully automated command to bring up a Kubernetes cluster. If that's you then check out Google Kubernetes Engine, or the Getting Started Guides.

Kubernetes The Hard Way is optimized for learning, which means taking the long route to ensure you understand each task required to bootstrap a Kubernetes cluster.
documentation  github  kubernetes  containers  tutorial  devops 
12 weeks ago
autoscaler/FAQ.md at master · kubernetes/autoscaler
The answers in this FAQ apply to the newest (HEAD) version of Cluster Autoscaler. If you're using an older version of CA please refer to corresponding version of this document:
documentation  kubernetes  autoscaling  github 
12 weeks ago
Istio / Consuming External Web Services
In many cases, not all the parts of a microservices-based application reside in a service mesh. Sometimes, the microservices-based applications use functionality provided by legacy systems that reside outside the mesh. We may want to migrate these systems to the service mesh gradually. Until these systems are migrated, they must be accessed by the applications inside the mesh. In other cases, the applications use web services provided by external organizations, often over the World Wide Web.
istio  documentation  service_mesh 
12 weeks ago
firstlookmedia/gpgsync: GPG Sync is designed to let users always have up-to-date public keys for other members of their organization
GPG Sync is designed to let users always have up-to-date OpenPGP public keys for other members of their organization.

If you're part of an organization that uses GPG internally you might notice that it doesn't scale well. New people join and create new keys and existing people revoke their old keys and transition to new ones. It quickly becomes unwieldy to ensure that everyone has a copy of everyone else's current key, and that old revoked keys get refreshed to prevent users from accidentally using them.

GPG Sync solves this problem by offloading the complexity of GPG to a single trusted person in your organization. As a member of an organization, you install GPG Sync on your computer, configure it with a few settings, and then you forget about it. GPG Sync takes care of everything else.
crypto  gpg  pgp  python  github 
november 2018
RevK®'s rants: Unicode Dicks
One of the things that has always slightly amused and puzzled me is that unicode lacks a "cock" glyph. I mean, it seems to have characters and symbols from modern and historic cultures and forms of writing, and surely cave men have been drawing dicks on cave walls for tens of thousands of years, so why is this missing?
typography  unicode  fonts  blogs 
october 2018
kamranahmedse/pennywise: Cross-platform application to open anything in a floating window
Pennywise allows you to open anything in a small floating window that always stays on top of the other applications all the time, allowing you to multitask with ease. No need to keep struggling with alt + tab, use pennywise and have your work in front of you all the time.
gui  macos  linux  windows  github 
october 2018
runatlantis/atlantis: Terraform For Teams
A self-hosted golang application that listens for Terraform pull request events via webhooks.
terraform  aws  github  devops  atlantis  CI 
october 2018
erikvanbrakel/anthology: A private Terraform registry implementation as an alternative to the official registry.
Anthology is a reimplementation of the Terraform Registry API, intended to be used when your modules can't, shouldn't or don't need to be public. For all means and purposes it works in the same way as the public registry.
terraform  repository  github 
september 2018
select * from depesz; » Blog Archive » Conditional DDL?
Every now and then I see people ask the question – how to create table if it doesn't exist yet, how to drop it, but only if it does exist and so on.
postgres  DBA  DDL  conditional  plpgsql 
september 2018
shorts/Postgres-Users.md at master · ankane/shorts
Setting up database users for an app can be challenging if you don’t do it often. Good permissions add a layer of security and can minimize the chances of developer mistakes. Following the principle of least privilege, we want to give users only the privileges they need.
postgres  DBA  github  gist 
september 2018
Postgres Distributed Key Generation
This SQL creates a Postgres function to generate sequential, numeric, unique IDs in a consistent format across services. Useful for database sharding or microservices.

Draws heavily on Instagram's ID generator, via Rob Conery, with minor modifications.

The main changes are that the unique number resolution is per-second rather than per-millisecond. This is to reduce key size below 2^53^-1 so that generated IDs that are under Javascripts Number.MAX_SAFE_INTEGER limit . This is important if you're using these on a Node.js server (e.g. our use case is an Express API using Hashids).

Max IDs are in the order of 51 bits, broken down as follows:

31 bits for the timestamp difference
10 bits for a unique service ID (eg ID of the service/shard)
10 bits for a global sequence ID (modulo 1024 — meaning a maximum of 1024 unique records per second)
postgres  sharding  instagram  plpgsql  sql  DBA 
september 2018
Bartosz Milewski - Category Theory - YouTube
Category theory for programmers by Bartosz Milewski. Seattle, Summer 2016.
video  programming  FP  category_theory  youtube  education  computer_science 
august 2018
« earlier      
active_directory agile amazon apache api apple architecture art articles audio authentication automation aws backup bash best_practice bgp blog blogs books bugs build business cacti cassandra centos certificate_authority certificates chat cheat_sheet ci cisco cli cloud clustering community computer_science configuration coreos cpan crypto css culture dashboard data database databases dba debian deployment design desktop development devops distributed diy dns docker documentation ec2 education electronics email encryption esx etcd facebook fedora filesystem filetype:pdf film finance firefox foreman framework games gentoo git github gnome golang google google_apps government gpg graphics graphite hacking hardware high_availability history hosting howto http hubot humour iam ibm internet iphone ipv4 ipv6 irc java javascript json kernel keyboard kubernetes kvm lambda law ldap lifehacks linux load_balancing logging logstash london lotus lotus_notes mac mail management maths media media:document microsoft migration mobile monitoring music mysql nagios netflix networking news nodejs oauth open_source osx package_management packaging password pdf performance performance_tuning perl pgp php pki plugins politics postgres powershell privacy productivity programming puppet puppet_module python rabbitmq rails redhat reference rest reviews rhel rpm rt ruby ruby_gems s3 scala scalability scripting security shell sinatra snmp software solaris sql ssh ssl sso startup storage subversion svn sysadmin technology templates terminal terraform testing tmux tools tsm tutorial ubuntu uk unix version_control video vim virtualisation vmware voip vpn web web2.0 wiki wikipedia windows wireless workflow xml xmpp xp

Copy this bookmark: