Rust Implmentation and JSON Storage

This commit is contained in:
Brandon Rozek 2024-07-28 19:37:07 -07:00 committed by GitHub
commit 16344f2a05
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
86 changed files with 2017 additions and 481 deletions

View file

@ -5,15 +5,12 @@ on:
schedule:
- cron: "12 23 * * *"
#concurrency:
# cancel-in-progress: true
defaults:
run:
shell: bash
jobs:
build_and_publish:
build_and_sync:
runs-on: ubuntu-latest
steps:
@ -25,9 +22,20 @@ jobs:
git config user.name "GitHub Actions Bot"
git config user.email "<>"
- name: Grab latest toots
- name: Install Rust
run: |
./.scripts/refreshtoots.py
sudo apt update
sudo apt install -y rustc cargo
- name: Build
run: |
cd .scripts
cargo build --release
- name: Retrieve toots
run: |
cd .scripts
./target/release/retrieve_toots
- name: Check if there's any changes
id: verify_diff
@ -37,6 +45,6 @@ jobs:
- name: Commit and push
if: steps.verify_diff.outputs.changed == 'true'
run: |
git add *.md
git add .data
git commit -m "New/Modified Toots"
git push origin main

1
.scripts/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
target/

1711
.scripts/Cargo.lock generated Normal file

File diff suppressed because it is too large Load diff

20
.scripts/Cargo.toml Normal file
View file

