Learn a new programming language! - functional language like Racket, Erlang, Clojure - Python is so useful and easy to learn! Install Linux. - easy: Ubuntu, Linux Mint, ElementaryOS <- super pretty - harder: Debian expert install, Arch Linux - stupid: Fedora, CentOS <- bad, out of date, tedious to work with - expert: FreeBSD / OpenBSD / NetBSD / DragonflyBSD Learn Linux! - learn bash Set Up a * Server (on the cloud! Digital Ocean has $100 free via github students) - ssh / sftp / git+ssh / svn+ssh - learn to tunnel and reverse tunnel - web - email - torrent - to distribute Linux ISOs of course - kerberos kdc - nfs - ftp <- don't actually - samba (cifs) System Hardening - making a system secure - enable your firewall - https://security.berkeley.edu/node/143 - https://wikis.utexas.edu/display/ISO/Redhat+Linux+Hardening+Checklist - find a checklist, it will explain Cryptography - implement a crypto primitve: hash function, encryption function, etc. - AES, SHA256, scrypt - JUST FOR LEARNING - a Python programs that encrypts a file with a password - take a course online - Coursera Crypto by Dan Boneh - https://www.coursera.org/course/crypto - http://learncryptography.com/encryption/ - http://stackoverflow.com/questions/14392387/most-common-encryption-algorithms - https://www.owasp.org/index.php/Guide_to_Cryptography#Cryptographic_Algorithms - crypto101.io, khan academy, google, etc. Online Exercises - PicoCTF - Over the Wire - Smash the Stack - learn x86 assembly - // learn ARM assembly - Matasano Crypto Challenges - holy shit! http://cryptopals.com - hackerrank.com <- coding challenges (mostly algorithms) Projects - write an app with 2 factor authentication - fingerprint scanner: use it - find a facial recognition library and authenticate your face! - use a camera to scan a retina and verify - build text with markov chains (GOOGLE PYTHON CLASS!!!) - write a reddit bot / or other program with an API - in Python! - github API - bart (train) - weather - ebay? - steam - notify you when games go on sale - stalk fellow gamers - notify of headline news of interest - based on keywords or other criteria - web scraper / crawler - XKCD!!! - write an IRC bot!!! - write an Android app - make a game... in Android! LOVE for lua, pygame in python3, Processing w java - make a personal website - django - flask - signs cookies with itsdangerous - ruby on rails - php D: T_T;; - go - with good authentication - store passwords well - try to hack it yourself! - set up a github account and start a project - or bitbucket - student discounts / developer packages - learn vim! - learn emacs... Follow the News - netsec.reddit.com - cryptography.reddit.com - hacker news! - lobste.rs - @swiftonsecurity on twitter - @znjp on twitter - programming.reddit.com - programmorhumor.reddit.com - securityreactions.tumblr.com - kingjamesprogramming.tumblr.com - arstechnica - the only good article on Mustang News - Liam is quoted in it! 11/10 Read Books - every programmer needs a copy of K&R C - Kernighan and Ritchie, The C Programming Language