Sprint 6 – That’s a Weird Looking Patronus
Ok… so I should preface this with a few caveats…
- I wasn’t expecting a global pandemic to completely change the way we have to work overnight
- I haven’t slept very well at all for the last 2 weeks leaving me only just enough brain power to do my day job properly
- I definitely underestimated how much free time I would have.
With those things in mind, you might be left un-surprised that from the 18 tickets I pulled in, I was only able to achieve 5 and some odds and sods.
Sorry… I’ll be better next sprint! I promise!
- Sprint 1 – The Foundations
- Sprint 2 – The ummm Foundations?
- Sprint 2 – Nerd Ramble
- Sprint 3 – Cooking with matches!
- Sprint 4 – Now We’re Cooking With Gas!
- Sprint 5 – Robot Uprising
- This Is Not the Sprint You’re Looking For
- Sprint 6 – That’s a Weird Looking Patronus
- Sprint 7 – Corona Stole My Title
- Sprint 8 – Adventure Time!
- Sprint 9 – Now In Technicolor
- Sprint 10 – Refinement
- Sprint 11 – Motion In The Ocean
- Alpha Release 1.0.3
- Sprint 12 – No Rest For The Wicked
- Alpha Release 1.0.4
- Sprint 13 – I Need a Break
- Alpha Release 1.0.5
- Sprint 14 – Just James Things
- Sprint 15 – Wearing My Heart On My Sleeve
- Alpha Release 1.0.6
- Sprint 16 – Warm Up
- Alpha Release 1.0.7
- Sprint 17 – Coffee’s back on the menu!
- Alpha Release 1.0.8
- Sprint 18 – We’re on fire!
- Sprint 19 – Slowly fast
- Sprint 20 – Let’s get Nerdy
- Alpha Release 1.0.9
- Sprint 21 – We’re back!
- Alpha Release 1.1.0
- Sprint 22 – You Look Cute Today
- Alpha Release 1.1.1
- Sprint 23 – Sausage Smuggler
- A SoSa Retrospective
- Sprint 25 – I am SoSa and don’t call me Shirley
- Sprint 26 – The best laid schemes of mice and men
- Sprint 27 – Vogue, Strike a Pose
- Sprint 28 – a New Hope
Alright, alright James. Enough excuses! What did you achieve then?
You see that table of contents right above this text? Yeh! That one!
Fun fact, up until this sprint, I had to do that completely manually every single post which as you can imagine is a time sink in itself!
Well! That’s all folks! I hope you enjoyed this update ❤️
Alright fine! There’s more!
Last post, you might remember those 1,800 issues I created last time by migrating old content to the new domain.
Well! I fixed 1,400 of them!
The issues that are left over, like the URLs are going to be a little harder to fix.
If I change them, they won’t be ranked any more. If I redirect them to a cleaner, smaller URL… then the old one still exists and I still have the issue.
I’m going to play with a few, make some small test changes and see if it has a positive impact without having a negative impact elsewhere.
Description lengths have been sorted now too and that should reflect in the next sprint.
Total Links grew from 79,405 to 87,448,
% total links, external + follow shrunk from 89% to 78%
External, followed links shrunk from 70,291 to 67,880
Internal, followed links grew from 9096 to 19,550
I’m sure these numbers mean something and I should spend time understanding them but right now I have zero clue as to their relevance. I hope you like them though! 👏👏
Search Impressions is up by like 600! However CTR and Average position have dropped. That makes sense because over double the amount of content is showing up in searches but aren’t always relevant to the keywords people are searching for.
Equally… people are searching for some weird things…
With everyone suddenly being isolated I’m trying to find a way to keep the community entertained.
Thankfully, the community is helping with that too!
Last week, Ricosantigao, did a movie night and watched Twelve Monkeys and then on Wednesday night Omikone ran a drunken Harry potter studios tour.
Where we watched some guy with a Go-pro on his head walk around Harry potter studios with his kids and laughed at how silly everything was.
Then Saturday mid-day, a bunch of us watched Time Team together???
I donno… Life is weird right now ok? Bear with us!
Buckle up kids, this Wednesday at 7pm UK time we’re boarding the magic Sosa bus to visit the aquarium!
Pack your lunches, return your consent forms and get ready to experience the wonderful world beneath the waves!
We’ll be looking at a range of exhibits and live cams and there will be a competition for the best shark drawing!*
*winner gets bragging rights and a name colour change to blue if they so desire.
It wouldn’t be SoSa without game night right?
Sunday 5th April 1900-2100 GMT / 1200-1400 PT / 1500-1700 ET
We’ve played before, it’s a bit ridiculous… here’s a long play from a previous game night https://www.youtube.com/watch?v=HuoYHJJpdb4
Teeworlds is a game that gives you a lot of freedom and plenty of gameplay mechanics to use or abuse. With a full focus on multiplayer games you will never be bored.
The game is completely free and runs on most machines, so just grab a ticket to join in! 🙂
Tickets here: https://www.eventbrite.co.uk/e/sosa-plays-teeworlds-tickets-100789251364
Registration / Login / Forgot Password
My main focus this week has been building out our registration, login, social login and forgot password system.
Hopefully I don’t need to tell you why these are important to SoSa, but just in case… these are what allow you to register, login and when you’ve forgotten your password, reset it!
- PHP performs better (consistently),
- It’s easier to deploy,
- The ecosystem is more mature,
- Provides a lot of the functionality I need out of the box or as a core module
secure hashing, session management, memory cache integration, database integration
- By using a lightweight framework (Ubiquity) I can avoid security issues like the ones the Node ecosystem has fallen victim to in previous years where developers will often include modules for mundane tasks that then become compromised.
It’s not perfect, but considering the above and having worked with PHP for almost 20 years, I’m confident that I can make a secure, scalable and performant authentication service using it.
This sprint, I’ve built a backend API that supports registration, forgotten password, username + password login and imgur login!
Some nerd facts
- We hash your password using Blowfish and every password has a completely unique and random salt to mitigate certain types of attacks.
- E-mails in this database are also hashed, the only time we’ll store your e-mail is if you say we can for marketing / notifications and that’ll be in a seperate system.
By hashing them, it protects your privacy but means you can still use the password reset functionality like a normal human / robot.
- I am hoping we will never actually have to transmit or store your password either, i’m just trying to find a low collision, fast, client side hashing algorithm to achieve this.
- Password reset generates a 254 character token, which expires in 15 minutes.
If you then provide the token you get given a “transient” token which when used in conjunction with your new password and the reset token will allow you to reset your password.
This is designed to help mitigate replay attacks. From a user perspective this will all happen seamlessly.
That’s all folks!