stunnel.conf
[google-ldap]
accept = 127.0.0.1:1636
client = yes
connect = ldap.google.com:636
| {{- $id := .Get "id" | default (.Get 0) -}} {{- $embed := .Get "embed" | default | |
| false -}} {{- if $embed -}} | |
| <iframe | |
| style="max-width: 800px" | |
| src="https://scribehow.com/embed/{{ $id }}?skipIntro=true" | |
| width="100%" | |
| height="640" | |
| allowfullscreen | |
| frameborder="0" | |
| ></iframe> | 
| -- Standard labels Looker Studio uses in native integration. | |
| DECLARE | |
| requestor_key STRING DEFAULT 'requestor'; | |
| DECLARE | |
| requestor_value STRING DEFAULT 'looker_studio'; | |
| DECLARE | |
| datasource_key STRING DEFAULT 'looker_studio_datasource_id'; | |
| DECLARE | |
| report_key STRING DEFAULT 'looker_studio_report_id'; | |
| -- Your project ID | 
| // cnt length string of random chars in [a-z0-9] | |
| // randomChars(3) => "hb4" | |
| function randomChars(cnt) { | |
| return [...Array(cnt)].map(() => Math.floor(Math.random() * 36).toString(36)).join(""); | |
| } | |
| // cnt length string of random chars in [0-9] | |
| // randomNumber(3) => "218" | |
| function randomNumber(cnt) { | |
| return [...Array(cnt)].map(() => Math.floor(Math.random() * 9)).join(""); | 
Creating a montage of ~20k student photos.
montage can handle resizing and polaroid effect in a single step--as this
is the time consuming step, intermediary files generated with mogrify
for reuse.I hereby claim:
To claim this, I am signing this object: