MG's Snippets
tools
check your ip
https://checkip.amazonaws.com/
Python
read csv to row
import csv
with open('eggs.csv', newline='') as csvfile:
spamreader = csv.reader(csvfile)
for row in spamreader:
print(', '.join(row))
read csv to row dict
with open('names.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['first_name'], row['last_name'])
write csv
import csv
with open('eggs.csv', 'w', newline='') as csvfile:
spamwriter = csv.writer(csvfile)
spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
write csv dict
import csv
with open('eggs.csv', 'w', newline='') as csvfile:
spamwriter = csv.DictWriter(csvfile, fieldnames=['foo', 'bar', 'value'])
spamwriter.writeheader()
spamwriter.writerow({
'foo': 'x',
'bar': 'y',
'value': 'abc'
})
JavaScript
IIFE - MDN Web Docs Glossary: Definitions of Web-related terms | MDNiterate object entries
for (const [key, value] of Object.entries(object1)) {
console.log(`${key}: ${value}`);
}
fetch many urls and wait all promises
const fetchData = async (url) => {
try {
let response = await fetch(url);
return await response.json();
} catch(error) {
console.error(`fetch error) ${error} | ${url}`);
return error.message;
}
};
const fetchURLs = async (urls) => {
return await Promise.all(urls.map( async ([key, url]) => {
let res = await fetchData(url);
return [key, res];
}));
};
fetchURLs(urls)
.then(data => {
console.log('Fetched data:', data)})
.catch(error => {
console.error('Error fetching data:', error)
});
HTML
usual layout structure
<html>
<head>
</head>
<body>
<main>
<header> </header>
<section> </section>
<section> </section>
<section> </section>
<footer> </footer>
</main>
</body>
</html>
Document Templates
MkDocs Blog
---
date: 2025-01-15
categories:
- Journal
tags:
- tag1
- tag2
---
# Header1

reST (ReStructuredText)
###
Parts
###
***
Chapters (filename)
***
Section
===
or
# SECTION (all Upper case)
Subsection
-----------
or
## Subsection (capitalize)
Bookmarklet
markdown link
javascript:(function()%7Bt='%5B'+decodeURIComponent(document.title)+'%5D('+decodeURIComponent(window.location.href)+')';win=window.open('','_new','location=no,links=no,scrollbars=no,toolbar=no,width=550,height=150');win.document.write('%3Cform%3E%3Ctextarea%20name=%22a%22%20rows=%225%22%20cols=%2250%22%20onClick=%22javascript:this.form.a.focus();this.form.a.select();%22%3E'+t+'%3C/textarea%3E%3C/form%3E');%7D)()
markdown link (strip facebook ads)
javascript:(function()%7Bt='%5B'+decodeURIComponent(document.title)+'%5D('+decodeURIComponent(window.location.href.split('?fbclid=')[0])+')';win=window.open('','_new','location=no,links=no,scrollbars=no,toolbar=no,width=550,height=150');win.document.write('%3Cform%3E%3Ctextarea%20name=%22a%22%20rows=%225%22%20cols=%2250%22%20onClick=%22javascript:this.form.a.focus();this.form.a.select();%22%3E'+t+'%3C/textarea%3E%3C/form%3E');%7D)()