Introduction: Hello World

Greetings 🌸

This document, and the guides in the technical wiki, were put together by @notplants (aka max). I'm happy to receive feedback on anything that is confusing or could improve things.

a compressed image of a raspberry pi next to some lavender flowers
a compressed image of a raspberry pi next to some lavender flowers

These guides were originally created for a group of students with a large mix of technical backgrounds, although the technical guides are oriented towards the students with less technical background and assume no prior knowledge.

Before we get into the tutorials, lets start with talking about how we're approaching technical learning in this class, how these guides are informed by past seasons of this class, and a life-time of loving and hating computers and the people who make them.

Healing Our Relationship To Learning About Technology

We each bring our own history and relationship to technology and learning, and I want to acknowledge that for a lot of people that's a really emotionally-laden, even traumatic, space.

If that's not the case for you, that's great, but there can be a lot to work through here. Even as someone who has been working as a programmer for a long time, I can still feel some of these things come up at different points, but I set the intention to actively unlearn them when they arise.

So part of the goal of this class is not just to teach people new technical skills, but to also provide a space to develop a new and more supportive relationship to technical learning.

  • "not understanding something" is not a problem, it's part of the process of learning

  • "code with red error messages" is not a failure, it's part of the process of writing code

  • even without fully understanding something, we can start, and learn along the way (this continues to apply at every level of programming experience— there is no endpoint where programmers understand every part of the computer — it is not humanly possible and there is always more to learn)

  • all questions are welcome

SFPC is not a test. The class is here to support you in your learning goals.

source: https://www.are.na/block/13544202
source: https://www.are.na/block/13544202

Technical Learning Goals

In season one of this class, in 2023, we explored having no specific technical learning goals. We just wanted to support people to learn what they wanted to learn about, and provide some asynchronous resources to help, mostly in the form of recorded video tutorials, with additional support in office hours.

This worked to some degree, but it also had limitations, and speaking with different educators since then has made us reflect differently on this.

For some people, not having a specific goal is not supportive to their learning, and they would actually feel supported by a goal.

So instead of saying there is no goal, our intention this time around is to say, here are the goals where we are all trying to get to as a group, and if you are having difficulty getting there, how can we help you to get there?

Of course, in the end, SFPC classes do not have grades, and there is in fact no one requiring you to learn anything offered in the class — take what works for you and leave the rest.

But in terms of orienting the class, we have chosen some technical learning goals that we hope will help support students to deepen their understanding of computers, servers, the internet, digital infrastructure, website-making, self-hosting, how to creatively work with digital infrastructure, and how to understand more about the tools they choose to use.

To reach these goals, there will be a combination of technical tutorial videos, in class technical learning time, written guides, office hours, and peer-to-peer-office-hours along the way.

source: https://www.are.na/block/932903
source: https://www.are.na/block/932903

Technical Curriculum

  1. Sourcing Hardware
  2. Getting Started With Terminal
  3. Installing Yunohost On Your Server
  4. Etherpad: First Local Application
  5. Tunnels: Getting A Local Website Visible On The Public Internet
  6. Permacomputing & Lichen-Markdown (Making A Webring)
  7. Methods Of Publishing HTML
  8. Backups: Encrypted, Automated & Manual

source: https://www.are.na/block/16895993
source: https://www.are.na/block/16895993