profile

Hi, Iā€™m a creator

šŸ„§ Pie mail - Taylor Swift, Twelve Factor Apps and Tachyon Wars šŸ„§

Published about 3 years agoĀ ā€¢Ā 4 min read

ā€‹

Hello again friends!

I'm super excited to bring you another edition of pie-mail!

I've made it through the first two weeks of my new job relatively unscathed. It's been challenging - but it seems like I'm working with a great bunch of people, and that it's going to be fun!

I'm going to be working mostly remotely, but, my new office has a Street Fighter II machine... soo... I might have to pop in to the office sometimes ;)

Hope you're all doing well!

ā€‹


šŸŽ“ This week I learned... šŸŽ“

...about twelve factor apps!

ā€‹

"Twelve factor" is a set of twelve guidelines for building good web apps. By 'good', I mean scalable, maintainable, portable, that sort of thing.

If your app meets all twelve criteria, then, odds are, you've got an app that's easy to deploy, maintain, update, fix and scale.

I found the official document a bit of a heavy read, so, here's the twelve factors in my own words:

  1. The app has a single codebase. If it's multiple codebases, treat it as multiple apps.
  2. All dependencies are explicitly declared - the app doesn't assume any dependency exists.
  3. Configurable settings are stored as environment variables, never in code.
  4. The app doesn't have any knowledge of the implementation details of services it's using. For example, you should be able to swap out a MySQL database
  5. 'Build' and 'release' stages of the deployment are strictly separate. Any code change means a new release.
  6. The app is stateless - any data that needs to persist is kept in a database or similar service.
  7. The app is self contained - it only exposes itself via a port binding. You might recognise something like "http://localhost:3000", where 3000 is the port binding.
  8. The app scales itself. When more capacity is needed, this is done by spinning up more instances of the app, rather than bumping CPU or memory.
  9. The app should start up and shut down quickly and gracefully.
  10. Development, staging and production versions of the app should be as similar as possible.
  11. Logs are output as an event stream. The app shouldn't be managing or maintaining log files.
  12. Admin tasks (like a DB migration) run independently of the app, and are tied to a particular release.

Whew! So there you have it.

For a fun exercise... run your app through these twelve criteria... does it meet all twelve?

You can find more at 12factor.net, although I found this writeup on bmc.com pretty useful too!


āœØ Some interesting links āœØ

Testing Stories

The incredible Melissa Fisher has assembled a collection of stories from testers around the world, and turned them into a book. I've only read a short way through, but I've enjoyed what I've read so far. And with such amazing people as Claire Reckless, Johanna South and Wellington local Patricio Miner as contributors, it's bound to be good.

ā€‹

The internet never forgets

I've decided I hate Facebook. This story from Lauren Goode about how terrible social media can be, is, well, sobering. I don't want to call it 'good', but I'd definitely recommend reading.

ā€‹

Test automation cookbook

Another great tool from Angie Jones and the team at Applitools - the automation cookbook. Short recipes for things you might need to do. I can envision myself using this in the near future...

ā€‹

Git explorer

If, like me, you always forget how to do things in Git... Git Explorer is the tool for you!

ā€‹

Bug Bashes

I had the privilege this week of writing an article for Ministry of Testing on how to run a Bug Bash. It makes me miss running Bug Bashes to be honest, I'm hoping to do some in my new role! Watch out, co-workers!


šŸŽ® Gamers corner šŸŽ®

My friend Evgeny has released his game, Tachyon Wars, on Steam. I can't play it because I don't have a Windows machine - so I'm really keen to hear from someone what it's like! I know he's been working on it for the better part of a decade.

So, check it out, and let me know how it is! He was giving away some steam codes on Facebook, I don't know if they're still active but - you should try.


šŸ§© Puzzle time šŸ§©

I wanted to buy an official Taylor Swift beach towel from the official Taylor Swift store this week.

The website, store.taylorswift.com, presents me with this dialog:

ā€‹

ā€‹

Sounds good, right? Shipping could be faster and cheaper from my local store!

