Skip to content

Instantly share code, notes, and snippets.

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.groupme.com/v3/bots/post');
curl_setopt($ch, CURLOPT_POST, 1);
//REPLACE YOUR_BOT_ID with BOT_ID FROM GROUPME
curl_setopt($ch, CURLOPT_POSTFIELDS, "text=TESTING&bot_id=YOUR_BOT_ID");
curl_exec($ch);
curl_close($ch);
@kaplanmaxe
kaplanmaxe / debug.js
Last active February 18, 2017 16:32
Advanced debugging with js
/**
* Neatly output results of an array into a nice table
* API: https://developer.mozilla.org/en-US/docs/Web/API/Console/table
*/
console.table([
{ name: 'Max', age: 24 },
{ name: 'Susan', age: 52 },
{ name: 'John', age: 33 }
]);
@kaplanmaxe
kaplanmaxe / speech.js
Last active February 18, 2017 16:36
JS Speech Synthesis
const msg = new SpeechSynthesisUtterance('hello, max');
window.speechSynthesis.speak(msg);
@kaplanmaxe
kaplanmaxe / errors.js
Last active February 18, 2017 17:31
Throwing Errors in JS
/**
* The proper way of throwing an error in JavaScript. Even prints a stack trace for you!
*/
throw new Error('I am learning way too much JS in one day');
/**
* Now we can even make our own errors.
*/
function LearningError(message) {
this.message = message;
@kaplanmaxe
kaplanmaxe / selectors.js
Created February 19, 2017 13:11
You don't need jQuery for that
document.querySelector('#exampleId');
document.querySelector('.exampleClass');
document.querySelectorAll('.exampleClass');
@kaplanmaxe
kaplanmaxe / arraysbyref.js
Created February 19, 2017 13:20
JS Arrays are By Reference by default
const a = [0, 1, 2, 3];
const b = a;
b.push(10);
console.log(b); // [0, 1, 2, 3, 10]
console.log(a); // [0, 1, 2, 3, 10] (10 got pushed to a even though we only pushed to b)
// To AVOID passing by reference
const foo = [0, 1, 2, 3];
const bar = foo.concat([10]);
console.log(bar); // [0, 1, 2, 3, 10]
@kaplanmaxe
kaplanmaxe / objectsbyref.js
Last active February 19, 2017 13:27
JS Objects are By Reference by default
const a = { name: 'Max', age: 24 };
const b = a;
b.name = 'Barbara';
console.log(b); // { name: 'Barbara', age: 24 }
console.log(a); // { name: 'Barbara', age: 24 } (a.name was overwritten as well by b.name)
// To avoid passing by reference
const foo = { name: 'Max', age: 24 };
const bar = Object.assign({}, foo);
bar.name = 'Barbara';
@kaplanmaxe
kaplanmaxe / speechrecognition.js
Last active February 19, 2017 14:14
JS Speech Recognition
// API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API
const recognition = new webkitSpeechRecognition();
recognition.onresult = function(event) {
for (let i = event.resultIndex; i < event.results.length; ++i) {
console.log(event.results[i][0].transcript);
}
}
recognition.start(); // Click allow when browser prompts to use your microphone
recognition.stop(); // Call this when done talking.

Keybase proof

I hereby claim:

  • I am kaplanmaxe on github.
  • I am kaplanmaxe (https://keybase.io/kaplanmaxe) on keybase.
  • I have a public key ASBzC2l3T7uD6OgaGLRVv_4PQ45Ng55tSy8Ooiq8KJPmIwo

To claim this, I am signing this object:

Verifying that "kaplanmaxe.id" is my Blockstack ID. https://onename.com/kaplanmaxe