Episode Transcript
Transcripts are displayed as originally observed. Some content, including advertisements may have changed.
Use Ctrl + F to search
0:03
In my my self -hosting journeys
0:05
I have decided to self
0:07
-host a a links in bio page
0:09
on my website. think don't
0:12
think you have you? Have
0:14
I not? Because links in bio
0:16
is the link is in my The
0:18
link is in my biography
0:20
for this application world. you
0:22
I went, I am hosting my am hosting
0:24
my own, tree, my link is
0:26
what you're is what you're Is
0:28
that it? Okay. it? what what it
0:31
is, yeah. I'm just going off
0:33
those bright things on Instagram that
0:35
usually say link in say something in
0:37
bio or something clever on Instagram.
0:39
And I thought that's what I've
0:41
made. and I thought that's what I've do
0:43
feel a bit like I do feel a
0:45
bit like The application that I'm
0:48
using, I say application is not
0:50
an application. We'll get to
0:52
that in a moment, is a
0:54
link we'll get to that page, a basically.
0:56
like page basically is what it's all about. And
0:58
I created this because as I
1:00
explore my options, it occurred options, it occurred
1:02
to me that what I want
1:05
is I a page like this
1:07
where I can say, can all of
1:09
the places you can find me.
1:11
the Because some of the services
1:13
that I'm looking at using give you
1:15
give you one place to say, my
1:18
is my website or whatever. just
1:20
sending people to my blog doesn't
1:22
feel like the right place to
1:24
go. to go. So I thought one
1:26
of these these link tree type. services
1:29
be a good idea, but I
1:31
didn't want to use use a service
1:33
I wanted to do it myself,
1:35
so I found this project
1:37
called Link. So for the smart people like me
1:39
and you that know what and
1:41
you is it's is, single
1:43
page list of links that you can of
1:45
links to you can send people
1:47
to have a memorable domain. Have you
1:49
got a memorable URL to this
1:51
handy reference out and keep reference
1:54
guide to where you can find
1:56
Martin everywhere online? As if by
1:58
magic a new domain appears. And
2:00
it is Whimpees World.link.
2:02
Nice, nice. Yeah, so it's just
2:05
a quick just a
2:07
quick URL. it's And as you say,
2:09
it's a list of all of the
2:11
places that people can connect with
2:13
you online. So your social media accounts,
2:15
your your get-forage account video
2:17
platforms you're on. And
2:19
in my case, one of
2:21
the the I've made is
2:23
underneath all of my
2:25
personal links, I've made a
2:27
whole section about Linux about
2:29
Linux of the places you can
2:32
find Linux you can also matters to the
2:34
podcast because that is one of
2:36
the places where one of the the
2:38
two of you exist. you exist. So
2:40
this is... a web with some links
2:43
on on which... It's a a web ring. seen
2:45
this before So what what what
2:47
does little link actually do Is there
2:49
some sort of like like application
2:51
here where you put put you in
2:53
your icons and your and it makes
2:55
this page or what's little link
2:57
actually giving you actually as
2:59
opposed to just crafting this yourself
3:01
with HTML. this Little Link is
3:03
the simplest thing ever. is
3:06
It is a single It HTML
3:08
page HDML some CSS classes as
3:10
you that the you create the
3:12
links to, for example, one of
3:14
the one of the CSS
3:16
class examples is a Mastodon
3:19
branded button. create you create the
3:21
links to the different platforms
3:23
that you're on, on. each
3:25
of those buttons is branded
3:27
appropriately for those different sites.
3:30
So it all looks very
3:32
attractive. the the right icons and the
3:34
right colour schemes on each of the
3:36
buttons so it's very clear which which
3:38
place you're advertising. you are you are actually
3:40
just making an HTML page with a
3:43
list of links. links and then little is
3:45
making it look nice. You don't even
3:47
have to make it. make it. So Little
3:49
Link project, the way that it works
3:51
works simply fork the project. and
3:54
then the index-to-HML
3:56
file has every
3:58
possible. link in
4:00
there you you just uncomment the
4:02
ones you want to use and
4:04
replace the link to the place
4:06
you want to be. as it Now
4:08
as it happens there's also a
4:11
community project called called Extended which is
4:13
a bunch of additional CSS classes
4:15
for loads of other places and
4:17
I've added that to mine mine
4:19
that had things like mastered on
4:21
in it which obviously I care
4:23
about. about. But what's interesting about this
4:25
is whilst I'm self I'm and I'll
4:27
get to how I'm doing the deployment
4:29
in just a the deployment in just a project
4:31
the a couple of buttons
4:34
and you can just click of
4:36
buttons, with just click, deploy with with or
4:38
deploy with it bounces you through
4:40
this wizard that automatically forks
4:42
the project for you you
4:45
your own GitHub account. account, does the
4:47
ORoth and and connects you to the
4:49
free plan on both those services
4:51
and automatically hooks up instantaneous deployment
4:53
to those platforms. So if you if
4:55
you don't have your own web
4:57
hosting, it will automatically set up
4:59
free hosting to to automatically deploy this
5:01
as you change it. it And
5:03
presumably it could also deploy it
5:05
to hub pages it's just a static
5:07
page. page. It could also do that.
5:09
I don't remember if that's one
5:12
of the options. It may well
5:14
be. I remember that I think
5:16
I started with started it out and
5:18
then try it out it up going
5:20
to my own site. my own site. So even
5:22
for a CSS numpty like me,
5:24
it was really easy to add
5:26
the extra CSS file for little
5:28
Link which adds hundreds of
5:30
more branded sites. sites. if you
5:32
have somewhere you want to
5:34
link people, which isn't in there,
5:36
it's very trivial to just
5:38
go in and add a new
5:40
CSS class for your custom
5:42
stuff. So I've added one for
5:44
my added one for my example, which
5:46
is which is icon and all of
5:48
that sort of stuff. all of that I'm
5:50
self stuff. so I found a
5:52
project in the a project in the
5:55
which I think is worth highlighting as
5:57
well. It's called as well.
6:00
and I've used similar tools
6:02
in the past but
6:04
this is sort of
6:06
an is -one, one -stop one-stop
6:08
shop to how to provide your key
6:10
or SSH key as a key as
6:12
a secret in a GitHub action
6:14
automatically have the site deployed
6:17
to your own server using
6:19
our sync. and it's all in
6:21
one action and there's a
6:23
few configuration configuration it handles the
6:25
handles the made a change I'll
6:27
automatically deploy that to your
6:29
self to instance using rsync
6:32
and it's the best of
6:34
these types of tools that of
6:36
encountered recently. I should take
6:38
a look at that I should take a look at that
6:40
because I've my home a solution in a get
6:42
out of action for my .com/blog. some time ago get -up,
6:44
but it it works so it's it's fine but it's
6:46
a it's a little bit janky. I
6:48
wrote a blog post about it.
6:50
Maybe we'll put a link in the
6:52
show notes, in but this would be
6:54
this would be I just need to set
6:56
aside time to other things to other
6:58
that. do And I did actually start
7:00
with looking at your blog at your blog
7:02
what you'd done. you'd And I thought, was
7:04
there was a few extra steps
7:06
in there. And then I found this
7:08
thing thing of rolls of rolls it one into
7:10
one simple - bundle. bundle nice So yes, I I think
7:13
that this this is SSH deploy is a
7:15
really nice tool. So if you
7:17
are looking to, you know, advertise your
7:19
presence on that, their Fediverse and
7:21
other platforms, this is a a little
7:23
tool. It's really easy to get started.
7:25
started and it looks very attractive and
7:27
pretty, very simple to to
7:29
customize. I
7:32
have have been logging in remotely
7:34
2024 style. SSH? Getting your 18 year old son to go
7:36
and press a button for you. old son
7:38
to go and press a button
7:40
for you. Yelling across the house, the No?
7:42
Something else. Yelling across the
7:44
house. The commands I need typed
7:46
in. desk which is got this this
7:48
box under my desk, which
7:50
is like a headless desktop, which
7:52
was previously before I got a I
7:54
got a and now it And now
7:56
it primarily serves video encoding, which I
7:58
which I occasionally need. but the way that
8:00
I do way that I do that is a kick
8:02
to Give it a kick to turn it
8:05
on I log in in from a laptop remotely
8:07
in and either via SSH SSH or than
8:09
often than not the the desktop. to
8:11
to configure whatever job I need
8:14
and set it going and then
8:16
disconnect and leave it running until
8:18
it's finished. leave it in the past,
8:20
I managed all of this using
8:22
I managed all which is to Go which application
8:24
and desktop and desktop
8:27
graphical login thing. Yeah, Exetergo quite great.
8:29
And in fact, a little
8:31
known fact is the Xtgo is
8:33
the in Germany hack fest in Germany was
8:35
where a Bunto in earnest. in met
8:37
the Debian developers that sponsored
8:39
my work and what have
8:41
you. my work and what have you. I
8:44
just rewind slightly slightly as to, you
8:46
said said were very you were
8:48
very hand wavy about some
8:50
video and jobs and any normal
8:52
nerd would tell you on
8:54
into the peg, but I suspect I
8:56
suspect You're probably running, know,
8:58
I don't know, and handbreak and stuff, and
9:00
stuff, graphical desktop applications. Exactly, yes,
9:02
and I've I've also got my auto
9:05
handbreak which will display a GUI
9:07
if it's run on the
9:09
desktop. for doing like jobs and
9:11
stuff like that. So it can be
9:13
handy to have the desktop for
9:15
that. have the I can't hear batch jobs
9:17
without thinking of batch jobs the last
9:20
episode of Martin in the last So now I'm
9:22
thinking you've got now I'm thinking your desk
9:24
and that under your desk that's that is that is fact
9:26
now that's to all of this somewhere
9:28
and I'm trying to find my
9:30
way back to it. and I'm trying to
9:32
find my way to it. in So brave new
9:34
world of new world of Wayland ex to go doesn't
9:37
do the job so
9:39
well well anymore. there's a clue
9:41
in the name a isn't
9:43
there? the name there, isn't there? is
9:45
very reliant on reliant on their
9:47
X11 server model. model. has has
9:49
Exter gone. Yes. Oh no. Sorry. no. network
9:51
transparency, which transparency, which apparently we
9:53
told we don't actually
9:55
want want anymore. Okay. So I need I need
9:57
a new way of handling this
9:59
remote login. And I I just upgraded
10:01
the machine to Ubuntu 2404 LTS,
10:04
which LTS, thanks to which actually it's
10:06
to, I believe excellent new has
10:08
an excellent new remote login
10:10
solution. So if right. into you
10:12
go into the settings app
10:15
and go to now a there's
10:17
now a remote login option, which
10:20
gives you two options. It gives
10:22
you you sharing and remote Login. So
10:24
So desktop sharing will allow you
10:26
to give someone access to your
10:28
current desktop, either to view. either
10:31
to to or to control and the the remote
10:33
you set you set up a
10:35
user connect you connect via an
10:37
RDP client and it will actually
10:39
drop you remotely into. into GDM
10:41
where can log where you can any
10:43
as any user that doesn't currently have
10:45
an active session. Oh, wow. wow, that's
10:47
really quite smart. so you can you can either
10:49
connect as user user who has a session
10:51
running, or you can connect in as one
10:54
who isn't. who isn't can also, I think, I
10:56
think Log in as a user who's session
10:58
is already running and kick them off their
11:00
existing session, existing session, which is, yeah, I'm yeah, I'm
11:02
sure there's a use case for that, but
11:04
might be a bit might be a bit So,
11:06
based on your description there, am I
11:08
right in saying that this is quite
11:11
a tightly coupled solution tightly of integrated into
11:13
GNOME itself? I believe so.
11:15
So, I went looking in the I release
11:17
notes I didn't see this mentioned, but
11:19
then I went looking in the GNOME
11:21
release notes and I saw it mentioned
11:23
there. So, I think it is looking in the
11:25
feature. notes I have in the past there.
11:27
around doing this with with XRT, which can which
11:29
can do the same thing, you log you
11:31
that, to that... manager you get
11:33
is some you get is
11:35
some real Windows 95
11:37
And it's not an easy it's
11:39
not a... an easy configuration
11:41
experience and not a pretty experience,
11:43
whereas this is slick, very
11:45
easy to configure and looks beautiful. How
11:48
does it handle handle
11:51
resolutions? Because if Because on
11:53
my my... a bun to a sahi
11:55
13-inch Air, air Ubuntu, a bun
11:57
and I oh I I
11:59
don't. know remote into my think pad Z13 in
12:01
the office that's got an LG monster the office that's
12:03
got an LG going to happen monitor connected
12:06
to it. What's gonna happen there? clearly
12:08
does actually explain quite clearly tabs the
12:10
configuration in the two tabs. So
12:12
it does something different depending if you're
12:14
logging into an active session or
12:16
not. if So if you're logging into
12:18
an active session, you get the resolution
12:21
that that session is running at. is
12:23
running So if you're in a window
12:25
that's smaller than your than your your LG funny
12:27
shape shape monitor, you'll be scrolling around.
12:29
around. you're logging in to a new session, the
12:31
the resolution is set by your
12:33
window it in. This is running it in. I
12:35
is glorious. of plenty of think of
12:38
plenty of activities I would need
12:40
this for. Yes. creating like a separate a
12:42
separate user account which is your
12:44
remote account would be a smart
12:46
way to go here so you always
12:48
negotiate like a remote friendly resolution
12:51
as you connect. I I guess if
12:53
you're not logged in on the
12:55
machine, if the machine is just
12:57
for for remote gooey, you know, like like
12:59
a server kind of. thing. Yeah, so the way
13:01
that this that this machine up to run
13:03
is up to run as you boot
13:06
it in as the logs in as the steam in
13:08
big Steam in big and mode and then
13:10
that's there for me to connect via
13:12
Steam link or stream a game to
13:14
my steam whatever if I want to. I
13:16
But then there's another user which is
13:18
there which for doing things like video
13:20
encoding like video encoding don't know. know. whatever
13:23
I I want to do on a GPU. on a GPU.
13:25
This episode is sponsored by
13:27
This episode is sponsored by for that
13:29
skip but stop reaching for that
13:31
skip button. how I I'm going
13:33
to explain how I
13:35
use the plan to secure plan
13:37
to secure my home network
13:39
and why enthusiasts should
13:42
give it a whirl. effortlessly scale
13:44
effortlessly provides the benefits
13:46
of without the the hassle of
13:48
manually configuring it. it. Thanks
13:50
to Tailscale, I have
13:52
no open ports on our
13:54
router. I have even have even given
13:57
up my static IP addresses
13:59
with my my ISP. which saved me
14:01
some money, because tail scale and
14:03
DNS DNS I'm always connected
14:05
to all our servers, laptops
14:08
and other devices, wherever
14:10
I am. wherever I
14:12
clicks, our Apple TVs
14:14
now operate as operate
14:17
exit nodes, making our
14:19
home network network my VPN endpoint. When
14:21
I I travel abroad, this has
14:23
the added benefit of preventing
14:25
my online banking service from
14:27
erroneously triggering triggering
14:29
anti-fraud Many
14:31
of the of the late night hosts
14:34
are using are to make
14:36
complex make configurations easier than
14:38
melting butter with a melting
14:40
butter with a you could And
14:43
Tailscale's personal plan will always
14:45
be free. be free. To support
14:47
the show and become
14:49
a a Jedi, Jedi, Try tail for
14:51
free today. you'll get
14:54
up to to devices and
14:56
three users for free for no
14:58
credit card required card .com
15:01
scale.com/Linux matters.
15:05
Linux Matters is part of
15:07
the the Linux Linux If you
15:09
enjoy this show then please
15:11
consider supporting us and the
15:13
rest of the Late Night
15:15
Linux of the Late the PayPal
15:17
or Patreon links you can
15:19
find at patron .sh find at Linuxmatters.sh slash
15:22
a month on Patreon, you can
15:24
enjoy an can feed of our
15:26
show, our or for $10, get
15:29
access to all the late -night Linux
15:31
shows ad -free. to get love to
15:33
get your feedback via email,
15:35
email. show at at linuxmatters .sh, can or
15:37
you can chat with us
15:39
and other listeners in our
15:41
Telegram group. All the details are
15:44
available at linuxmatters .sh
15:46
slash slash contact. I've been learning
15:48
Jango by fire. It's the been
15:50
learning Django by fire. it the
15:52
only way. way. The apparently it is
15:54
the only way. getting you do this
15:57
is by getting somebody else's project
15:59
try and fathom. what on earth
16:01
is going on without reading
16:03
any documentation but just pressing
16:05
buttons and deleting and moving
16:07
things around and trying things
16:09
until you understand it. That's
16:11
my way. Anyway, so I've
16:13
been noodling with a piece
16:15
of software called Savannah. I
16:17
don't think I've mentioned it on
16:19
the show before. It's a community relationship
16:21
manager written in Python and Jango. It's
16:24
open source. there is a hosted version
16:26
that you can pay for in order
16:28
to help pay for development of the
16:30
thing and there's also the source code
16:32
on get up that you can clone
16:35
and deploy yourself or just run on
16:37
your workstation and it's like a CRM
16:39
system so I said community relationship manager
16:41
it's like a customer relationship manager so
16:43
it has some of the same terminology
16:46
but it's for tracking community contributions it's
16:48
not for tracking like sales leads and
16:50
targets for targets for sales of marketing
16:52
people, although there is a little bit
16:54
of that potentially in there. It's more
16:56
to do with keeping an eye on
16:59
your community health. So, you know, are
17:01
people's poor requests being attended to, are
17:03
questions being answered, are issues being resolved,
17:05
that kind of stuff, and how many
17:07
members are there in the community? And
17:10
what level are they through the life
17:12
cycle? Are they just someone who's filed
17:14
an issue or are they a core
17:16
contributor or somewhere in between that kind
17:18
of stuff? So that's... That's what the
17:21
core mechanic of this application is. It's
17:23
a website that you can deploy. It
17:25
was written over a period of time
17:27
by Michael Hall, M Hall 109. You
17:29
may remember him from canonical and Ubuntu
17:32
back in the day. He now works
17:34
at arm. And he started it as
17:36
a bunch of Python scripts that he
17:38
used at canonical to measure the activity
17:40
in the Ubuntu community. and then every
17:43
job he's had after canonical he's built
17:45
on it and built on it and
17:47
built on it and now it's a
17:49
big thing that is something that you
17:51
can either pay him to host and
17:53
use or deploy yourself somewhere and I
17:56
use it and I've started getting involved
17:58
in developing and maintaining it. So far
18:00
I haven't committed any patches. I've been
18:02
doing this all locally because it's a
18:04
bit of a new thing to me
18:07
and I'm a bit scared of doing
18:09
it wrong. But I gave a couple
18:11
of talks, I talked to Odd Camp
18:13
about it and I also gave a
18:15
talk last weekend at Bar Camp London,
18:18
the same talk effectively and it went
18:20
down quite well. People seemed quite keen
18:22
but I need to solve a few
18:24
problems. It's a bit sharp around the
18:26
edges. You were also good enough to
18:29
set up an instance for the Quick
18:31
Emmy project and in addition to some
18:33
of the things you've identified there, one
18:35
of the things that came out of
18:37
it for me is that it actually
18:39
identified hot issues that I wasn't aware
18:42
were actually hot issues within the community
18:44
because you can see how much conversation
18:46
there is. around either a particular issue
18:48
in get hub or in this case
18:50
a discussion in get hub discussions around
18:53
a particular support issue which was a
18:55
fadora support for the packaging and what
18:57
have you. So it's insightful in many
18:59
different ways as well as identifying like
19:01
who your standout contributors are. Yeah it's
19:04
got a lot in there. I'm not
19:06
even scratching the surface of what it
19:08
can do. It can connect to lots
19:10
of different services. The basic premise is
19:12
it has a bunch of sources as
19:15
in Savannah has plugins to connect to
19:17
other things like get hub, get lab,
19:19
discord, discourse. It can connect to RSS
19:21
feeds and there's also an API so
19:23
you can create your own plugins to
19:26
connect to other things and feed data
19:28
into it. And the kind of things
19:30
you're feeding into it are data about
19:32
contributions people are making to your project.
19:34
and conversations people are having about and
19:36
around your project. So those are the
19:39
two parts. It's conversations and contributions. And
19:41
I apologize to anyone who has seen
19:43
this on camp and bar camp. I'm
19:45
not going to redo the whole slide.
19:47
and everything here. But what I wanted
19:50
to talk about was my experience with
19:52
playing with this thing. And I kind
19:54
of went on a bumsteer initially because
19:56
I cloned the projects and I could
19:58
not get it running. And it turns
20:01
out that there's something I've learned and
20:03
I haven't internalised fully about people who
20:05
use get up. And that is some
20:07
people work on a branch that isn't
20:09
Maine. And so I cloned the main.
20:12
branch and I was like I couldn't
20:14
get this working and it turns out
20:16
I bumped into Michael out in rally
20:18
in North Carolina a few weeks ago
20:20
and I had a chat to him
20:23
about it and he said oh yeah
20:25
it does work I just deployed from
20:27
the production branch and I was like
20:29
oh oh right and that's the one
20:31
that's more up-to-date but even then I
20:33
couldn't get that working because there were
20:36
problems with Python dependencies problems with some
20:38
of the modules that are now orphaned
20:40
because Michael's deployed it. a while ago
20:42
and it's running and he kind of
20:44
left it alone and not touched it
20:47
because it is just still running and
20:49
it does run. He sometimes has to
20:51
poke a job or something here and
20:53
there to wake it up or get
20:55
rid of some log files or something,
20:58
but it mostly just works. And so
21:00
I have been doing things like updating
21:02
the Python requirements dotTXT to update all
21:04
the dependencies and I hope everyone is
21:06
sitting down right now and if you're
21:09
driving I would urge you to pull
21:11
over to the side of the side
21:13
of the road. I have made a
21:15
docor file. Who are you and what
21:17
have you done with that? I know,
21:20
right? I'm a changed man. I thought
21:22
this, I can do virtual Ems. I
21:24
use UV for doing virtual ends with
21:26
Python. I love UV. It's fantastic. But
21:28
I thought, you know what, this is
21:30
a candidate for making it easier in
21:33
a quick and easy way with the
21:35
docor container that people can just, you
21:37
know, docor build and they've got a
21:39
container that they can test on their
21:41
local machine or deploy somewhere somewhere or
21:44
deploy somewhere. made and prototypes and worked
21:46
on this in my spare time such
21:48
that you can either use sequel light
21:50
or you can configure it to use
21:52
Postgress or MySQL, Maria, DB and I've
21:55
put all the options in there with
21:57
all the environment set up and it's
21:59
it's all basic stuff that probably anyone
22:01
could do but it's not all there
22:03
already and so I just wanted to
22:06
add this to make the on ramp
22:08
to people contributing to or having a
22:10
play with it a little bit easier.
22:12
Now as we record this I haven't
22:14
finished all of this. But I have
22:17
deployed it a few times using this,
22:19
this docket build and it works fine.
22:21
There are a few nuances that I
22:23
need to iron out, but in order
22:25
to just run it on your workstation,
22:27
it is going to be possible once
22:30
I commit this and I'll put a
22:32
link in the show notes. So that
22:34
will give me a target to get
22:36
this done by the time this comes
22:38
out. And then you'll be able to
22:41
deploy it yourself and try it out.
22:43
All you need if you're going to
22:45
connect it to get a API key
22:47
there. there are other things you can
22:49
connect it to that don't need API
22:52
keys like RSS feeds and so on
22:54
but I found it super useful from
22:56
a user point of view of the
22:58
tool Savannah to see as Martin said
23:00
like what's going on in the community
23:03
and identifying new people or people whose
23:05
activities dropped off you know maybe they're
23:07
on holiday maybe they're sick of the
23:09
project who knows but also it gives
23:11
you little notifications when people come back
23:13
like So and so has been away
23:16
for three weeks and then it gives
23:18
you a notification. So and so is
23:20
back at the project. Build things like
23:22
that that you might not recognise like
23:24
in amongst all the other data that
23:27
is in get up. A lot of
23:29
this you could just get from get
23:31
up but the fact that this correlates
23:33
get up and discourse and discord altogether
23:35
gives you a real as it says
23:38
on the marketing blurb on the website
23:40
a holistic view of the community and
23:42
that's what I really like about it
23:44
and then from a developer point of
23:46
view. being able to noodle around with
23:49
it. The co-base is actually not that
23:51
hard for me to understand and I
23:53
am not an expert in this and
23:55
I can figure out a lot of
23:57
what's going on and I've even written
24:00
a patch that removes Twitter. because it
24:02
can use the Twitter API but it
24:04
can't anymore because Elon and so I've
24:06
made a patch whether Michael will accept
24:08
it or not I don't know but
24:10
I've made a patch that removes the
24:13
Twitter dependencies and that fixes part of
24:15
the build so yeah there's a there's
24:17
a whole bunch of little things some
24:19
of it is adding some of it's
24:21
removing as with all code changes and
24:24
I'm quite enjoying it's quite a fun
24:26
project to work on and I'm really
24:28
hoping I can spurs some more people
24:30
on to play with it. a lot
24:32
of stuff that this does which you're
24:35
finding useful. Is there anything that from
24:37
your sort of experience doing community management,
24:39
is there a feature it doesn't have,
24:41
which you're thinking, or I might like
24:43
to add that? I can give you
24:46
three examples. More plugins is one of
24:48
them. So for example, it doesn't have
24:50
a plug in for Masterdon, but I
24:52
wrote one for Masterdon. And so I
24:54
wrote the code that goes and gets,
24:57
access is your... mastered on instance server
24:59
and then pulls the data about who's
25:01
liking or who's resharing your tooth. Now
25:03
I know this is controversial and some
25:05
people on Mastodon don't like their data
25:07
leaving Mastodon so I haven't published this
25:10
and I haven't thought how I would
25:12
publish this and how you you know
25:14
how you articulate what you're doing here
25:16
because I know this is a very
25:18
delicate thing to do on Mastodon less
25:21
so on other platforms like Blue Sky.
25:23
But I found it actually surprisingly easy.
25:25
The API for stuffing data into Savannah
25:27
is not hard to understand at all.
25:29
There's very few API calls. It's just
25:32
basically, you're creating a new member of
25:34
the community, you're adding a contribution, or
25:36
you're adding a conversation, or you're adding
25:38
a conversation. That's basically the three API
25:40
calls you need. And creating a new
25:43
member is someone who's interacting with you,
25:45
creating a new contribution is, you know,
25:47
someone added or removed some code, and
25:49
adding a conversation, hard to grock how
25:51
it all fits together. Two other things
25:54
I'll briefly mention that are missing. Proper
25:56
sentiment analysis to determine how people are
25:58
feeling. It can look for keywords like
26:00
thanks and someone's grateful and stuff like
26:02
that. But detecting whether people are happy
26:04
or sad in the project, I don't
26:07
think it does that yet, particularly well.
26:09
And the other thing that someone asked
26:11
at bar camp was, can it compare
26:13
two projects? So the question someone asked
26:15
is, can I point this at my
26:18
competitors, Git repo? And the answer is
26:20
yes. So long as they're public, if
26:22
you're pointing at an open source project,
26:24
yes you can. But those are seen
26:26
as two separate communities, two separate communities.
26:29
Yes. the way you would set it
26:31
up and so comparing them is a
26:33
bit tricky but you could potentially yoint
26:35
the data out and do something with
26:37
it or someone could write a plug-in
26:40
that does a compare these two communities
26:42
or something I don't know but yeah
26:44
it's it's fun I'm enjoying it and
26:46
it's really nice to have like a
26:48
chunky project that's got a lot of
26:50
sharp edges that I'm trying to rough
26:53
down and make it a little bit
26:55
smoother for people. Yeah, it sounds like
26:57
you've found an interesting way to get
26:59
your teeth into Python in a bit
27:01
more deeper way. And also in a
27:04
way that's beneficial to what you do.
27:06
Yeah, and potentially beneficial to other people
27:08
as well if they start using it.
27:10
And maybe beneficial to Michael as well,
27:12
because I'm promoting the tool and hoping
27:15
that more people pay for the paid
27:17
service so that he's got more incentive
27:19
to maintain it. We just wanted to
27:21
take a moment to say a heartfelt
27:23
thank you. to all the feedback that
27:26
we received electronically in email, telegram, discord
27:28
and in person. We've all had occasions
27:30
this year where listeners have approached us
27:32
and let us know how much they
27:34
enjoy the show, that they learn new
27:37
things or just like the vibes. Thank
27:39
you. That makes our whole effort very
27:41
worthwhile. Also, if you're a patron supporter
27:43
or share our podcast with friends, we
27:45
appreciate you too. Thanks for listening to
27:47
Linux Matters in 2024. We hope you
27:50
continue subscribing after the holidays for more
27:52
episodes in the new year.
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More