Fireside Fedi

Reader

Read the latest posts from Fireside Fedi.

from Fireside Fedi

Welcome Fedi Friends to the episode 7 of Fireside Fedi! I'm your host ozoned. Fireside Fedi is a show about folks within the Fediverse. If you're seeing this, you are a part of the Fediverse.

With me today is Andy Piper, Head of Communications with Mastodon! Andy is an industry veteran that brings a very unique view to the fediverse by having extensive tech and social media expertise. Andy has 20 years of open source experience. Andy has worked with IBM, Cloud Foundry and even Twitter. Around the Fediverse Andy has worked on projects involving Postmarks, social web tracker for FOSDEM, as well as working with our previous guest Johannes on FediDevs.org.

VODhttps://video.firesidefedi.live/w/7tjwufG5eSsAtmBPVdPiR9 Fedicasthttps://audio.firesidefedi.live/@firesidefedi/episodes/andy-piper-mastodon

https://joinmastodon.org/sponsors#donate https://gamesatwork.biz/ https://macaw.social/@andypiper https://andypiper.omg.lol/ https://github.com/mastodon/mastodon/releases/tag/v4.3.0 https://blog.joinmastodon.org/2024/04/mastodon-forms-new-u.s.-non-profit/ https://theindiebeat.fm/ https://bandwagon.fm/ https://activitypub.rocks/ https://activitypub.ghost.org/

 
Read more...

from Fireside Fedi

Today I interviewed Rimu from PieFed Social. It's a Python powered Forum software built on the Fediverse. It's akin to Lemmy, MBin, Reddit, etc.

It looks like a super nice tech stack, the website loads fast, it connects to everything else. I was sold on PieFed when a community member asked if I could interview Rimu.

After talking with him I knew I was going to make an account. Before I got around to it though I posted the Fireside Fedi episode to my Peertube.

Rimu pinged me because it was set to private, which I quickly realized was my own doing and I fixed it. As soon as I did he let me know that PieFed can natively sync Peertube:

https://piefed.social/c/show@video.firesidefedi.live

THAT IS THE FEDIVERSE! Pick your software stack and sync anywhere. The power houses of the Fediverse are great, but they're kind of siloing themselves. THIS is what the Fediverse was all about.

You can watch the video from PieFed. You can comment, you can like, you can subscribe to the Forum. It all syncs with my Peertube. THAT is what this is all about! THAT is something big tech can never and will never do.

MORE of this PLEASE! :-D

Thank you again Rimu for joining me, spending your time and energy on FOSS and the Fediverse, and showing me how the Fediverse ideas are still growing and we're still in it's infancy.

 
Read more...

from Fireside Fedi

Welcome Fedi Friends to the episode 6 of Fireside Fedi! I'm your host ozoned. Fireside Fedi is a show about folks within the Fediverse. If you're seeing this, you are a part of the Fediverse.

With me today is Rimu! Rimu is the primary developer of pyfedi, a link aggregator such as Lemmy / Mbin which is similar to Reddit, written in Python and Flask. Rimu's piefed.social is powered by his pyfedi application and the site looks very clean and looking at the software looks fairly easy to configure. Rimu thank you very much for joining me.

https://www.patreon.com/PieFed

https://piefed.social https://codeberg.org/rimu/pyfedi https://codeberg.org/rimu/delightful-fediverse-apps https://fedidb.org/software/piefed

VODhttps://video.firesidefedi.live/w/t4M5fXeXqhfJ39MjbCmA7s Fedicasthttps://audio.firesidefedi.live/@firesidefedi/episodes/rimu-piefed-social

 
Read more...

from ozoned

I recently set up https://meet.firesidefedi.live using the awesome Jitsi Meet. It was fairly easy and straight forward.

I did hit some issues though.

First off when I'd connect to the Jitsi client it would disconnect. I tracked down some logs in /var/log/jitsi and saw the following in the jvb.log:

