I AM STILL ALIVE
Hello! I wanted to give some sort of update because life and depression mostly took over towards the end of last year and I’ve not made SoSa a priority.
A bunch of stuff has still happened on SoSa, new designs, been working on architecture and code but because I’m still in a weird headspace i’ve not ready to commit myself to fortnightly updates just yet, I was doing over 2020 and most of 2021.
Although, with that said, mid October was my last update and I don’t want people to think I’ve abandoned it.
I haven’t, i’m still here! I just put my own mental health before the rebuild.
Explaining what I’m building across blog posts is great for anyone following the journey but if you’re new to SoSa and the concept it can be hard to get an idea of what we’re building, who’s involved etc
I asked Fed (designer) to come up with some designs for a new homepage, to make it easier for someone just checking it out to get a better understanding of the project, the team that sort of thing.
These are the first three designs, still not quite what i’m looking for but we’re getting closer with each iteration and the copy needs updating before I build it.
Move to AWS
Before I get started some terms for non-nerds
- Bare-metal server: A whole server you rent from a company in a data center
- Cloud: A piece of a server that you rent from a company
- AWS: Amazon Web Services
Mid November three of my bare-metal servers decided to shit the bed at almost exactly the same time, taking 10 client platforms, the OG SoSa site, SoSa blog and everything i’d built so far with it!
Luckily I had backups and I was also able to get access to the hard drives, so decided for now it was better to put everything in the cloud.
Before SoSa goes live live, I’m hoping to find an ethical cloud provider where it can partially live. Because AWS and anything Amazon doesn’t really sit right with me.
Again for the non-nerds
- Docker: Let’s you turn a piece of your computer in to a development server
- ESLint: A tool that enforces standards in your code, helping everything look consistent so other people can understand.
- Prettier: Similar to ESLint, but more focused on Visual aesthetics of your code instead of it’s structure
- Refactor: It’s where you restructure your code, make it look different but not work different. Like changing the wheels on your car
In Typescript It’s a Ducati 916 with 21″ wheels, an aftermarket exhaust and it’s blue
I’m getting to the point with the backend where the hacky approach I took initially isn’t the right solution and development would be much quicker if I set everything up properly
I’ve fixed my Docker implementation to use Docker compose instead and implemented ESLint and Prettier.
The intention for SoSa was always that communities could run custom versions of the server to enable more focused features depending on their community.
So a Roleplay community for example could introduced game mechanics in to their server with out having to take the hacky approach most platforms take with bots.
As I was doing some refactor, it seemed a good time to move the backend over to a more modular architecture with a shared core.
This would enable the code base to have a single core / framework handling auth, databases, external service communication, profiles etc. The core stuff.
And the community could extend the code in the specific services they want to.
This would allow a community to run custom versions of some services whilst defaulting to the global service for the rest.
Lastly, I’ve got much more exposure to Typescript over 2021 and I found that it made working with teams much easier, it also seems to be the way technology is moving.
So I’ve always refactored the entire backend in Typescript, which as you can imagine was quite an undertaking in itself!
For the nonus-nerdous (latin for non-nerds):
- Lamdba: a Lambda is a part of a part of a server, It serves a single function.
If a server is a multi-tool, a cloud server is a knife then a lambda is an avocado slicer
- PHP: Is another computer language
- Ubiquity Framework: Like a skeleton structure for making it quicker to build an application.
You can make an omelette by getting a chicken, feeding it, letting it shit out an egg, clean it, and then make your omelette whilst you stare at the chicken to maintain dominance.
Or you can just buy eggs. A framework is the egg, PHP is the chicken.
Along with half my life, I also lost the auth service to my servers demise.
As I was about to relaunch it, as this is a centralised service unlike the communities I thought to myself “You know what? this might be better as a lambda”
Originally I built it in PHP, using Ubiquity Framework. This provided a range of services including
- Forgot Password
- Login with imgur, reddit, fb and google
On the weekend, I started rebuilding these into single services, in typescript to allow for them to scale independently.
I had some problems with a AWS Toolkit which made it hard to test my code locally 🙄 so I’ve fixed that as well for them 🙂
Work / Contracting
If you’ve been following, you know last year I went back to contracting. My first contract out of the gate was as a full stack engineer for an accountancy firm.
Well, they decided to stop paying me mid December (because of course they would) and then dragged it out until February 2022!
I ended up getting a new contract with an awesome company called Rooster Money in Jan 2022 and I’ve been with them since, mostly working on Backend but I should be doing some mobile development too.
Got to meet most of the team for the first time last week, which was lovely and I stayed in a spooky hotel
Most importantly, they’re paying me!
I actually moved in December, which honestly was just an utter disaster! I completely misjudged how much shit I had and how difficult it would be to carry things down 3 flights of stairs. Plus I was moving in to what was essentially a building site!
The work on the house hasn’t really gone anywhere since early Jan, I’ve been too depressed with the work situation in December and then just general SAD it’s been hard to find motivation.
I did fix a hole in my floor thought, so I have that going for me!
Also plumber friend replumbed all my heating and put two new radiators in and fixed my hob! however, the first night I managed to drill a hole in one of the pipes 🤦