diff --git a/content/post/2020/06/designing-with-accessibility-in-mind.md b/content/post/2020/06/designing-with-accessibility-in-mind.md index 9be8ce94..6ce25f18 100644 --- a/content/post/2020/06/designing-with-accessibility-in-mind.md +++ b/content/post/2020/06/designing-with-accessibility-in-mind.md @@ -124,3 +124,5 @@ Resources: * [Web Accessibility Toolkit](https://accessibility.arl.org/standards-best-practices/) - Standards & Best Practices * [MDN Web Docs: What is accessibility?](https://developer.mozilla.org/en-US/docs/Learn/Accessibility/What_is_accessibility) * [Google Developers: How To Do an Accessibility Review](https://developers.google.com/web/fundamentals/accessibility/how-to-review) +* [A11y Coffee](https://a11y.coffee/) - a great tool for learning about web accessibility. + diff --git a/content/post/2021/03/always-have-a-disaster-recovery-plan.md b/content/post/2021/03/always-have-a-disaster-recovery-plan.md new file mode 100644 index 00000000..8866fe35 --- /dev/null +++ b/content/post/2021/03/always-have-a-disaster-recovery-plan.md @@ -0,0 +1,24 @@ +--- +title: Always have a Diaster Recovery Plan +subtitle: One OVH data center was destroyed by fire last night +date: 2021-03-11 +categories: + - braindump +tags: + - vps +--- + +A relatively quiet Wednesday morning. I wrote a few JS files, fiddled a bit more with my attempts to get [Webmentions working](/post/2021/03/the-indieweb-mixed-bag/). Timeouts appeared. Huh? Check _brainbaking.com_. No response. Huh? Try to login into my VPS administration panel. More timeouts. Huh-wuh? + +![](../ovh-fire.jpg "Uh-oh. This can't be good...") + +SBG2, one of [OVHcloud's](https://www.ovh.com/) data centers in Strasbourg, [was completely destroyed](https://twitter.com/olesovhcom/status/1369770805064855552) by a fire last night. Luckily, everyone got out in time. Well, except for all VPS servers... Mine is hosted in the adjacent SBG1, and 1/3th of that center is also gone. + +The first thing my wife posted on Instagram? _"Dear sir/madam. [Fire - exclamation mark!](https://www.youtube.com/watch?v=xqQ6Z-HmAqY) Fire - exclamation mark!"_ - who's the nerd now? + +We were recommended to _"activate your disaster recovery plan"_. Cool. I didn't have any, except for a few shoddy bash scripts I wrote about [last year](/post/2020/04/vps/). That poor man's backup plan clearly was _not_ sufficient... I hastily reserved another VPS in Gravelines, just below +Dunkirk. DNS IP settings borked, no failover plan, no automatic backups... Getting static websites back up and running in no-time is not a problem. However, my wife's Wordpress instance was much more painful. + +And of course, I forgot to backup the CalDAV and Mastodon databases, and a portion of my wife's Moodle instance... + +So yeah. Wednesday sucked. Time to put Ansible/Docker on the priority queue... \ No newline at end of file diff --git a/jamstack-init.js b/jamstack-init.js index 39c808cb..e327ec29 100644 --- a/jamstack-init.js +++ b/jamstack-init.js @@ -1,5 +1,5 @@ -const { mastodon, goodreads, lunr } = require('jam-my-stack'); +const { mastodon, goodreads, lunr, webmention } = require('jam-my-stack'); const fsp = require('fs').promises; @@ -24,6 +24,10 @@ const fsp = require('fs').promises; `${__dirname}/content/notes`]) await fsp.writeFile(`${__dirname}/static/js/brainbaking-post.json`, JSON.stringify(index), 'utf-8') + // 4. get webmentions + console.log("4. Fetching webmentions that aren't likes...") + const mentions = await webmention.getWebmentions("brainbaking.com") + await fsp.writeFile(`${__dirname}/data/webmentions.json`, mentions.filter(m => m.content && m.type !== "like"), 'utf-8') console.log("-- all done!") })() diff --git a/package.json b/package.json index 2dd385cc..8899894b 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,6 @@ }, "homepage": "https://brainbaking.com", "dependencies": { - "jam-my-stack": "^1.0.4" + "jam-my-stack": "^1.0.6" } } diff --git a/static/post/2021/03/ovh-fire.jpg b/static/post/2021/03/ovh-fire.jpg new file mode 100644 index 00000000..7644d7c5 Binary files /dev/null and b/static/post/2021/03/ovh-fire.jpg differ diff --git a/yarn.lock b/yarn.lock index 3e9cb553..2a1bbb9d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1453,7 +1453,7 @@ __metadata: "@babel/cli": ^7.8.4 "@babel/core": ^7.9.6 "@babel/preset-env": ^7.10.1 - jam-my-stack: ^1.0.4 + jam-my-stack: ^1.0.6 languageName: unknown linkType: soft @@ -1746,6 +1746,13 @@ __metadata: languageName: node linkType: hard +"dayjs@npm:^1.10.4": + version: 1.10.4 + resolution: "dayjs@npm:1.10.4" + checksum: 3b7bb2232fff808209870bc72d4b2000941a1aa45f0226e2907f9dd1dda306d4b3a1eb9058450fd2c324b01a007a37809ac6f9b525806a86902c55e2934cd5d5 + languageName: node + linkType: hard + "debug@npm:^2.2.0, debug@npm:^2.3.3": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -2699,18 +2706,18 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jam-my-stack@npm:^1.0.4": - version: 1.0.4 - resolution: "jam-my-stack@npm:1.0.4" +"jam-my-stack@npm:^1.0.6": + version: 1.0.6 + resolution: "jam-my-stack@npm:1.0.6" dependencies: + dayjs: ^1.10.4 ent: ^2.2.0 fast-xml-parser: ^3.18.0 got: ^11.8.2 howlongtobeat: ^1.3.1 lunr: ^2.3.9 - moment: ^2.29.1 parser-front-matter: ^1.6.4 - checksum: 9962c87f145ff83aa85b11e9b0072c0f6541049039783bd4e3a363e86083430e25a6acf027a61579a05375db10beafd2f1cb27eef47bbaa4d7b504b24dd5901f + checksum: a02edc71292ef92ed011b3198e31b54518f388c7f6331ff73bee7a7e2df3303233f0e8bf2f8a647850472505b2dfd894715be1f352d861bf40733514831e6459 languageName: node linkType: hard @@ -3071,13 +3078,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"moment@npm:^2.29.1": - version: 2.29.1 - resolution: "moment@npm:2.29.1" - checksum: 86729013febf7160de5b93da69273dd304d674b0224f9544b3abd09a87671ddd2cdd57598261ce57588910d63747ffd5590965e83c790d8bf327083c0e0a06e0 - languageName: node - linkType: hard - "ms@npm:2.0.0": version: 2.0.0 resolution: "ms@npm:2.0.0"