JVB 2025-03-10 13:39:01.115 SEVERE: [1] MainKt.main$lambda$0#61: An uncaught exception occurred in thread=Thread[main,5,main]
java.io.IOException: Failed to bind to /127.0.0.1:8080
	at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:344)
	at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:304)
	at org.eclipse.jetty.server.Server.lambda$doStart$0(Server.java:402)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at org.eclipse.jetty.server.Server.doStart(Server.java:398)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
	at org.jitsi.videobridge.MainKt.main(Main.kt:160)
	at org.jitsi.videobridge.MainKt.main(Main.kt)
Caused by: java.net.BindException: Address already in use
	at java.base/sun.nio.ch.Net.bind0(Native Method)
	at java.base/sun.nio.ch.Net.bind(Net.java:555)
	at java.base/sun.nio.ch.ServerSocketChannelImpl.netBind(ServerSocketChannelImpl.java:337)
	at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:294)
	at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:339)
	... 16 more

I attempted to find where this 8080 was set, because I had something else on 8080, hence the failure to bind to 8080, but I wasn't certain where it was. So I just moved my other application. Since it was behind Caddy is was pretty trivial.

The other issue was the client would connect and I seemed like I was fine. No issues, but when another user would connect it would disconnect me, the moderator, from the client. The other person seemed to stay.

I didn't see any issues in the log files in /var/log/jitsi. So I was wondering if this was a client issue. I happened to catch one time that my quality, the bars in that show your quality in the client, showed red as soon as someone else would connect, then I would drop.

This told me that the connection wasn't getting set up properly. It had been green before anyone else connected though. So was I connecting to the server just fine and then failing the connection?

It seems to me that since Jitsi uses WebRTC that setting indicates your connectivity to the other person. So when it shows green at the start, that's just a default state. I'd like to see that greyed out if that is the case.

The answer to this was opening port 10000 on the server. Of course I didn't pay attention to opening ports, why read the full docs? Once I opened port 10000 the issue was resolved.

So if you're getting these kinds of disconnect, check your ports.

Jitsi Meet is super awesome though and quite easy to set up in comparison to other tools I've seen. I'd highly recommend it.

 
Read more...

from Fireside Fedi

Welcome Fedi Friends to the episode 5 of Fireside Fedi! I'm your host ozoned. Fireside Fedi is a show about folks within the Fediverse. If you're seeing this, you are a part of the Fediverse.

With me today is Johannes! I met Johannes when I found out about the FediForum. FediForum is the “unconference for the people who move the open social web forward.” I want to read Johanne's description on his j12t.org page as I just love it:

“I believe the world is better if people are in control of their own destiny. In technology, that means we need to control our data, freely choose the software we use with our data and fairly negotiate the terms by which we interact with others, including which data is and isn't shared. Not a fan of overlords, in politics and in technology.

Very excited about the opportunities on the resurging open social web / the Fediverse. Also: Facts matter. Empathy, inclusion, opportunity.”

Johannes' impressive current list of projects include Dazzle Labs, FediDevs, FediForum, FedTest and UBOS. As well as many other and previous projects.

https://j12t.org/ https://fediforum.org/ https://dazzlelabs.net/ https://fedidevs.org/ https://feditest.org/ https://ubos.net/ BLOG: https://reb00ted.org/ Mastodon: @j12t@j12t.social Mother of All Demos: https://www.youtube.com/watch?v=yJDv-zdhzMY

https://video.firesidefedi.live/w/2n4KHG3NZs3vxNGmt51jPd https://audio.firesidefedi.live/@firesidefedi/episodes/johannes-fediforum

 
Read more...

from ozoned

I was recently attempting to troubleshoot why I couldn't get a friend's code to run on my Debian 12 system. The file in question, libc.so.6 existed, but his program was giving me an error that it didn't.

So I went looking for how to get it working and I found THIS blog by https://hachyderm.io/@bbatsov.

The command I was looking for was:

$ cd /usr/lib/x86_64-linux-gnu
$ dkpg -S libc.so.6

