On your Mac...
scp umbrel@umbrel.local:~/umbrel/app-data/helipad/data/database.db ~/
... this will download the SQLite database from the Umbrel, and dump it into your home directory. Use DB Browser for SQLite to view it.
<?php | |
// A quick PHP function to check if a user is subscribed to your newsletter in Sendy. | |
// You need a Sendy API key; the list ID for your newsletter; and obviously your Sendy installation address. | |
// To use this | |
if (check_if_subscribed("james@cridland.net")=="Subscribed") { | |
echo "Yay!"; | |
} else { | |
echo "Boo!"; |
<?php | |
// To get all podcast hits on a specific day | |
// Very rough PHP code from james@crid.land | |
if (empty($config['op3-bearer'])) { | |
// Grab a API key here: https://op3.dev/api/keys | |
// Get the bearer and add it in this line below | |
// For testing purposes, the preview bearer given here will also work | |
$config['op3-bearer']="preview07ce"; |
On your Mac...
scp umbrel@umbrel.local:~/umbrel/app-data/helipad/data/database.db ~/
... this will download the SQLite database from the Umbrel, and dump it into your home directory. Use DB Browser for SQLite to view it.
This is all you need... | |
<link rel="icon" href="https://podnews.net/static/favicon.ico" sizes="any"> | |
<link rel="icon" href="https://podnews.net/static/favicon.svg" type="image/svg+xml"> | |
<link rel="apple-touch-icon" type="image/png" href="/f/apple-icon.png"/> | |
The top one will only load if your browser doesn't support SVG icons | |
The second one will load if it does (most do) | |
The third is needed for some proprietary Apple nonsense. |
ffmpeg -i podnews200103.mp3 -i podnews200103.jpeg -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" podnews200103withart.mp3 |
<?php include('../_connect.php');?> | |
<?php include('../../includes/helpers/short.php');?> | |
<?php | |
/* | |
---Little helper function from james@crid.land for reporting link-clicks in a newsletter. | |
Put this file in a new folder within the /api/ folder, called "reporting", and call this "links.php". (Or whatever you like). | |
Call by POST to api/reporting/reports.php with the following mandatory elements | |
'api_key' => (your API key) | |
'brand_id' => 1 or whatever | |
'label' => (the campaign name) |
This assumes you're running ChromeOS with Linux inside.
Wait for a bit while it does its thing. (Wait for a bit, honestly, don't idly search the web, things will go wrong).
SELECT count(*),useragent FROM cloudfront_logs | |
WHERE "date" BETWEEN DATE '2019-01-01' AND DATE '2019-01-31' | |
AND uri LIKE '/audio/%' AND bytes>750000 GROUP BY useragent ORDER BY useragent |
<?php include('../_connect.php');?> | |
<?php include('../../includes/helpers/short.php');?> | |
<?php | |
/* | |
---Little helper function from james@crid.land for reporting | |
Put this file in a new folder within the /api/ folder, called "reporting", and call it "reports.php". (Or whatever you like). | |
Call by POST to api/reporting/reports.php with the following mandatory elements | |
'api_key' => (your API key) | |
'brand_id' => 1 | |
'label' => (the campaign name) |
$re = '/[\*].*(gimlet)(.+?\n\n)/'; | |
$str = '* Google Play Music have [buttons for your podcasts](https://play.google.com/intl/en_us/badges-music/). Note, however, that outside the US, they just redirect to the front page of Google Play. One step forward, one step back. | |
* Recommended: [ReplyAll investigates Facebook](https://gimletmedia.com/episode/109-facebook-spying/) using your phone\'s microphone to spy on your conversations. And, how to stop them doing it, even though they\'re not. | |
* Event: on now in Austin TX, USA: [Media Tech Week](https://mediatechweek.live/)'; | |
preg_match($re, $str, $matches); | |
var_dump($matches); |