Skip to content

Instantly share code, notes, and snippets.

@alexdantas
alexdantas / add-host.rb
Created April 4, 2014 20:19
Adds a host to the Windows' hosts file
# It'll append the hosts file with an argument you
# send to it.
#
# For example, if you open 'cmd.exe' and go where this
# script is located:
#
# C:\Users\you> ruby add-host.rb "127.0.0.1 some-website.com"
#
# Your hosts file will have '127.0.0.1 some-website.com' at
# the end.
@alexdantas
alexdantas / show-hosts.rb
Created April 4, 2014 20:05
Shows all valid hosts on a Windows machine
# This is where it all starts and ends
begin
# It saves all the lines of the file inside
# the 'contents' variable.
# Note that we use '/' as the path separator
# (and not '\')
contents = File.read("C:/Windows/system32/drivers/etc/hosts")
# We're going through each line of 'contents',
# assigning one at a time to the 'line' variable.
@alexdantas
alexdantas / InputManager.cpp
Created June 9, 2014 21:27
Simple InputManager for small-sized games (see http://wp.me/p4bLdp-fh)
#include <Flow/InputManager.hpp>
#include <Interface/Ncurses.hpp>
#include <ncurses.h>
int InputManager::pressedKey = ERR; // Starting with blank value
std::map<std::string, int> InputManager::binds;
void InputManager::bind(std::string name, int key)
{
@alexdantas
alexdantas / refresh-every-include.rb
Created August 12, 2014 11:42
Updates all "#include" statements on C/C++ files, based on the current directory
#!/usr/bin/env ruby
#
# Goes through every file under this directory,
# fixing it's `#include` statement.
#
# * Gets a file name by looking at the last
# path component of a `#include`
# * Searches for it under this directory tree
# * If found, inserts it's new relative path
# * If not, simply prints the output.
@alexdantas
alexdantas / gcd.c
Created June 26, 2012 14:00
Returns the greatest common divisor between two numbers
int gcd (int a, int b)
{
if (b == 0)
return a;
if (a > b)
{
int x = a;
a = b;
b = x;
}
@alexdantas
alexdantas / fucks.sh
Created November 26, 2012 22:10
Cursing terminal (Keep repeating words that contains 'fuck' until interrupted)
# Keep repeating words that contains 'fuck' until interrupted
yes `grep fuck /usr/share/dict/words` | tr '\n' ' '
@alexdantas
alexdantas / batch-sign-gpg-keys.sh
Created April 13, 2013 23:21
Signs several GPG keys, outputting each result on a different file.
#!/bin/bash
# This file signs several GPG keys, outputting
# each result on a different file.
MY_KEY=12345678
KEYS="90123456 78901234 56789012 34567890"
for key in $KEYS
do
gpg --sign-key $key
@alexdantas
alexdantas / github-zipball.sh
Created June 3, 2013 18:31
Gets the archived zipball of a GitHub repository
#!/bin/bash
# Gets the archived zipball of a GitHub repository
# $1 user
# $2 repo
LINK="https://github.com/$1/$2/archive/master.zip"
ZIPFILE="$2.zip"
echo "Downloading project '$2' from GitHub user '$1'..."
@alexdantas
alexdantas / pipes.rb
Created September 6, 2013 03:15
Shows a nice screensaver on the terminal with Ruby Curses.
#!/usr/bin/env ruby
#
# pipes.rb: Displays a nice animation on the terminal,
# based on an old screensaver.
#
# If you want to see some action, scroll to the bottom.
# The main code is between "begin" and "end".
#
# This code uses Ruby and it's Curses module to display
# characters on the terminal.
@alexdantas
alexdantas / circle.rb
Created September 8, 2013 01:32
Shows circles around the screen with ruby Curses' console interface.
require 'curses'
# Hell yeah
DANI_NUMERO_CIRCULOS = 4
DANI_LIMPAR_TELA = false
# All possible colors.
Colors = {