<commit_before>Final by Default
===

Four years ago, <NAME> and I disagreed on the subject of the `final` keyword in Java. At the time, I stated my views in an post entitled [Ready, Aim, Final][raf]. There was some back and forth between my blog and Rusty's. I forgot about the matter until [Wikileaks threatened to leak 5,000 open source Java projects With All That Private/Final Bullshit Removed][leaks]. That got me thinking about `final` again.

three methods
---

What functions do these three methods compute?

    module ExampleFunctions

      Matrix = Struct.new(:a, :b, :c) do

        alias :d :a
        alias :e :b
        alias :f :c

        def * other
          Matrix.new(
            self.a * other.d + self.b * other.e, 
            self.a * other.e + self.b * other.f,
            self.b * other.e + self.c * other.f
          )
        end<commit_msg>I don't care what you have to say, as long as you get my name right<commit_after>Final by Default
===

Four years ago, [Elliotte "Rusty" Harold][elharo] and I disagreed on the subject of the `final` keyword in Java. At the time, I stated my views in an post entitled [Ready, Aim, Final][raf]. There was some back and forth between my blog and Rusty's. I forgot about the matter until [Wikileaks threatened to leak 5,000 open source Java projects With All That Private/Final Bullshit Removed][leaks]. That got me thinking about `final` again.

three methods
---

What functions do these three methods compute?

    module ExampleFunctions

      Matrix = Struct.new(:a, :b, :c) do

        alias :d :a
        alias :e :b
        alias :f :c

        def * other
          Matrix.new(
            self.a * other.d + self.b * other.e, 
            self.a * other.e + self.b * other.f,
            self.b * other.e + self.c * other.f
          )
        end
{'fraction_non_alphanumeric': 0.08866995073891626, 'fraction_numerical': 0.004378762999452655, 'mean_word_length': 2.360294117647059, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6765837', 'n_tokens_mistral': 550, 'n_tokens_neox': 521, 'n_words': 242}