Skip to content

Instantly share code, notes, and snippets.

View wittawasw's full-sized avatar

Wittawas W wittawasw

View GitHub Profile

Ruby on Rails Course Outline

Day 1: Introduction to Ruby and Rails

Session 1: Ruby Basics

  • Introduction to the Ruby language
  • Basic Tools, IDE, Runtime
  • Basic syntax, data types, and control structures
  • Modules and classes
  • Practical examples of module and class usage
@wittawasw
wittawasw / updatefw.sh
Created September 15, 2023 12:21 — forked from selfagency/updatefw.sh
[update digital ocean firewall] update digital ocean firewall rules to add current ip and remove old external ips
# Requires doctl and the "public-ip-cli" npm module to be globally installed.
#!/bin/sh
FWID="YOUR_FIREWALL_ID"
IPV4=$("${HOME}/.nodebrew/current/bin/public-ip" --4)
#IPV6=$("${HOME}/.nodebrew/current/bin/public-ip" --6)
printf "🔥 Updating DO firewall rules\n\n"
OLD_RULES="$(doctl compute firewall get "${FWID}" --format InboundRules | tr ' ' '\n' | grep -E 'ports:22|ports:2022' | tr '\n' ' ' | sed '$ s/.$//')"
@wittawasw
wittawasw / gist:b355310de8b98101d55a614cfebba910
Created May 22, 2023 00:00 — forked from ggilder/gist:1055684
Use Sinatra to serve static files from the current directory
ruby -e "require 'rubygems';require 'sinatra';set :port, 9999;set :public, Dir.pwd"
@wittawasw
wittawasw / set_max_split_size_mb.py
Last active December 12, 2022 06:43
pytorch setting: max_split_size_mb
import torch
# Use when setting up CUDA in the beginning.
# Set max split size = 256 MB
torch.cuda.memory._set_allocator_settings("max_split_size_mb:256")
@wittawasw
wittawasw / setup-ruby-3.txt
Last active May 11, 2024 18:40
Ruby 3.1 server provisioning Ubuntu 20.04
apt update
apt upgrade -y
apt install -y apt-transport-https ca-certificates curl gnupg build-essential libjemalloc-dev git zlib1g-dev libssl-dev libreadline-dev libffi-dev locales libsqlite3-dev libyaml-dev libncurses5-dev libgmp-dev libgdbm6 libgdbm-dev tzdata gcc g++ make libpq-dev net-tools ubuntu-dev-tools
# jemalloc dependency
echo "deb http://security.ubuntu.com/ubuntu impish-security main" | sudo tee /etc/apt/sources.list.d/impish-security.list
apt update
apt install libssl1.1
touch /etc/apt/sources.list.d/fullstaq-ruby.list
require "onnxruntime"
require "mini_magick"
img = MiniMagick::Image.open("bears.jpg")
pixels = img.get_pixels
model = OnnxRuntime::Model.new("model.onnx")
result = model.predict({"inputs" => [pixels]})
p result["num_detections"]
@wittawasw
wittawasw / app.rb
Last active March 17, 2022 17:31 — forked from runemadsen/app.rb
Sinatra File Upload
require 'sinatra'
get "/" do
erb :form
end
post '/save_image' do
@filename = params[:file][:filename]
file = params[:file][:tempfile]
@wittawasw
wittawasw / delay.js
Created March 8, 2022 08:31
Simple delay function in nodejs
// https://stackoverflow.com/questions/14249506/how-can-i-wait-in-node-js-javascript-l-need-to-pause-for-a-period-of-time
const delay = ms => new Promise(resolve => setTimeout(resolve, ms))
await delay(1000) /// waiting 1 second.
@wittawasw
wittawasw / readme.adoc
Created November 16, 2021 14:43 — forked from arun-gupta/readme.adoc
Federated Kubernetes Cluster using Kops on AWS

Let’s set up a federation between earth and mars Kubernetes cluster on AWS.

Earth cluster

  1. Create hosted zone:

    ID=$(uuidgen) && \
       aws route53 create-hosted-zone \
       --name earth.kubernetes-aws.io \