Skip to content

Instantly share code, notes, and snippets.

View pedrosfdcarneiro's full-sized avatar

Pedro Carneiro pedrosfdcarneiro

View GitHub Profile
@sauloperez
sauloperez / signal_catching.rb
Last active December 14, 2024 13:43
How to catch SIGINT and SIGTERM signals in Ruby
# Signal catching
def shut_down
puts "\nShutting down gracefully..."
sleep 1
end
puts "I have PID #{Process.pid}"
# Trap ^C
Signal.trap("INT") {
@tcnksm
tcnksm / exception_spec.rb
Created November 12, 2013 08:20
How to stub raising exceptions in rspec
class Foo
class << self
def exec
something
rescue => ex
ex.message
end
def something
"something"
@kevin-smets
kevin-smets / iterm2-solarized.md
Last active July 21, 2025 07:31
iTerm2 + Oh My Zsh + Solarized color scheme + Source Code Pro Powerline + Font Awesome + [Powerlevel10k] - (macOS)

Default

Default

Powerlevel10k

Powerlevel10k

@justecorruptio
justecorruptio / 2048.c
Created April 4, 2014 03:49
Tiny 2048 in C!
M[16],X=16,W,k;main(){T(system("stty cbreak")
);puts(W&1?"WIN":"LOSE");}K[]={2,3,1};s(f,d,i
,j,l,P){for(i=4;i--;)for(j=k=l=0;k<4;)j<4?P=M
[w(d,i,j++)],W|=P>>11,l*P&&(f?M[w(d,i,k)]=l<<
(l==P):0,k++),l=l?P?l-P?P:0:l:P:(f?M[w(d,i,k)
]=l:0,++k,W|=2*!l,l=0);}w(d,i,j){return d?w(d
-1,j,3-i):4*i+j;}T(i){for(i=X+rand()%X;M[i%X]
*i;i--);i?M[i%X]=2<<rand()%2:0;for(W=i=0;i<4;
)s(0,i++);for(i=X,puts("\e[2J\e[H");i--;i%4||
puts(""))printf(M[i]?"%4d|":" |",M[i]);W-2
@shrikanthkr
shrikanthkr / carrierwave-base64.md
Last active September 6, 2019 16:21
Saving base64 string with Carrierwave

In the controller action

image_file = change_img_params(params[:avatar]) #params[:avatar] - base64 string

def change_img_params(img)
begin
  Base64.decode64(img) #To check if thats a base64 string
  if img
    img = file_decode(img.split(',')[1],"some file name") #getting only the string leaving out the data/<format>

end

@Kartones
Kartones / postgres-cheatsheet.md
Last active July 21, 2025 04:13
PostgreSQL command line cheatsheet

PSQL

Magic words:

psql -U postgres

Some interesting flags (to see all, use -h or --help depending on your psql version):

  • -E: will describe the underlaying queries of the \ commands (cool for learning!)
  • -l: psql will list all databases and then exit (useful if the user you connect with doesn't has a default database, like at AWS RDS)
@staltz
staltz / introrx.md
Last active July 21, 2025 07:30
The introduction to Reactive Programming you've been missing
@andradei
andradei / sb3_keybindings_vowels.json
Last active December 18, 2023 16:09
Sublime Text 3 Key Bindings for Vowals with Accent (use with keyboard layout US, International with Dead Keys and similar)
[
// Key remaps
// - a
{ "keys": ["alt + ' + a"], "command": "insert", "args": {"characters": "á"}},
{ "keys": ["alt + ` + a"], "command": "insert", "args": {"characters": "à"}},
{ "keys": ["alt + \" + a"], "command": "insert", "args": {"characters": "ä"}},
{ "keys": ["alt + ~ + a"], "command": "insert", "args": {"characters": "ã"}},
// - A
@LeCoupa
LeCoupa / bash-cheatsheet.sh
Last active July 9, 2025 07:54
Bash CheatSheet for UNIX Systems --> UPDATED VERSION --> https://github.com/LeCoupa/awesome-cheatsheets
#!/bin/bash
#####################################################
# Name: Bash CheatSheet for Mac OSX
#
# A little overlook of the Bash basics
#
# Usage:
#
# Author: J. Le Coupanec
# Date: 2014/11/04
require 'rails_helper'
RSpec.describe TodosController, :type => :controller do
describe "GET #index" do
#describe "POST #create" do
#describe "GET #show" do
#describe "PATCH #update" do (or PUT #update)
#describe "DELETE #destroy" do
#describe "GET #new" do