_   _          _  ____      
    | | | |        (_)/ ___|     
    | |_| |__   ___ _/ /___  ___ 
    | __| '_ \ / _ \ | ___ \/ __|
    | |_| | | |  __/ | \_/ |\__ \
     \__|_| |_|\___| |_____/|___/
                  _/ |           
                 |__/            

             ┌─────────┐
             │ hire me │
             └─────────┘


Things I learned: 2018#45

  • moa is a service that syncs your posts to mastodon and twitter
  • puppeteer needs namespacing in linux kernels. To enable it, see this stack overflow post: https://superuser.com/questions/1094597/enable-user-namespaces-in-debian-kernel
  • While laravel homestead is a very neat way to setup a vagrant box for a project it has a certain chicken & egg problem: Because it is installed via composer you need a PHP Version compatible with your project - but if you have that you probably don’t need a vagrant box for easier setup.
  • jenkinsfile-runner allows you to run a jenkinsfile locally https://github.com/jenkinsci/jenkinsfile-runner
  • badblocks is a utility that can be used to scan a hard drive for bad blocks
    • badblocks -wvs will perform a write test where it will write a pattern to the device and read it back. For empty disks this is the best way to check their health befor eusing them elsewhere.
  • The cryptopals challenges are a fun way to get a hands-on introduction to practical encryption fundamentals
  • Go has builtin handling for hex/base64 & []byte en- and decoding
  • In Go the ^ operator is short for XOR
  • In go strings are just syntactic sugar over arrays and characters over integers / bytes. Therefor operations such as int(character) - 'a' are completely valid.
  • In vue watchers can also be declared by using the this.$watch method
  • In vue watchers can be declared using { immediate: true } in order to execute the watcher once after it was declared in order to setup initial state
  • In vue a watcher may also be a string containing the name of the method handling the change event.