jam-my-stack 1.0.16 update, simplify wm sending

This commit is contained in:
Wouter Groeneveld 2021-04-16 16:35:03 +02:00
parent 699c2b77cb
commit b2c6c44cae
7 changed files with 12 additions and 237 deletions

View File

@ -32,7 +32,7 @@ So, how does Go fit in? Well, it _does not_. At all. Go compiles natively, there
- intricate garbage collection settings
- ...
Guess what. I don't miss a feature. They all add to the bloat - and learning curve - of the language and its ecosystem, and Go is designed with **simplicity** in mind. In fact, they're really picky about it: many language addition proposals are rejected after years of discussing, because it does not make things simpler. The reference [Go programming language](https://www.goodreads.com/book/show/25080953-the-go-programming-language) book is about 1/4th in thickness compared to my reference Java or C# book. Granted, it all looks a little bit weird, at first. Let's take a look at an example. Here's a typical set of classes:
Guess what. I don't miss most features. They all add to the bloat - and learning curve - of the language and its ecosystem, and Go is designed with **simplicity** in mind. In fact, they're really picky about it: many language addition proposals are rejected after years of discussing, because it does not make things simpler. The reference [Go programming language](https://www.goodreads.com/book/show/25080953-the-go-programming-language) book is about 1/4th in thickness compared to my reference Java or C# book. Granted, it all looks a little bit weird, at first. Let's take a look at an example. Here's a typical set of classes:
```java
public abstract class Animal {
@ -209,7 +209,7 @@ Is impossible without calling in external packages with unclear APIs and incompl
> Don't write Go code as you write code in C++/Java/Python. Write Go code as Gophers write code.
So I complied simply wrote a for loop. Next, I wanted to chain two string replace methods together, which is simply `"bla".replace(...).replace(...)` in any language - except Python perhaps. And Go. In Go, many utility functions reside in packages instead of as methods on the string type, resulting in something awkward as:
So I complied and simply wrote a for loop. Next, I wanted to chain two string replace methods together, which is simply `"bla".replace(...).replace(...)` in any language - except Python perhaps. And Go. In Go, many utility functions reside in packages instead of as methods on the string type, resulting in something awkward as:
```go
str := "yeah"
@ -299,7 +299,7 @@ Still, for a static language, it's more than elegant enough. It's not exactly fa
## To conclude
I love Go's simplicity philosophy and its powerful toolset. Compiling is _extremely_ fast, cross-compiling is ridiculously easy, and the language is small but powerful. I haven't even touched the subject of new interfaces that match existing structs. As an architect, I would choose Go as my go-to (ha!) backend programming language in a heartbeat. It's easy to understand and maintain, and those two reasons are very powerful arguments to convince managers. So yes, I'm also a Gopher now, and the hype is justified.
I love Go's simplicity philosophy and its powerful toolset. Compiling is _extremely_ fast, cross-compiling is ridiculously easy, and the language is small but powerful. It's [4x faster than PyPy](https://deavid.wordpress.com/2019/10/12/benchmarking-python-vs-pypy-vs-go-vs-rust/) for serving HTTP requests, which is 4 to 50x faster than CPython. Ouch! I haven't even touched the subject of new interfaces that match existing structs. As an architect, I would choose Go as my go-to (ha!) backend programming language in a heartbeat. It's easy to understand and maintain, and those two reasons are very powerful arguments to convince managers. So yes, I'm also a Gopher now, and the hype is justified.
Still, I also want to have fun when writing code. Go is more fun than C, C++, C#, and perhaps Java, although the latter depends on what other ecosystems you have running on the JVM. But I don't think I can say I enjoy Go more than JS, even though many people will probably shoot me for saying that. I am well aware of the trainwreck called ECMA, and its increased complexity, which I do not support at all. Who wants classes in their JS anyway?

View File

@ -1,3 +0,0 @@
{
"since": "2021-04-16T13:50:08.403Z"
}

View File

@ -1,214 +1,4 @@
[
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2018",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2018\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t22\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tOver analoog en digitaal\n\t\t\t\t\n\t\t\t\tWaarom een fysieke handeling niet vervangbaar is \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tbraindump\n\t\t\t\t\t\n\t\t\t\t\t\tretr...",
"published": "2021-04-16T14:19:13",
"url": "https://brainbaking.com/post/2018/",
"type": "mention",
"source": "https://brainbaking.com/post/2018/",
"target": "https://brainbaking.com/tags/phd",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/tags/phd"
},
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2018",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2018\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t22\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tOver analoog en digitaal\n\t\t\t\t\n\t\t\t\tWaarom een fysieke handeling niet vervangbaar is \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tbraindump\n\t\t\t\t\t\n\t\t\t\t\t\tretr...",
"published": "2021-04-16T14:19:13",
"url": "https://brainbaking.com/post/2018/",
"type": "mention",
"source": "https://brainbaking.com/post/2018/",
"target": "https://brainbaking.com/tags/concentration",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/tags/concentration"
},
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2016",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2016\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t27\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tUnit testing in Legacy Projects: VB6\n\t\t\t\t\n\t\t\t\tEven older 4GL languages have unit testing capabilities \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tprogram...",
"published": "2021-04-16T14:19:13",
"url": "https://brainbaking.com/post/2016/",
"type": "mention",
"source": "https://brainbaking.com/post/2016/",
"target": "https://brainbaking.com/tags/javascript",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/tags/javascript"
},
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2017",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2017\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t30\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tInventing - for the worse?\n\t\t\t\t\n\t\t\t\tIs inventing always a good thing? \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tlearning\n\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t<>...",
"published": "2021-04-16T14:19:13",
"url": "https://brainbaking.com/post/2017/",
"type": "mention",
"source": "https://brainbaking.com/post/2017/",
"target": "https://brainbaking.com/tags/fountain-pens",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/tags/fountain-pens"
},
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2016",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2016\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t27\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tUnit testing in Legacy Projects: VB6\n\t\t\t\t\n\t\t\t\tEven older 4GL languages have unit testing capabilities \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tprogram...",
"published": "2021-04-16T14:19:13",
"url": "https://brainbaking.com/post/2016/",
"type": "mention",
"source": "https://brainbaking.com/post/2016/",
"target": "https://brainbaking.com/categories/programming",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/categories/programming"
},
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2017",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2017\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t30\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tInventing - for the worse?\n\t\t\t\t\n\t\t\t\tIs inventing always a good thing? \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tlearning\n\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t<>...",
"published": "2021-04-16T14:19:13",
"url": "https://brainbaking.com/post/2017/",
"type": "mention",
"source": "https://brainbaking.com/post/2017/",
"target": "https://brainbaking.com/categories/education",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/categories/education"
},
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2017",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2017\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t30\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tInventing - for the worse?\n\t\t\t\t\n\t\t\t\tIs inventing always a good thing? \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tlearning\n\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t<>...",
"published": "2021-04-16T14:19:13",
"url": "https://brainbaking.com/post/2017/",
"type": "mention",
"source": "https://brainbaking.com/post/2017/",
"target": "https://brainbaking.com/tags/cooking",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/tags/cooking"
},
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2018",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2018\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t22\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tOver analoog en digitaal\n\t\t\t\t\n\t\t\t\tWaarom een fysieke handeling niet vervangbaar is \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tbraindump\n\t\t\t\t\t\n\t\t\t\t\t\tretr...",
"published": "2021-04-16T14:19:13",
"url": "https://brainbaking.com/post/2018/",
"type": "mention",
"source": "https://brainbaking.com/post/2018/",
"target": "https://brainbaking.com/tags/c",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/tags/c"
},
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2017",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2017\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t30\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tInventing - for the worse?\n\t\t\t\t\n\t\t\t\tIs inventing always a good thing? \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tlearning\n\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t<>...",
"published": "2021-04-16T14:19:13",
"url": "https://brainbaking.com/post/2017/",
"type": "mention",
"source": "https://brainbaking.com/post/2017/",
"target": "https://brainbaking.com/tags/giving",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/tags/giving"
},
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2016",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2016\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t27\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tUnit testing in Legacy Projects: VB6\n\t\t\t\t\n\t\t\t\tEven older 4GL languages have unit testing capabilities \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tprogram...",
"published": "2021-04-16T14:19:13",
"url": "https://brainbaking.com/post/2016/",
"type": "mention",
"source": "https://brainbaking.com/post/2016/",
"target": "https://brainbaking.com/tags/unit-testing",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/tags/unit-testing"
},
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2017",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2017\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t30\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tInventing - for the worse?\n\t\t\t\t\n\t\t\t\tIs inventing always a good thing? \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tlearning\n\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t<>...",
"published": "2021-04-16T14:19:12",
"url": "https://brainbaking.com/post/2017/",
"type": "mention",
"source": "https://brainbaking.com/post/2017/",
"target": "https://brainbaking.com/tags/principles",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/tags/principles"
},
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2017",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2017\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t30\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tInventing - for the worse?\n\t\t\t\t\n\t\t\t\tIs inventing always a good thing? \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tlearning\n\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t<>...",
"published": "2021-04-16T14:19:12",
"url": "https://brainbaking.com/post/2017/",
"type": "mention",
"source": "https://brainbaking.com/post/2017/",
"target": "https://brainbaking.com/tags/development",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/tags/development"
},
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2017",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2017\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t30\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tInventing - for the worse?\n\t\t\t\t\n\t\t\t\tIs inventing always a good thing? \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tlearning\n\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t<>...",
"published": "2021-04-16T14:19:12",
"url": "https://brainbaking.com/post/2017/",
"type": "mention",
"source": "https://brainbaking.com/post/2017/",
"target": "https://brainbaking.com/tags/journaling",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/tags/journaling"
},
{
"author": {
"name": "",
"picture": ""
},
"name": "page type\n \n Archive by year: 2017",
"content": "Not finding what you're looking for? Browse the archives.\n\n\n\t2017\n\n\t\n \tDec\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t30\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tInventing - for the worse?\n\t\t\t\t\n\t\t\t\tIs inventing always a good thing? \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tlearning\n\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t<>...",
"published": "2021-04-16T14:19:12",
"url": "https://brainbaking.com/post/2017/",
"type": "mention",
"source": "https://brainbaking.com/post/2017/",
"target": "https://brainbaking.com/tags/craftsmanship",
"publishedFromNow": "in 29 minutes",
"relativeTarget": "/tags/craftsmanship"
},
{
"author": {
"name": "Henrique Dias",
@ -221,7 +11,6 @@
"type": "mention",
"source": "https://hacdias.com/notes/site-ideas",
"target": "https://brainbaking.com/post/2021/04/using-hugo-to-launch-a-gemini-capsule/",
"publishedFromNow": "2 days ago",
"relativeTarget": "/post/2021/04/using-hugo-to-launch-a-gemini-capsule/"
},
{
@ -236,7 +25,6 @@
"type": "mention",
"source": "https://brainbaking.com/notes/2021/03/20h13m27s36/",
"target": "http://brainbaking.com",
"publishedFromNow": "a month ago",
"relativeTarget": ""
},
{
@ -251,7 +39,6 @@
"type": "mention",
"source": "https://brainbaking.com/notes/2021/03/20h13m27s36/",
"target": "https://brainbaking.com/notes/",
"publishedFromNow": "a month ago",
"relativeTarget": "/notes/"
},
{
@ -266,7 +53,6 @@
"type": "mention",
"source": "https://www.jvt.me/mf2/2021/03/1bkre/",
"target": "https://brainbaking.com/post/2021/03/the-indieweb-mixed-bag/",
"publishedFromNow": "a month ago",
"relativeTarget": "/post/2021/03/the-indieweb-mixed-bag/"
},
{
@ -281,7 +67,6 @@
"type": "mention",
"source": "https://brainbaking.com/notes/2021/03/13h09m58s25/",
"target": "https://brainbaking.com/post/2021/03/getting-rid-of-tracking-using-lineageos/",
"publishedFromNow": "a month ago",
"relativeTarget": "/post/2021/03/getting-rid-of-tracking-using-lineageos/"
},
{
@ -296,7 +81,6 @@
"type": "mention",
"source": "https://brainbaking.com/notes/2021/03/09h15m17s30/",
"target": "https://brainbaking.com/post/2021/03/the-indieweb-mixed-bag/",
"publishedFromNow": "a month ago",
"relativeTarget": "/post/2021/03/the-indieweb-mixed-bag/"
},
{
@ -311,7 +95,6 @@
"type": "mention",
"source": "https://brainbaking.com/notes/2021/03/03h16m00s44/",
"target": "https://brainbaking.com/notes/",
"publishedFromNow": "a month ago",
"relativeTarget": "/notes/"
},
{
@ -326,7 +109,6 @@
"type": "mention",
"source": "https://brainbaking.com/notes/2021/03/03h16m00s44/",
"target": "http://brainbaking.com",
"publishedFromNow": "a month ago",
"relativeTarget": ""
},
{
@ -341,7 +123,6 @@
"type": "mention",
"source": "https://brainbaking.com/notes/2021/03/02h17m13s27/",
"target": "https://brainbaking.com/post/2021/02/my-retro-desktop-setup/",
"publishedFromNow": "a month ago",
"relativeTarget": "/post/2021/02/my-retro-desktop-setup/"
},
{
@ -356,7 +137,6 @@
"type": "mention",
"source": "https://brainbaking.com/notes/2021/03/01h20m03s35/",
"target": "https://brainbaking.com/post/2021/03/getting-rid-of-tracking-using-lineageos/",
"publishedFromNow": "2 months ago",
"relativeTarget": "/post/2021/03/getting-rid-of-tracking-using-lineageos/"
},
{
@ -371,7 +151,6 @@
"type": "mention",
"source": "https://jefklakscodex.com/articles/retrospectives/raven-shield-17-years-later/",
"target": "https://brainbaking.com/post/2020/10/building-a-core2duo-winxp-retro-pc/",
"publishedFromNow": "6 months ago",
"relativeTarget": "/post/2020/10/building-a-core2duo-winxp-retro-pc/"
},
{
@ -386,7 +165,6 @@
"type": "mention",
"source": "https://jefklakscodex.com/articles/features/reviews-from-2001-revived/",
"target": "https://brainbaking.com/post/2020/09/reviving-a-80486/",
"publishedFromNow": "7 months ago",
"relativeTarget": "/post/2020/09/reviving-a-80486/"
}
]

