I hereby claim:
- I am kirsle on github.
- I am kirsle (https://keybase.io/kirsle) on keybase.
- I have a public key whose fingerprint is 03AC B9F9 5CE5 A920 871E 94C5 9255 42ED E2E7 1CDA
To claim this, I am signing this object:
| ## | |
| # Problem: sending a binary download in ExpressJS. | |
| # | |
| # I was trying to proxy download a binary file from S3 and serve it to the user with a different name. | |
| # Using the `request` module didn't work; text files came back fine but binary files would be corrupted | |
| # in strange ways (see attached diff). | |
| # | |
| # I ended up using the built-in `https` module and doing it the hard way. | |
| # | |
| # My theory: the request module expects to only work with text and was performing some UTF-8 coercion |
| # minimal example of linking RiveScript to Twilio (untested) | |
| from flask import Flask, request, redirect | |
| from rivescript import RiveScript | |
| import twilio.twiml | |
| app = Flask(__name__) | |
| bot = RiveScript() | |
| bot.load_directory("brain") | |
| bot.sort_replies() |
I hereby claim:
To claim this, I am signing this object:
| # Function that prints the branch name. | |
| git_branch() { | |
| branch=`git branch 2> /dev/null | sed -e '/^[^*]/d' | perl -pe 's/^\*\s+//g'` | |
| if [ "$branch" != '' ]; then | |
| echo -n " ($branch)" | |
| fi | |
| } | |
| # Integrate it into your $PS1 prompt. | |
| # Would look like: [user@localhost myapp (master)]$ |
| /home/*/logs/*.log { | |
| daily | |
| missingok | |
| rotate 14 | |
| size 50M | |
| compress | |
| delaycompress | |
| notifempty | |
| create 0640 www-data adm | |
| sharedscripts |
This is the code I used to make an alarm clock out of a Raspberry Pi (model 1 B+, 512MB RAM) that plays motivational speeches at 6:30 in the morning to get my ass out of bed.
At first I was using a CLI YouTube client, but it would hang after a while due to not running on an interactive console
(being launched by crond), and the audio support on Pi's have always been somewhat flaky.
I ended up using youtube-dl to pre-download a playlist and using omxplayer for its hardware-accelerated decoding
support. Works pretty well, except omxplayer has no support for things like "playlists" or "shuffling" so I needed
This describes my setup for using DigitalOcean Volumes (disk images attached to my VPS) for off-site backups and keeping them encrypted-at-rest when I'm not actively writing or reading to the disk image.
Basically it consists of: