Incoherent Jibber Jabber

Train Travel in the UK: A Foreigners Perspective

I really enjoyed reading Train Travel in the UK: A Foreigners Perspective.

The part that stuck out to me is quoted below

This might surprise British readers, but I have nothing but good things to say about the reliability and punctuality of trains in the UK.

I travelled quite extensively throughout Europe by train in the last three months and of all countries visited it was the UK which had the best record when it came to trains running on time as I don’t think I had one which arrived more than five minutes late.

The above sentiment is similar to my own and not shared by many here in the U.K.

I believe trains are a superior mode of transport for most “mid-distance” travel and should replace a large amount of car journeys and some plane journeys. The main issue is cost. Most people can’t afford to take trains in the U.K. regularly, unlike in most of Europe.


Divine Intervention

Saltagreppo made the fatal mistake of sharing, on Twitter, a well thought out argument about how to improve a game he spends a lot of time playing.

Divinity is unquestionably the best “support” weapon in Destiny 2. Sustained damage to a target provides a large field around an enemy (an easier “crit” spot) and applies a 30% weaken effect (debuff).

For large targets like raid bosses with hard-to-hit crit spots, Divinity makes the damage phase a lot easier. Having a Divinity user and 5 others doing as much damage as possible is better – in practically all cases, for all teams – than not.

This is not to say raid bosses are not doable for most teams without Divinity. Anecdotally, most of my fire team’s raid completions have been without Divinity, because most of us don’t have it. That isn’t to say that Divinity wouldn’t have made those encounters easier, mind you.

On the face of it, Divinity is an ideal Raid exotic weapon. It’s very desirable because it has unique and powerful effects.

Saltagreppo believes that Divinity is too strong

removing most of the skill gap during DPS and making precision weapons way too easy to use.

forcing high risk high reward weapons such as Whisper of the Worm out of the meta, since they simply can’t be buffed, otherwise they would be S tier due to Div removing the risk aspect.

and advocates for the following changes:

What if Divinity kept giving the crit bubble but provided a 0% debuff that overrides any other debuff? So that for example using Divinity + Tether still resulted in no debuff as long as Div is applied.

Effectively, removing the debuff aspect of Divinity, but keeping the large field. The ease-of-use aspect is still there, but the “making-bosses-easier-than-without” aspect can’t be used in conjuction with Divinity. Choose either debuf by other means or Divinity for the easier crit spot.

All of this seems sensible so far, right? What’s the issue?

If you’re not aware of Saltagreppo - he’s a very skilled PvE player. His clan, Elysium, have been the world’s first Day 1 Raid Race champions for the last three raids in a row. As some would say, he’s part of the “PvE Elite”. He’s also a Destiny content creator, which means he is paid to make content about the game and plays it much more than most.

Due to this reason, his very well thought out arguments, put forward as a suggestions to the developers who follow him and would see it, was treated as malicious by a minority of Twitter users.

There were a few interesting arguments I had seen used:

  • “If you think it’s too strong, don’t use it”
  • “You’re advocating for things to be harder for regular players, so you can make more content”
  • “PvE Elitist”

Which always amuses me because none of this backlash addresses the content of his feedback. Instead they’re addressing him and who he is. Usually, I find people who do this aren’t interested in having a constructive discussion, and have long-since made up their mind about what they think and are not interested in having it changed.

This is a Twitter problem and is why interesting discussions almost never happens in the public, and instead is kept to private forums (Discord, group chats) where others are more likely to agree with you. I can empathise with Saltagreppo wanting a constructive conversation, but I hope he learns the lesson that it’s simply not worth it trying to have those kinds of conversations there.

For what it’s worth, I personally don’t think the changes to Divinity suggested would impact the game that much for most people. I’m willing to bet most people commenting on this drama, like myself, don’t even have Divinity and have managed to do Raids just fine. For those who haven’t managed to do a Raid, Divinity is out of reach anyway (as it requires a completion of Garden of Salvation – a not-straightforward Raid – to even obtain), so it shouldn’t affect them.

The venn diagram intersection of people who have managed to do Garden of Salvation to get Divinity but struggle with regular Raid bosses without Divinity, while I’m sure exists, sounds like it would be very small.

What it would impact is “endgame” activities like Day 1 Raid races, etc. In these, there is an expectation set that the best teams compete, and anyone can participate. These changes allow the best teams to not overly rely on one weapon, while keeping the mode challenging for those participating but not necessarily competing.

This makes sense – Saltagreppo is advocating for changes to improve the parts of the game he plays, while trying to keep the identity of the gun alive, keeping it’s unique effects, and ensuring it’s still desirable.


Salt’s changes would make Divinity less desirable for a player like me. I’ve never done Garden of Salvation, even though I own Shadowkeep. It’s one of the only Raids I haven’t done because nobody in my team knew how to teach it, and it doesn’t look that interesting.

If Salt’s changes are applied, for a player like myself who has raided but doesn’t have Divinity, the gun is completely unnecessary and there’s no need to step into Garden of Salvation. And maybe that’s fine – although I think Bungie would want me to try the Raid for the gun. I also want some motivation to try it!

