Skip to content

Instantly share code, notes, and snippets.

@pingyen
pingyen / touchEventLogger.bookmarklet.js
Last active September 10, 2018 21:29
Bookmarklet of Touch Events Logger
javascript:(function(){var a=document.createElement("div");a.style.cssText="position: fixed;bottom: 10px;right: 10px;padding: 10px;background: yellow;z-index: 2147483647";window.console={log:function(e){a.innerHTML+=e+"<br />\n"}};"loading"!==document.readyState?document.body.appendChild(a):document.addEventListener("DOMContentLoaded",function(){document.body.appendChild(a)},!1)})();
"touchstart touchmove touchend touchcancel pointerdown pointermove pointerup pointercancel click dblclick mousedown mouseup mousemove".split(" ").forEach(function(a){document.addEventListener(a,function(a){var d=a.type,b,c;switch(d){case "touchstart":b=a.touches;break;case "touchmove":case "touchend":case "touchcancel":b=a.changedTouches}void 0===b?(c=1,b=a):(c=b.length,b=b[0]);console.log([d,b.button,b.buttons,c,a.target.nodeName,b.pageX,b.pageY,Date.now()].join(", "))},!0)});
@pingyen
pingyen / wavHeader.html
Created March 8, 2018 08:38
1 Frame WAV Header
<!DOCTYPE>
<html>
<head>
<title>WAV Header</title>
<script>
var buildWaveHeader = function(opts) {
var numFrames = opts.numFrames,
numChannels = opts.numChannels || 2,
sampleRate = opts.sampleRate || 44100,
bytesPerSample = opts.bytesPerSample || 2,
@pingyen
pingyen / urlmonitor.php
Created March 7, 2018 12:55
URL Monitor
<?php
function getHTTPStatusCode ($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_exec($ch);
@pingyen
pingyen / php70.txt
Created November 9, 2017 15:48
Mac PHP 7.0 Installation Memo
$ brew install php70 --with-apache --with-homebrew-curl --with-pear --with-thread-safety
$ brew install php70-geoip php70-intl php70-tidy php70-pthreads --build-from-source
$ mv /usr/local/etc/php/7.0/conf.d/ext-pthreads.ini /usr/local/etc/php/7.0/php-cli.ini
--
$ brew uninstall httpd24
$ rm -rf /usr/local/etc/apache2
--
@pingyen
pingyen / taiwanMap.json
Created October 12, 2017 09:20
Taiwan City County Township District Map
{"\u57fa\u9686\u5e02":["\u4ec1\u611b\u5340","\u4e2d\u6b63\u5340","\u4fe1\u7fa9\u5340","\u4e2d\u5c71\u5340","\u5b89\u6a02\u5340","\u6696\u6696\u5340","\u4e03\u5835\u5340"],"\u81fa\u5317\u5e02":["\u4e2d\u6b63\u5340","\u5927\u540c\u5340","\u4e2d\u5c71\u5340","\u677e\u5c71\u5340","\u5927\u5b89\u5340","\u842c\u83ef\u5340","\u4fe1\u7fa9\u5340","\u58eb\u6797\u5340","\u5317\u6295\u5340","\u5167\u6e56\u5340","\u5357\u6e2f\u5340","\u6587\u5c71\u5340"],"\u65b0\u5317\u5e02":["\u677f\u6a4b\u5340","\u65b0\u838a\u5340","\u4e2d\u548c\u5340","\u6c38\u548c\u5340","\u571f\u57ce\u5340","\u6a39\u6797\u5340","\u4e09\u5cfd\u5340","\u9daf\u6b4c\u5340","\u4e09\u91cd\u5340","\u8606\u6d32\u5340","\u4e94\u80a1\u5340","\u6cf0\u5c71\u5340","\u6797\u53e3\u5340","\u516b\u91cc\u5340","\u6de1\u6c34\u5340","\u4e09\u829d\u5340","\u77f3\u9580\u5340","\u91d1\u5c71\u5340","\u842c\u91cc\u5340","\u6c50\u6b62\u5340","\u745e\u82b3\u5340","\u8ca2\u5bee\u5340","\u5e73\u6eaa\u5340","\u96d9\u6eaa\u5340","\u65b0\u5e97\u5340","\u6df1\u5751\u5340","\u77f3\u7
@pingyen
pingyen / plurkBot2.php
Last active June 29, 2017 11:11
Plurk Bot with Reply
<?php
define('NICKNAME', 'abc');
define('PASSWORD', 'iamabc');
define('USER_ID', '123456');
$message = 'Hello World!';
$reply = 'I am ABC!';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
@pingyen
pingyen / callService.php
Created April 20, 2017 06:18
Hinet VDSL Wi-Fi AP D-Link WBR-2200 Auto Dial-Up / Hang-Up
<?php
/* For Hinet VDSL Wi-Fi AP D-Link WBR-2200 */
// Log in http://192.168.0.1 &
// Get UID in Cookie by Chrome DevTools
define('UID', 'ABCxyz1234');
function callService($data) {
$ch = curl_init();
@pingyen
pingyen / guessCountry.php
Last active April 14, 2017 09:53
Guess Country by Locale
<?php
function guess_country_by_locale ($locale) {
$tokens = explode('-', strtolower($locale));
if (isset($tokens[1]) === true) {
$country = $tokens[1];
if ($country !== '') {
switch ($country) {
case 'hans':
@pingyen
pingyen / langCodes.json
Created April 13, 2017 14:08
Language Code Name Mapping
{
"aa": "Afar",
"ab": "Abkhazian",
"ae": "Avestan",
"af": "Afrikaans",
"ak": "Akan",
"am": "Amharic",
"an": "Aragonese",
"ar": "Arabic",
"as": "Assamese",
@pingyen
pingyen / compositionEventLogger.bookmarklet.js
Created March 8, 2017 05:55
Bookmarklet of Composition Event Logger
(function(){var b=document.createElement("div");b.style.cssText="position: fixed;bottom: 10px;right: 10px;padding: 10px;background: yellow;z-index: 2147483647";window.console2={log:function(a){console.log(a);b.innerHTML+=a+"<br />\n"}};"loading"!==document.readyState?document.body.appendChild(b):document.addEventListener("DOMContentLoaded",function(){document.body.appendChild(b)},!1);document.addEventListener("compositionstart",function(a){console2.log(["compositionstart",a.data,a.target].join(", "))},
!0);document.addEventListener("compositionupdate",function(a){console2.log(["compositionupdate",a.data,a.target].join(", "))},!0);document.addEventListener("compositionend",function(a){console2.log(["compositionend",a.data,a.target].join(", "))},!0)})();