Clicking 'take me there' redirects to the Australian store - a slightly different URL, storeau.taylorswift.comā€‹

But - it stocks different items, and they don't have the beach towel I want!

So, I tried to go back to the US store.

But, disastrously, when I try to browse to store.taylorswift.com, it now automatically redirects me to storeau.taylorswift.com!

ā€‹

ā€‹

Head on over to the Taylor Swift store* to try it for yourself - what could a user like me do to get around the redirect?

Can you figure out how long will it be (assuming I take no other action) before I can access the US store again?

*this post is not sponsored by Taylor Swift, but I kinda wish it was


šŸŽŖ Events coming up šŸŽŖ

Events for those of you in New Zealand:

OWASP Auckland (11 May, Auckland):

Get AppSec right from the beginning! Join Laura Bell, Chris Hails, Jaap Karan Singh and John-Paul Sikking for this panel discussion on how to do security right, the first time.

ā€‹

Events for anyone anywhere!

Exploratory Testing AMA (April 20):

Join Callum Akehurst-Ryan as he answers any and all of your questions on Exploratory Testing! Not to be missed!

ā€‹

ProductTalks Auckland - Where might your product career lead you? (April 21):

Sure, it's a product meetup, but I find there's plenty of relevant content in these events for testers (and others) too. Join this panel discussion to hear four experts discuss the different pathways a career in software can take you on!

ā€‹

Exploratory Testing Week (April 26 - May 1):

Another excellent themed week from Ministry of Testing. This ones all about exploratory testing. A series of workshops, webinars and challenges will be taking place over the week. This one's for pro members, but you can buy a reasonably priced ticket just to participate, too.

ā€‹

OnlineTestConf (May 11-12):

ā€‹Spring OnlineTestConf is coming! I'm particularly interested to hear "As testers, do we do more harm than good?" from Conor Fitzgerald, and "How to make developers LOVE writing E2E tests" from Yevheniia Hlovatska. This one's completely free, so no reason not to sign up!

ā€‹


šŸ‘‹ Thanks for reading! šŸ‘‹

ā€‹

Have a great couple of weeks everyone! I'll wrap it up with a little Taylor Swift / 12 Factor mashup:

ā€‹

Can you tell which of the '12 factors' this is referring to?

As always, I love hearing feedback from you, so please let me know if you have any complaints or comments.

Take care, and reach out to me any time on LinkedIn or Twitter.

Cheers,

James a.k.a. JPie šŸ„§

ā€‹https://jpie.nzā€‹

Hi, Iā€™m a creator

Read more from Hi, Iā€™m a creator

Hi all! It's flooding and cyclones here in NZ, especially those in Auckland. I hope this email finds you safe - if you're being affected by bad weather, please stay inside until this all blows over! šŸ¤ COLAB Before we get too deep into it, I'd like to give a small shout out to COLAB. I had the chance to take part in COLABs Equitable Product cohort last year. It's eight weeks of conversation and learning with like talented peers; covering subjects like data ethics, accessibility, inclusion and...

about 1 year agoĀ ā€¢Ā 4 min read

Well hello there! Happy new year everybody. I hope you all had a good break, and are well rested heading in to the new year. I've had a good long time off, getting some rest after a busy 2022. I've found myself really eager to get back to work though, I'm looking forward to what 2023 will bring - I hope you are too! šŸ™‹ā™€ļø The value of dedicated testers In my last email, I wrote about the importance of engineers testing their work (and not just leaving it for testers). But this leaves an...

about 1 year agoĀ ā€¢Ā 4 min read

Welp, the end of the year is upon us! It's been a long and busy one. It's definitely been fun, but I'm ready for a break! I've had some interesting conversations over the last couple of weeks about quality, and the lines of responsibility - so - that's the subject of today's email. Enjoy, and see you in the new year! šŸ’» Programmers and Engineers My first job was in a busy office. Our office constantly seemed to have a dirty kitchen - a pretty common office problem. Instead of rinsing their...

over 1 year agoĀ ā€¢Ā 3 min read
Share this post