This project is a template for creating new projects that use the HTML5 Canvas API.
It has the following features:
| #!/usr/bin/env bash | |
| CIPHERS='ALL:eNULL' | |
| DELAY=${2:-0.1} | |
| SERVER=${1:?usage: $0 <host:port> [delay, default is ${DELAY}s] [ciphers, default is ${CIPHERS}]} | |
| MAXLEN=$(openssl ciphers "$CIPHERS" | sed -e 's/:/\n/g' | awk '{ if ( length > L ) { L=length} }END{ print L}') | |
| echo Using $(openssl version). | |
| declare -A TLSMAP=( [tls1_1]=cipher [tls1_2]=cipher [tls1_3]=ciphersuites ) | 
| import android.annotation.SuppressLint | |
| import android.content.ContentUris | |
| import android.content.Context | |
| import android.content.CursorLoader | |
| import android.database.Cursor | |
| import android.net.Uri | |
| import android.os.Build | |
| import android.os.Environment | |
| import android.provider.DocumentsContract | |
| import android.provider.MediaStore | 
| # The Google Cloud SDK on Travis is pretty old (2014). So if | |
| # you want to use an up-to-date version, you have to install | |
| # your own. This config is the bare minimum you'll need to | |
| # get an updated version of the SDK + kubectl. | |
| cache: | |
| directories: | |
| # We cache the SDK so we don't have to download it again on subsequent builds. | |
| - $HOME/google-cloud-sdk | |
| services: | |
| # Include the docker service so you can roll your own images. | 
| #! /usr/bin/env python3 | |
| """Fixing bluetooth stereo headphone/headset problem in debian distros. | |
| Workaround for bug: https://bugs.launchpad.net/ubuntu/+source/indicator-sound/+bug/1577197 | |
| Run it with python3.5 or higher after pairing/connecting the bluetooth stereo headphone. | |
| This will be only fixes the bluez5 problem mentioned above . | |
| Licence: Freeware | 
| # first we download the list of IP ranges from CloudFlare | |
| wget https://www.cloudflare.com/ips-v4 | |
| # set the security group ID | |
| SG_ID="sg-00000000000000" | |
| # iterate over the IP ranges in the downloaded file | |
| # and allow access to ports 80 and 443 | |
| while read p | |
| do | 
Picking the right architecture = Picking the right battles + Managing trade-offs
| public class RealPathUtil { | |
| public static String getRealPath(Context context, Uri fileUri) { | |
| String realPath; | |
| // SDK < API11 | |
| if (Build.VERSION.SDK_INT < 11) { | |
| realPath = RealPathUtil.getRealPathFromURI_BelowAPI11(context, fileUri); | |
| } | |
| // SDK >= 11 && SDK < 19 | |
| else if (Build.VERSION.SDK_INT < 19) { | 
| package main | |
| import ( | |
| "crypto/tls" | |
| "crypto/x509" | |
| "flag" | |
| "io/ioutil" | |
| "log" | |
| "net/http" | |
| ) |