new layout
|
@ -4,3 +4,6 @@
|
|||
[submodule "brainsteam/themes/Mainroad"]
|
||||
path = brainsteam/themes/Mainroad
|
||||
url = ssh://git@git.jamesravey.me:222/ravenscroftj/Mainroad.git
|
||||
[submodule "brainsteam/themes/plague"]
|
||||
path = brainsteam/themes/plague
|
||||
url = https://github.com/brianreumere/plague.git
|
||||
|
|
|
@ -2,12 +2,19 @@ baseURL = "https://brainsteam.co.uk/"
|
|||
languageCode = "en-us"
|
||||
title = "Brainsteam"
|
||||
#theme='hugo-ink'
|
||||
theme='Mainroad'
|
||||
#theme='Mainroad'
|
||||
theme='plague'
|
||||
paginate=10
|
||||
disqusShortname = "brainsteam"
|
||||
|
||||
copyright = "© James Ravenscroft"
|
||||
|
||||
[module]
|
||||
[[module.imports]]
|
||||
disable = false
|
||||
ignoreConfig = false
|
||||
ignoreImports = true
|
||||
path = 'plague' # Theme
|
||||
|
||||
|
||||
pygmentsstyle = "vs"
|
||||
|
@ -31,48 +38,76 @@ post_meta = ["author", "date", "categories", "translations"] # Order of post met
|
|||
[markup.goldmark.renderer]
|
||||
unsafe= true
|
||||
|
||||
[Params]
|
||||
|
||||
|
||||
[params]
|
||||
authorbox= true
|
||||
subtitle = "Digital Home of James Ravenscroft Machine Learning and NLP specialist and software generalist"
|
||||
|
||||
avatar = "/images/avatar_small.png"
|
||||
|
||||
favicon = "/images/avatar_small.png"
|
||||
siteHeaderText = "Brainsteam"
|
||||
siteFooterText = "Powered by [Hugo](https://gohugo.io/) and the [plague](https://github.com/brianreumere/plague) theme."
|
||||
|
||||
copyright = "James Ravenscroft"
|
||||
# subtitle = "Digital Home of James Ravenscroft Machine Learning and NLP specialist and software generalist"
|
||||
|
||||
# avatar = "/images/avatar_small.png"
|
||||
|
||||
# favicon = "/images/avatar_small.png"
|
||||
|
||||
# copyright = "James Ravenscroft"
|
||||
|
||||
recentSections = ["posts"]
|
||||
|
||||
mainSections = ["posts","notes","replies","likes","reposts","bookmarks", "watches"]
|
||||
colors = "default"
|
||||
|
||||
[Author] # Used in authorbox
|
||||
name = "James Ravenscroft"
|
||||
bio = "James is an NLP and Machine Learning specialist and software generalist, currently CTO at Filament and previously an IBMer"
|
||||
avatar = "/images/avatar.png"
|
||||
#mainSections = ["posts","notes","replies","likes","reposts","bookmarks", "watches"]
|
||||
mainSections = ["posts"]
|
||||
|
||||
|
||||
[Params.Logo]
|
||||
image = "/images/avatar_small.png"
|
||||
[params.hcard]
|
||||
avatar = "images/avatar_small.png"
|
||||
fullName = "James Ravenscroft"
|
||||
pronouns = ["he", "him"]
|
||||
nickname = "jamesravey"
|
||||
city = "Portsmouth"
|
||||
region = "Hants"
|
||||
country = "United Kingdom"
|
||||
showLocation = true
|
||||
|
||||
[Params.sidebar]
|
||||
home = "right" # Configure layout for home page
|
||||
list = "right" # Configure layout for list pages
|
||||
single = false # Configure layout for single pages
|
||||
# Enable widgets in given order
|
||||
widgets = ["search", "recent", "types", "social", "categories", "taglist", "languages"]
|
||||
social = [
|
||||
{ platform = "github", identity = "ravenscroftj", url_pattern = "https://github.com/%s" },
|
||||
{ platform = "mastodon", identity = "jamesravey", url_pattern = "https://fosstodon.org/%s"},
|
||||
{ platform = "bluesky", identity = "jamesravey", url_pattern = "https://bsky.app/profile/%s"}
|
||||
]
|
||||
|
||||
[Params.widgets.social]
|
||||
# Enable parts of social widget
|
||||
#facebook = "username"
|
||||
#twitter = "username"
|
||||
#instagram = "username"
|
||||
#linkedin = "username"
|
||||
#telegram = "username"
|
||||
github = "ravenscroftj"
|
||||
mastodon = "https://fosstodon.org/@jamesravey"
|
||||
#gitlab = "username"
|
||||
#bitbucket = "username"
|
||||
#email = "example@example.com"
|
||||
|
||||
# [Author] # Used in authorbox
|
||||
# name = "James Ravenscroft"
|
||||
# bio = "James is an NLP and Machine Learning specialist and software generalist, currently CTO at Filament and previously an IBMer"
|
||||
# avatar = "/images/avatar.png"
|
||||
|
||||
|
||||
# [Params.Logo]
|
||||
# image = "/images/avatar_small.png"
|
||||
|
||||
# [Params.sidebar]
|
||||
# home = "right" # Configure layout for home page
|
||||
# list = "right" # Configure layout for list pages
|
||||
# single = false # Configure layout for single pages
|
||||
# # Enable widgets in given order
|
||||
# widgets = ["search", "recent", "types", "social", "categories", "taglist", "languages"]
|
||||
|
||||
# [Params.widgets.social]
|
||||
# # Enable parts of social widget
|
||||
# #facebook = "username"
|
||||
# #twitter = "username"
|
||||
# #instagram = "username"
|
||||
# #linkedin = "username"
|
||||
# #telegram = "username"
|
||||
# github = "ravenscroftj"
|
||||
# mastodon = "https://fosstodon.org/@jamesravey"
|
||||
# #gitlab = "username"
|
||||
# #bitbucket = "username"
|
||||
# #email = "example@example.com"
|
||||
|
||||
[[menu.main]]
|
||||
name = "Home"
|
||||
|
@ -80,20 +115,20 @@ url = "/"
|
|||
weight = 1
|
||||
|
||||
[[menu.main]]
|
||||
name = "Blog Posts"
|
||||
name = "Posts"
|
||||
url = "/posts"
|
||||
weight = 2
|
||||
|
||||
|
||||
[[menu.main]]
|
||||
name = "About Me"
|
||||
url = "/pages/about"
|
||||
name = "Notes"
|
||||
url = "/notes/"
|
||||
weight = 3
|
||||
|
||||
|
||||
[[menu.main]]
|
||||
name = "My Work"
|
||||
url = "/pages/my-work"
|
||||
name = "Links"
|
||||
url = "/bookmarks/"
|
||||
weight = 5
|
||||
|
||||
[[menu.main]]
|
||||
|
@ -102,26 +137,6 @@ url = "/search"
|
|||
weight = 6
|
||||
|
||||
|
||||
[[params.social]]
|
||||
name = "Twitter"
|
||||
icon = "twitter"
|
||||
url = "https://twitter.com/jamesravey/"
|
||||
|
||||
[[params.social]]
|
||||
name = "Mastodon"
|
||||
url ="https://fosstodon.org/@jamesravey"
|
||||
icon = "message-circle"
|
||||
|
||||
[[params.social]]
|
||||
name = "Github"
|
||||
icon = "github"
|
||||
url = "https://github.com/ravenscroftj"
|
||||
|
||||
[[params.social]]
|
||||
name = "RSS"
|
||||
icon = "rss"
|
||||
url = "/pages/feeds/"
|
||||
|
||||
|
||||
[taxonomies]
|
||||
tag = "tags"
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
---
|
||||
|
||||
Welcome to the Digital Home of James Ravenscroft Machine Learning and NLP specialist and software generalist.
|
|
@ -1,19 +1,18 @@
|
|||
---
|
||||
date: '2023-06-19T21:44:34.280750'
|
||||
date: "2023-06-19T21:44:34.280750"
|
||||
mp-syndicate-to:
|
||||
- https://brid.gy/publish/mastodon
|
||||
- https://brid.gy/publish/mastodon
|
||||
photo:
|
||||
- https://brainsteam.co.uk/media/2023/06/19/1687211074_0.jpg
|
||||
- url: https://brainsteam.co.uk/media/2023/06/19/1687211074_0.jpg
|
||||
alt: a tiny mouse staring through the bars of a humane trap next to a large pile of peanut butter
|
||||
post_meta:
|
||||
- date
|
||||
- date
|
||||
tags:
|
||||
- personal
|
||||
- humour
|
||||
- personal
|
||||
- humour
|
||||
thumbnail: https://brainsteam.co.uk/media/2023/06/19/1687211074_0.jpg
|
||||
type: notes
|
||||
url: /notes/2023/06/19/1687211074
|
||||
---
|
||||
|
||||
<img src="/media/2023/06/19/1687211074_0.jpg" alt="a tiny mouse staring through the bars of a humane trap next to a large pile of peanut butter" class="u-photo" />
|
||||
|
||||
Had a run in with this little guy this morning. He's been living in our garage eating bird seed out of a sack I bought for our bird feeders for a few weeks. I set up infrared cameras and humane traps and I've been watching him scurrying around cutely at night.we released him into a hedgerow next to a big field this morning and I'm kind of going to miss him.
|
||||
Had a run in with this little guy this morning. He's been living in our garage eating bird seed out of a sack I bought for our bird feeders for a few weeks. I set up infrared cameras and humane traps and I've been watching him scurrying around cutely at night.we released him into a hedgerow next to a big field this morning and I'm kind of going to miss him.
|
||||
|
|
|
@ -1,18 +1,13 @@
|
|||
---
|
||||
date: '2023-07-09T14:20:02.886483'
|
||||
date: "2023-07-09T14:20:02.886483"
|
||||
post_meta: ["date"]
|
||||
photo:
|
||||
- /media/2023/07/09/1688912402_0.jpg
|
||||
- https://brainsteam.co.uk/media/2023/07/09/1688912402_0.jpg
|
||||
tags:
|
||||
- personal
|
||||
thumbnail: /media/2023/07/09/1688912402_0.jpg
|
||||
- personal
|
||||
thumbnail: https://brainsteam.co.uk/media/2023/07/09/1688912402_0.jpg
|
||||
type: notes
|
||||
url: /notes/2023/07/09/1688912402
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
<img src="/media/2023/07/09/1688912402_0.jpg" class="u-photo" />
|
||||
|
||||
Welcome to my new look website. I've spent my Sunday morning getting the site looking nice and setting up webmentions. I'm now just testing that I can still make new posts
|
||||
Welcome to my new look website. I've spent my Sunday morning getting the site looking nice and setting up webmentions. I'm now just testing that I can still make new posts
|
||||
|
|
|
@ -1,22 +1,19 @@
|
|||
---
|
||||
date: '2023-08-06T09:09:35.376904'
|
||||
date: "2023-08-06T09:09:35.376904"
|
||||
mp-syndicate-to:
|
||||
- https://brid.gy/publish/mastodon
|
||||
- https://brid.gy/publish/mastodon
|
||||
photo:
|
||||
- /media/2023/08/06/1691312975_0.jpg
|
||||
- /media/2023/08/06/1691312975_0.jpg
|
||||
post_meta:
|
||||
- date
|
||||
- date
|
||||
tags:
|
||||
- personal
|
||||
- personal
|
||||
thumbnail: /media/2023/08/06/1691312975_0.jpg
|
||||
type: notes
|
||||
url: /notes/2023/08/06/1691312975
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
<img src="/media/2023/08/06/1691312975_0.jpg" alt="James walking along a beach wearing sunglasses. the sky is clear and blue." class="u-photo" />
|
||||
|
||||
a quick walk along Lee-on-the-Solent beach to burn some morning lark energy this morning
|
||||
<a href="https://brid.gy/publish/mastodon"></a>
|
||||
a quick walk along Lee-on-the-Solent beach to burn some morning lark energy this morning
|
||||
<a href="https://brid.gy/publish/mastodon"></a>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
post_meta:
|
||||
- date
|
||||
- date
|
||||
title: About Me
|
||||
type: pages
|
||||
url: /pages/about
|
||||
|
@ -11,8 +11,6 @@ I'm James, I am a Chief Technology Officer and Software Engineer specialising in
|
|||
- [What I'm up to right now](#what-im-up-to-right-now)
|
||||
- [What I do for work](#what-i-do-for-work)
|
||||
- [What I do for fun](#what-i-do-for-fun)
|
||||
- [About The Site](#about-the-site)
|
||||
|
||||
|
||||
## What I'm up to right now
|
||||
|
||||
|
@ -20,29 +18,17 @@ I keep my [now](/now) page up to date with exactly where I'm at.
|
|||
|
||||
## What I do for work
|
||||
|
||||
- I've been freelancing and [building websites](https://web.archive.org/web/20051102052726/http://www.simssource.net/) since the mid 00s
|
||||
- I started my full time career at IBM in 2011 in their [CICS transaction processing product](https://www.ibm.com/it-infrastructure/z/cics) before moving over to Watson where I was a customer-facing solutions architect which entailed helping other techies to use Watson APIs and services.
|
||||
- In 2016 I left IBM to co-found [Filament AI](https://filament.ai), formerly an AI & ML consultancy and now a software product business where I am currently CTO and Chief Data Scientist. I oversee and manage our technical roadmap and strategy, but I also keep my hands dirty and regularly deliver code for customers and for our products.
|
||||
- In 2022 I wrapped up up my part-time PhD which I've been working on under the dual supervision of [Prof. Maria Liakata](https://www.turing.ac.uk/people/researchers/maria-liakata) at the [Alan Turing Institute](https://www.turing.ac.uk/) [Dr Amanda Clare](https://users.aber.ac.uk/afc/) at Aberystwth University (where I finished my BSc in 2013).
|
||||
- My main academic affiliation was with [University of Warwick](https://warwick.ac.uk/fac/sci/dcs/) but, I often crash Turing events and, I've been known to visit Aberystwyth to give talks at careers events and departmental seminars.
|
||||
|
||||
- I've been freelancing and [building websites](https://web.archive.org/web/20051102052726/http://www.simssource.net/) since the mid 00s
|
||||
- I started my full time career at IBM in 2011 in their [CICS transaction processing product](https://www.ibm.com/it-infrastructure/z/cics) before moving over to Watson where I was a customer-facing solutions architect which entailed helping other techies to use Watson APIs and services.
|
||||
- In 2016 I left IBM to co-found [Filament AI](https://filament.ai), formerly an AI & ML consultancy and now a software product business where I am currently CTO and Chief Data Scientist. I oversee and manage our technical roadmap and strategy, but I also keep my hands dirty and regularly deliver code for customers and for our products.
|
||||
- In 2022 I wrapped up up my part-time PhD which I've been working on under the dual supervision of [Prof. Maria Liakata](https://www.turing.ac.uk/people/researchers/maria-liakata) at the [Alan Turing Institute](https://www.turing.ac.uk/) [Dr Amanda Clare](https://users.aber.ac.uk/afc/) at Aberystwth University (where I finished my BSc in 2013).
|
||||
- My main academic affiliation was with [University of Warwick](https://warwick.ac.uk/fac/sci/dcs/) but, I often crash Turing events and, I've been known to visit Aberystwyth to give talks at careers events and departmental seminars.
|
||||
|
||||
## What I do for fun
|
||||
|
||||
- I'm a big fan of food - both cooking and eating it.
|
||||
- I like to tinker with software and hardware (like [this talking moose head](/2016/06/05/blackgangpi-a-raspberry-pi-hack-at-blackgang-chine/)) in my spare time. I'm a big fan of open source culture including efforts to decentralise the web like [indieweb](https://indieweb.org/) and [the fediverse](https://fediverse.party/en/fediverse).
|
||||
- I like to read, frequently science fiction and fantasy but the occasional pop-sci title or general fiction. I have historically tracked some of my reading over at [Goodreads](https://www.goodreads.com/user/show/4547536-james-ravenscroft) but I now keep track with [Bookwyrm](https://bookwyrm.social/user/jamesravey) and eventually I plan to start tracking this stuff here via [bookwyrm](https://indiebookclub.biz/) and micropub.
|
||||
- I like to watch box sets and movies - my wife and I are [Cineworld Unlimited card](cineworld.co.uk/) holders.
|
||||
- I've been playing saxophone (Alto and Tenor mainly) off-and-on since the early 2000s. I can also play a few chords on a guitar and I'll happily tinker with a piano/keyboard, harmonica and clarinet although don't ask me to play you a full track!
|
||||
- Although I've not had time recently I did really enjoy [Lindyhop](/2015/06/28/bedford-place-vintage-festival/) - a 1920s style swing dance.
|
||||
|
||||
## About The Site
|
||||
|
||||
I'm using some icons from SVGRepo like:
|
||||
- [the link icon](https://www.svgrepo.com/svg/525988/link)
|
||||
- [the like icon](https://www.svgrepo.com/svg/506227/like)
|
||||
- [the comment icon](https://www.svgrepo.com/svg/522070/comment-3)
|
||||
- [the repost icon](https://www.svgrepo.com/svg/469632/retweet)
|
||||
- [the mastodon icon](https://www.svgrepo.com/svg/362235/mastodon-simple)
|
||||
|
||||
in all cases I've made some small changes to the svg metadata - you're free to copy and make similar changes to these according to [the license](https://www.svgrepo.com/page/licensing#CC%20Attribution)
|
||||
- I'm a big fan of food - both cooking and eating it.
|
||||
- I like to tinker with software and hardware (like [this talking moose head](/2016/06/05/blackgangpi-a-raspberry-pi-hack-at-blackgang-chine/)) in my spare time. I'm a big fan of open source culture including efforts to decentralise the web like [indieweb](https://indieweb.org/) and [the fediverse](https://fediverse.party/en/fediverse).
|
||||
- I like to read, frequently science fiction and fantasy but the occasional pop-sci title or general fiction. I have historically tracked some of my reading over at [Goodreads](https://www.goodreads.com/user/show/4547536-james-ravenscroft) but I now keep track with [Bookwyrm](https://bookwyrm.social/user/jamesravey) and eventually I plan to start tracking this stuff here via [bookwyrm](https://indiebookclub.biz/) and micropub.
|
||||
- I like to watch box sets and movies - my wife and I are [Cineworld Unlimited card](cineworld.co.uk/) holders.
|
||||
- I've been playing saxophone (Alto and Tenor mainly) off-and-on since the early 2000s. I can also play a few chords on a guitar and I'll happily tinker with a piano/keyboard, harmonica and clarinet although don't ask me to play you a full track!
|
||||
- Although I've not had time recently I did really enjoy [Lindyhop](/2015/06/28/bedford-place-vintage-festival/) - a 1920s style swing dance.
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
---
|
||||
post_meta:
|
||||
- date
|
||||
---
|
|
@ -1,4 +0,0 @@
|
|||
---
|
||||
post_meta:
|
||||
- date
|
||||
---
|
|
@ -2,16 +2,15 @@
|
|||
date: 2023-02-01 09:39:03+00:00
|
||||
description: Why you shouldn't use async in your new Promise()
|
||||
mp-syndicate-to:
|
||||
- https://brid.gy/publish/mastodon
|
||||
- https://brid.gy/publish/twitter
|
||||
- https://brid.gy/publish/mastodon
|
||||
- https://brid.gy/publish/twitter
|
||||
post_meta:
|
||||
- date
|
||||
- date
|
||||
tags:
|
||||
- nodejs
|
||||
- typescript
|
||||
- javascript
|
||||
- softeng
|
||||
- null
|
||||
- nodejs
|
||||
- typescript
|
||||
- javascript
|
||||
- softeng
|
||||
title: Async Promise Constructors
|
||||
type: posts
|
||||
url: /2023/2/1/async-promise-constructors
|
||||
|
@ -22,24 +21,22 @@ I ran into an interesting typescript/js problem yesterday at work.
|
|||
The following code snippet was generating an error and a stack trace that was never being propagated up to the caller:
|
||||
|
||||
```typescript
|
||||
return new Promise(async (resolve, reject) =>{
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const data = await this.client.getObject(bucket, path);
|
||||
|
||||
const data = await this.client.getObject(bucket, path)
|
||||
const buf: any[] = [];
|
||||
|
||||
const buf : any[] = []
|
||||
data.on("data", (data) => {
|
||||
buf.push(data);
|
||||
});
|
||||
|
||||
data.on('data', (data) => {
|
||||
buf.push(data)
|
||||
})
|
||||
|
||||
data.on('error', (err) => {
|
||||
reject(err)
|
||||
})
|
||||
|
||||
data.on('end', ()=>{
|
||||
resolve(JSON.parse(Buffer.concat(buf).toString()))
|
||||
})
|
||||
data.on("error", (err) => {
|
||||
reject(err);
|
||||
});
|
||||
|
||||
data.on("end", () => {
|
||||
resolve(JSON.parse(Buffer.concat(buf).toString()));
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
|
@ -47,31 +44,32 @@ The code basically uses [minio](https://min.io/)'s client library to get the con
|
|||
|
||||
Seasoned js folks may have already spotted the problem (or at least guessed it based on the blog post title).
|
||||
|
||||
I'ved used an `async` function inside my Promise constructor. I'm doing this so that I can make my async call to S3 but this has the added side effect of turning my promise constructer itself into a promise (promise-ception?). Promise constructors can't `await` so effectively if the `getObject` async call fails, the error is lost and nothing happens and the outer promise is never resolved or rejected.
|
||||
I'ved used an `async` function inside my Promise constructor. I'm doing this so that I can make my async call to S3 but this has the added side effect of turning my promise constructer itself into a promise (promise-ception?). Promise constructors can't `await` so effectively if the `getObject` async call fails, the error is lost and nothing happens and the outer promise is never resolved or rejected.
|
||||
|
||||
As it turns out, [eslint has a rule for this](https://eslint.org/docs/latest/rules/no-async-promise-executor) which I had turned off.
|
||||
As it turns out, [eslint has a rule for this](https://eslint.org/docs/latest/rules/no-async-promise-executor) which I had turned off.
|
||||
|
||||
### Solution
|
||||
|
||||
I could make the getObject outer function async and then do the `getObject()` call in the outer layer:
|
||||
|
||||
```typescript
|
||||
async function someFunction() {
|
||||
const data = await this.client.getObject(bucket, path);
|
||||
|
||||
async function someFunction(){
|
||||
return new Promise((resolve, reject) => {
|
||||
const buf: any[] = [];
|
||||
|
||||
const data = await this.client.getObject(bucket, path)
|
||||
|
||||
return new Promise((resolve, reject) =>{
|
||||
const buf : any[] = []
|
||||
|
||||
data.on('data', (data) => { buf.push(data) })
|
||||
data.on('error', (err) => { reject(err) })
|
||||
data.on('end', ()=>{
|
||||
resolve(JSON.parse(Buffer.concat(buf).toString()))
|
||||
})
|
||||
data.on("data", (data) => {
|
||||
buf.push(data);
|
||||
});
|
||||
data.on("error", (err) => {
|
||||
reject(err);
|
||||
});
|
||||
data.on("end", () => {
|
||||
resolve(JSON.parse(Buffer.concat(buf).toString()));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
Now if the `getObject` call fails the whole `someFunction()` fails (effectively the promise that is generated by use of the await/async syntactic sugar is rejected).
|
||||
Now if the `getObject` call fails the whole `someFunction()` fails (effectively the promise that is generated by use of the await/async syntactic sugar is rejected).
|
||||
|
|
|
@ -10,7 +10,7 @@ post_meta:
|
|||
resources:
|
||||
- name: feature
|
||||
src: images/language.jpg
|
||||
thumbnail: /2023/3/25//nlp-is-more-than-just-llms/images/language.jpg
|
||||
thumbnail: images/language.jpg
|
||||
tags:
|
||||
- nlp
|
||||
- llms
|
||||
|
|
|
@ -12,7 +12,7 @@ tags:
|
|||
- personal
|
||||
- ai
|
||||
- ml
|
||||
thumbnail: /2023/6/17/xavier-the-spotify-dj/images/dj.png
|
||||
thumbnail: images/dj.png
|
||||
title: Xavier the Spotify AI DJ
|
||||
type: posts
|
||||
url: /2023/6/17/xavier-the-spotify-dj
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
title: "Turbopilot"
|
||||
date: 2023-08-05T19:40:53+01:00
|
||||
draft: true
|
||||
description: short summary
|
||||
url: /2023/8/5/turbopilot
|
||||
type: posts
|
||||
mp-syndicate-to:
|
||||
- https://brid.gy/publish/mastodon
|
||||
- https://brid.gy/publish/twitter
|
||||
tags:
|
||||
- post
|
||||
---
|
||||
|
||||
In April I caught COVID and while I was stuck at home I got bored with sitting around feeling sorry for myself, so I decided to play around with
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
title: "FreshRSS Updates"
|
||||
date: 2023-08-13T08:39:05+01:00
|
||||
description: Troubleshooting some freshrss maaintenance issues
|
||||
url: /2023/8/13/freshrss-updates
|
||||
type: posts
|
||||
mp-syndicate-to:
|
||||
- https://brid.gy/publish/mastodon
|
||||
- https://brid.gy/publish/twitter
|
||||
tags:
|
||||
- rss
|
||||
- selfhosting
|
||||
---
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<svg viewBox="0 0 360 320" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M254.896 184.158C252.81 183.926 250.733 183.645 248.671 183.315C250.773 183.574 252.849 183.855 254.896 184.158Z"/>
|
||||
<path d="M180 141.964C163.699 110.262 119.308 51.1817 78.0347 22.044C38.4971 -5.86834 23.414 -1.03207 13.526 3.43594C2.08093 8.60755 0 26.1785 0 36.5164C0 46.8542 5.66748 121.272 9.36416 133.694C21.5786 174.738 65.0603 188.607 105.104 184.156C107.151 183.852 109.227 183.572 111.329 183.312C109.267 183.642 107.19 183.924 105.104 184.156C46.4204 192.847 -5.69621 214.233 62.6582 290.33C137.848 368.18 165.705 273.637 180 225.702C194.295 273.637 210.76 364.771 295.995 290.33C360 225.702 313.58 192.85 254.896 184.158C252.81 183.926 250.733 183.645 248.671 183.315C250.773 183.574 252.849 183.855 254.896 184.158C294.94 188.61 338.421 174.74 350.636 133.697C354.333 121.275 360 46.8568 360 36.519C360 26.1811 357.919 8.61012 346.474 3.43851C336.586 -1.02949 321.503 -5.86576 281.965 22.0466C240.692 51.1843 196.301 110.262 180 141.964Z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.0 KiB |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"/></svg>
|
After Width: | Height: | Size: 754 B |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
|
After Width: | Height: | Size: 1.5 KiB |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg>
|
After Width: | Height: | Size: 906 B |
|
@ -0,0 +1,3 @@
|
|||
<svg class="w-6 h-6 text-gray-800 dark:text-white" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path fill-rule="evenodd" d="M9.484 6.743c.41-.368.443-1 .077-1.41a.99.99 0 0 0-1.405-.078L2.67 10.203l-.007.006A2.048 2.048 0 0 0 2 11.721a2.058 2.058 0 0 0 .662 1.51l5.584 5.09a.99.99 0 0 0 1.405-.07 1.003 1.003 0 0 0-.07-1.412l-5.577-5.082a.05.05 0 0 1 0-.072l5.48-4.942Zm6.543 9.199v-.42a4.168 4.168 0 0 1 2.715 2.415c.154.382.44.695.806.88a1.683 1.683 0 0 0 2.167-.571c.214-.322.312-.707.279-1.092V15.88c0-3.77-2.526-7.039-5.966-7.573V7.57a1.957 1.957 0 0 0-.994-1.838 1.931 1.931 0 0 0-2.153.184L7.8 10.164a.753.753 0 0 0-.012.011l-.011.01a2.098 2.098 0 0 0-.703 1.57 2.108 2.108 0 0 0 .726 1.59l5.08 4.25a1.933 1.933 0 0 0 2.929-.614c.167-.32.242-.68.218-1.04Z" clip-rule="evenodd"/>
|
||||
</svg>
|
After Width: | Height: | Size: 869 B |
|
@ -0,0 +1,15 @@
|
|||
<svg
|
||||
class="w-6 h-6 text-gray-800 dark:text-white"
|
||||
aria-hidden="true"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M15.03 9.684h3.965c.322 0 .64.08.925.232.286.153.532.374.717.645a2.109 2.109 0 0 1 .242 1.883l-2.36 7.201c-.288.814-.48 1.355-1.884 1.355-2.072 0-4.276-.677-6.157-1.256-.472-.145-.924-.284-1.348-.404h-.115V9.478a25.485 25.485 0 0 0 4.238-5.514 1.8 1.8 0 0 1 .901-.83 1.74 1.74 0 0 1 1.21-.048c.396.13.736.397.96.757.225.36.32.788.269 1.211l-1.562 4.63ZM4.177 10H7v8a2 2 0 1 1-4 0v-6.823C3 10.527 3.527 10 4.176 10Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
After Width: | Height: | Size: 650 B |
|
@ -0,0 +1,17 @@
|
|||
<svg
|
||||
class="w-6 h-6 text-gray-800 dark:text-white"
|
||||
aria-hidden="true"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<path
|
||||
stroke="currentColor"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
stroke-width="2"
|
||||
d="m16 10 3-3m0 0-3-3m3 3H5v3m3 4-3 3m0 0 3 3m-3-3h14v-3"
|
||||
/>
|
||||
</svg>
|
After Width: | Height: | Size: 331 B |
|
@ -0,0 +1,13 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||
<symbol id="like-icon" viewBox="0 0 24 24">
|
||||
<path fill-rule="evenodd" d="M15.03 9.684h3.965c.322 0 .64.08.925.232.286.153.532.374.717.645a2.109 2.109 0 0 1 .242 1.883l-2.36 7.201c-.288.814-.48 1.355-1.884 1.355-2.072 0-4.276-.677-6.157-1.256-.472-.145-.924-.284-1.348-.404h-.115V9.478a25.485 25.485 0 0 0 4.238-5.514 1.8 1.8 0 0 1 .901-.83 1.74 1.74 0 0 1 1.21-.048c.396.13.736.397.96.757.225.36.32.788.269 1.211l-1.562 4.63ZM4.177 10H7v8a2 2 0 1 1-4 0v-6.823C3 10.527 3.527 10 4.176 10Z" clip-rule="evenodd" />
|
||||
</symbol>
|
||||
<symbol id="repost-icon" viewBox="0 0 24 24">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m16 10 3-3m0 0-3-3m3 3H5v3m3 4-3 3m0 0 3 3m-3-3h14v-3" />
|
||||
</symbol>
|
||||
<symbol id="comment-icon" viewBox="0 0 24 24">
|
||||
<path fill-rule="evenodd" d="M9.484 6.743c.41-.368.443-1 .077-1.41a.99.99 0 0 0-1.405-.078L2.67 10.203l-.007.006A2.048 2.048 0 0 0 2 11.721a2.058 2.058 0 0 0 .662 1.51l5.584 5.09a.99.99 0 0 0 1.405-.07 1.003 1.003 0 0 0-.07-1.412l-5.577-5.082a.05.05 0 0 1 0-.072l5.48-4.942Zm6.543 9.199v-.42a4.168 4.168 0 0 1 2.715 2.415c.154.382.44.695.806.88a1.683 1.683 0 0 0 2.167-.571c.214-.322.312-.707.279-1.092V15.88c0-3.77-2.526-7.039-5.966-7.573V7.57a1.957 1.957 0 0 0-.994-1.838 1.931 1.931 0 0 0-2.153.184L7.8 10.164a.753.753 0 0 0-.012.011l-.011-.10a2.098 2.098 0 0 0-.703 1.57 2.108 2.108 0 0 0 0 .726 1.59l5.08 4.25a1.933 1.933 0 0 0 2.929-.614c.167-.32.242-.68.218-1.04Z" clip-rule="evenodd"/>
|
||||
</symbol>
|
||||
</svg>
|
||||
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
|
@ -1 +1 @@
|
|||
Subproject commit c1b6060453911a7d30108286df4533303a615d82
|
||||
Subproject commit b8cb96f370a009c5cb487147a96c71f52613af7d
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 4739bdb60036bd783ebd04fbf5151ab6346a63c9
|