Skip to content

Instantly share code, notes, and snippets.

@DimuDesigns
DimuDesigns / getUnixTimestampInMilliseconds.SQL
Last active December 17, 2016 18:47
MySQL Stored Function to generate Unix timestamp in milliseconds (UTC/GMT)
DROP FUNCTION IF EXISTS `getUnixTimestampInMilliseconds`;
CREATE FUNCTION `getUnixTimestampInMilliseconds`()
RETURNS bigint(20)
BEGIN
DECLARE milliseconds BIGINT DEFAULT 0;
SELECT CONV(
CONCAT(
@DimuDesigns
DimuDesigns / GenerateFirebasePushID.SQL
Last active July 16, 2021 11:54
MySQL Stored Procedure for generating Firebase Push IDs
/**
* Fancy ID generator that creates 20-character string identifiers with the following properties:
*
* 1. They're based on timestamp so that they sort *after* any existing ids.
* 2. They contain 72-bits of random data after the timestamp so that IDs won't collide with other clients' IDs.
* 3. They sort *lexicographically* (so the timestamp is converted to characters that will sort properly).
* 4. They're monotonically increasing. Even if you generate more than one in the same timestamp, the
* latter ones will sort after the former ones. We do this by using the previous random bits
* but "incrementing" them by 1 (only in the case of a timestamp collision).
*/
@DimuDesigns
DimuDesigns / pdfExport.js
Last active January 27, 2018 18:14
Apps Script PDF Export & Email
var spreadsheetId = "SPREADSHEET_ID",
sheetID = "SHEET_ID",
respondentEmail = "RESPONDENT_EMAIL";
var response = UrlFetchApp.fetch(
"https://docs.google.com/spreadsheets/d/" + spreadsheetId + "/export?" +
"format=pdf" +
"&size=2" +
"&fzr=true" +
"&portrait=false" + // you can change this to true for portrait mode
@DimuDesigns
DimuDesigns / onEditSample.gs
Last active April 28, 2017 12:23
onEdit Sample
function onEdit(e) {
if (e.range.getA1Notation() == "C3" && e.value != e.oldValue) {
var row = 0;
while(!e.range.offset(row++,1).isBlank()) {}; // post-increment operator updates row index after its evaluated in the statement
e.range.offset(row - 1,1).setValue(new Date()).setNumberFormat('yyyy-MM-dd HH:mm:ss');
}
}
@DimuDesigns
DimuDesigns / sample.gs
Last active January 16, 2019 12:48
Destruct Test
function testDestruct() {
var [a, b, cols] = [["up", "down"], ["left", "right"], ["north", "south"], ["east","west"]];
Logger.log(a);
Logger.log(b);
Logger.log(cols);
}