Skip to content

Instantly share code, notes, and snippets.

@gurdiga
gurdiga / app.js
Last active January 3, 2022 14:37
Google App Script
/*
1. Check if there are any new messages with “DMARC Reports” label in my GMail, and
2. if yes, then get the attached file and put it in the “DMARC Reports” folder in my GDrive.
3. Then send me an email with a report about what happened.
*/
// GmailApp: https://developers.google.com/apps-script/reference/gmail/gmail-app
// DriveApp: https://developers.google.com/apps-script/reference/drive/drive-app
@gurdiga
gurdiga / README.md
Last active September 19, 2021 11:59
Quick-edit “Pencil” link for Blogspot.
@gurdiga
gurdiga / Makefile
Last active June 7, 2020 12:05
PhotoBucket export
.ONESHELL:
MAKEFLAGS=
export CURL_PARAMS=--silent --connect-timeout 5 --retry-delay 0 --retry 5
start: list-albums # download-photos
list-albums:
@function main() {
list_albums "/albums/c111/SandraDodd"
@gurdiga
gurdiga / optimizely.mk
Created August 16, 2019 10:37
The Makefile I used to mangle some Optimizely logs
default:
Make what?
sync: download upload
download:
time aws --profile mx-optimizely s3 sync s3://optimizely-export-ng/10629356/10629356/2.0/2019/08/14/ 2019/08/14/
download-day:
test -z "$(DAY)" && (echo "Give me a DAY, please. Something like DAY=08/21." && exit 1) || \
@gurdiga
gurdiga / export-notes-to-plain-text.scpt
Created July 23, 2019 01:40
Export Apple Notes to plain text
tell application "Notes"
repeat with eachNote in notes in folder "Log"
tell eachNote
set content to body as text
set {year:y, month:m, day:d, hours:h, minutes:n} to creation date
set m to m as number
set d to d as number
set n to n as number
set h to h as number
@gurdiga
gurdiga / getCookieByName.js
Last active February 25, 2016 11:29
A little function to get a cookie by name. Useful to debug from the the browser console.
function getCookieByName(name) {
return unescape(
(document.cookie.split(/; /g)||[])
.filter(function(pair) {
return pair.split('=')[0] === name;
})[0]
.split('=')[1]
);
}

Per-directory Bash history (w/o aliasing cd)

I use Bash’s PROMPT_COMMAND variable:

The value of the variable PROMPT_COMMAND is examined just before Bash prints each primary prompt. If PROMPT_COMMAND is set and has a non-null value, then the value is executed just as if it had been typed on the command line.

The source code should be pretty straight forward, but if not, please ask in the comments. Put this in your .bashrc or similar:

# per-directory Bash history

JS interface composition with promises

Inspired by Mr. Robert C. Martin’s episodes on SOLID principles that I’ve watched lately, and by the idea of “programming to interfaces” I’ve tried to come up with a schema that would allow me to have the concerns separated, but still composable.

These are a few modules from an Angular project.

So, I have an AuthenticationService module that does user account house-keeping:

// app/authentication-service/authentication-service.js
(function() {
function randomPassword(lenght) {
function random() {
return parseFloat('.' + crypto.getRandomValues(new Uint32Array(1))[0]);
}
var characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
password = '',
i;
for (i = 0; i < 10; i++)
mencoder dvd:// -mc 0 -noskip -ovc copy -oac copy -nosub -aid 131 -o Desktop/transcoded.avi