by Ossi Hanhinen, @ohanhi
with the support of Futurice 💚.
Licensed under CC BY 4.0.
#!/bin/bash | |
BITS=2048 | |
# In one line: | |
# rm -f temp.key && ssh-keygen -t rsa -b 2048 -f temp.key -N "" -q && ssh-keygen -e -f temp.key -m PKCS8 | tr "\n" " " && echo && cat temp.key | tr "\n" " " && echo | |
# In multiple lines: | |
rm -f temp.key | |
ssh-keygen -t rsa -b $BITS -f temp.key -N "" -q |
Copyright © 2016-2018 Fantasyland Institute of Learning. All rights reserved.
A function is a mapping from one set, called a domain, to another set, called the codomain. A function associates every element in the domain with exactly one element in the codomain. In Scala, both domain and codomain are types.
val square : Int => Int = x => x * x
# First you update your system | |
sudo apt-get update && sudo apt-get dist-upgrade | |
# Clean-up System | |
sudo apt-get purge epiphany-browser epiphany-browser-data #browser | |
sudo apt-get purge midori-granite #browser | |
sudo apt-get purge noise | |
sudo apt-get purge scratch-text-editor #text-editor | |
sudo apt-get purge modemmanager | |
sudo apt-get purge geary #email |
NOTE: Specific examples given for options, flags, commands variations, etc., are not comprehensive.
Vim has 2 main "modes", that chance the behavior of all your keys. The default mode of Vim is Normal Mode and is mostly used for moving the cursor and navigating the current file.
Some important (or longer) commands begin with ":" and you will see the text you enter next at the bottom left of the screen.
:q[uit]
- quit (the current window of) Vim. ("Window" here is internal to Vim, not if you have multiple OS-level windows of Vim open at once.)
:q!
- force quit (if the current buffer has been changed since the last save)
:e[dit] {filename}
- read file {filename} into a new buffer.
The standard way of understanding the HTTP protocol is via the request reply pattern. Each HTTP transaction consists of a finitely bounded HTTP request and a finitely bounded HTTP response.
However it's also possible for both parts of an HTTP 1.1 transaction to stream their possibly infinitely bounded data. The advantages is that the sender can send data that is beyond the sender's memory limit, and the receiver can act on
#!/usr/bin/env python3 | |
""" | |
Script used to pull down the current video descriptions from ippsec's youtube channel. | |
The raw output still has a few HTML tags that need to be manually removed and there | |
also seem to be multiple duplicates of videos that have been removed in the output | |
saved as ippsec-details.txt | |
""" | |
import re | |
import sys |
Fibers are an abstraction over sequential computation, similar to threads but at a higher level. There are two ways to think about this model: by example, and abstractly from first principles. We'll start with the example.
(credit here is very much due to Fabio Labella, who's incredible Scala World talk describes these ideas far better than I can)
Consider the following three functions