- Encrypt everthing including /boot and /root
- Enter password once
- Support UEFI
Download NixOS minimal iso and copy to USB stick. For example on Mac OSX
$ diskutil list
$ diskutil unmountDisk /dev/disk1 # Make sure you got right deviceWith its built-in Bluetooth capabilities, the ESP32 can act as a Bluetooth keyboard. The below code is a minimal example of how to achieve it. It will generate the key strokes for a message whenever a button attached to the ESP32 is pressed.
For the example setup, a momentary button should be connected to pin 2 and to ground. Pin 2 will be configured as an input with pull-up.
In order to receive the message, add the ESP32 as a Bluetooth keyboard of your computer or mobile phone:
| import argparse | |
| from PIL import Image | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument("inputfile", help="Path to the image file to convert") | |
| parser.add_argument("-o", "--output", help="Path to output file with the C array, if not given the same filename as the input is used, with filetype .c", action="store_true") | |
| parser.add_argument("-p", "--preview", help="Print the resulting image to the terminal", action="store_true") | |
| parser.add_argument("-d", "--dither", help="Set flag to dither image in conversion from colour to BW, if applicable", action="store_true") | |
| parser.add_argument("-s", "--small", help="Set flag if your OLED has a resolution of 128x32 instead of 128x64", action="store_true") | |
| parser.add_argument("-x", "--width", help="Pixel width of your OLED", type=int) |
| /** | |
| * Uncamelize a string, joining the words by separator character. | |
| * | |
| * @param {string} text - Text to uncamelize | |
| * @param {string} [separator='_'] - Word separator | |
| * @returns {string} Uncamelized text | |
| */ | |
| function uncamelize(text, separator) { | |
| // Assume separator is _ if no one has been provided. | |
| if('undefined' === typeof separator) { |
| SELECT | |
| -- Attributes in the pivot table: | |
| -- `p`.`whatever` AS `whatever` | |
| p.entity_id AS id, | |
| p.sku AS sku, | |
| -- Attributes in the EAV tables: | |
| -- IFNULL(`store_whatever`.`value`, `default_whatever`) AS `whatever` | |
xdebug.ini file).xdebug.trace_output_dir is writable by the webserver user (www-data).produce_segmentation.php to test.xdebug.trace_output_dir.download and install Solr from http://lucene.apache.org/solr/.
you can access Solr admin from your browser: http://localhost:8983/solr/
use the port number used in installation.
When the directory structure of your Node.js application (not library!) has some depth, you end up with a lot of annoying relative paths in your require calls like:
var Article = require('../../../models/article');Those suck for maintenance and they're ugly.
| echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc | |
| . ~/.bashrc | |
| mkdir ~/local | |
| mkdir ~/node-latest-install | |
| cd ~/node-latest-install | |
| curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1 | |
| ./configure --prefix=~/local | |
| make install # ok, fine, this step probably takes more than 30 seconds... | |
| curl https://www.npmjs.org/install.sh | sh |
| // This script will boot app.js with the number of workers | |
| // specified in WORKER_COUNT. | |
| // | |
| // The master will respond to SIGHUP, which will trigger | |
| // restarting all the workers and reloading the app. | |
| var cluster = require('cluster'); | |
| var workerCount = process.env.WORKER_COUNT || 2; | |
| // Defines what each worker needs to run |