I hereby claim:
- I am alimakki on github.
- I am alimakki (https://keybase.io/alimakki) on keybase.
- I have a public key ASAooMpOxFsJu6tGNHmAd_eIoM_gs4JmRi_rTs9fWW_UZgo
To claim this, I am signing this object:
| // Swift 3.0 based on the code in the talk given on this video by Brandon Williams - Functional Programming in a Playground | |
| // https://www.youtube.com/watch?v=estNbh2TF3E | |
| import Foundation | |
| extension Int { | |
| func square() -> Int { | |
| return self*self | |
| } | |
| func incr() -> Int { |
I hereby claim:
To claim this, I am signing this object:
Short version: I strongly do not recommend using any of these providers. You are, of course, free to use whatever you like. My TL;DR advice: Roll your own and use Algo or Streisand. For messaging & voice, use Signal. For increased anonymity, use Tor for desktop (though recognize that doing so may actually put you at greater risk), and Onion Browser for mobile.
This mini-rant came on the heels of an interesting twitter discussion: https://twitter.com/kennwhite/status/591074055018582016
| <?xml version="1.0" encoding="UTF-8"?> | |
| <AnyConnectProfile xmlns="http://schemas.xmlsoap.org/encoding/" | |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= | |
| "http://schemas.xmlsoap.org/encoding/ AnyConnectProfile.xsd"> | |
| <ClientInitialization> | |
| <UseStartBeforeLogon UserControllable="true">false</UseStartBeforeLogon> | |
| <AutomaticCertSelection UserControllable="true">false | |
| </AutomaticCertSelection> | |
| <ShowPreConnectMessage>false</ShowPreConnectMessage> | |
| <CertificateStore>All</CertificateStore> |
| # shows model name, stepping and microcode version | |
| `grep 'stepping\|model\|microcode' /proc/cpuinfo | head -4` | |
| # shows motherboard bios version | |
| `dmesg | grep -e 'DMI.*BIOS'` | |
| # ram info | |
| sudo dmidecode --type=17 |
| https://www.ubuntuupdates.org/package/lxd/trusty/main/base/lxd |
| --- | |
| - hosts: localhost | |
| gather_facts: no | |
| remote_user: root | |
| become: yes | |
| pre_tasks: | |
| # NOTE(@alimakki): Due to key rotation, we pre-emptivley | |
| # add the Google linux apt signing key required by some | |
| # packages | |
| - name: Install the Google linux apt signing key |
| https://jon.sprig.gs/blog/post/651 | |
| Running Streisand to provide VPN services on my home server | |
| A few months ago I was a guest on The Ubuntu Podcast, where I mentioned that I use Streisand to terminate my VPN connections. I waffled and blathered a bit about how I set it up, but in the end it comes down to this: | |
| Install Virtualbox on my Ubuntu server. Include the “Ext Pack”. | |
| Install Vagrant on my Ubuntu server. | |
| Clone the Streisand Github repository to my Ubuntu server. | |
| Enter that cloned repository, and edit the Vagrantfile as follows: |
| Feb 19 00:48:15.900570: | inserting event EVENT_SHUNT_SCAN, timeout in 20.000 seconds | |
| Feb 19 00:48:15.900648: | free_event_entry: release EVENT_SHUNT_SCAN-pe@0x5650b272f728 | |
| Feb 19 00:48:17.667347: | *received 224 bytes from 162.222.81.188:20572 on eth0 (port=500) | |
| Feb 19 00:48:17.667632: | e5 e9 88 9b 1f fd dd 07 00 00 00 00 00 00 00 00 | |
| Feb 19 00:48:17.667723: | 21 20 22 08 00 00 00 00 00 00 00 e0 22 00 00 28 | |
| Feb 19 00:48:17.667804: | 00 00 00 24 01 01 00 03 03 00 00 0c 01 00 00 14 | |
| Feb 19 00:48:17.667889: | 80 0e 00 80 03 00 00 08 02 00 00 05 00 00 00 08 | |
| Feb 19 00:48:17.667979: | 04 00 00 13 28 00 00 48 00 13 00 00 2d a0 d9 53 | |
| Feb 19 00:48:17.668076: | 92 96 68 a9 38 e0 5e 5a 9a af 10 1b 66 23 25 ea | |
| Feb 19 00:48:17.668139: | c0 4b 92 f8 d6 09 33 60 19 cd 96 38 ae 99 6c bc |