View File

@ -34,8 +34,8 @@ const fsp = require('fs').promises;
// 5. send webmentions
console.log("5. Sending webmentions...")
const since = await webmention.send("brainbaking.com", `${__dirname}/data/webmentions-since.json`)
console.log(` -- done, since is now ${since}`)
const since = await webmention.send("brainbaking.com")
console.log(` -- done`)
console.log("-- all done!")
})()

View File

@ -26,6 +26,6 @@
},
"homepage": "https://brainbaking.com",
"dependencies": {
"jam-my-stack": "^1.0.15"
"jam-my-stack": "^1.0.16"
}
}

File diff suppressed because one or more lines are too long

View File

@ -1460,7 +1460,7 @@ __metadata:
"@babel/cli": ^7.8.4
"@babel/core": ^7.9.6
"@babel/preset-env": ^7.10.1
jam-my-stack: ^1.0.15
jam-my-stack: ^1.0.16
languageName: unknown
linkType: soft
@ -2747,9 +2747,9 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"jam-my-stack@npm:^1.0.15":
version: 1.0.15
resolution: "jam-my-stack@npm:1.0.15"
"jam-my-stack@npm:^1.0.16":
version: 1.0.16
resolution: "jam-my-stack@npm:1.0.16"
dependencies:
dayjs: ^1.10.4
ejs: ^3.1.6
@ -2759,7 +2759,7 @@ fsevents@^1.2.7:
howlongtobeat: ^1.3.1
lunr: ^2.3.9
parser-front-matter: ^1.6.4
checksum: 967a6f1653f09823a442468c216ac7943c0b6f7cad43fe92abc7ef7232c1e509ea3ee716ac642f0eb4dd908a8e0221d9f626b6acb01f9ace21d544eaa4f9bc58
checksum: 347ff454703ca84a54198b7943efc99b5b1df7ed26554243fca6e701e15e97658f5453d519731fcde0c1663732740ef7bf32f3d2d20ddddc1a57ee139fbe06a2
languageName: node
linkType: hard