Skip to content

Instantly share code, notes, and snippets.

View raygervais's full-sized avatar

Ray Gervais raygervais

View GitHub Profile
@raygervais
raygervais / building_objects.rb
Last active July 7, 2019 22:04
[Idiomatic Ruby] Pluralsight Course Explaining Better Ruby Idioms.
# Desired Behavior Module
# Unit Testing, Why and How
# MiniTest Example
class FizzBuzzTest < MiniTest::Test
def setup
@fizz_buzz = FizzBuzz.new
end
@raygervais
raygervais / commands.sh
Last active April 14, 2019 15:47
[XFCE - Media Control Keymapping]
# Source: https://www.man42.net/blog/2014/04/debian-xfce4-spotify/
# For the Next key: Click Add, then on the Command: field enter:
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next
# For the Previous key: Click Add, then on the Command: field enter
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous
# For the PlayPause key: Click Add, then on the Command: field enter:
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
@raygervais
raygervais / Dockerfile
Created April 12, 2019 22:21
[Kubernetes Docker Tutorial] #Kubernetes
# ---- Base Node ----
FROM alpine:3.5
RUN apk add --no-cache nodejs-current tini make gcc g++ python krb5-dev
# set working directory
WORKDIR .
# Set tini as entrypoint
ENTRYPOINT ["/sbin/tini", "--"]
@raygervais
raygervais / observable.js
Created April 12, 2019 16:45
[Basic JavaScript Observable Example]
// JavaScript - RxJS Observables
// *Documentation: http://reactivex.io *
var button = document.querySelector('button');
Rx.Observable.fromEvent(button, 'click)
.subscribe(
(value) => {
console.log(value.clientX);
},
@raygervais
raygervais / dog.py
Created April 12, 2019 16:37
[Dog API Parser in Python]
# Run: pip install requests
# Notes: https://programminghistorian.org/lessons/output-data-as-html-file
import requests
from web browser import open_new_tab
def _create_html_body(body, breed):
file = open('dogs.html', 'w')
@raygervais
raygervais / navigation.kt
Created January 22, 2019 01:06
[Navigation Drawer Layout in Main Activity]
// Context: https://github.com/raygervais/kotlin-for-android-course/blob/master/Lesson-3/app/src/main/java/com/example/android/navigation/MainActivity.kt
class MainActivity : AppCompatActivity() {
private lateinit var drawerLayout: DrawerLayout
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@Suppress("UNUSED_VARIABLE")
val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
@raygervais
raygervais / overflowMenu.kt
Created January 22, 2019 01:01
[Overflow Menu in OnCreateView]
// Context: https://github.com/raygervais/kotlin-for-android-course/blob/master/Lesson-3/app/src/main/java/com/example/android/navigation/TitleFragment.kt
class TitleFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
val binding: FragmentTitleBinding = DataBindingUtil.inflate(
inflater, R.layout.fragment_title, container, false)
binding.playButton.setOnClickListener { view: View ->
@raygervais
raygervais / navigationOnCreateView.kt
Created January 22, 2019 01:00
[Navigation via Button using NavController]
// Context: https://github.com/raygervais/kotlin-for-android-course/blob/master/Lesson-3/app/src/main/java/com/example/android/navigation/GameWonFragment.kt
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
val binding: FragmentGameWonBinding = DataBindingUtil.inflate(
inflater, R.layout.fragment_game_won, container, false)
// UI Handling
binding.nextMatchButton.setOnClickListener { view: View ->
@raygervais
raygervais / shareIntent.kt
Last active January 22, 2019 01:00
[Sharing Intent]
// Context: https://github.com/raygervais/kotlin-for-android-course/blob/master/Lesson-3/app/src/main/java/com/example/android/navigation/GameWonFragment.kt
import androidx.core.app.ShareCompat
private fun getShareIntent(): Intent {
val args = GameWonFragmentArgs.fromBundle(arguments!!)
return ShareCompat.IntentBuilder.from(activity)
.setText(getString(R.string.share_success_text,
args.numCorrect, args.numQuestions))
.setType("text/plain")
@raygervais
raygervais / twitter_account_handle_checker.py
Last active January 13, 2019 15:26
[Twitter Account Handle Checker]
import os
import urllib.request
if __name__ == "__main__":
NAME_LIST_LOCATION = './names.csv'
TWITTER_URL = 'http://www.twitter.com/'
try:
names = None