Which showed me it was owned by libc6:amd64.

I think ran an apt info on that package and got the following:

apt info -a libc6
Package: libc6
Version: 2.36-9+deb12u9
Priority: optional
Section: libs
Source: glibc
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Installed-Size: 13.3 MB
Depends: libgcc-s1
Recommends: libidn2-0 (>= 2.0.5~)
Suggests: glibc-doc, debconf | debconf-2.0, libc-l10n, locales, libnss-nis, libnss-nisplus
Breaks: aide (<< 0.17.3-4+b3), busybox (<< 1.30.1-6), chrony (<< 4.2-3~), fakechroot (<< 2.19-3.5), firefox (<< 91~), firefox-esr (<< 91~), gnumach-image-1.8-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-486-dbg (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486-dbg (<< 2:1.8+git20210923~), hurd (<< 1:0.9.git20220301-2), ioquake3 (<< 1.36+u20200211.f2c61c1~dfsg-2~), iraf-fitsutil (<< 2018.07.06-4), libgegl-0.4-0 (<< 0.4.18), libtirpc1 (<< 0.2.3), locales (<< 2.36), locales-all (<< 2.36), macs (<< 2.2.7.1-3~), nocache (<< 1.1-1~), nscd (<< 2.36), openarena (<< 0.8.8+dfsg-4~), openssh-server (<< 1:8.1p1-5), python3-iptables (<< 1.0.0-2), r-cran-later (<< 0.7.5+dfsg-2), tinydns (<< 1:1.05-14), valgrind (<< 1:3.19.0-1~), wcc (<< 0.0.2+dfsg-3)
Replaces: libc6-amd64
Homepage: https://www.gnu.org/software/libc/libc.html
Tag: role::shared-lib
Download-Size: 2,757 kB
APT-Manual-Installed: yes
APT-Sources: http://deb.debian.org/debian bookworm/main amd64 Packages
Description: GNU C Library: Shared libraries
 Contains the standard libraries that are used by nearly all programs on
 the system. This package includes shared versions of the standard C library
 and the standard math library, as well as many others.

Package: libc6
Version: 2.36-9+deb12u7
Priority: optional
Section: libs
Source: glibc
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Installed-Size: 13.3 MB
Depends: libgcc-s1
Recommends: libidn2-0 (>= 2.0.5~)
Suggests: glibc-doc, debconf | debconf-2.0, libc-l10n, locales, libnss-nis, libnss-nisplus
Breaks: aide (<< 0.17.3-4+b3), busybox (<< 1.30.1-6), chrony (<< 4.2-3~), fakechroot (<< 2.19-3.5), firefox (<< 91~), firefox-esr (<< 91~), gnumach-image-1.8-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-486-dbg (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486-dbg (<< 2:1.8+git20210923~), hurd (<< 1:0.9.git20220301-2), ioquake3 (<< 1.36+u20200211.f2c61c1~dfsg-2~), iraf-fitsutil (<< 2018.07.06-4), libgegl-0.4-0 (<< 0.4.18), libtirpc1 (<< 0.2.3), locales (<< 2.36), locales-all (<< 2.36), macs (<< 2.2.7.1-3~), nocache (<< 1.1-1~), nscd (<< 2.36), openarena (<< 0.8.8+dfsg-4~), openssh-server (<< 1:8.1p1-5), python3-iptables (<< 1.0.0-2), r-cran-later (<< 0.7.5+dfsg-2), tinydns (<< 1:1.05-14), valgrind (<< 1:3.19.0-1~), wcc (<< 0.0.2+dfsg-3)
Replaces: libc6-amd64
Homepage: https://www.gnu.org/software/libc/libc.html
Download-Size: 2,758 kB
APT-Sources: http://security.debian.org/debian-security bookworm-security/main amd64 Packages
Description: GNU C Library: Shared libraries
 Contains the standard libraries that are used by nearly all programs on
 the system. This package includes shared versions of the standard C library
 and the standard math library, as well as many others.

This told me that my libc6 was version 2-36, but his application was complaining it needed 2-38 or 2-39. While I didn't get the issue resolved, I did learn about dpkg and more about apt.

 
Read more...

from ozoned

So while I was learning about Terraform today, the tutorial mentioned that S3 bucket names must all be unique. He acted like this wasn't a big deal and I was just in absolute shock by this.

If the tutorial is to be believed, AWS has like 90% of the market. I couldn't believe that Amazon would lump all of the buckets together, essentially making it a necessity that customers have to create their own unique IDs. Surely the lecturer was mistake right?

I went and found this doc and was appalled to see this:

Important

Bucket names must be unique across all AWS accounts in all the AWS Regions within a partition. A partition is a grouping of Regions. AWS currently has three partitions: aws (commercial Regions), aws-cn (China Regions), and aws-us-gov (AWS GovCloud (US) Regions).

A bucket name can't be used by another AWS account in the same partition until the bucket is deleted. After you delete a bucket, be aware that another AWS account in the same partition can use the same bucket name for a new bucket and can therefore potentially receive requests intended for the deleted bucket. If you want to prevent this, or if you want to continue to use the same bucket name, don't delete the bucket. We recommend that you empty the bucket and keep it, and instead, block any bucket requests as needed.

S3 is broken down into Commercial, China, and US Gov. If you're in one of those, then your bucket name HAS to be unique.

So say I spin up a S3 bucket and called it SuperSecretEncryptionKeys in the Commercial instance. No one else can have that name. That's fine. It's mine.

If I delete that bucket, anyone can take that name. Understood.

Here's the issue, if someone accidentally, in a gigantic organization, deletes a bucket, but doesn't delete anything referencing that bucket then ANYONE can take the name and start serving data from that bucket.

If a bad actor gets access they can delete your bucket and start serving the same name from their bucket.

Your site looks like it's up, your data looks like it's accessible. But yet you've been compromised and the person in the background is controlling the data in that bucket.

Someone please tell me I'm wrong, but this sounds absolutely insane to me.

Sure this can happen with DNS, right? You can only have one write.firesidefedi.live. But we have open systems in plan to help combat forgetting to renew your certs, renew your domains, getting back control, etc.

This is Amazon basically saying “we put minimal effort into this, it's your responsibility.” Amazon. Who owns 90% of this market, isn't concerned with this.

I imagine that if some large corp had an issue, Amazon would jump up and help. But if a mom & pop shop had an issue? Yeah, redirect all your code to your correct bucket, but even before that, good luck even figuring it out.

This is absolutely insane to me, and yet ANOTHER example of how this shit is NOT better, despite what everyone thinks.

I don't personally use an Amazon S3 bucket, but I do use a Hetzner S3 bucket to host my Peertube VODs. I just hope Hetzner has better systems set in place than this.

 
Read more...

from ozoned

To give a history of myself, I've been a Linux nerd for a long time. When I was young I was entranced by computers. I would sit for hours writing useless basic on my father's Tandy TRS-80. It was his because he'd take it with him when he went out of town. It was a portable version.

Then we got a real computer at home and I was amazed by it. I'd play on it constantly. Games mostly, but back in the late '80's early '90's getting anything to run required a basic understanding of Dos and eventually Windows 3.11.

That eventually evolved to Windows 95, 98, etc. I was often super frustrated that when something would break with my computer that I'd have to call the manufacturer just to figure out which driver was the correct set of random numbers and letters in order to get my hardware working after a reinstall of Windows.

I always knew there had to be something better. In the late '90's I bought a boxed copy of Slackware from my local Circuit City. I could never get it to run, because I didn't know what half the values were even referencing and probably still today couldn't figure it out.

I then saw a Red Hat Linux boxed copy and figured I'd try again. I easily got it running on an old machine I had. Then that was it. I didn't know what to do with it.

Games wouldn't run on it. Every application I was taught in school wouldn't run on it. So it was fun, but personally for me, it was useless.

Jump to 2007 and I was about to graduate with my bachelor's degree in Criminal Justice. I decided that games weren't a necessity and I'd be willing to give them up to be free of Windows.

It was an absolutely mesmerizing experience. Everything I knew was basically useless and I had to relearn everything. I absolutely loved it.

One day while I was at college, they were being hit by a bad virus that was flying around the network. A friend said I should shut down my laptop and I just laughed and said I wouldn't be affected.

I had fallen in love with Linux. I graduated in 2008 right as the market crashed and I decided to pivot back into computers and went for a Master's degree in Computer Information Systems. I wanted Linux to be my career.

I've been on Linux since that time in 2007. I've given my life to learning as much as I can about it, and I still love it.

Now I'm at the Federal Reserve in IT, and I feel absolutely useless and so under valued. I'm in a group that doesn't do much, but we're supposedly Sys Admins.

When I asked my manager the best way I could contribute he recommended I learn Terraform. Sure, why not? I had learned Ansible while at Red Hat, how hard can it be.

So I've been looking at Terraform, learning on acloud.guru, and honestly, I absolutely despise it.

I have to learn yet another new language, that pulls runners from Terraform's repository, that aren't even supported by the vendor, to spin up on AWS, just to run some code.

The latest Terraform lesson had us using Docker. So I'm writing Terraform (a new language to me), to pull a Docker runtime (that isn't supported by Docker, but is on Terraform's repo), to pull a Docker image (on Docker's repo), to run on AWS (which we have no control over), to run some code.

This screams to me that no one values a sys admin. Everyone just wants to run the code and not be responsible for managing their systems.

It's a very sad state I've found myself in. I absolutely hate this. I've wanted to surround myself with open and free tech and be able to dig in to the deep levels of how it works.

Instead I've found myself paid very well, to do very little, and I honestly hate it. I hate where this career is going. This is just another example of we'll pay for everything and own nothing.

We don't control the Docker images. We don't control the Terraform providers (aka runners is what I think of them as). We don't control the hardware.

With SAS we don't control the software.

If a bad actor inserts themselves into ANY of these levels, we won't have a clue. We own nothing and we're supposed to be excited for technology?

This just says to me that sys admins aren't valued and that code is king.

I'm just an old man yelling at the Cloud. Very tired of this shit.

This is why I love the Fediverse. I can run my own stuff and take responsibility for me. I can own my content. Own my software. Own my digital identity.

I'll keep moving forward, but holy shit things have to change.

 
Read more...

from Politics

For the first time in my life I'm actively contacting my Congressmen. I've attempted to be cordial when addressing them. But the way our POTUS talked with President Zelensky just absolutely sickens me.

I've posted the following to my Congressmen (Ted Budd, Thom Tillis, Brad Knott):

Is THIS what America stands for now? https://www.npr.org/2025/02/28/nx-s1-5313079/trump-zelenskyy-meeting

I'm absolutely appalled at how our President of the United States talked to another head of a foreign country. I'm disgusted to be an American right now. Is this what the Republican party stands for? Bullying? Forcing invaded countries into just agreeing to peace when they're fighting for their lives?

Not only that, Republicans are attempting to cut critical services, such as Medicaid, for the most vulnerable Americans while REFUSING to tax the richest 1%. I am NOT rich. I make $130k a year. I'm rich compared to most Americans and I'd happily pay more in taxes if it meant that people could afford to live, eat, get medical care. I'm absolutely disgusted by Congressmen that refuse to help vulernable people. I'm disgusted by my Congressmen for refusing to help an invaded country.

You should all be absolutely ashamed of yourselves.

I'll update here with the bullshit answer they give.

UPDATE March 4th 2025 – Response from Tedd Budd:

Dear Mr. Zone,

Thank you for contacting me about U.S. support for Ukraine. It is an honor to represent the people of North Carolina. I appreciate the opportunity to hear from you on this issue.

I believe it is firmly in America’s interest for Russian aggression to be stopped and for the war in Ukraine to end as soon as possible. It is unfortunate that this war has dragged on for more than three years, resulting in the destruction of countless cities and villages and the death and injury of hundreds of thousands of soldiers and civilians. This is due in large part to the Biden administration’s misplaced fear of Russian escalation and piecemeal provision of military weapons and equipment that could have, and should have, been provided earlier in the conflict. If it had, we might be having a different conversation today.

Now, more than ever, is the time for a negotiated settlement to the war in Ukraine. The war is headed in the wrong direction. Russia is making incremental gains on Ukrainian territory as well as regaining its own territory following Ukraine’s incursion into Kursk. Like this or not, it’s a reality playing out for the world to see.

The American people have been more than generous in their military and economic support to Ukraine. Sustained support of this nature is neither practical nor in the U.S. interest. Acknowledging this reality and seeking peace is not the same as supporting Russia or abandoning Ukraine.

President Trump’s mineral agreement is an out-of-the-box vision for continued U.S. engagement in Ukraine for decades to come. Demands for Ukraine’s entrance into NATO or overt U.S. security guarantees are as untenable as they are unnecessary as European countries have already made security guarantees and promised peacekeepers.

Should Russia choose not to come to the negotiating table or break any negotiated peace, they risk a significant shift in U.S. and European military and economic support to Ukraine to change the situation until Vladimir Putin relents. But the status quo cannot continue.

As ever, I’m appreciative of your outreach and will continue to monitor this situation with your comments in mind.

If you are interested in learning more about what is going on in Congress and my work in Washington D.C. for North Carolinians, you may visit my website at budd.senate.gov. If you need assistance with issues related to Social Security, Medicare, veteran benefits, visas, or other items involving a federal agency, you may call my office at 202-224-3154.

 
Read more...

from ozoned

I've never written a blog before, so let me know if you have any suggestions/constructive criticisms/etc.

I was watching some FOSDEM videos yesterday with my community on my Owncast. We came across THIS video and instantly Yuning Liang pulled us in.

Yuning Liang has such incredible charisma, humor, and an absolute tangible passion for computing. You can tell from the offset.

I've tracked RISC-V, and I've tempered my expectations. After seeing Yuning Liang present his company's creations, ideals, dreams, I'm convinced that this man could personally move RISC-V to the end goal.

His passion for open projects, projects for HUMANITY, was contagious.

Yuning Liang is the founder of DeepComputing. He started his company right smack dab in the middle of the COVID pandemic. Who is crazy enough to start a company during a world wide pandemic? A man so impassioned about opening computing and helping change the world is who.

As he points out in the video he went from nothing to a working design in 18 months, pitched it at Framework, designed the Framework RISC-V motherboard, and isn't stopping there.

Yuning Liang has four different designs scheduled just for 2025. Four releases is a lot for even a large company, but for a start up on open RISC-V, this man is either crazy, or believes so much in openness that he could probably do it.

PLEASE never lose this passion Yuning Liang. PLEASE help change the world.

I'd already planned on eventually buying a FrameWork laptop. But now I'll also have to buy a RISC-V board. Not because I'm a developer and can do much with it, but because I believe Yuning Liang could make anything worthwhile.

 
Read more...

from Fireside Fedi

Welcome Fedi Friends to the episode 4 of Fireside Fedi! I'm your host ozoned. Fireside Fedi is a show about folks within the Fediverse. If you're seeing this, you are a part of the Fediverse.

With me today is Laurin! Laurin has been a climate activist sine 2019 and is currently working part time on ActivityPods thanks to NLNet. ActivityPods are meant to bring Sir Tim Burnerss Lee's, father of the modern internet, Solid Pod technology and combine it with ActivityPub the protocol that powers the Fediverse. That has to be some of the most technical things I've ever talked about. Laurin, welcome and thank you for taking the time to talk with me.

VOD MrFunkEDude Mastodon Laurin Codeberg

 
Read more...