Matt Marshall

August 2018

30 Aug 2018, 22:23

Ok so I've just watched Snowpiercer for the first time ever and I'm convinced that it's a masterpiece that conveyed a message in two hours that latter parts of The Matrix Trilogy failed to convey in two films. Even based itself in Class Warfare.

life class cinema movies revolution

27 Aug 2018, 20:01

After spending years on a media diet of grand-scale TV shows and serialised MCU-style episodic-films, it's really really nice to watch a self-contained story which is artfully crafted. As a result I've found myself getting into cinematography and story-structure more and more.

I hope Netflix and the MCU won't be the death of cinema.

life cinema movies cinematography mcu marvel netflix episodic movies

26 Aug 2018, 16:23

I'm not sure why it always surprises me, but it does. Tea is actually the best. It always makes me feel a lot better, like a hug from the inside.

tea feels sad

23 Aug 2018, 23:16

Has anyone started a Podcast called "Pop-Cultural Marxism" yet? Missed opportunity there.

I mean, I know every Middle-Class White Liberal Dude has a Podcast "analysing pop culture in a humorous way" but surely we can start appropriating that machinery?

podcasts pop culture marxism

22 Aug 2018, 17:42

All I'm asking for is a mobile app which funnels podcasts, adds a layer of community-contributed metadata which marks up ads, and lets me skip them automatically.

Last Modified: 22 Aug 2018, 17:43

capitalism podcasts ads

22 Aug 2018, 15:10

Tales from the Phd Endtimes collection

Me: "Awwh today's field visit is basically almost an exit interview. This is so sad. At least I'll be able to finally stop fixing bugs for a bit"

Software: promptly breaks during use-case

Me: cries

academia phd bugs software

19 Aug 2018, 23:40

Consider how quickly all things are dissolved and resolved: the bodies and substances themselves into the matter and substance of the world: and their memories into the general age and time of the world

Marcus Aurelius always cheers me up when I'm sad

Last Modified: 19 Aug 2018, 23:42

feels Stoicism sad Marcus Aurelius

15 Aug 2018, 12:24

Benefits of doing my thesis and #chi2019 paper from home:

  • Wide array of tea options
  • Less distractions, nicer environment than the lab
  • Chippy around the corner


  • also the chippy. I buy way too much chippy.

food life phd chi2019 writing

13 Aug 2018, 09:15

I've been listening to a lot less podcasts and reading a lot more books recently. I figure it's due to the increased presence of advertising in Podcasts; like I actually have an ethical problem with adverts.

Dystopian future: books / stories are centralised via Amazon who will interrupt your reading every x pages or y minutes to show you an ad.

capitalism books media podcasts audio ads advertising amazon

06 Aug 2018, 22:06

Things I learned today:

  • Hoses are like, super expensive (£17.50 WITH discount)
  • I've successfully been reading my boat schematics upside down, and managed to try and fill up my water tanks via the bilge outlet. Where you pump water out of the bilge :-/

Last Modified: 06 Aug 2018, 22:59

boats whoops water boat morning star hoses expenses

06 Aug 2018, 10:44

I've had a fasting practice for so long that I usually barely notice "skipping" a meal.

Today I woke up hungry, and have steadily gotten hungrier. Wondering whether it's related to lack calories over the weekend?

work fasting diet health

01 Aug 2018, 10:09

Quick thoughts on Minimalist Design Patterns for Brimstone

Minimalism is one of the inspirations I draw from when hacking at Brimstone. So far this has manifested by removing things like excessive UI elements, cumbersome Javascript and CSS frameworks (thankfully PureCSS exists), and streamlining things such as how Posts work and are displayed.

I had a thought recently when considering the About page, and how a more minimal approach might look. At the moment, the approach is still relatively minimal; the UserProfile object has a field which can store text used to render the About page using markdown. If it's null or empty, the templates don't render a link to the About page and the controller redirects any attempts to directly go to /about to the index page.

How then, do I think it may be improved? Obviously these are rough ideas -- I also don't think there's anything explicitly wrong with the way things are done currently. What might seem simple to me might not be simple to others, and in fact I think there's an argument that these design patterns could add complexity in some regards.

Under both of the following proposals, the UserProfile object has the about attribute removed, and controller logic is changed to accommodate the new pattern.

Idea 1 - Using a Post for an About Page

Under the current design, the About page is simply a text field containing markdown that is rendered when the visitor calls /about. This works basically exactly the same as a Post but is a bit less versatile e.g. Posts store a lastModified attribute which can inform the reader if/when the Post was last edited and give some idea of freshness.

Under this design pattern, Post receives a new boolean attribute which marks it as the About page. A form or button is implemented, along with a controller to handle elevating a Post to this position with the following logic:

post = post // from controller
previousAbout = searchPosts(where: about == true)

if ( previousAbout is not null ):


return new Response(200)

The About page template can actually remain, with the controller simply changing the variable it passes into it to achieve the goal. Another consideration, however, is the header templates logic when choosing to render an /about link. Currently it utilises a UserProfile object already passed in to the template which is used for H-Card generation and Site titles as well as visible elements such as the name and profile image. Since the UserProfile object also contains the About page, it simply checks to see if it's null or not to decide whether to render the /about link. If I made the About page a Post, the controller would need to inform the template separately, unless the UserProfile maintained a 1-to-1 relationship with a single post, which is nullable. This changes the previous controller logic above to:

post = post // from controller
userProfile = user.getProfile()


return new Response(200)

Which I actually prefer. The UserProfile still has an about attribute, but it's a reference to pre-existing content and can be switched without a search of the database and it prevents duplication; where since Post already contains the necessary attributes for a good About page it makes sense to leverage it.

Idea 2 - Using a tag for an About Page

This one also utilises Posts, but with a slight twist. Instead of elevating a single Post to become an About page, what if we simply used a Tag? That way, the user could add content to their about page on-the-fly simply by tagging a Post with an about tag?

I don't think this is without issues -- for example how do you order things? What about reordering things on the page? How about editing posts, you have to hunt them down (admittedly just a search for the tag about…)? There's also the issue of the header rendering the /about link from earlier -- this means every controller needs to do a search for Posts tagged with about and check the length of that result, to decide.

I'm sure there's a way around this, and I really like the idea of a cumulative About page which can be made up of otherwise disparate content, for now I'm going to try out Idea 1 and see how that goes.

Last Modified: 01 Aug 2018, 10:10

development brimstone minimalism php minimalist design design patterns web design