Skip to content

Instantly share code, notes, and snippets.


Daniel Lo Nigro Daniel15

View GitHub Profile
Daniel15 / gist:397b1a0374a4bc78c84d
Created Jun 1, 2014
List of "feelings" on Facebook
View gist:397b1a0374a4bc78c84d
Daniel15 /
Last active Apr 17, 2021
Complete Google Drive File Picker example

Google Drive File Picker Example

This is an example of how to use the Google Drive file picker and Google Drive API to retrieve files from Google Drive using pure JavaScript. At the time of writing (14th July 2013), Google have good examples for using these two APIs separately, but no documentation on using them together.

Note that this is just sample code, designed to be concise to demonstrate the API. In a production environment, you should include more error handling.

See a demo at

View 1_Twitter autoresponder

Twitter autoresponder bot

By Daniel15 ( This is a very simple Twitter autoresponder bot. It requires PECL OAuth extension to be installed (run "pecl install oauth", or if on Windows, grab php-oauth.dll. If using cPanel you can install it via WHM). The authentication is designed for command-line usage, it won't work too well via a web browser. You'll have to sign up for an application on Twitter's site to get the consumer key and secret.

Could be modified to be more advanced (match regular expressions to answer questions, etc.)

Questions? See my blog post -

Modified 2013-06-13 - Twitter API 1.0 discontinued, modified to use Twitter API 1.1

Daniel15 /
Created Oct 3, 2011
ASP.NET Server Info page

Simple ASP.NET server info page. Shows uptime, hard drive space, and RAM.

Add this to Web.config system.web -> configuration -> assemblies:

Daniel15 / _common.conf
Created May 1, 2020
WordPress config with WP Super Cache for Nginx
View _common.conf
# /etc/nginx/snippets/wordpress/common.conf
index index.php;
# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
location ~ /\. {
deny all;
# Block PHP files in uploads, content, and includes directory.
location ~* /(?:uploads|files|wp-content|wp-includes)/.*\.php$ {
View gist:27b31f4f223ddeb110226b0f5ce78ce9
root@it01:/usr/local/src/wireguard-go# make
go build -v -o "wireguard-go"
Parsing meta tags from (status code 200)
get "": found meta tag get.metaImport{Prefix:"", VCS:"git", RepoRoot:""} at
Parsing meta tags from (status code 200)
get "": found meta tag get.metaImport{Prefix:"", VCS:"git", RepoRoot:""} at
Daniel15 / ProcessExtensions.cs
Created Oct 26, 2019
C# WaitForExitAsync implementation
View ProcessExtensions.cs
using System;
using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks;
namespace Daniel15.Extensions
/// <summary>
/// Extensions for <see cref="Process"/>
/// </summary>
Daniel15 / npm-output.txt
Created Mar 13, 2019
npm output - segfault on install
View npm-output.txt
npm info it worked if it ends with ok
npm verb cli [ '/usr/bin/node',
npm verb cli '/usr/local/bin/npm',
npm verb cli 'install',
npm verb cli '--loglevel',
npm verb cli 'verbose' ]
npm info using npm@6.9.0
npm info using node@v10.15.2
npm verb npm-session cad68cd73009e571
npm info lifecycle sitename@0.0.0~preinstall: sitename@0.0.0
View gist:c8c31b9e46d8c2eea6385d7dd1ba6c40
Microsoft (R) Windows Debugger Version 10.0.14321.1024 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
CommandLine: "C:\Users\danlo\Dropbox (Personal)\src\gpgme-sharp\Examples\PgpEncryptDecrypt\bin\Debug\net40\PgpEncryptDecrypt.exe"
Symbol search path is: srv*
Executable search path is:
ModLoad: 00000000`00070000 00000000`00078000 PgpEncryptDecrypt.exe
ModLoad: 00007ffb`d88c0000 00007ffb`d8aad000 ntdll.dll
ModLoad: 00000000`774a0000 00000000`7763c000 ntdll.dll
Daniel15 / log.txt
Last active Feb 5, 2019
GPGME full session log
View log.txt
GPGME 2019-02-04 23:24:27 <0x48bc> gpgme_debug: level=9
GPGME 2019-02-04 23:24:27 <0x48bc> gpgme_debug: gpgme='C:\Program Files (x86)\GnuPG\bin'
GPGME 2019-02-04 23:24:27 <0x48bc> gpgme_check_version: call: 0=00000000, req_version=(null), VERSION=1.12.1-beta43
GPGME 2019-02-04 23:24:27 <0x48bc> gpgme_new: enter: r_ctx=02D7E194
GPGME 2019-02-04 23:24:27 <0x48bc> gpgme-dinfo: gpgconf='C:\Program Files (x86)\GnuPG\bin\gpgconf.exe'
GPGME 2019-02-04 23:24:27 <0x48bc> _gpgme_io_pipe: enter: filedes=02D7DB7C, inherit_idx=1 (GPGME uses it for reading)
GPGME 2019-02-04 23:24:27 <0x48bc> _gpgme_io_pipe: leave: read=0x0 (hdd=039F3740,hd=000003C0), write=0x1 (hdd=039F4AF8,hd=000003C8)
GPGME 2019-02-04 23:24:27 <0x48bc> _gpgme_io_spawn: enter: path=039F4AC0, path=C:\Program Files (x86)\GnuPG\bin\gpgconf.exe
GPGME 2019-02-04 23:24:27 <0x48bc> _gpgme_io_spawn: check: path=039F4AC0, argv[ 0] = C:\Program Files (x86)\GnuPG\bin\gpgconf.exe
GPGME 2019-02-04 23:24:27 <0x48bc> _gpgme_io_spawn: check: path=039F