@ -0,0 +1,20 @@
[package]
name = "website-toots"
version = "0.1.0"
edition = "2021"
[dependencies]
tera = "1"
reqwest = { version = "0.11", features = ["json"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
regex = "1.10.5"
[[bin]]
name = "retrieve_toots"
path = "src/retrieve_toots.rs"
[[bin]]
name = "generate_md"
path = "src/generate_md.rs"

View file

@ -0,0 +1,64 @@
use std::fs::File;
use std::io::Write;
use tera::Tera;
use tera::Context;
fn main() {
println!("Hello, world!");
let mut tera = Tera::default();
tera.add_template_file("src/toot.md", None).unwrap();
let data_dir = std::fs::read_dir("../.data")
.expect("Failed to open data directory");
for entry in data_dir {
let opath = entry.ok().map(|v| v.path());
// Skip if we encountered an error
if opath.is_none() {
continue;
}
let path = opath.unwrap();
// Skip if we're not looking at a JSON file
if !path.is_file() || !path.extension().map(|x| x == "json").unwrap_or(false) {
continue;
}
let contents = std::fs::read_to_string(&path)
.expect(format!("Failed to read file {}", path.to_string_lossy()).as_ref());
let mut json_response: serde_json::Value = serde_json::from_str(contents.as_ref())
.expect("JSON parse error");
let content: serde_json::Value = json_response
.get("content")
.expect("Failed to get content from JSON response")
.to_owned();
json_response.as_object_mut().unwrap().remove("content");
let frontmatter = serde_json::to_string(&json_response)
.expect("Failed to serialize to string");
let mut context = Context::new();
context.insert("frontmatter", &frontmatter);
context.insert("body", content.as_str().unwrap());
let output = tera.render("src/toot.md", &context)
.expect("Failed to render template.");
let new_path = format!("../{}.md", path.file_stem().unwrap().to_string_lossy());
let mut file = File::create(new_path)
.expect("Failed to create new markdown file");
file.write_all(output.as_bytes())
.expect("Failed to write to markdown file");
}
}

View file

@ -0,0 +1,196 @@
use regex::Regex;
use reqwest::header::HeaderValue;
use std::collections::HashMap;
use std::fs::File;
use std::io::{BufReader, Write};
use std::thread::sleep;
use std::time::Duration;
static RETRIEVE_NUM_TOOTS: usize = 1000;
static SERVER: &str = "fosstodon.org";
static MUID: &str = "108219415927856966";
fn reformat_toot(x: &mut serde_json::Value) -> Result<(), String> {
let toot = x
.as_object_mut()
.ok_or_else(|| "JSON not an object".to_string())?;
// URL -> Syndication
let toot_url: serde_json::Value = toot
.get_mut("url")
.ok_or_else(|| "Missing URL".to_string())?
.to_owned();
toot.remove("uri");
toot.remove("url");
toot.insert("syndication".to_string(), toot_url.to_owned());
// Created At -> Date
let toot_date: serde_json::Value = toot
.get_mut("created_at")
.ok_or_else(|| "Missing created_at".to_string())?
.to_owned();
// Note: Already checked whether created_at exists
toot.remove("created_at");
toot.insert("date".to_string(), toot_date.to_owned());
// Strip out highly dynamic account information
let account: &mut tera::Map<String, serde_json::Value> = toot
.get_mut("account")
.ok_or_else(|| "Missing account field".to_string())?
.as_object_mut()
.ok_or_else(|| "Account field not an object".to_string())?;
// Doesn't matter if we fail to remove these
account.remove("avatar_static");
account.remove("header_static");
account.remove("noindex");
account.remove("roles");
account.remove("locked");
account.remove("bot");
account.remove("discoverable");
account.remove("group");
account.remove("created_at");
account.remove("note");
account.remove("followers_count");
account.remove("following_count");
account.remove("statuses_count");
account.remove("last_status_at");
account.remove("emojis");
account.remove("fields");
Ok(())
}
fn parse_link_header(header: &HeaderValue) -> Result<HashMap<String, String>, String> {
let mut links = HashMap::new();
let re = Regex::new(r#"<([^>]*)>;\s*rel="([^"]*)""#)
.map_err(|_| "Regex compilation failed".to_string())?;
let header_str = header
.to_str()
.map_err(|v| v.to_string())?;
for cap in re.captures_iter(header_str) {
if let (Some(url), Some(rel)) = (cap.get(1), cap.get(2)) {
links.insert(rel.as_str().to_owned(), url.as_str().to_owned());
}
}
Ok(links)
}
// TODO: Make sure that the JSON blobs aren't
// the same!
fn write_json_to_file(item: &serde_json::Value, path: &str) -> Result<(), String> {
let item_str = serde_json::to_string(&item)
.map_err(|x| x.to_string())?;
let mut file = File::create(path)
.map_err(|x| x.to_string())?;
// Write the content to the file
file.write_all(item_str.as_bytes())
.map_err(|x| x.to_string())?;
Ok(())
}
#[tokio::main]
async fn main() {
let client = reqwest::Client::new();
let mut url = format!(
"https://{}/api/v1/accounts/{}/statuses?limit={}",
SERVER, MUID, RETRIEVE_NUM_TOOTS
);
let mut more_toots_exist = true;
while more_toots_exist {
let response = client
.get(url.clone())
.send()
.await
.expect("Unable to reach server");
// Note: Cannot clone entire response
let headers = response.headers().clone();
// Note: .text() consumes response
let text_response = response
.text()
.await
.expect("Unable to grab response text");
let mut json_response: serde_json::Value =
serde_json::from_str(&text_response).expect("JSON parse error");
let json_array = json_response
.as_array_mut()
.expect("Expected JSON Array");
for item in json_array.iter_mut() {
reformat_toot(item).unwrap();
let toot_id = item
.get("id")
.and_then(|x| x.as_str())
.expect("Failed to get toot id");
let data_dir = "../.data";
let data_dir_exists = std::fs::metadata(data_dir)
.map(|metadata| metadata.is_dir())
.unwrap_or(false);
if !data_dir_exists {
std::fs::create_dir(data_dir)
.expect("Failed to create directory");
}
let path: String = format!("{}/{}.json", data_dir, toot_id);
let mut update_json = false;
let f = File::open(path.clone());
if f.is_ok() {
let reader = BufReader::new(f.unwrap());
let f_json_result: Result<serde_json::Value, _> = serde_json::from_reader(reader);
if f_json_result.is_ok() {
// If the JSON from the network is different, update
if f_json_result.unwrap() != *item {
update_json = true;
}
}
} else {
// File doesn't exist (probably) so
// try to write the new JSON
update_json = true;
}
if update_json {
write_json_to_file(&item, path.as_ref())
.expect("Failed to write to file");
}
}
println!("Retrieved {} toots from server", json_array.len());
let next_url_result: Result<String, String> = headers
.get("link")
.ok_or_else(|| "No header link".to_string())
.and_then(parse_link_header)
.and_then(|v| {
v.get("next")
.cloned()
.ok_or_else(|| "No next tag".to_string())
});
match next_url_result {
Ok(next_url) => url = next_url,
Err(_) => more_toots_exist = false,
}
// Sleep for the 1 second to not overload the server
sleep(Duration::new(1, 0));
}
}

10
.scripts/src/toot.md Normal file
View file

@ -0,0 +1,10 @@
---
{{ frontmatter }}
---
{% raw -%}
{{< unsafe >}}
{% endraw -%}
{{ body }}
{%- raw %}
{{< /unsafe >}}
{%- endraw -%}

View file

@ -1,6 +0,0 @@
---
{"id": "108222429500713598", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 4, "reblogs_count": 6, "favourites_count": 40, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [{"name": "introduction", "url": "https://fosstodon.org/tags/introduction"}, {"name": "foss", "url": "https://fosstodon.org/tags/foss"}, {"name": "fedora", "url": "https://fosstodon.org/tags/fedora"}, {"name": "homelab", "url": "https://fosstodon.org/tags/homelab"}, {"name": "hamradio", "url": "https://fosstodon.org/tags/hamradio"}], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108222429500713598", "date": "2022-04-30T18:27:03.588Z"}
---
{{< unsafe >}}
<p><a href="https://fosstodon.org/tags/Introduction" class="mention hashtag" rel="tag">#<span>Introduction</span></a> Hi everyone! I&#39;m a PhD student in computer science, studying the intersection between formal logic and artificial intelligence.</p><p>I enjoy and love all things <a href="https://fosstodon.org/tags/foss" class="mention hashtag" rel="tag">#<span>foss</span></a> , I am a <a href="https://fosstodon.org/tags/fedora" class="mention hashtag" rel="tag">#<span>fedora</span></a> user and often tinker around with my <a href="https://fosstodon.org/tags/homelab" class="mention hashtag" rel="tag">#<span>homelab</span></a>.</p><p>I also fumble around with <a href="https://fosstodon.org/tags/hamradio" class="mention hashtag" rel="tag">#<span>hamradio</span></a> and enjoy vibing outdoors when the weather is nice. When I&#39;m extra ambitious, I&#39;ll add a hike in!</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108222487358487490", "in_reply_to_id": "108222456482013128", "in_reply_to_account_id": "218157", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "218157", "username": "SonoMichele", "url": "https://fosstodon.org/@SonoMichele", "acct": "SonoMichele"}], "tags": [], "emojis": [], "card": {"url": "https://github.com/overleaf/overleaf", "title": "GitHub - overleaf/overleaf: A web-based collaborative LaTeX editor", "description": "A web-based collaborative LaTeX editor. Contribute to overleaf/overleaf development by creating an account on GitHub.", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "GitHub", "provider_url": "", "html": "", "width": 1200, "height": 600, "image": "https://cdn.fosstodon.org/cache/preview_cards/images/004/925/409/original/47d7c64de5ba64ae.png", "image_description": "A web-based collaborative LaTeX editor. Contribute to overleaf/overleaf development by creating an account on GitHub.", "embed_url": "", "blurhash": "UHSijWxDbbxubxRpt5ofISt1WFa~^-NLoJWA", "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108222487358487490", "date": "2022-04-30T18:41:46.428Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@SonoMichele" class="u-url mention">@<span>SonoMichele</span></a></span> Hello there! Honestly my most used services are for document collaboration:<br />- Overleaf (<a href="https://github.com/overleaf/overleaf" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">github.com/overleaf/overleaf</span><span class="invisible"></span></a>)<br />- Hedgedoc (<a href="https://hedgedoc.org/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">hedgedoc.org/</span><span class="invisible"></span></a>)</p><p>I&#39;ve recently started taking advantage of file syncing again through Nextcloud. Though I usually bounce around on that front between not syncing at all and using Syncthing.</p><p>How about you? What&#39;s your favorite service?</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108223067612891268", "in_reply_to_id": "108223017415670570", "in_reply_to_account_id": "312622", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 2, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "312622", "username": "proactiveservices", "url": "https://fosstodon.org/@proactiveservices", "acct": "proactiveservices"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108223067612891268", "date": "2022-04-30T21:09:20.407Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@proactiveservices" class="u-url mention">@<span>proactiveservices</span></a></span> Great question! I have not seen that episode of Star Trek. Though funny enough, I did watch, based on a recommendation from another, an episode within the original series called &quot;The Ultimate Computer&quot;. It&#39;s always fun to see these concepts covered in media, I&#39;ll have to check out the episode you mentioned :)</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108223116836456675", "in_reply_to_id": "108222541603768513", "in_reply_to_account_id": "218157", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "218157", "username": "SonoMichele", "url": "https://fosstodon.org/@SonoMichele", "acct": "SonoMichele"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108223116836456675", "date": "2022-04-30T21:21:51.498Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@SonoMichele" class="u-url mention">@<span>SonoMichele</span></a></span> I &lt;3 Bitwarden, I currently use their hosted service though I may one day host it myself. I used to run PiHole, but I ended up buying an OPNsense router and using Unbound with blocklists. I didn&#39;t feel comfortable having my DHCP server as a separated from my router. Mainly since rebooting that box essentially meant &quot;bringing down the internet&quot; for my home.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108224125417514659", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 2, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [{"name": "svn", "url": "https://fosstodon.org/tags/svn"}, {"name": "git", "url": "https://fosstodon.org/tags/git"}], "emojis": [], "card": {"url": "https://svnbook.red-bean.com/en/1.8/svn.advanced.sparsedirs.html", "title": "Sparse Directories", "description": "", "language": null, "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108224125417514659", "date": "2022-05-01T01:38:21.223Z"}
---
{{< unsafe >}}
<p>Does anyone still use SVN or CVS for any of their projects?</p><p>One project that I collaborate in uses <a href="https://fosstodon.org/tags/SVN" class="mention hashtag" rel="tag">#<span>SVN</span></a> and honestly I quite like the sparse directories feature (<a href="https://svnbook.red-bean.com/en/1.8/svn.advanced.sparsedirs.html" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">svnbook.red-bean.com/en/1.8/sv</span><span class="invisible">n.advanced.sparsedirs.html</span></a>)</p><p>Sparse checkouts in <a href="https://fosstodon.org/tags/git" class="mention hashtag" rel="tag">#<span>git</span></a> don&#39;t quite feel the same...</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108224205078623846", "in_reply_to_id": "108224170853560896", "in_reply_to_account_id": "108198204663922209", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108198204663922209", "username": "RL_Dane", "url": "https://fosstodon.org/@RL_Dane", "acct": "RL_Dane"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108224205078623846", "date": "2022-05-01T01:58:36.755Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@RL_Dane" class="u-url mention">@<span>RL_Dane</span></a></span> Funny enough, I wrote a ``best practices`` document for Git in my last job. Some things come full circle 🌏</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108224342293753276", "in_reply_to_id": "108224313367757228", "in_reply_to_account_id": "108198204663922209", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108198204663922209", "username": "RL_Dane", "url": "https://fosstodon.org/@RL_Dane", "acct": "RL_Dane"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108224342293753276", "date": "2022-05-01T02:33:30.491Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@RL_Dane" class="u-url mention">@<span>RL_Dane</span></a></span> Not super long, the hope is that most people won&#39;t use the complicated advance features and instead follow the same workflow...</p><p>Thankfully, I have yet to see someone explicitly call the git garbage collection command. Though I&#39;m sure that&#39;s bound to happen :D</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108224860751251694", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 4, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [{"name": "indieweb", "url": "https://fosstodon.org/tags/indieweb"}], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108224860751251694", "date": "2022-05-01T04:45:21.528Z"}
---
{{< unsafe >}}
<p>Implemented Webmentions on my blog! <a href="https://fosstodon.org/tags/indieweb" class="mention hashtag" rel="tag">#<span>indieweb</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108224912495829896", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 3, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "34013", "username": "anaulin", "url": "https://social.coop/@anaulin", "acct": "anaulin@social.coop"}], "tags": [], "emojis": [], "card": {"url": "https://anaulin.org/blog/adding-webmentions/", "title": "Adding Webmentions to My Static Hugo Site \u00b7 Ana Ulin", "description": "As another step in bringing indieweb ideas into my site, I have added support for webmentions. If you want to mention a post on this site, you can send me a webmention via this endpoint.\nA webmention is a kind of linkback. It is similar to pingbacks or trackbacks, but with a more modern sensibility that wants to extend @-mentions out of silos and to the open web.\nThe idea is straightforward: any URL (the source of the mention) should be able to mention any other URL (the target of the mention).", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108224912495829896", "date": "2022-05-01T04:58:31.085Z"}
---
{{< unsafe >}}
<p>Thanks <span class="h-card" translate="no"><a href="https://social.coop/@anaulin" class="u-url mention">@<span>anaulin</span></a></span> for an easy to follow post on setting up Webmentions on a static website!</p><p>I followed along with great success.</p><p><a href="https://anaulin.org/blog/adding-webmentions/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">anaulin.org/blog/adding-webmen</span><span class="invisible">tions/</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108227397191972894", "in_reply_to_id": "108225966291074920", "in_reply_to_account_id": "108225902257930629", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108225902257930629", "username": "gigantos", "url": "https://s.gigantos.net/@gigantos", "acct": "gigantos@s.gigantos.net"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108227397191972894", "date": "2022-05-01T15:30:24.537Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://s.gigantos.net/@gigantos" class="u-url mention">@<span>gigantos</span></a></span> <br />I haven&#39;t tried sharing code on here yet, though my immediate thought process would be to create a pastebin or gist and paste the link here.</p><p>My only concern about code in an image is if it would turned out blurry. Maybe SVGs can solve that issue.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108227502346088927", "in_reply_to_id": "108227419374120197", "in_reply_to_account_id": "108225902257930629", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108225902257930629", "username": "gigantos", "url": "https://s.gigantos.net/@gigantos", "acct": "gigantos@s.gigantos.net"}], "tags": [], "emojis": [], "card": {"url": "https://carbon.now.sh/", "title": "Carbon", "description": "Carbon is the easiest way to create and share beautiful images of your source code.", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 1200, "height": 630, "image": null, "image_description": "", "embed_url": "", "blurhash": "U12Yh9j@07azj@fQazfQ06az~jj@WXjtoJaz", "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108227502346088927", "date": "2022-05-01T15:57:09.073Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://s.gigantos.net/@gigantos" class="u-url mention">@<span>gigantos</span></a></span> Browsing around I found this cool open source application for creating nice looking code images</p><p>Carbon: <a href="https://carbon.now.sh/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">carbon.now.sh/</span><span class="invisible"></span></a></p><p>This can output both as PNG and SVG, though sadly it doesn&#39;t look like Mastodon supports SVGs. As you mentioned before, the best bet is likely to have the code in the alt image.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108229570158755353", "in_reply_to_id": "108229547582793637", "in_reply_to_account_id": "108198204663922209", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108198204663922209", "username": "RL_Dane", "url": "https://fosstodon.org/@RL_Dane", "acct": "RL_Dane"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108229570158755353", "date": "2022-05-02T00:43:01.381Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@RL_Dane" class="u-url mention">@<span>RL_Dane</span></a></span> Maybe not my favorite, but every so often a terminal application requires an X server to function and I want to use it within a SSH connection. </p><p>Instead of using SSH X11 Forwarding, I use X Virtual Framebuffer (xvfb)</p><p>xvfb-run ./application</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108229592681243747", "in_reply_to_id": "108229576435763632", "in_reply_to_account_id": "108198204663922209", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108198204663922209", "username": "RL_Dane", "url": "https://fosstodon.org/@RL_Dane", "acct": "RL_Dane"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108229592681243747", "date": "2022-05-02T00:48:45.043Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@RL_Dane" class="u-url mention">@<span>RL_Dane</span></a></span> From my understanding, it creates a virtual desktop for the application to draw on. I&#39;ve only used it for apps that I don&#39;t need to see the GUI for, but it likely has other uses.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108230309315226909", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 1, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [{"name": "webdev", "url": "https://fosstodon.org/tags/webdev"}], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108230309315226909", "date": "2022-05-02T03:51:00.014Z"}
---
{{< unsafe >}}
<p><a href="https://fosstodon.org/tags/webdev" class="mention hashtag" rel="tag">#<span>webdev</span></a> <br />Does anybody have a favorite way of embedding PDF slide decks onto a webpage?</p><p>Working on the presentations page for my website, and currently I am using the &lt;embed&gt; tag.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108232998464955348", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108232998464955348", "date": "2022-05-02T15:14:53.180Z"}
---
{{< unsafe >}}
<p>@mos_8502@tech.lgbt That&#39;s fair advice when it comes to embedding. I do wish to show it though, so I&#39;ll take your alternate suggestion to use the object tag. 😃</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108235888552151629", "in_reply_to_id": "108235865188694969", "in_reply_to_account_id": "76125", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "76125", "username": "phocks", "url": "https://bne.social/@phocks", "acct": "phocks@bne.social"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108235888552151629", "date": "2022-05-03T03:29:52.411Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://bne.social/@phocks" class="u-url mention">@<span>phocks</span></a></span> You just inspired me to eat a banana. Go fruit! 🍌 🟠</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108236350943922525", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 3, "favourites_count": 4, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [{"name": "git", "url": "https://fosstodon.org/tags/git"}], "emojis": [], "card": {"url": "https://brandonrozek.com/blog/git-bisect-broken-builds/", "title": "Which commit broke the build? Using Git Bisect", "description": "Lets imagine a scenario where in the latest merge a test starts failing. Lets say these tests are saved in test.sh. Instead of having to test each individual commit in the merge, to see where the test fails, luckily git bisect narrows it down in a more efficient way!\nTo use:\ngit bisect start [good] [bad] git bisect run test.sh Where [good] and [bad] are replaced with their respective commit hashes.", "language": null, "type": "link", "author_name": "Brandon Rozek", "author_url": "https://brandonrozek.com/", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108236350943922525", "date": "2022-05-03T05:27:27.957Z"}
---
{{< unsafe >}}
<p>Wrote a blog post on using `git bisect` to efficiently find where a test script fails.</p><p><a href="https://brandonrozek.com/blog/git-bisect-broken-builds/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">brandonrozek.com/blog/git-bise</span><span class="invisible">ct-broken-builds/</span></a></p><p>I don&#39;t know how I used <a href="https://fosstodon.org/tags/git" class="mention hashtag" rel="tag">#<span>git</span></a> for so long before learning about this 😲</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108238510010528136", "in_reply_to_id": "108238441926966220", "in_reply_to_account_id": "108187215395227460", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108238510010528136", "date": "2022-05-03T14:36:32.692Z"}
---
{{< unsafe >}}
<p>@5uie1I&#39;ll have to take another look at Pandoc. I don&#39;t know if I can give up the control I have over spacing and layout that I have in LaTex, though maybe there&#39;s a way to convert from .tex to the HTML5 slides. 🤔</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108239090750380319", "in_reply_to_id": "108238951532332278", "in_reply_to_account_id": "108235377142291053", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108235377142291053", "username": "TheIdOfAlan", "url": "https://hachyderm.io/@TheIdOfAlan", "acct": "TheIdOfAlan@hachyderm.io"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108239090750380319", "date": "2022-05-03T17:04:14.080Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://hachyderm.io/@TheIdOfAlan" class="u-url mention">@<span>TheIdOfAlan</span></a></span> I&#39;m not certain myself, but I think it means &quot;US Politics&quot;</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108241726139809495", "in_reply_to_id": "108240869379777025", "in_reply_to_account_id": "108205031958480135", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108205031958480135", "username": "den", "url": "https://indieweb.social/@den", "acct": "den@indieweb.social"}], "tags": [], "emojis": [], "card": {"url": "https://github.com/Brandon-Rozek/website/blob/master/refreshtoots.py", "title": "website/refreshtoots.py at master \u00b7 Brandon-Rozek/website", "description": "Github Repo of Personal Website. Contribute to Brandon-Rozek/website development by creating an account on GitHub.", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "GitHub", "provider_url": "", "html": "", "width": 400, "height": 200, "image": null, "image_description": "", "embed_url": "", "blurhash": "UTSFw=tRMxxuOrt7Rjofrqaet7WB?^RPxuWB", "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108241726139809495", "date": "2022-05-04T04:14:26.931Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://indieweb.social/@den" class="u-url mention">@<span>den</span></a></span> Earlier today I wrote a Python script that is similar to what you described.</p><p>I have a file toots.json that contains all my toots and then a script refreshtoots.py that queries the JSON API and update toots.json to contain the old and new toots.</p><p>You&#39;re welcome to check it out and adapt/use it if it fits your needs. 😃 </p><p><a href="https://github.com/Brandon-Rozek/website/blob/master/refreshtoots.py" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">github.com/Brandon-Rozek/websi</span><span class="invisible">te/blob/master/refreshtoots.py</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108246712676495736", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 3, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [{"name": "lifehack", "url": "https://fosstodon.org/tags/lifehack"}], "emojis": [{"shortcode": "blobcatcookienom", "url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/043/original/044816f9150cbdf7.png", "static_url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/043/static/044816f9150cbdf7.png", "visible_in_picker": true}], "card": {"url": "https://mathwithbaddrawings.com/2022/05/03/optimizing-your-life-without-losing-your-soul/", "title": "Optimizing your life without losing your soul.", "description": "Life\u2019s constraints may be simple, but life\u2019s objectives are irreducibly complex.", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "Math with Bad Drawings", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": "U5SPX_%M?b004UfjxuIU?bRjIU-;M{-;M{Rj", "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108246712676495736", "date": "2022-05-05T01:22:35.446Z"}
---
{{< unsafe >}}
<p>Great post from Ben Orlin on treating time as a constraint and not an optimization target.</p><p>Example from his post: Instead of what is the fastest meal I can make, consider whats the best meal I can make in the next 40 minutes?</p><p>:blobcatcookienom: <a href="https://fosstodon.org/tags/lifehack" class="mention hashtag" rel="tag">#<span>lifehack</span></a></p><p><a href="https://mathwithbaddrawings.com/2022/05/03/optimizing-your-life-without-losing-your-soul/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">mathwithbaddrawings.com/2022/0</span><span class="invisible">5/03/optimizing-your-life-without-losing-your-soul/</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108250332972459800", "in_reply_to_id": "108246996101051862", "in_reply_to_account_id": "107425809584853654", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "107425809584853654", "username": "weex", "url": "https://fosstodon.org/@weex", "acct": "weex"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108250332972459800", "date": "2022-05-05T16:43:16.777Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@weex" class="u-url mention">@<span>weex</span></a></span> I agree with your statement on creativity, people often mistake constraints for the objective.</p><p>Though I do believe constraints are necessary as well. Otherwise we can struggle from the &quot;blank canvas&quot; problem.</p><p>I am not fully read on the Pomodoro technique but I imagine that those timers serve as a necessary constraint to help motivate people to work on their true objectives.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108250342572495650", "in_reply_to_id": "108226020359508287", "in_reply_to_account_id": "218157", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "218157", "username": "SonoMichele", "url": "https://fosstodon.org/@SonoMichele", "acct": "SonoMichele"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108250342572495650", "date": "2022-05-05T16:45:43.258Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@SonoMichele" class="u-url mention">@<span>SonoMichele</span></a></span> How do you route DNS traffic to the PiHole then? Do you only set it on a few of your devices?</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108250403979497296", "in_reply_to_id": "108249628534527633", "in_reply_to_account_id": "136980", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "136980", "username": "nathandyer", "url": "https://fosstodon.org/@nathandyer", "acct": "nathandyer"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108250403979497296", "date": "2022-05-05T17:01:20.257Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@nathandyer" class="u-url mention">@<span>nathandyer</span></a></span> Great post! I now feel for anyone living near a timezone boundary.</p><p>The big benefit of local time is that I get an intuition for what part of the day the other person is currently at. Is it lunch time or the middle of the night for the person I&#39;m messaging?</p><p>Though maybe the local time intuition can be replaced with the knowledge of what UTC time &quot;noon local&quot; is for different parts of the world.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108250416793296863", "in_reply_to_id": "108250399264386011", "in_reply_to_account_id": "218157", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "218157", "username": "SonoMichele", "url": "https://fosstodon.org/@SonoMichele", "acct": "SonoMichele"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108250416793296863", "date": "2022-05-05T17:04:35.776Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@SonoMichele" class="u-url mention">@<span>SonoMichele</span></a></span> To get around that a lot of people disable DHCP on the router and enable it in PiHole. But then the PiHole is responsible for both the DNS and handing out IP addresses...</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108250459982863985", "in_reply_to_id": "108250451543122104", "in_reply_to_account_id": "218157", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "218157", "username": "SonoMichele", "url": "https://fosstodon.org/@SonoMichele", "acct": "SonoMichele"}], "tags": [], "emojis": [{"shortcode": "blobcatsad", "url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/034/original/5f42fb2b3b1fab02.png", "static_url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/034/static/5f42fb2b3b1fab02.png", "visible_in_picker": true}], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108250459982863985", "date": "2022-05-05T17:15:34.802Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@SonoMichele" class="u-url mention">@<span>SonoMichele</span></a></span> Sadly yes :blobcatsad:</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108252249506005861", "in_reply_to_id": "108250052017133636", "in_reply_to_account_id": "242470", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "242470", "username": "darekkay", "url": "https://fosstodon.org/@darekkay", "acct": "darekkay"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108252249506005861", "date": "2022-05-06T00:50:40.760Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@darekkay" class="u-url mention">@<span>darekkay</span></a></span> The RSS style is great, thanks for sharing!</p><p>This inspired me to spruce up my RSS page as well.</p><p><a href="https://brandonrozek.com/blog/index.xml" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">brandonrozek.com/blog/index.xm</span><span class="invisible">l</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108255539304330080", "in_reply_to_id": null, "in_reply_to_account_id": "107962130492699445", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108255539304330080", "date": "2022-05-06T14:47:19.094Z"}
---
{{< unsafe >}}
<p>@mhochzwei I think the sign translates to &quot;Seabird Feeding Area&quot;, are you only supposed to feed birds in that area?</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108255579963724583", "in_reply_to_id": "108255362061242954", "in_reply_to_account_id": "108217978431504695", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108217978431504695", "username": "tony", "url": "https://mastodon.radio/@tony", "acct": "tony@mastodon.radio"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108255579963724583", "date": "2022-05-06T14:57:39.507Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://mastodon.radio/@tony" class="u-url mention">@<span>tony</span></a></span> Best of luck on the POTA activation! We look forward to hearing updates 📻 🗼</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108257215479858671", "in_reply_to_id": null, "in_reply_to_account_id": "106723464628738713", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "106723464628738713", "username": "rridley", "url": "https://fosstodon.org/@rridley", "acct": "rridley"}], "tags": [{"name": "indieweb", "url": "https://fosstodon.org/tags/indieweb"}], "emojis": [], "card": {"url": "https://indieweb.org/Getting_Started", "title": "Getting Started - IndieWeb", "description": "", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108257215479858671", "date": "2022-05-06T21:53:35.503Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@rridley" class="u-url mention">@<span>rridley</span></a></span> <br />Have you checked out the Getting started page on the IndieWeb wiki?<br /><a href="https://indieweb.org/Getting_Started" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">indieweb.org/Getting_Started</span><span class="invisible"></span></a></p><p>Feel free to tag <a href="https://fosstodon.org/tags/IndieWeb" class="mention hashtag" rel="tag">#<span>IndieWeb</span></a> if you want any specific pieces of advice. </p><p>They also have a page to answer your other question &quot;is it worth it&quot;<br /><a href="https://indieweb.org/why" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">indieweb.org/why</span><span class="invisible"></span></a></p><p>Though for me, being able to share one of my blog links here and have responses from Mastodon show up on my website is super cool...</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108257395178223228", "in_reply_to_id": null, "in_reply_to_account_id": "106723464628738713", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "106723464628738713", "username": "rridley", "url": "https://fosstodon.org/@rridley", "acct": "rridley"}], "tags": [], "emojis": [], "card": {"url": "https://port53.me/", "title": "port53", "description": "A collection of projects, writings and blogs from the worlds foremost expert in existing.", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108257395178223228", "date": "2022-05-06T22:39:17.484Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@rridley" class="u-url mention">@<span>rridley</span></a></span> I see that you have a website already at <a href="https://port53.me/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">port53.me/</span><span class="invisible"></span></a></p><p>How is the website built? Wordpress, Static Site Generator like Hugo, other?</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108257426878180704", "in_reply_to_id": null, "in_reply_to_account_id": "106723464628738713", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "106723464628738713", "username": "rridley", "url": "https://fosstodon.org/@rridley", "acct": "rridley"}], "tags": [], "emojis": [], "card": {"url": "https://indieweb.org/Eleventy", "title": "Eleventy - IndieWeb", "description": "", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108257426878180704", "date": "2022-05-06T22:47:21.182Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@rridley" class="u-url mention">@<span>rridley</span></a></span> Looks like the IndieWeb wiki has an entry for that generator<br /><a href="https://indieweb.org/Eleventy" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">indieweb.org/Eleventy</span><span class="invisible"></span></a></p><p>On that page there are a couple tutorials for getting Webmentions and syndicating to work.</p><p>Here&#39;s a cleaner more general Getting Started guide that you can look at as well:<br /><a href="https://indiewebify.me/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">indiewebify.me/</span><span class="invisible"></span></a></p><p>Feel free to keep in touch with any more questions. :)</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108262770319394916", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 4, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [{"id": "108262756289195647", "type": "image", "url": "https://cdn.fosstodon.org/media_attachments/files/108/262/756/289/195/647/original/3da351fc8b5fe444.jpg", "preview_url": "https://cdn.fosstodon.org/media_attachments/files/108/262/756/289/195/647/small/3da351fc8b5fe444.jpg", "remote_url": null, "preview_remote_url": null, "text_url": null, "meta": {"original": {"width": 1231, "height": 1683, "size": "1231x1683", "aspect": 0.7314319667260843}, "small": {"width": 342, "height": 468, "size": "342x468", "aspect": 0.7307692307692307}}, "description": "A fluffy cat sitting on a patch of grass looking away from the camera into the distance.", "blurhash": "U7D^bu-rplD~?IVbRR%M01I-RR%3r5xukiIn"}], "mentions": [], "tags": [{"name": "caturday", "url": "https://fosstodon.org/tags/caturday"}], "emojis": [{"shortcode": "blobcatpeekaboo", "url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/057/original/b56d0b0907c4eb34.png", "static_url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/057/static/b56d0b0907c4eb34.png", "visible_in_picker": true}, {"shortcode": "blobcatphoto", "url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/008/original/6a15806603a8db9c.png", "static_url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/008/static/6a15806603a8db9c.png", "visible_in_picker": true}], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108262770319394916", "date": "2022-05-07T21:26:15.626Z"}
---
{{< unsafe >}}
<p>Stumbled upon a cat on <a href="https://fosstodon.org/tags/Caturday" class="mention hashtag" rel="tag">#<span>Caturday</span></a> no less! :blobcatpeekaboo: :blobcatphoto:</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108273016610099160", "in_reply_to_id": null, "in_reply_to_account_id": "175989", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "175989", "username": "Mundon", "url": "https://fosstodon.org/@Mundon", "acct": "Mundon"}], "tags": [], "emojis": [], "card": {"url": "https://feedbin.com/", "title": "Feedbin", "description": "A fast, simple RSS feed reader that delivers a great reading experience.", "language": null, "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108273016610099160", "date": "2022-05-09T16:52:01.619Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@Mundon" class="u-url mention">@<span>Mundon</span></a></span><br />I&#39;ve recently switched to Feedbin (<a href="https://feedbin.com/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">feedbin.com/</span><span class="invisible"></span></a>). They have a free trial but afterwards it costs $5/month. Honestly that likely means they&#39;re not selling my data to advertisers. It&#39;s also open source.</p><p>Realistically though, the most important feature to me is the ability to export subscriptions via OPML. As long the service provides that (which Feedly does), then you won&#39;t risk losing anything.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108273076600397985", "in_reply_to_id": "108272150047073280", "in_reply_to_account_id": "50830", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 2, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "50830", "username": "ejk", "url": "https://mathstodon.xyz/@ejk", "acct": "ejk@mathstodon.xyz"}], "tags": [], "emojis": [{"shortcode": "ablobcatcoffee", "url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/053/original/6a0c0d150f1ccbb4.png", "static_url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/053/static/6a0c0d150f1ccbb4.png", "visible_in_picker": true}], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108273076600397985", "date": "2022-05-09T17:07:16.998Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://mathstodon.xyz/@ejk" class="u-url mention">@<span>ejk</span></a></span> Coffee cake is totally breakfast food :ablobcatcoffee:</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108278326067029672", "in_reply_to_id": "108262321644771189", "in_reply_to_account_id": "107632695000973749", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 2, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "107632695000973749", "username": "chatpin", "url": "https://fosstodon.org/@chatpin", "acct": "chatpin"}, {"id": "107559950613570741", "username": "underlap", "url": "https://fosstodon.org/@underlap", "acct": "underlap"}], "tags": [], "emojis": [{"shortcode": "ac_lightbulb", "url": "https://cdn.fosstodon.org/custom_emojis/images/000/120/034/original/b8429697e2713872.png", "static_url": "https://cdn.fosstodon.org/custom_emojis/images/000/120/034/static/b8429697e2713872.png", "visible_in_picker": true}], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108278326067029672", "date": "2022-05-10T15:22:17.501Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@chatpin" class="u-url mention">@<span>chatpin</span></a></span> <span class="h-card" translate="no"><a href="https://fosstodon.org/@underlap" class="u-url mention">@<span>underlap</span></a></span> Great post, thanks for sharing! I never thought of using a global .gitignore before. That combined with a scratch folder is a great idea. :ac_lightbulb:</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108278461361980287", "in_reply_to_id": "108266728217245129", "in_reply_to_account_id": "263688", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 2, "favourites_count": 2, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "263688", "username": "ralismark", "url": "https://fosstodon.org/@ralismark", "acct": "ralismark"}], "tags": [], "emojis": [], "card": {"url": "https://brandonrozek.com/blog/launchappsthroughterminal/", "title": "Launch Apps through the Terminal", "description": "Normally when you launch an application through the terminal, the standard output appears, and closing the terminal closes the application. The nohup command allows applications to run regardless of any hangups sent. Combine that with making it a background task, and you have a quick and easy way to launch applications through the terminal.\nnohup application > /dev/null & ", "language": null, "type": "link", "author_name": "Brandon Rozek", "author_url": "https://brandonrozek.com/", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108278461361980287", "date": "2022-05-10T15:56:41.933Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@ralismark" class="u-url mention">@<span>ralismark</span></a></span> </p><p>This is so cool! I&#39;ve been using nohup for a while when it comes to launching graphical apps through the terminal but using systemd-run is so much cleaner!</p><p><a href="https://brandonrozek.com/blog/launchappsthroughterminal/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">brandonrozek.com/blog/launchap</span><span class="invisible">psthroughterminal/</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108288991093082925", "in_reply_to_id": "108288932955761343", "in_reply_to_account_id": "575", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "575", "username": "popey", "url": "https://mastodon.social/@popey", "acct": "popey@mastodon.social"}], "tags": [], "emojis": [{"shortcode": "blobcatcool", "url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/048/original/26ed25cc639641f7.png", "static_url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/048/static/26ed25cc639641f7.png", "visible_in_picker": true}], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108288991093082925", "date": "2022-05-12T12:34:32.879Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@popey" class="u-url mention">@<span>popey</span></a></span> I would go for the Primordial Dawn. The other option of an ice cream smelling car would confuse me more than anything. :blobcatcool:</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108296059490130131", "in_reply_to_id": "108296001729178878", "in_reply_to_account_id": "198442", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "198442", "username": "foosel", "url": "https://chaos.social/@foosel", "acct": "foosel@chaos.social"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108296059490130131", "date": "2022-05-13T18:32:08.064Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://chaos.social/@foosel" class="u-url mention">@<span>foosel</span></a></span> I also use my phone except I&#39;m sure it takes me way longer than if I was to manually flip the switch. </p><p>Maybe I need to make a shortcut on my home screen... Nah, I&#39;ll probably continue in my non-optimal ways :D</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108301744632490281", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 1, "favourites_count": 7, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [{"id": "108301715622721270", "type": "image", "url": "https://cdn.fosstodon.org/media_attachments/files/108/301/715/622/721/270/original/753ef16b06279644.jpg", "preview_url": "https://cdn.fosstodon.org/media_attachments/files/108/301/715/622/721/270/small/753ef16b06279644.jpg", "remote_url": null, "preview_remote_url": null, "text_url": null, "meta": {"original": {"width": 1663, "height": 1247, "size": "1663x1247", "aspect": 1.3336006415396953}, "small": {"width": 461, "height": 346, "size": "461x346", "aspect": 1.3323699421965318}}, "description": "A Nigerian dwarf goat looking down while getting petted by it's left ear.", "blurhash": "UEG[ZbMx-:${.SM{NKD%0$aKbJoyo}oIxaM{"}, {"id": "108301716413388675", "type": "image", "url": "https://cdn.fosstodon.org/media_attachments/files/108/301/716/413/388/675/original/b8859763babf867f.jpg", "preview_url": "https://cdn.fosstodon.org/media_attachments/files/108/301/716/413/388/675/small/b8859763babf867f.jpg", "remote_url": null, "preview_remote_url": null, "text_url": null, "meta": {"original": {"width": 1663, "height": 1247, "size": "1663x1247", "aspect": 1.3336006415396953}, "small": {"width": 461, "height": 346, "size": "461x346", "aspect": 1.3323699421965318}}, "description": "A Nigerian dwarf goat looking towards the camera while getting pet by it's left ear.", "blurhash": "UMHUn8%1NGR+?HM{kDNH0fRkxte.I]ofoLM{"}], "mentions": [], "tags": [{"name": "goat", "url": "https://fosstodon.org/tags/goat"}, {"name": "goatsofmastodon", "url": "https://fosstodon.org/tags/goatsofmastodon"}], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108301744632490281", "date": "2022-05-14T18:37:56.451Z"}
---
{{< unsafe >}}
<p>Visited a local farm today and saw this friendly Nigerian Dwarf <a href="https://fosstodon.org/tags/Goat" class="mention hashtag" rel="tag">#<span>Goat</span></a></p><p>Unlike the other goats, this one still came by to say hi even though we didn&#39;t have any food. </p><p><a href="https://fosstodon.org/tags/GoatsOfMastodon" class="mention hashtag" rel="tag">#<span>GoatsOfMastodon</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108308069738424641", "in_reply_to_id": "108289246724153608", "in_reply_to_account_id": "258320", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "258320", "username": "cedric", "url": "https://fosstodon.org/@cedric", "acct": "cedric"}], "tags": [{"name": "indieweb", "url": "https://fosstodon.org/tags/indieweb"}], "emojis": [], "card": {"url": "https://brandonrozek.com/now/", "title": "Now", "description": "Recent Happenings in Brandon Rozek's life", "language": null, "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108308069738424641", "date": "2022-05-15T21:26:29.914Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@cedric" class="u-url mention">@<span>cedric</span></a></span> Thanks for sharing the now page concept! I love the idea of succinctly describing the bigger picture happenings in my life.</p><p>Thus, now I have it on my site as well :)<br /><a href="https://brandonrozek.com/now/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">brandonrozek.com/now/</span><span class="invisible"></span></a></p><p><a href="https://fosstodon.org/tags/IndieWeb" class="mention hashtag" rel="tag">#<span>IndieWeb</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108309476968509080", "in_reply_to_id": "108307731605696424", "in_reply_to_account_id": "108140403498027288", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108140403498027288", "username": "cespinoza", "url": "https://fosstodon.org/@cespinoza", "acct": "cespinoza"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108309476968509080", "date": "2022-05-16T03:24:22.534Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@cespinoza" class="u-url mention">@<span>cespinoza</span></a></span> I agree! Gotta run? Send tab to phone. Maybe it&#39;s a longer piece and I want to pull out the E-Ink tablet? Send it there instead. Many practical uses for the Firefox send tab feature :D</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108309503050709386", "in_reply_to_id": null, "in_reply_to_account_id": "108255186952462956", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108309503050709386", "date": "2022-05-16T03:31:00.520Z"}
---
{{< unsafe >}}
<p>@gawn That&#39;s precious content right there, a post on every layout ;)</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108309543156481884", "in_reply_to_id": null, "in_reply_to_account_id": "18311", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "18311", "username": "monarobot", "url": "https://mastodon.art/@monarobot", "acct": "monarobot@mastodon.art"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108309543156481884", "date": "2022-05-16T03:41:12.485Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://mastodon.art/@monarobot" class="u-url mention">@<span>monarobot</span></a></span> It&#39;s cloudy where I am at tonight. Thanks for sharing the Lunar Eclipse photo :)</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108311763964879848", "in_reply_to_id": "108311739322443753", "in_reply_to_account_id": "108222770572210393", "sensitive": true, "spoiler_text": "Web development", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108222770572210393", "username": "ash", "url": "https://bne.social/@ash", "acct": "ash@bne.social"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108311763964879848", "date": "2022-05-16T13:05:59.324Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://bne.social/@ash" class="u-url mention">@<span>ash</span></a></span> I personally don&#39;t save blogs as PWAs on my mobile device, instead preferring to follow them via RSS. As much as I find all these features cool, it is at the end of the day another feature to support/maintain.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108331903834519586", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 2, "reblogs_count": 4, "favourites_count": 9, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [{"id": "108331891390627140", "type": "image", "url": "https://cdn.fosstodon.org/media_attachments/files/108/331/891/390/627/140/original/f6dbc1951370ca24.png", "preview_url": "https://cdn.fosstodon.org/media_attachments/files/108/331/891/390/627/140/small/f6dbc1951370ca24.png", "remote_url": null, "preview_remote_url": null, "text_url": null, "meta": {"focus": {"x": -1.0, "y": 0.77}, "original": {"width": 824, "height": 181, "size": "824x181", "aspect": 4.552486187845304}, "small": {"width": 824, "height": 181, "size": "824x181", "aspect": 4.552486187845304}}, "description": "A toot where I thanked someone sharing a Lunar Eclipse photo.", "blurhash": "U6QvtJ00IUD%-;IUDiRj-;xut7t7tR-;-;t7"}], "mentions": [], "tags": [{"name": "hugo", "url": "https://fosstodon.org/tags/hugo"}], "emojis": [], "card": {"url": "https://brandonrozek.com/toots/", "title": "Toots", "description": "Brandon's Toots from Mastodon", "language": null, "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108331903834519586", "date": "2022-05-20T02:27:49.362Z"}
---
{{< unsafe >}}
<p>I have been working on displaying toots from Mastodon on my website using <a href="https://fosstodon.org/tags/Hugo" class="mention hashtag" rel="tag">#<span>Hugo</span></a>. I don&#39;t support all of Mastodon&#39;s features like CWs or Boosts but I think this is a great start!</p><p>An archival page of all my toots:<br /><a href="https://brandonrozek.com/toots/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">brandonrozek.com/toots/</span><span class="invisible"></span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108334809355530070", "in_reply_to_id": "108334378115185837", "in_reply_to_account_id": "107465786468503157", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "107465786468503157", "username": "benjaminhollon", "url": "https://fosstodon.org/@benjaminhollon", "acct": "benjaminhollon"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108334809355530070", "date": "2022-05-20T14:46:44.080Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@benjaminhollon" class="u-url mention">@<span>benjaminhollon</span></a></span> Congratulations! I&#39;m glad to hear it all came together nicely :)</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108334819957156585", "in_reply_to_id": "108301021814358610", "in_reply_to_account_id": "107465786468503157", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "107465786468503157", "username": "benjaminhollon", "url": "https://fosstodon.org/@benjaminhollon", "acct": "benjaminhollon"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108334819957156585", "date": "2022-05-20T14:49:25.847Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@benjaminhollon" class="u-url mention">@<span>benjaminhollon</span></a></span> Out of curiosity, which color did you end up choosing for your poster?</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108334900197768307", "in_reply_to_id": "108331903834519586", "in_reply_to_account_id": "108219415927856966", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "107584265842142303", "username": "technicalissues", "url": "https://fosstodon.org/@technicalissues", "acct": "technicalissues"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108334900197768307", "date": "2022-05-20T15:09:50.226Z"}
---
{{< unsafe >}}
<p>@ashshuota <span class="h-card" translate="no"><a href="https://fosstodon.org/@technicalissues" class="u-url mention">@<span>technicalissues</span></a></span> Sure I can write a post about my blog-toot setup! Give me a day or so to write it all out and I&#39;ll ping you when it&#39;s out :)</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108336567995795980", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 3, "favourites_count": 4, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [{"name": "hugo", "url": "https://fosstodon.org/tags/hugo"}], "emojis": [], "card": {"url": "https://brandonrozek.com/blog/displaying-a-toot-hugo/", "title": "Displaying a Toot in Hugo", "description": "Mastodon for me is a nice friendly place and I enjoy participating in that community. With that, I want to be able to share the great toots out there in my own website as well as keep an archive of all the toots I made. This post will go over the code I wrote in Hugo to display a single toot into a blog post.\nExample toot:\nBrandon Rozek Tooted on May 20, 2022 15:09", "language": null, "type": "link", "author_name": "Brandon Rozek", "author_url": "https://brandonrozek.com/", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108336567995795980", "date": "2022-05-20T22:13:58.812Z"}
---
{{< unsafe >}}
<p>I wrote up a post on how I display a single toot using <a href="https://fosstodon.org/tags/Hugo" class="mention hashtag" rel="tag">#<span>Hugo</span></a> on my website.</p><p><a href="https://brandonrozek.com/blog/displaying-a-toot-hugo/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">brandonrozek.com/blog/displayi</span><span class="invisible">ng-a-toot-hugo/</span></a></p><p>This doesn&#39;t cover how I archive all my toots yet, that deserves a separate post :)</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108337038818866764", "in_reply_to_id": "108336969581645535", "in_reply_to_account_id": "329797", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "329797", "username": "ilyess", "url": "https://mastodon.online/@ilyess", "acct": "ilyess@mastodon.online"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108337038818866764", "date": "2022-05-21T00:13:42.996Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://mastodon.online/@ilyess" class="u-url mention">@<span>ilyess</span></a></span> Yes I do have an RSS Feed! Multiple in fact. I recommend <a href="https://brandonrozek.com/blog/index.xml" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">brandonrozek.com/blog/index.xm</span><span class="invisible">l</span></a> to get only my blog posts. For other feeds, feel free to check out <a href="https://brandonrozek.com/subscribe" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">brandonrozek.com/subscribe</span><span class="invisible"></span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108337284366872795", "in_reply_to_id": "108337143526298442", "in_reply_to_account_id": "108336800961737439", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108336800961737439", "username": "mcrute", "url": "https://fosstodon.org/@mcrute", "acct": "mcrute"}, {"id": "108131403419806587", "username": "gruerproof", "url": "https://fosstodon.org/@gruerproof", "acct": "gruerproof"}, {"id": "243739", "username": "FediFollows", "url": "https://mastodon.online/@FediFollows", "acct": "FediFollows@mastodon.online"}], "tags": [], "emojis": [], "card": {"url": "https://communitywiki.org/trunk", "title": "Trunk for the Fediverse", "description": "", "language": null, "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108337284366872795", "date": "2022-05-21T01:16:09.761Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@mcrute" class="u-url mention">@<span>mcrute</span></a></span> <span class="h-card" translate="no"><a href="https://fosstodon.org/@gruerproof" class="u-url mention">@<span>gruerproof</span></a></span> Welcome! I find the community very friendly :)</p><p>Your feed might be quiet initially but as you follow more people, things will get more exciting.</p><p>To find your folks: check out the local feed, search up tags you&#39;re interested in, follow <span class="h-card" translate="no"><a href="https://mastodon.online/@FediFollows" class="u-url mention">@<span>FediFollows</span></a></span>, and find people by topic via trunks (<a href="https://communitywiki.org/trunk" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">communitywiki.org/trunk</span><span class="invisible"></span></a>)</p><p>Most of all, have fun and happy tooting!</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108338098436219348", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 3, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [{"name": "hugo", "url": "https://fosstodon.org/tags/hugo"}], "emojis": [], "card": {"url": "https://brandonrozek.com/blog/archiving-toots/", "title": "Archiving Toots", "description": "In the spirit of syndicating Mastodon toots to my own site, I wrote a Python script that turns toots into Hugo markdown files.\nIn this post we\u2019ll go over:\n Mastodon API Reformatting toot Creating the Markdown files Conclusion Mastodon API Before we can retrieve our toots, we need to know what user id of our account. James Cahill wrote a very clean web tool to grab your user id.", "language": null, "type": "link", "author_name": "Brandon Rozek", "author_url": "https://brandonrozek.com/", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108338098436219348", "date": "2022-05-21T04:43:11.481Z"}
---
{{< unsafe >}}
<p>I give a more informal account of how I archive my toots onto my <a href="https://fosstodon.org/tags/Hugo" class="mention hashtag" rel="tag">#<span>Hugo</span></a> blog. </p><p><a href="https://brandonrozek.com/blog/archiving-toots/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">brandonrozek.com/blog/archivin</span><span class="invisible">g-toots/</span></a></p><p>My Python script which creates the Hugo files:</p><p><a href="https://github.com/Brandon-Rozek/website/blob/095622e242ae98a0e6686dd2ad0c304a58d8a677/refreshtoots_v2.py" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">github.com/Brandon-Rozek/websi</span><span class="invisible">te/blob/095622e242ae98a0e6686dd2ad0c304a58d8a677/refreshtoots_v2.py</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108340540548598811", "in_reply_to_id": "108340367579299379", "in_reply_to_account_id": "108232461377149153", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108232461377149153", "username": "vleugelcomplement", "url": "https://qoto.org/@vleugelcomplement", "acct": "vleugelcomplement@qoto.org"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108340540548598811", "date": "2022-05-21T15:04:15.148Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://qoto.org/@vleugelcomplement" class="u-url mention">@<span>vleugelcomplement</span></a></span> An internal wiki for a research group is a great idea! I&#39;m going to advocate for one now :)</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108349440598005165", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [{"id": "108349402676794782", "type": "image", "url": "https://cdn.fosstodon.org/media_attachments/files/108/349/402/676/794/782/original/c720ddbaf4d810be.jpg", "preview_url": "https://cdn.fosstodon.org/media_attachments/files/108/349/402/676/794/782/small/c720ddbaf4d810be.jpg", "remote_url": null, "preview_remote_url": null, "text_url": null, "meta": {"original": {"width": 1280, "height": 960, "size": "1280x960", "aspect": 1.3333333333333333}, "small": {"width": 461, "height": 346, "size": "461x346", "aspect": 1.3323699421965318}, "focus": {"x": -1.0, "y": 0.03}}, "description": "Brandon sitting criss-crossed on a rock by a small creek.", "blurhash": "U9DmKdXB4WNXG}%eQ[RkO{avaR%N%XV=NFIr"}, {"id": "108349403579873291", "type": "image", "url": "https://cdn.fosstodon.org/media_attachments/files/108/349/403/579/873/291/original/9f1cdffa3863f149.jpg", "preview_url": "https://cdn.fosstodon.org/media_attachments/files/108/349/403/579/873/291/small/9f1cdffa3863f149.jpg", "remote_url": null, "preview_remote_url": null, "text_url": null, "meta": {"original": {"width": 960, "height": 1280, "size": "960x1280", "aspect": 0.75}, "small": {"width": 346, "height": 461, "size": "346x461", "aspect": 0.7505422993492408}, "focus": {"x": 0.0, "y": 0.0}}, "description": "Clare sitting on a rock by a creek", "blurhash": "U8D0DM8{M]E2GxIVNP?GFS?IjLE1pcsq$uNH"}], "mentions": [], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108349440598005165", "date": "2022-05-23T04:47:39.128Z"}
---
{{< unsafe >}}
<p>Last weekend my partner and I visited North Adams, Massachusetts where we checked out the Natural Bridge State Park and the MOCA. </p><p>I neglected to check the park website ahead of time to see that the main trail was closed. We had plenty of fun in a nearby creek regardless :)</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108353932883868446", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 2, "favourites_count": 6, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [{"id": "108353924942275664", "type": "image", "url": "https://cdn.fosstodon.org/media_attachments/files/108/353/924/942/275/664/original/42942d02003e0f42.png", "preview_url": "https://cdn.fosstodon.org/media_attachments/files/108/353/924/942/275/664/small/42942d02003e0f42.png", "remote_url": null, "preview_remote_url": null, "text_url": null, "meta": {"original": {"width": 794, "height": 498, "size": "794x498", "aspect": 1.5943775100401607}, "small": {"width": 505, "height": 317, "size": "505x317", "aspect": 1.5930599369085174}, "focus": {"x": -1.0, "y": -1.0}}, "description": "Map showing a large pond and a path denoting where Brandon hiked that day. It comes with some statistics about distance, average speed, and duration as well as an elevation profile of the entire hike.", "blurhash": "U7QvwMND-p+~DgIo%3r^?d?bbJ9ZbW9Y9FkC"}], "mentions": [], "tags": [], "emojis": [], "card": {"url": "https://gpx.studio/", "title": "gpx.studio \u2014 el editor de archivos GPX online", "description": "Ver, editar y crear archivos GPX en l\u00ednea: agregar, mover y borrar puntos, combinar m\u00faltiples archivos, invertir, a\u00f1adir marcas de tiempo, editar waypoints y mucho m\u00e1s!", "language": "es", "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 5001, "height": 2626, "image": "https://cdn.fosstodon.org/cache/preview_cards/images/009/427/283/original/84ee60189e20aec8.png", "image_description": "", "embed_url": "", "blurhash": "UHSigQayx]WVj[j[j[ay~qj[M{off6WBWVj[", "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/108353932883868446", "date": "2022-05-23T23:50:05.973Z"}
---
{{< unsafe >}}
<p>Desiring an open technology approach to Strava embeds, I discovered <a href="https://gpx.studio" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">gpx.studio</span><span class="invisible"></span></a> for embedding GPX/GPS data.</p><p>Write-up showing how I implemented it on my website:<br /><a href="https://brandonrozek.com/blog/displaying-hikes-with-gpxstudio/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">brandonrozek.com/blog/displayi</span><span class="invisible">ng-hikes-with-gpxstudio/</span></a></p><p>Great for showcasing hikes, bike rides, and more! 🚲</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108357032255450287", "in_reply_to_id": "108355835704457037", "in_reply_to_account_id": "98423", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "98423", "username": "dyamon", "url": "https://fosstodon.org/@dyamon", "acct": "dyamon"}, {"id": "108296957397560703", "username": "hebster", "url": "https://fosstodon.org/@hebster", "acct": "hebster"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108357032255450287", "date": "2022-05-24T12:58:18.628Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@dyamon" class="u-url mention">@<span>dyamon</span></a></span> <span class="h-card" translate="no"><a href="https://fosstodon.org/@hebster" class="u-url mention">@<span>hebster</span></a></span> </p><p>I have not tried uploading any hikes to OpenStreetMap before. That&#39;s a slightly different use case than what I had in mind in that it contributes walking paths to mapping software everyone can use.</p><p>My original goal wasn&#39;t as noble as that. I mostly wanted a way to display personal hikes on my website :)</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108380812343837185", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 1, "favourites_count": 9, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [{"id": "108380798270456208", "type": "image", "url": "https://cdn.fosstodon.org/media_attachments/files/108/380/798/270/456/208/original/95531e4c4fa4e69a.jpg", "preview_url": "https://cdn.fosstodon.org/media_attachments/files/108/380/798/270/456/208/small/95531e4c4fa4e69a.jpg", "remote_url": null, "preview_remote_url": null, "text_url": null, "meta": {"original": {"width": 1411, "height": 1469, "size": "1411x1469", "aspect": 0.9605173587474473}, "small": {"width": 392, "height": 408, "size": "392x408", "aspect": 0.9607843137254902}}, "description": "Brandon eating a bowl of chili with chips while Caf\u00e9 the cat stands on a chair leaning over to see what Brandon is eating", "blurhash": "UdG9HjIA%gt7~qRjtRofxuM{ayofWVM{V@ae"}, {"id": "108380805339908718", "type": "image", "url": "https://cdn.fosstodon.org/media_attachments/files/108/380/805/339/908/718/original/a4f6f1d039c4afe8.jpg", "preview_url": "https://cdn.fosstodon.org/media_attachments/files/108/380/805/339/908/718/small/a4f6f1d039c4afe8.jpg", "remote_url": null, "preview_remote_url": null, "text_url": null, "meta": {"original": {"width": 1663, "height": 1247, "size": "1663x1247", "aspect": 1.3336006415396953}, "small": {"width": 461, "height": 346, "size": "461x346", "aspect": 1.3323699421965318}}, "description": "Caf\u00e9 the cat staring into the camera as he's walking by.", "blurhash": "UBFO}vJ6~WxtKk_39ZWC-;Nf0LIU?a?axZWA"}], "mentions": [], "tags": [{"name": "caturday", "url": "https://fosstodon.org/tags/caturday"}], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108380812343837185", "date": "2022-05-28T17:45:53.983Z"}
---
{{< unsafe >}}
<p>Meet Café my new roommate for the summer. He&#39;s a curious cat checking out what I was eating at the dinner table.<br /><a href="https://fosstodon.org/tags/caturday" class="mention hashtag" rel="tag">#<span>caturday</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "108482946240135087", "in_reply_to_id": "108482163756525663", "in_reply_to_account_id": "312622", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "312622", "username": "proactiveservices", "url": "https://fosstodon.org/@proactiveservices", "acct": "proactiveservices"}], "tags": [], "emojis": [{"shortcode": "blobcatfacepalm", "url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/005/original/b44c154210c91e75.png", "static_url": "https://cdn.fosstodon.org/custom_emojis/images/000/215/005/static/b44c154210c91e75.png", "visible_in_picker": true}], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/108482946240135087", "date": "2022-06-15T18:39:53.558Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@proactiveservices" class="u-url mention">@<span>proactiveservices</span></a></span> Oh shoot! I meant to call the emergency astronomer hotline :blobcatfacepalm:</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "109498919910896870", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": {"url": "https://hamelot.io/visualization/using-ffmpeg-to-convert-a-set-of-images-into-a-video/", "title": "Using ffmpeg to convert a set of images into a video", "description": "Original 2012-11-16, Updated 2016-04-05: cleanup and information about overlaying images.When using ffmpeg to compress a video, I recommend using the libx264...", "language": null, "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/109498919910896870", "date": "2022-12-12T04:55:21.490Z"}
---
{{< unsafe >}}
<p>Need to stitch photos together into a video? Love FFMPEG? Hammad wrote a great post on his blog to do just that. In fact, he even includes a snippet for overlaying audio which is great for slideshows.<br /> <a href="https://hamelot.io/visualization/using-ffmpeg-to-convert-a-set-of-images-into-a-video/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">hamelot.io/visualization/using</span><span class="invisible">-ffmpeg-to-convert-a-set-of-images-into-a-video/</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "109519854449196055", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": {"url": "https://openpgpjs.org/", "title": "OpenPGP.js | OpenPGP JavaScript Implementation", "description": "The OpenPGP.js project aims to provide an Open Source OpenPGP library in JavaScript.", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/109519854449196055", "date": "2022-12-15T21:39:17.203Z"}
---
{{< unsafe >}}
<p>OpenPGP.js is library that enables client side usage of PGP. With it, I created a form on my contact page that allows others to send me encrypted messages.</p><p>OpenPGP.js: <a href="https://openpgpjs.org/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">openpgpjs.org/</span><span class="invisible"></span></a></p><p>Contact Page: <a href="https://brandonrozek.com/contact/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">brandonrozek.com/contact/</span><span class="invisible"></span></a></p><p>Form Implementation: <a href="https://github.com/Brandon-Rozek/website-theme/blob/5142aa60128d8a283926ce3089baf286cd48587d/layouts/shortcodes/pgpform.html" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">github.com/Brandon-Rozek/websi</span><span class="invisible">te-theme/blob/5142aa60128d8a283926ce3089baf286cd48587d/layouts/shortcodes/pgpform.html</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "109764840432564992", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [{"name": "leanprover", "url": "https://fosstodon.org/tags/leanprover"}, {"name": "itp", "url": "https://fosstodon.org/tags/itp"}, {"name": "formalmethods", "url": "https://fosstodon.org/tags/formalmethods"}], "emojis": [], "card": {"url": "https://brandonrozek.com/blog/readable-lean3-proofs/", "title": "Readable Lean 3 Proofs", "description": "Important Note: This blog post uses the Lean 3 syntax\nInteractive theorem provers are notorious for showcasing unreadable proofs. Let\u2019s illustrate our point with a couple examples and discuss various ways we can make it more readable.\nDisjunction Elimination Disjunction Elimination or proof by cases is a rule of inference that states the following. Consider you have the following three proofs:\n$p \\vee q$ $p \\rightarrow r$ $q \\rightarrow r$ Then it doesn\u2019t matter if it is $p$ rather than $q$ that holds, in the end $r$ holds.", "language": "en", "type": "link", "author_name": "Brandon Rozek", "author_url": "https://brandonrozek.com/", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/109764840432564992", "date": "2023-01-28T04:02:26.641Z"}
---
{{< unsafe >}}
<p>How do you organize your Lean proofs? I wrote a blog post discussing some strategies I employ to make Lean 3 proofs more readable.</p><p><a href="https://brandonrozek.com/blog/readable-lean3-proofs/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">brandonrozek.com/blog/readable</span><span class="invisible">-lean3-proofs/</span></a></p><p><a href="https://fosstodon.org/tags/LeanProver" class="mention hashtag" rel="tag">#<span>LeanProver</span></a> <a href="https://fosstodon.org/tags/ITP" class="mention hashtag" rel="tag">#<span>ITP</span></a> <a href="https://fosstodon.org/tags/FormalMethods" class="mention hashtag" rel="tag">#<span>FormalMethods</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "109779187541689505", "in_reply_to_id": "109774308836807391", "in_reply_to_account_id": "33250", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "33250", "username": "zerok", "url": "https://chaos.social/@zerok", "acct": "zerok@chaos.social"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/109779187541689505", "date": "2023-01-30T16:51:06.148Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://chaos.social/@zerok" class="u-url mention">@<span>zerok</span></a></span> I didn&#39;t notice that Mastodon supports timeline sync via the marker&#39;s API. Thanks for sharing!</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "109999729593405645", "in_reply_to_id": "109966866121451215", "in_reply_to_account_id": "109289172308845629", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [{"id": "109999718827689519", "type": "image", "url": "https://cdn.fosstodon.org/media_attachments/files/109/999/718/827/689/519/original/028030c103c68859.png", "preview_url": "https://cdn.fosstodon.org/media_attachments/files/109/999/718/827/689/519/small/028030c103c68859.png", "remote_url": null, "preview_remote_url": null, "text_url": null, "meta": {"original": {"width": 645, "height": 440, "size": "645x440", "aspect": 1.4659090909090908}, "small": {"width": 581, "height": 396, "size": "581x396", "aspect": 1.4671717171717171}, "focus": {"x": 0.0, "y": 0.0}}, "description": "Popup asking people to either log in to the server to favourite a post or copy the URL into a different server.", "blurhash": "U771yojzIVb9onavM_ojM_W7WGfSxzolW9at"}], "mentions": [{"id": "109289172308845629", "username": "hdm", "url": "https://infosec.exchange/@hdm", "acct": "hdm@infosec.exchange"}, {"id": "109813005082436331", "username": "buherator", "url": "https://infosec.place/users/buherator", "acct": "buherator@infosec.place"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/109999729593405645", "date": "2023-03-10T15:37:50.796Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://infosec.exchange/@hdm" class="u-url mention">@<span>hdm</span></a></span> <span class="h-card" translate="no"><a href="https://infosec.place/users/buherator" class="u-url mention">@<span>buherator</span></a></span> </p><p>Thanks for bringing this to my attention. I tried looking around but I haven&#39;t had success finding a good replacement. It looks like they replaced the URLs with a modal popup which is dynamically created via Javascript.</p><p>I&#39;ll let you know if I end up finding a solution myself.</p><p><a href="https://assets.infosec.exchange/packs/js/flavours/glitch/async/modals/interaction_modal-1d0c0e1612220dadf68e.chunk.js" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">assets.infosec.exchange/packs/</span><span class="invisible">js/flavours/glitch/async/modals/interaction_modal-1d0c0e1612220dadf68e.chunk.js</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "110277727014893980", "in_reply_to_id": null, "in_reply_to_account_id": "108296957397560703", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "108296957397560703", "username": "hebster", "url": "https://fosstodon.org/@hebster", "acct": "hebster"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/110277727014893980", "date": "2023-04-28T17:56:14.810Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@hebster" class="u-url mention">@<span>hebster</span></a></span> Good question! I don&#39;t have a great way of knowing for sure since an encrypted email using that form looks the same as a standard one. Though honestly I only get a small handful of encrypted emails every year.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "110704146009827018", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 2, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": {"url": "https://aeturrell.com/blog/posts/til-zotero-and-obsidian/index.html", "title": "TIL: Obsidian, and integrating it with Zotero | Arthur Turrell", "description": "Arthur Turrell is an economic data scientist.", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 400, "height": 400, "image": null, "image_description": "", "embed_url": "", "blurhash": "USRp2skB?ujbtQofM{fj_MofIBa{Vuay%fWC", "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/110704146009827018", "date": "2023-07-13T01:20:12.309Z"}
---
{{< unsafe >}}
<p>&quot;Apart from its simplicity, the markdown format is FAIR: findable, accessible, interoperable, and re-usable&quot;</p><p>- Arthur Turrel<br /><a href="https://aeturrell.com/blog/posts/til-zotero-and-obsidian/index.html" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">aeturrell.com/blog/posts/til-z</span><span class="invisible">otero-and-obsidian/index.html</span></a></p><p>All parts of Markdown that I love, and now I know of a great acronym to use to describe it!</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "110704151001644627", "in_reply_to_id": "110704146009827018", "in_reply_to_account_id": "108219415927856966", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 2, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": {"url": "https://www.nature.com/articles/sdata201618", "title": "The FAIR Guiding Principles for scientific data management and stewardship - Scientific Data", "description": "There is an urgent need to improve the infrastructure supporting the reuse of scholarly data. A diverse set of stakeholders\u2014representing academia, industry, funding agencies, and scholarly publishers\u2014have come together to design and jointly endorse a concise and measureable set of principles that we refer to as the FAIR Data Principles. The intent is that these may act as a guideline for those wishing to enhance the reusability of their data holdings. Distinct from peer initiatives that focus on the human scholar, the FAIR Principles put specific emphasis on enhancing the ability of machines to automatically find and use the data, in addition to supporting its reuse by individuals. This Comment is the first formal publication of the FAIR Principles, and includes the rationale behind them, and some exemplar implementations in the community.", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "Nature", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/110704151001644627", "date": "2023-07-13T01:21:28.477Z"}
---
{{< unsafe >}}
<p>For the curious, it seems that the acronym was first discussed in a scientific paper about data reuse.</p><p><a href="https://www.nature.com/articles/sdata201618" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://www.</span><span class="ellipsis">nature.com/articles/sdata20161</span><span class="invisible">8</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "110704155686058340", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/110704155686058340", "date": "2023-07-13T01:22:39.954Z"}
---
{{< unsafe >}}
<p>@steffo@uno.starshard.studio I agree that there are a lot of different extensions to the standard. </p><p>At the very least it should display the plaintext. Hopefully that&#39;s readable enough.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "110704444789795527", "in_reply_to_id": "110704341046568013", "in_reply_to_account_id": "243697", "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "243697", "username": "shom", "url": "https://fosstodon.org/@shom", "acct": "shom"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/110704444789795527", "date": "2023-07-13T02:36:11.332Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@shom" class="u-url mention">@<span>shom</span></a></span> After 30 minutes, I&#39;m stuck on level 7. You did well getting passed it, I&#39;m having a hard time to get it to respond to even totally normal prompts XD</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "110749563934958397", "in_reply_to_id": "110749152965322397", "in_reply_to_account_id": "110692155525572005", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 2, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "110692155525572005", "username": "nathan", "url": "https://social.nathandyer.me/@nathan", "acct": "nathan@social.nathandyer.me"}, {"id": "109158598630696223", "username": "legoktm", "url": "https://wikis.world/@legoktm", "acct": "legoktm@wikis.world"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/110749563934958397", "date": "2023-07-21T01:50:34.846Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://social.nathandyer.me/@nathan" class="u-url mention">@<span>nathan</span></a></span> <span class="h-card" translate="no"><a href="https://wikis.world/@legoktm" class="u-url mention">@<span>legoktm</span></a></span> Wow! I haven&#39;t heard of WikiVoyage before this. It&#39;s fun to see Fredericksburg, VA, the small city I used to live in, there. Thanks for sharing!</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "111093609530864980", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": {"url": "https://kkovacs.eu/ansible-lineinfile-blockinfile-in-bash/", "title": "Poor man's Ansible: lineinfile and blockinfile in bash", "description": "Two of my favorite functions in Ansible are lineinfile and blockinfile. They are extraordinarily useful when one needs to ensure that a line or a block is either replaced or put in a config file.\nlineinfile # For example, let's say one wants to enable IP forwarding in the sysctl, one can write the following task in Ansible:\n- name: Enable IP forwarding lineinfile: dest: /etc/sysctl.conf regexp: \"net.ipv4.ip_forward\" line: \"net.ipv4.ip_forward=1\" state: present What exactly this task does is:", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/111093609530864980", "date": "2023-09-19T20:05:54.023Z"}
---
{{< unsafe >}}
<p>Kristof Kovacs wrote a script that emulates lineinfile from Ansible.</p><p>Now I don&#39;t need to open up a whole text editor to edit one line in a configuration file. </p><p><a href="https://kkovacs.eu/ansible-lineinfile-blockinfile-in-bash/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">kkovacs.eu/ansible-lineinfile-</span><span class="invisible">blockinfile-in-bash/</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "111517841245644099", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/111517841245644099", "date": "2023-12-03T18:13:36.272Z"}
---
{{< unsafe >}}
<p>Great quote from Manu</p><p>&quot;Dont be afraid of sending an email to someone you dont know. If someones out there on the web, it probably means they want to be found.&quot;</p><p><a href="https://manuelmoreale.com/more-new-mindsets-fewer-new-technologies" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">manuelmoreale.com/more-new-min</span><span class="invisible">dsets-fewer-new-technologies</span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "111518325889795340", "in_reply_to_id": null, "in_reply_to_account_id": "109563727763050382", "sensitive": false, "spoiler_text": "", "visibility": "unlisted", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "109563727763050382", "username": "jefklak", "url": "https://dosgame.club/@jefklak", "acct": "jefklak@dosgame.club"}], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/111518325889795340", "date": "2023-12-03T20:16:51.356Z"}
---
{{< unsafe >}}
<p><span class="h-card" translate="no"><a href="https://dosgame.club/@jefklak" class="u-url mention">@<span>jefklak</span></a></span> it makes you wonder where all the human-power went.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "111682322644617334", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [{"id": "111682319352783799", "type": "image", "url": "https://cdn.fosstodon.org/media_attachments/files/111/682/319/352/783/799/original/1a1c9876a4fe9e06.jpg", "preview_url": "https://cdn.fosstodon.org/media_attachments/files/111/682/319/352/783/799/small/1a1c9876a4fe9e06.jpg", "remote_url": null, "preview_remote_url": null, "text_url": null, "meta": {"original": {"width": 2499, "height": 3319, "size": "2499x3319", "aspect": 0.7529376318168123}, "small": {"width": 416, "height": 553, "size": "416x553", "aspect": 0.7522603978300181}}, "description": "Hiking along a trail with others", "blurhash": "USEyY.M|M_xa?dxvn#ofpJR*xtjZM{oeozWB"}], "mentions": [], "tags": [], "emojis": [], "card": null, "poll": null, "syndication": "https://fosstodon.org/@brozek/111682322644617334", "date": "2024-01-01T19:23:23.244Z"}
---
{{< unsafe >}}
<p>First day hike complete!</p><p>Peebles Island 🏝️, New York</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "111684235151304192", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 2, "favourites_count": 3, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": {"url": "http://listen.hatnote.com/", "title": "Hatnote Listen to Wikipedia", "description": "Listen to recent changes on Wikipedia", "language": null, "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/111684235151304192", "date": "2024-01-02T03:29:45.781Z"}
---
{{< unsafe >}}
<p>Discovered that I can listen to the community edit Wikipedia in real-time over at Hatnote 🎵 </p><p><a href="http://listen.hatnote.com/#" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">http://</span><span class="">listen.hatnote.com/#</span><span class="invisible"></span></a></p><p>Smoothing and great to listen to in the background.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "111768750075727192", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": {"name": "Tusky", "website": "https://tusky.app"}, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": {"url": "https://kagi.com/smallweb/", "title": "Kagi Small Web", "description": "", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/111768750075727192", "date": "2024-01-17T01:43:01.184Z"}
---
{{< unsafe >}}
<p>Discovered that my favorite search engine Kagi 🔎 has a page where you can explore smaller personal websites 🌐</p><p><a href="https://kagi.com/smallweb/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">kagi.com/smallweb/</span><span class="invisible"></span></a></p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "111774068472243697", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 0, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": {"url": "https://ognjen.io/using-robots-txt-to-discover-hidden-content/", "title": "Using robots.txt to discover hidden content", "description": "robots.txt might prevent search engines from indexing content, but it can expose it to non-robots", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "Ognjen Regoje \u2022 ognjen.io", "provider_url": "", "html": "", "width": 600, "height": 315, "image": null, "image_description": "", "embed_url": "", "blurhash": "UGRysg9Ff6Rj00azxut7D%RjaeWBM{t7ayWB", "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/111774068472243697", "date": "2024-01-18T00:15:33.476Z"}
---
{{< unsafe >}}
<p>I&#39;m having fun distracting myself with the robots.txt of major websites thanks to Oggy.</p><p><a href="https://ognjen.io/using-robots-txt-to-discover-hidden-content/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">ognjen.io/using-robots-txt-to-</span><span class="invisible">discover-hidden-content/</span></a></p><p>Like why does the verge not want to index the iPhone 15 event? 🤔</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "111836292853978754", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 0, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [{"id": "111836278820260952", "type": "image", "url": "https://cdn.fosstodon.org/media_attachments/files/111/836/278/820/260/952/original/bf7f82531ea6eef7.png", "preview_url": "https://cdn.fosstodon.org/media_attachments/files/111/836/278/820/260/952/small/bf7f82531ea6eef7.png", "remote_url": null, "preview_remote_url": null, "text_url": null, "meta": {"original": {"width": 1714, "height": 804, "size": "1714x804", "aspect": 2.1318407960199006}, "small": {"width": 701, "height": 329, "size": "701x329", "aspect": 2.1306990881458967}, "focus": {"x": -1.0, "y": 1.0}}, "description": "Screenshot of the text-based WordGuess game.", "blurhash": "U02$Km?b_N_39F?bnlM{_NIToztR4n%NRPIU"}], "mentions": [], "tags": [{"name": "tildeverse", "url": "https://fosstodon.org/tags/tildeverse"}], "emojis": [], "card": {"url": "https://brandonrozek.com/blog/wordguess/", "title": "Wordguess: A game for the Tildeverse", "description": "The Tildeverse is a collection of online communities that allows people to create user accounts on public unix machines (pubnixes). Often this is to create websites, however, one component that I think deserves additional attention is the creation of games for these communities.\nThree games that are featured in the message-of-the-day in Tilde.club are:\nBotany: Plant raising game where players can help water each other\u2019s plants Asciifarm: Multiplayer farming/fighting game Dungeon Crawl Stone Soup: Rouge-like dungeon adventure These games are designed to be multiplayer, but it doesn\u2019t need to in order to be a social game.", "language": "en", "type": "link", "author_name": "Brandon Rozek", "author_url": "https://brandonrozek.com/", "provider_name": "", "provider_url": "", "html": "", "width": 0, "height": 0, "image": null, "image_description": "", "embed_url": "", "blurhash": null, "published_at": "2024-01-28T00:00:00.000Z"}, "poll": null, "syndication": "https://fosstodon.org/@brozek/111836292853978754", "date": "2024-01-29T00:00:02.191Z"}
---
{{< unsafe >}}
<p>I feel like we need more mini-games on the <a href="https://fosstodon.org/tags/Tildeverse" class="mention hashtag" rel="tag">#<span>Tildeverse</span></a> pubnixes so I developed WordGuess a wordle-based game. </p><p><a href="https://brandonrozek.com/blog/wordguess/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">brandonrozek.com/blog/wordgues</span><span class="invisible">s/</span></a></p><p>It&#39;s currently up on tilde.club where once a day players can guess the word and compare scores with other players.</p>
{{< /unsafe >}}

View file

@ -1,6 +0,0 @@
---
{"id": "112581869512127927", "in_reply_to_id": null, "in_reply_to_account_id": null, "sensitive": false, "spoiler_text": "", "visibility": "public", "language": "en", "replies_count": 1, "reblogs_count": 0, "favourites_count": 1, "edited_at": null, "reblog": null, "application": null, "account": {"id": "108219415927856966", "username": "brozek", "acct": "brozek", "display_name": "Brandon Rozek", "url": "https://fosstodon.org/@brozek", "uri": "https://fosstodon.org/users/brozek", "avatar": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "avatar_static": "https://cdn.fosstodon.org/accounts/avatars/108/219/415/927/856/966/original/bae9f46f23936e79.jpg", "header": "https://fosstodon.org/headers/original/missing.png", "header_static": "https://fosstodon.org/headers/original/missing.png", "noindex": true, "roles": []}, "media_attachments": [], "mentions": [{"id": "112542302569215000", "username": "revolteh", "url": "https://mastodon.social/@revolteh", "acct": "revolteh@mastodon.social"}], "tags": [], "emojis": [], "card": {"url": "https://notepadtab.com/", "title": "Notepad Tab", "description": "Write down anything and have it automatically persisted in the address bar and in the browser\u2019s history. Easily back up or share any note by simply copy and pasting the URL.", "language": "en", "type": "link", "author_name": "", "author_url": "", "provider_name": "Notepad Tab", "provider_url": "", "html": "", "width": 512, "height": 512, "image": null, "image_description": "", "embed_url": "", "blurhash": "UGA.AII^8w=Bt,R.RP$eQ,s9tlOZXTW=jEnh", "published_at": null}, "poll": null, "syndication": "https://fosstodon.org/@brozek/112581869512127927", "date": "2024-06-08T16:09:59.147Z"}
---
{{< unsafe >}}
<p>Syncing notes through bookmarks with Notepad Tab is such a neat idea! </p><p>Thanks <span class="h-card" translate="no"><a href="https://mastodon.social/@revolteh" class="u-url mention">@<span>revolteh</span></a></span> for creating this!</p><p><a href="https://notepadtab.com/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">notepadtab.com/</span><span class="invisible"></span></a></p>
{{< /unsafe >}}