Browse Source

reformat issue 1 source

pull/6/head
Ben Harris 2 years ago
parent
commit
6062b9a05a
  1. 125
      issues/1/diving_into_the_depths_of_the_tildeverse.md
  2. 128
      issues/1/social_git.md
  3. 147
      issues/1/you_wanna_make_a_tilde.md

125
issues/1/diving_into_the_depths_of_the_tildeverse.md

@ -3,80 +3,141 @@
author: ubergeek
## Intro
There's a whole lot going on with the tildeverse, and lots of little projects, many of which take some discovering. Here's I'll dive into some of them, which I've since discovered.
## ~tel
There's a whole lot going on with the tildeverse, and lots of little
projects, many of which take some discovering. Here's I'll dive into
some of them, which I've since discovered.
~tel isn't quite a tilde, but is still considered a member of the tildeverse. There's no shell accounts to log into, *but*... There are SIP extensions. These are basically phone extensions, in a small phone network (Yes, it's a network, as there are interlinked phone systems now on there). You can see what is going on by getting into #tildetel on IRC, and by checking our tilde.tel
## \~tel
\~tel isn't quite a tilde, but is still considered a member of the
tildeverse. There's no shell accounts to log into, *but*... There are
SIP extensions. These are basically phone extensions, in a small phone
network (Yes, it's a network, as there are interlinked phone systems now
on there). You can see what is going on by getting into \#tildetel on
IRC, and by checking our tilde.tel
## TriviaBot, idlerpg, And Other IRC Games
There's a few IRC games running. TriviaBot runs in #trivia. This bot asks simple questions, and it keeps a daily, weekly, and monthly score (As well as all-time scores). No need to register.
There's a few IRC games running. TriviaBot runs in \#trivia. This bot
asks simple questions, and it keeps a daily, weekly, and monthly score
(As well as all-time scores). No need to register.
idlerpg is a role playing game, probably unlike any other you've played. You advance by doing *nothing*! That's right, the longer you idle in the channel, the better your progress. You get penalized for chattng, nick changes, etc. It's available in #idlerpg
idlerpg is a role playing game, probably unlike any other you've played.
You advance by doing *nothing*! That's right, the longer you idle in the
channel, the better your progress. You get penalized for chattng, nick
changes, etc. It's available in \#idlerpg
BitBot runs in many channels, but in #meta, you can choose to be a ducc fren (aka, A Duck Friend, it's not a typo, you'll see that a lot in #meta) or a duck foe (Just what it says), but "bef"riending, "boop"ing, and "trap"ping them when they appear. If you see this in #meta:
BitBot runs in many channels, but in \#meta, you can choose to be a ducc
fren (aka, A Duck Friend, it's not a typo, you'll see that a lot in
\#meta) or a duck foe (Just what it says), but "bef"riending, "boop"ing,
and "trap"ping them when they appear. If you see this in \#meta:
```
・゜゜・。。・゜゜\_o< QUACK!
```
・゜゜・。。・゜゜\_o< QUACK!
You can type ",bef", ",boop", or ",trap". bef and boop are synonyms, and trap traps the duck. BitBot keeps track of frens and foes.
You can type ",bef", ",boop", or ",trap". bef and boop are synonyms, and
trap traps the duck. BitBot keeps track of frens and foes.
## Tilderadio
The tildeverse has its own radio station! You can join in with the fanbase in IRC in #tilderadio, and listen in at https://tilderadio.org. People run shows, and often interact with the audience in IRC.
The tildeverse has its own radio station! You can join in with the
fanbase in IRC in \#tilderadio, and listen in at https://tilderadio.org.
People run shows, and often interact with the audience in IRC.
## Gopher
Most tildeverse servers also host content via the gopher protocol. You can access this using ```lynx``` on the shell of most tildeverse servers, or by using the tildeverse [gopher proxy](https://gopher.tildeverse.org/). All of them are also linked on the tildeverse gopherhole (Yep, that's what gopher pages are called) at [gopher.tildeverse.org](gopher://gopher.tildeverse.org). Check it out, there's dozens of us! Dozens!
Most tildeverse servers also host content via the gopher protocol. You
can access this using `lynx` on the shell of most tildeverse servers, or
by using the tildeverse [gopher proxy](https://gopher.tildeverse.org/).
All of them are also linked on the tildeverse gopherhole (Yep, that's
what gopher pages are called) at
[gopher.tildeverse.org](gopher://gopher.tildeverse.org). Check it out,
there's dozens of us! Dozens!
## Tildeverse Search Engine
The tildeverse also has our own search engine, available at [tildeverse search home page](https://search.tildeverse.org). There is a Firefox plugin available in the Firefox app store that will set your browser to use it as the default search engine as well, written by Yours Truly (ubergeek).
The tildeverse also has our own search engine, available at [tildeverse
search home page](https://search.tildeverse.org). There is a Firefox
plugin available in the Firefox app store that will set your browser to
use it as the default search engine as well, written by Yours Truly
(ubergeek).
## Tildeverse UUCP Network
Way back when, if you wanted to transfer files, or send email, you used the UUCP protocol (Unix-Unix Copy Protocol). Some tildeverse servers have this set up today. You can join in #uucp for more details. Praetor is wrangling that project, the site is at [dataforge](http://uucp.dataforge.tk).
Way back when, if you wanted to transfer files, or send email, you used
the UUCP protocol (Unix-Unix Copy Protocol). Some tildeverse servers
have this set up today. You can join in \#uucp for more details. Praetor
is wrangling that project, the site is at
[dataforge](http://uucp.dataforge.tk).
## Cosmic Storytelling
Cosmic.voyage is a tilde server, mostly... But with a very central focus: Writing stories. Here is an excerpt from their site:
Cosmic.voyage is a tilde server, mostly... But with a very central
focus: Writing stories. Here is an excerpt from their site:
```
Here are the annals of Relay Station 001, housed at Lagrange point
L4 in the SOL system. Found within are the records of
transmissions from the oldest and farthest flung ships to have
left Earth of old. These are pen-pal letters, reports, updates,
cries for help, and calls into the darkness. What is delivered to
the system is unfiltered. Some of it is intelligible. For some,
common language has drifted too far for clear translation.
```
Here are the annals of Relay Station 001, housed at Lagrange point
L4 in the SOL system. Found within are the records of
transmissions from the oldest and farthest flung ships to have
left Earth of old. These are pen-pal letters, reports, updates,
cries for help, and calls into the darkness. What is delivered to
the system is unfiltered. Some of it is intelligible. For some,
common language has drifted too far for clear translation.
So, that's the gist of it: extra-solar travel email :) It has a very long, and twisting story so far! They are in IRC as well, in #cosmic.
So, that's the gist of it: extra-solar travel email :) It has a very
long, and twisting story so far! They are in IRC as well, in \#cosmic.
## .tilde Domain Names!
The tildeverse also has their own top-level domain name system: .tilde. In order to request a domain name there, you can go to #.tilde in chat, or do a pull request to the repo at [tildegit](https://tildegit.org/.tilde/.tilde).
The tildeverse also has their own top-level domain name system: .tilde.
In order to request a domain name there, you can go to \#.tilde in chat,
or do a pull request to the repo at
[tildegit](https://tildegit.org/.tilde/.tilde).
Now, these aren't domain names you can hit everywhere, sadly. More an experimental feature. You can however use one of their resolvers for your DNS server, and then be able to access .tilde domains. Their resolvers also enable you to access regular domain names too. Many tildeverse members use these resolvers, too, so you hit those .tilde domains from most tildeverse servers. How to do that, and more can be found at [the tildenic page](https://tildenic.org).
Now, these aren't domain names you can hit everywhere, sadly. More an
experimental feature. You can however use one of their resolvers for
your DNS server, and then be able to access .tilde domains. Their
resolvers also enable you to access regular domain names too. Many
tildeverse members use these resolvers, too, so you hit those .tilde
domains from most tildeverse servers. How to do that, and more can be
found at [the tildenic page](https://tildenic.org).
## Tildenet
A number of tildeverse members are also linking their machines together via VPN connections, with their own address space, which allows the servers to offer far more services openly on that network, that wouldn't be safe to run to the wider, open internet. Things like remote file systems, telnet games, etc.
A number of tildeverse members are also linking their machines together
via VPN connections, with their own address space, which allows the
servers to offer far more services openly on that network, that wouldn't
be safe to run to the wider, open internet. Things like remote file
systems, telnet games, etc.
## Dungeon Crawl Stone Soup
Many of the tildeverse members have a command "dcss", which is a wrapper to just ssh to dcss@crawl.tildeverse.org, so you don't really need to be on a tildeserver to use it, but it's a lot more fun!
Many of the tildeverse members have a command "dcss", which is a wrapper
to just ssh to dcss\@crawl.tildeverse.org, so you don't really need to
be on a tildeserver to use it, but it's a lot more fun!
## Minecraft and Minetest
There are a number of minecraft and minetest servers out there, like theasylum, thunix, and team are some of the minetest servers. town and team host a minecraft server as well. The "Unoffical Tildeverse Minecraft Server" has a page [here](https://mc.tildeverse.org/) which has a map, list of players, and link to the mumble chat (A voice chat system).
There are a number of minecraft and minetest servers out there, like
theasylum, thunix, and team are some of the minetest servers. town and
team host a minecraft server as well. The "Unoffical Tildeverse
Minecraft Server" has a page [here](https://mc.tildeverse.org/) which
has a map, list of players, and link to the mumble chat (A voice chat
system).
## Various other games
Other games that aren't as popular (Yet), but still are out there. Thunix hosts a bzflag game server. Most servers have the bsdgames package installed (Or equivalent), which has atc (An air traffic controller sim), tron bikes (From the movie), adventure (Text-based rpg), monopoly, and gofish. The tilde's MOTD should show you those on login.
Other games that aren't as popular (Yet), but still are out there.
Thunix hosts a bzflag game server. Most servers have the bsdgames
package installed (Or equivalent), which has atc (An air traffic
controller sim), tron bikes (From the movie), adventure (Text-based
rpg), monopoly, and gofish. The tilde's MOTD should show you those on
login.
## And more!
There is way too much to cover in a single article, but some servers host tor proxies, forums (like iris and bbj), and other services. Hopefully those are documented on the servers themselves. If there is a service that I didn't cover here, and you think it should be, hit me up at [ubergeek at thunix dot net](mail:ubergeek@thunix.net), and I'll do a follow up :)
There is way too much to cover in a single article, but some servers
host tor proxies, forums (like iris and bbj), and other services.
Hopefully those are documented on the servers themselves. If there is a
service that I didn't cover here, and you think it should be, hit me up
at [ubergeek at thunix dot net](mailto:ubergeek@thunix.net), and I'll do
a follow up :)

128
issues/1/social_git.md

@ -4,64 +4,110 @@ author: ubergeek
## Intro
One underrated social aspect in the tildeverse is collaborating via code or document creation. Many people consider that to be "loner work", when in reality, it can be much, much more!
One underrated social aspect in the tildeverse is collaborating via code
or document creation. Many people consider that to be "loner work", when
in reality, it can be much, much more!
A great way to socialize while creating content such as source code, or documents, is via git. Git is generally used for source code control, but it can be used for any arbitrary non-binary formatted file: To do lists, calendar events, or just plain text files, such as this one.
A great way to socialize while creating content such as source code, or
documents, is via git. Git is generally used for source code control,
but it can be used for any arbitrary non-binary formatted file: To do
lists, calendar events, or just plain text files, such as this one.
## Intro to Git
Git is a command-line tool, available for most operating systems, and installed on every tilde server (Every one that I know of at least), and there's a reason for that: It is a very powerful tool, used for managing configuration files, source code for projects from the web ([Github](http://github.com) is one of the most visited websites on the internet, as an example), and many other reasons. ~team uses git to edit their website, even!
Git works by creating a database of sorts that tracks changes made to all files inside of a "repo", or "repository". A repository is just a directory of files, with the git database files inside of it. One of the best features of this system is that anyone who "clones" a repo (More later) has a complete copy of the entire history of the project! Very resilient to things likes server outages :)
The command "git", by itself, doesn't do much, aside from spitting out some help info (Which is useful information). It works in phases: Edit file, commit change locally, then push change to another place (Usually a shared location for many people, like [TildeGit](https://tildegit.org)).
There are many front ends to git. TildeGit uses a package called "[Gitea](https://gitea.io)". GitHub uses their own. [GitLab](https://gitlab.com) is another one. There's actually quite a few.
Git is a command-line tool, available for most operating systems, and
installed on every tilde server (Every one that I know of at least), and
there's a reason for that: It is a very powerful tool, used for managing
configuration files, source code for projects from the web
([Github](http://github.com) is one of the most visited websites on the
internet, as an example), and many other reasons. \~team uses git to
edit their website, even!
Git works by creating a database of sorts that tracks changes made to
all files inside of a "repo", or "repository". A repository is just a
directory of files, with the git database files inside of it. One of the
best features of this system is that anyone who "clones" a repo (More
later) has a complete copy of the entire history of the project! Very
resilient to things likes server outages :)
The command "git", by itself, doesn't do much, aside from spitting out
some help info (Which is useful information). It works in phases: Edit
file, commit change locally, then push change to another place (Usually
a shared location for many people, like
[TildeGit](https://tildegit.org)).
There are many front ends to git. TildeGit uses a package called
"[Gitea](https://gitea.io)". GitHub uses their own.
[GitLab](https://gitlab.com) is another one. There's actually quite a
few.
## Git Collaboration
There's a couple of ways you can collaborate with git. One way, is that each user has a copy of the git repo locally that they work on. When one person is done working, they "commit" their changes (This means they write all their changes to be tracked in their local copy). Before starting work, they "pull" the other person's changes into their local copy, and then work.
This works well if there is only one other person working on the project with you. But, what if there are 3? Or 10? Or 50? It easily gets hard to keep track of whose copy you've pulled in. In this case, most teams have a central place they store their repo, everyone pulls from there, and when done with their local changes, pushes their changes.
Another neat feature are "branches", where you can stage changes to be merged in later, and not have to worry about stepping on other people's changes until you're done.
If you want everyone to be able to propose changes, but with you (Or a team) controlling what gets put in as "the one truth", others can propose a change in a local copy of their own, which you can review before merging in their change.
Gitea makes most of this process easier by calling the process a "Pull request". By performing a pull request (A PR), Gitea forks the repo to a local copy owned by the user doing the PR (You, presumably), where you can make you change. This also opens a special ticket called a pull request ticket.
There's a couple of ways you can collaborate with git. One way, is that
each user has a copy of the git repo locally that they work on. When one
person is done working, they "commit" their changes (This means they
write all their changes to be tracked in their local copy). Before
starting work, they "pull" the other person's changes into their local
copy, and then work.
This works well if there is only one other person working on the project
with you. But, what if there are 3? Or 10? Or 50? It easily gets hard to
keep track of whose copy you've pulled in. In this case, most teams have
a central place they store their repo, everyone pulls from there, and
when done with their local changes, pushes their changes.
Another neat feature are "branches", where you can stage changes to be
merged in later, and not have to worry about stepping on other people's
changes until you're done.
If you want everyone to be able to propose changes, but with you (Or a
team) controlling what gets put in as "the one truth", others can
propose a change in a local copy of their own, which you can review
before merging in their change.
Gitea makes most of this process easier by calling the process a "Pull
request". By performing a pull request (A PR), Gitea forks the repo to a
local copy owned by the user doing the PR (You, presumably), where you
can make you change. This also opens a special ticket called a pull
request ticket.
From the shell, the process looks like this:
```
git clone https://tildegit.org/ProjectX/neatX.git
git checkout -b FeatureY
vi ./module/Zimm.sh (Editing the file ./module/Zimm.sh)
touch ./subModule/NewFile
```
git clone https://tildegit.org/ProjectX/neatX.git
git checkout -b FeatureY
vi ./module/Zimm.sh (Editing the file ./module/Zimm.sh)
touch ./subModule/NewFile
This has your changes made, but if you do this:
```
git status
```
It will say there's nothing to do, but you have untracked changes. ```git status``` is very helpful to show you what you need to do, in order to get your changes done. Let's commit these locally:
```
git add ./subModule/NewFile
git commit -am "FeatureY changes, ready!"
```
git status
```./module/Zimm.sh``` already existed, so you didn't have to do anything, but commit. ```./subModule/NewFile``` was new, so we had to add it to the repo, to be tracked.
It will say there's nothing to do, but you have untracked changes.
`git status` is very helpful to show you what you need to do, in order
to get your changes done. Let's commit these locally:
So, now these changes are in a branch in your local copy. If you want someone to review them, you need to give them a specific location, and way to pull your "remote" in (A remote is a copy of the git repo, that you don't own). Let's say I'm on ~yourtilde, and your copy is on ~team(Your ~team login name is FeatureXUser), and I (ubergeek) want to pull it in to merge (I own the repo):
git add ./subModule/NewFile
git commit -am "FeatureY changes, ready!"
```
git remote add -f FeatureXUser ssh://ubergeek@tilde.team:~FeatureXUser/repos/ProjectX
git fetch FeatureXUser
git merge ..FeatureXUser/FeatureY
```
`./module/Zimm.sh` already existed, so you didn't have to do anything,
but commit. `./subModule/NewFile` was new, so we had to add it to the
repo, to be tracked.
The above adds your copy as a "remote" for me, fetches all of your changes and branches, and then merges in your FeatureY branch into my "master" branch. This means all the changes you made are now "live".
So, now these changes are in a branch in your local copy. If you want
someone to review them, you need to give them a specific location, and
way to pull your "remote" in (A remote is a copy of the git repo, that
you don't own). Let's say I'm on \~yourtilde, and your copy is on
\~team(Your \~team login name is FeatureXUser), and I (ubergeek) want to
pull it in to merge (I own the repo):
Gitea does a lot of this work for you, in a web-based UI, and does some more legwork (Creates the ticket, notifies the repo owner or owners of an proposed change, etc etc)
git remote add -f FeatureXUser ssh://ubergeek@tilde.team:~FeatureXUser/repos/ProjectX
git fetch FeatureXUser
git merge ..FeatureXUser/FeatureY
The above adds your copy as a "remote" for me, fetches all of your
changes and branches, and then merges in your FeatureY branch into my
"master" branch. This means all the changes you made are now "live".
Gitea does a lot of this work for you, in a web-based UI, and does some
more legwork (Creates the ticket, notifies the repo owner or owners of
an proposed change, etc etc)

147
issues/1/you_wanna_make_a_tilde.md

@ -2,51 +2,140 @@
author: ubergeek
So, you want to make a Tilde server (aka a pubnix server)? You've got time on your hands. You want to make a new and cool thing, right? Awesome! This article is going to step you through some of the pitfalls, so you can try to ensure it's going to be fun.
So, you want to make a Tilde server (aka a pubnix server)? You've got
time on your hands. You want to make a new and cool thing, right?
Awesome! This article is going to step you through some of the pitfalls,
so you can try to ensure it's going to be fun.
## Why?
Before you start down the road, ask yourself "Why?" Why do you want to make a tilde server? To be ultimate lord over a domain? To have a cool art project to play with? Any reason is a valid reason, but the "Why" answer will help you build your tilde, and cultivate it's community.
Before you start down the road, ask yourself "Why?" Why do you want to
make a tilde server? To be ultimate lord over a domain? To have a cool
art project to play with? Any reason is a valid reason, but the "Why"
answer will help you build your tilde, and cultivate it's community.
## How?
Yep. "How?" Running a tilde server is not free, money-wise, or time-wise. It's work, and money.
Are you cash-strapped, but have an old machine and somewhat stable internet connection? Maybe home-hosted is the way to go. But, where you save on money, you generally spend more time on it. Self-hosted can be fun, but you're going to spend more time on administering it, since you'll be responsible for all of the hardware and software up to your internet connection. If the hard drive dies, or a RAM module gives up the ghost, it's on you to replace it, and your tilde will be down until you do so.
Are you time-strapped, but extra cash? A VPS is a fine choice for a small tilde, and can be relativeley cheap. You can get a small VPS for $2.50/month US, and it'd be suitable for at least a dozen users, who aren't hammering on the machine. There's also dedicated servers (You manage the whole machine, hardware and software, your provider manages power and network, but you don't own the hardware, and they replace bad hardware), or you could co-locate them (You are responsible for everything but power, and a internet drop). Each option has it's own pitfalls and benefits. It boils down to the more you pay more for resources, the less you are responsible for.
What OS? Lots of tildes run Ubuntu, so help is plentiful there. There's some BSDs, as well, and at least one Redhat-based tilde. The more unique your distro/OS, the more you'll be on your own. Something to keep in mind there as well.
One thing to keep in mind, though: If you're going to do the same thing every other pubnix operator does (Most commonly used distro, most common web server, most common forum software, most common set of service, etc; then what will make your pubnix different? The "Why?" answer will fill this part in, which is the reason why it's the most important question, and comes first.
Yep. "How?" Running a tilde server is not free, money-wise, or
time-wise. It's work, and money.
Are you cash-strapped, but have an old machine and somewhat stable
internet connection? Maybe home-hosted is the way to go. But, where you
save on money, you generally spend more time on it. Self-hosted can be
fun, but you're going to spend more time on administering it, since
you'll be responsible for all of the hardware and software up to your
internet connection. If the hard drive dies, or a RAM module gives up
the ghost, it's on you to replace it, and your tilde will be down until
you do so.
Are you time-strapped, but extra cash? A VPS is a fine choice for a
small tilde, and can be relativeley cheap. You can get a small VPS for
\$2.50/month US, and it'd be suitable for at least a dozen users, who
aren't hammering on the machine. There's also dedicated servers (You
manage the whole machine, hardware and software, your provider manages
power and network, but you don't own the hardware, and they replace bad
hardware), or you could co-locate them (You are responsible for
everything but power, and a internet drop). Each option has it's own
pitfalls and benefits. It boils down to the more you pay more for
resources, the less you are responsible for.
What OS? Lots of tildes run Ubuntu, so help is plentiful there. There's
some BSDs, as well, and at least one Redhat-based tilde. The more unique
your distro/OS, the more you'll be on your own. Something to keep in
mind there as well.
One thing to keep in mind, though: If you're going to do the same thing
every other pubnix operator does (Most commonly used distro, most common
web server, most common forum software, most common set of service, etc;
then what will make your pubnix different? The "Why?" answer will fill
this part in, which is the reason why it's the most important question,
and comes first.
## What?
I know. You're saying right now,"What does he mean 'what?' A tilde you daft bastid!"
I know. You're saying right now,"What does he mean 'what?' A tilde you
daft bastid!"
The "what" defines what kind of community you want to build. Are you just building a clubhouse for close friends? A living digital art community? A community of arduino hobbyists? This is a key thing to figure out BEFORE you decide to launch your tilde. This also guides your technical decisions, and things to install, services to provide, etc etc
The "what" defines what kind of community you want to build. Are you
just building a clubhouse for close friends? A living digital art
community? A community of arduino hobbyists? This is a key thing to
figure out BEFORE you decide to launch your tilde. This also guides your
technical decisions, and things to install, services to provide, etc etc
## So, who actually did this?
I can tell you from personal experience with thunix, that I went through these same steps. Some questions were pre-answered since I essential took the reins from an already existing project.
Why? I felt I had a lot of experience to lend to the community. My professional job is running, managing, deploying, and maintaining linux servers. Some of them are internally pubnix boxes. Users use them for building code, doing git work, etc etc. Some things are missing, like chat, but there are other tools for that sort of thing. But, nonetheless, experience I have, and decentralization is what I wanted to bring. I also wanted to give users a place to play with what a CI/CD environment is like, and as such, we designed thunix to be built and maintained in a devops manner: Users and administrators work hand in hand to build the system.
How? My job pays well enough that I have some disposable income, on a regular basis. Not a starving artist, or a contractor wandering from job to job. Also, I had some cloud stuff already, and this seemed like a good enough reason to get some dedicated hardware, and consolidate, and save some money. Also, the project I took over for suffered from Bus Factor of 1. The users already lost everything once, and I endeavored to ensure that would not happen again. I settled on git-controlled system configs, and distributed backups (Machine backs home up, and admins are responsible for copying that backup off regularly). Anyone from the admin team can get everything running in a new place, in short order. Any one user can replicate what we've done, shy of the backups restoration (Access to the backups is a root-only job).
What? While old-thunix was big, and offered lots of services, to me, it seemed like it lacked a community. So, I decided to turn it into not just a service provider, but a provider for those who are technically inclined, or willing to at least put in sweat equity. ie, I'll never reject a pull request unless it endangers stability, or security. I'll also step people through contributing, if they need.
I can tell you from personal experience with thunix, that I went through
these same steps. Some questions were pre-answered since I essential
took the reins from an already existing project.
Why? I felt I had a lot of experience to lend to the community. My
professional job is running, managing, deploying, and maintaining linux
servers. Some of them are internally pubnix boxes. Users use them for
building code, doing git work, etc etc. Some things are missing, like
chat, but there are other tools for that sort of thing. But,
nonetheless, experience I have, and decentralization is what I wanted to
bring. I also wanted to give users a place to play with what a CI/CD
environment is like, and as such, we designed thunix to be built and
maintained in a devops manner: Users and administrators work hand in
hand to build the system.
How? My job pays well enough that I have some disposable income, on a
regular basis. Not a starving artist, or a contractor wandering from job
to job. Also, I had some cloud stuff already, and this seemed like a
good enough reason to get some dedicated hardware, and consolidate, and
save some money. Also, the project I took over for suffered from Bus
Factor of 1. The users already lost everything once, and I endeavored to
ensure that would not happen again. I settled on git-controlled system
configs, and distributed backups (Machine backs home up, and admins are
responsible for copying that backup off regularly). Anyone from the
admin team can get everything running in a new place, in short order.
Any one user can replicate what we've done, shy of the backups
restoration (Access to the backups is a root-only job).
What? While old-thunix was big, and offered lots of services, to me, it
seemed like it lacked a community. So, I decided to turn it into not
just a service provider, but a provider for those who are technically
inclined, or willing to at least put in sweat equity. ie, I'll never
reject a pull request unless it endangers stability, or security. I'll
also step people through contributing, if they need.
## What Not To Do
Mostly, the one thing you want to avoid is overextending yourself. Taking on a community is a big deal, and not to be taken lightly. Your community members put their trust in you, and if you cannot sustain the community from your own resources for a period of time, you need to be upfront, and scale down your expectations appropriately.
There is nothing wrong with NOT making your own pubnix, and just using the resources freely offered by other folks.
Don't jump foot first into it, without planning a little. Many people have done this before you (They used to be called "free shell providers"), and many will happily lend a hand, or let you bounce ideas off of them. And, popping up a monstrous server, expecting thousand of people to swarm into your clubhouse right away is probably not so great an idea, either.
Don't be afraid to start small. Most pubnixes offer a shell + some public webspace. Don't feel like you need to start off right away with more than that. You can incrementally add things. For most things? 2 cores, and 4GB of RAM is plenty for a user or two, offering only that. With cloud providers these days, it's usually pretty easy to scale up. Not so much to scale back down.
Don't ask people how you should implement something. I'm not talking about troubleshooting tips, we all need that from time to time. But asking,"What should the default shell be?", "Which web server should I use?", "Which Minecraft server should I deploy for users?" are bad questions, in some contexts. You're in charge of the community's resources. You should be deciding how to offer what. A big part of starting a pubnix is architecting it.
Mostly, the one thing you want to avoid is overextending yourself.
Taking on a community is a big deal, and not to be taken lightly. Your
community members put their trust in you, and if you cannot sustain the
community from your own resources for a period of time, you need to be
upfront, and scale down your expectations appropriately.
There is nothing wrong with NOT making your own pubnix, and just using
the resources freely offered by other folks.
Don't jump foot first into it, without planning a little. Many people
have done this before you (They used to be called "free shell
providers"), and many will happily lend a hand, or let you bounce ideas
off of them. And, popping up a monstrous server, expecting thousand of
people to swarm into your clubhouse right away is probably not so great
an idea, either.
Don't be afraid to start small. Most pubnixes offer a shell + some
public webspace. Don't feel like you need to start off right away with
more than that. You can incrementally add things. For most things? 2
cores, and 4GB of RAM is plenty for a user or two, offering only that.
With cloud providers these days, it's usually pretty easy to scale up.
Not so much to scale back down.
Don't ask people how you should implement something. I'm not talking
about troubleshooting tips, we all need that from time to time. But
asking,"What should the default shell be?", "Which web server should I
use?", "Which Minecraft server should I deploy for users?" are bad
questions, in some contexts. You're in charge of the community's
resources. You should be deciding how to offer what. A big part of
starting a pubnix is architecting it.
## Conclusion
I guess to conclude, you may not agree with these steps. That's fine. The great thing about these sorts of projects is that you can do you. It's a big job, or as big as you want to make it, but very fulfilling. Don't bite off more than you can chew, and don't worry about making mistakes (Even ignoring this doc), and have fun doing it!
I guess to conclude, you may not agree with these steps. That's fine.
The great thing about these sorts of projects is that you can do you.
It's a big job, or as big as you want to make it, but very fulfilling.
Don't bite off more than you can chew, and don't worry about making
mistakes (Even ignoring this doc), and have fun doing it!
Loading…
Cancel
Save