This is why I personally wouldn’t globally apply Saltagreppo’s changes, and only apply it for the duration of the Raid Race or any “endgame” activities as an Activity Modifier.

Modifiers:

Lack of Judgement: The perk "Judgement" on Divinity no longer applies the weaken effect.

This keeps Divinity desirable and just that bit more “fun” in regular occurences, while keeping it in check for “endgame” activities.

Whatever the solution is, I’ve found this entire “saga” to be further proof of how it’s almost impossible to have a constructive conversation with people you disagree with on the internet.


Building Digital Products for the Web: Final Thoughts

Previous Posts

The programming aspect of building digital products is a complex one. The level that I’ve looked at the tools does not paint the full picture.

For example, there are development tools that the Node and Ruby ecosystem introduces (e.g npm, bundler, yarn, babel, etc.), that are just as critical as the programming languages themselves, that I chose not to go into for the sake of brevity.

Hopefully this serves as a good high-level overview of the types of tools that I use every day to help towards building high-quality digital products for the web.

It’s also neat that every tool I mentioned —  sans the JetBrains IDEs which can be opted out of  —  are free and open-source.

I paid for all the software I tried but ended up gravitating towards the free and open-source ones. Cool.


Building Digital Products for the Web: Honourable Mentions

Elastic Search is excellent for those who want to implement a custom search engine.

Kafka is a powerful, reliable, and consistent distributed log. Kafka enables an application to support event sourcing, stream processing, website activity tracking (the reason it was originally built), and more advanced techniques required to be performant at scale.

ClojureScript is a wonderful functional programming language that uses most of Clojure’s well thought out syntax and ideas and transpiles to JavaScript.

GUIs I don’t shy away from software with GUIs and, just like my philosophy on multiple editors, I have GUI programs installed for things that I do in the command line. Sometime I like to visualise my git commits in a dedicated app, or use a GUI client for Postgres. For the way I work, they’re a “nice to have sometimes” and not “required”.

iOS A lot of the problem solving I do happens on my iPad, Apple Pencil, and Notes.app before a single line of code is written.


Building Digital Products for the Web: Data Stores

Anyone who knows me will know I love Postgres. It’s a brilliant general purpose fully-featured database with great performance and reliability. It’s familiar to the Ruby on Rails world who have embraced it with open arms.

Redis a flexible key-value data store that is commonly used as a cache or message broker. You can even use it as a very basic database.


Building Digital Products for the Web: Programming Languages

My favourite programming language to use to build digital products for the web is Ruby.

I prefer the Rails gem as my go-to web framework on top Ruby because my personal philosophy of Software Development is strongly aligned with the Rails doctrine.

I like having Node JS installed on my development environment. Leveraging my JavaScript experience for the server side is a compelling idea.

Furthermore, the Node ecosystem is vast and powerful — especially for software developers.

Build tools such as Webpack go hand-in-hand with the Ruby and Rails world and allow you to combine something like React with Rails if you want.


Building Digital Products for the Web: Text Editors

I use a text editor to modify the code of the digital products that I’m working on.

Modifying code is an important part of my work so I’ve made sure to try most of the mainstream text editors including:

Choosing just one editor is complicated. I personally have most of the aforementioned tools always installed in my development environments as I can appreciate some of their differing strengths in specific situations.

For example, sometimes I just want to browse code.

Maybe I’m investigating a bug.

I find that the JetBrains’ suite’s Cmd + Click shortcut to go to the definition of variable, function, etc. to be the most efficient way for me to get to the root of the bug. I can do it on other editors, but the JetBrains’ suite is usually faster for me.

Writing code? Vim’s modal nature, combined with word objects, and other unique ideas makes it the best choice for editing code (for me) every time.

I’m aware of Vim emulation plugins. None of them are full-featured enough for my personal standard.

If I had to call something my default editor, then it’ll probably be Neovim. It’s the only one that I’ll be the happiest to use if a one-editor life is forced on me.

I’m happy, though, that in reality, I can choose whichever editor I deem best for whichever situation happens to be at hand.

Neovim is, in my opinion, a better version of Vim but I use regular Vim where it’s not possible to use Neovim (e.g. limited server environments).

Out of curiosity, I tried Vi and found it to be a stripped down Vim with the nice parts missing.


Building Digital Products for the Web: Source Control

Git, the best source control solution out there, is critical for modern software development.

I personally believe that “two heads are better than one”; therefore tools that enable others to work together better are paramount to the delivery of high-quality digital products.

Git is one of those tools. It’s fast and efficient, exposes well thought out concepts via a sensible interface, and is free and open-source.

The internal data structures are excellent — pursuits towards learning how Git works rewarded me with a better understanding of building great software.

I love Git. It makes the experience of building software more fun because it’s so reliable and consistent. I’m almost never scared I’ll lose code with Git which encourages me to try different things.


Building Digital Products for the Web: Shell

A shell is important for professional software development. Most of the interesting tools to manipulate a computer are available via a shell command.

My favourite POSIX compliant shell is Zsh primarily due to in-built support for Glob Qualifiers.

I’m comfortable with and use Bash occasionally, but I use zsh if given the choice.