World Holidays, but mostly U.S. holidays
fiber-connector-types.png 497 KB
1. ST connectors: These connectors are the most common type of commercial fiber optic connector. These connectors utilize an exposed plastic tube housing the optical fiber.

2. SC-Connector: SC is short for Subscriber Connect is one of the most frequently used connectors. Used in fiber-optic networking, it has caps to prevent laser light reaching eyes.

3. FC connector: It is similar to ST connectors, these fiber optic connector's screws into their mating jacks. 

4. LC cables: latch and release into their jacks in a manner similar to Ethernet connectors. Smaller in form than SC connectors, their durability is not compromised, nor is cost increased. Instead of snapping or thermo forming the connector to the cable, it is glued. This makes it a popular connector for field use. 
Famous people's birthdays.
                Epic
                    |
Story  -  Task    -   Bug
     \              |              /
            Sub-Task


Epic - Goal or large user story
Story - Typically development work and focused on the user's perspective ("User Stories")
Task - Often maintenance and operations work
Bug - Defect in software
Sub-Task - Smaller part of story, task, or bug
Group of words with a meaning not deducible from those individual words.
Scale and chord patterns for major, natural minor, harmonic minor, and melodic minor scales.
# shared model methods (and callbacks, validates, scopes, associations) - instance and class

module Item  
extend ActiveSupport::Concern
  
  # instance associations, scopes, validations, callbacks, methods, private methods  
  included do    
    belongs_to :user    
    has_many :collaborations, as: :record, dependent: :destroy    
    has_many :collaborators, :through => :collaborations, source: :user
    ...
    validates_presence_of :visibility
    ...
    before_destroy do      
      tags.each do |tag|        
        tag.destroy if tag.should_delete?      
      end    
    end
    
    def owner_handle      
      '@' + owner.username unless owner.nil?    
    end    

    private

    def private_method     
      ...   
     end  
  end

  class_methods do
    def self.search(search)
       ...
    end
  end
end

Networking tools to troubleshoot issues.
Like JavaScript anonymous undefined functions

With the yield statement

def test
   puts "You are in the method"
   yield
   puts "You are again back to the method"
   yield
end
test {puts "You are in the block"}


def test
   yield 5
   puts "You are in the method test"
   yield 100
end
test {|i| puts "You are in the block #{i}"}

With each on array

array.each do |element|
  puts element
end

Reduce
The above functions/methods take in an array, multiply all the elements together, then return the result. The main idea behind reduce is taking a bunch of things and reducing them down to a single value.

# Ruby
def getProduct(array)
  array.reduce do |accumulator, element|
    accumulator * element
  end
end 



// JavaScript
const getProduct = array => {
  return array.reduce((accumulator, element) => {
    return accumulator * element
  })
}


Filter/Select
The main idea behind filter / select is passing each element to a block; if the element makes the block truthy, the element is added to a new array.

# Ruby
def getOddNums(array)
  array.select { |element| element % 2 != 0 }
end 



// JavaScript
const getOddNums = array => {
  return array.filter((element) => {
    return element % 2 !== 0
  })
}

Map
array = ["11", "21", "5"]

array.map { |str| str.to_i }
# [11, 21, 5]

hash = { bacon: "protein", apple: "fruit" }

hash.map { |k,v| [k, v.to_sym] }.to_h
# {:bacon=>:protein, :apple=>:fruit}