Skip to content

Instantly share code, notes, and snippets.

Avatar

Subrat Rout subratrout

View GitHub Profile
@subratrout
subratrout / imposter-handbook-links.md
Created Apr 25, 2021 — forked from milmazz/imposter-handbook-links.md
Useful links found in The Imposter's Handbook by Rob Conery
View imposter-handbook-links.md
@subratrout
subratrout / caesar.rb
Created Apr 16, 2021 — forked from matugm/caesar.rb
Caesar cipher using Ruby
View caesar.rb
ALPHABET_SIZE = 26
def caesar_cipher(string)
shiftyArray = []
charLine = string.chars.map(&:ord)
shift = 1
ALPHABET_SIZE.times do |shift|
shiftyArray << charLine.map do |c|
((c + shift) < 123 ? (c + shift) : (c + shift) - 26).chr
@subratrout
subratrout / ruby_meta.md
Created Apr 15, 2021 — forked from jamesyang124/ruby_meta.md
Ruby meta programming
View ruby_meta.md

#!/bin/ruby --verion => 2.0.0-p353

Self

In Ruby, self is a special variable that always references the current object.

  • Inside class or module definition, self refer to the Class or Module object.
  • Inside instance method, self refer to future instance object.
  • Inside class method, self refer to the class.i
@subratrout
subratrout / vanilla-js-cheatsheet.md
Created Jul 24, 2020 — forked from thegitfather/vanilla-js-cheatsheet.md
Vanilla JavaScript Quick Reference / Cheatsheet
View vanilla-js-cheatsheet.md
@subratrout
subratrout / django_deploy.md
Created Mar 29, 2020 — forked from bradtraversy/django_deploy.md
Django Deployment - Digital Ocean
View django_deploy.md

Django Deployment to Ubuntu 18.04

In this guide I will go through all the steps to create a VPS, secure it and deploy a Django application. This is a summarized document from this digital ocean doc

Any commands with "$" at the beginning run on your local machine and any "#" run when logged into the server

Create A Digital Ocean Droplet

Use this link and get $10 free. Just select the $5 plan unless this a production app.

@subratrout
subratrout / about.md
Created Apr 18, 2018 — forked from jasonrudolph/about.md
Programming Achievements: How to Level Up as a Developer
View about.md
View array_iteration_thoughts.md

While attempting to explain JavaScript's reduce method on arrays, conceptually, I came up with the following - hopefully it's helpful; happy to tweak it if anyone has suggestions.

Intro

JavaScript Arrays have lots of built in methods on their prototype. Some of them mutate - ie, they change the underlying array in-place. Luckily, most of them do not - they instead return an entirely distinct array. Since arrays are conceptually a contiguous list of items, it helps code clarity and maintainability a lot to be able to operate on them in a "functional" way. (I'll also insist on referring to an array as a "list" - although in some languages, List is a native data type, in JS and this post, I'm referring to the concept. Everywhere I use the word "list" you can assume I'm talking about a JS Array) This means, to perform a single operation on the list as a whole ("atomically"), and to return a new list - thus making it much simpler to think about both the old list and the new one, what they contain, and

View api-cheatsheet-array.md

Array<T>

Legend:

  • ✏️ method changes this.
  • 🔒 method does not change this.

Array<T>.prototype.*:

  • concat(...items: Array<T[] | T>: T[] 🔒 ES3
View truhearing.rb
def team_availability(time_used_array)
# total_time_availability = [['8:30', '9:00'],['9:00', '9:30'],['9:30', '10:00'],['10:00', '10:30'],['10:30', '11:00'],['11:00', '11:30'],['11:30', '12:00'],['1:00', '1:30'],['1:30', '2:00'],['2:00', '2:30'],['2:30', '3:00'],['3:00', '3:30'],['3:30', '4:00'],['4:00', '4:30'],['4:30', '5:00']]
time_array = [[8.5, 9.0], [9.0, 9.5], [9.5, 10.0], [10.0, 10.5], [10.5, 11.0], [11.0, 11.5], [11.5, 12.0], [13.0, 13.5], [13.5, 14.0], [14.0, 14.5], [14.5, 15.0], [15.0, 15.5], [15.5, 16.0], [16.0, 16.5], [16.5, 17.0]]
# time_array = []
# (8.5..17).step(0.5).each do |time|
# time_array << time
# end
# time_slot = []
# time_array.each_with_index do |x, i|
# time_slot << [x, time_array[i+1]]