Skip to content

Instantly share code, notes, and snippets.

View Wollw's full-sized avatar

David E. Shere Wollw

View GitHub Profile
@Wollw
Wollw / scale-video.pl
Created October 24, 2012 04:33
A Perl script using ffmpeg and ffprobe to slow or speed a video so it lasts a particular duration of time.
#!/usr/bin/perl
#####
#
# This script scales an input video to be the duration provided.
#
# usage:
# scale-video.pl [-a audiofile] [-b bitrate] -d hh:mm:ss infile outfile
#
# The bitrate should be in kbps
@Wollw
Wollw / livestream.sh
Created September 23, 2012 03:37
LiveStream with FFMPEG
CHANNEL="YOURCHANNEL"
USER="YOURUSERNAME"
PASSWD="YOURPASSWORD"
W_RATIO=16
H_RATIO=9
AUDIO="-f mp3 -i http://localhost:8000"
ffmpeg \
$AUDIO \
all:
gcc -I. mane.c -o mane -Wall
clean:
rm mane
@Wollw
Wollw / bashbot.sh
Created August 12, 2012 07:07
IRC bot in written in bash
#!/usr/bin/env bash
# Open a connection to canternet
exec 3<>/dev/tcp/irc.canternet.org/6667;
# Login and join the channel.
printf "NICK BashBot\r\n" >&3;
printf "USER bashbot 8 * :IRC Bot in Bash\r\n" >&3;
sleep 2;
printf "JOIN #HackingIsMagic\r\n" >&3;
/*
* Bresenhan algorithms from http://free.pages.at/easyfilter/bresenham.html
*/
#include <stdio.h>
#include <assert.h>
#define setPixel(x,y) (A[x][y] = 'X')
#define HEIGHT 20
#define WIDTH 80
@Wollw
Wollw / patch.diff
Created July 1, 2012 07:28
A patch for fluxbox that adds support for NextFocus and PrevFocus that do the same thing as NextWindow and PrevWindow but don't raise the window the focus is changed to.
diff --git a/src/FocusControl.cc b/src/FocusControl.cc
index 5bf113f..bc54311 100644
--- a/src/FocusControl.cc
+++ b/src/FocusControl.cc
@@ -88,8 +88,10 @@ FocusControl::FocusControl(BScreen &screen):
}
void FocusControl::cycleFocus(const FocusableList &window_list,
- const ClientPattern *pat, bool cycle_reverse) {
+ const ClientPattern *pat, bool cycle_reverse,
@Wollw
Wollw / pcint_example.c
Created May 5, 2012 00:48
ATMega328P PCINT example
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/atomic.h>
#include <util/delay.h>
#include <stdbool.h>
/*
* A global flag used to communicate between the Interrupt Service Routine
* and the main program. It has to be declared volatile or the compiler
* might optimize it out.
@Wollw
Wollw / m328p_fastpwm.c
Last active July 2, 2023 08:35
ATmega328P PWM Example
/**
* A PWM example for the ATmega328P using the 8-Bit Fast PWM mode.
*/
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdbool.h>
#include <util/delay.h>
int main (void) {
@Wollw
Wollw / 74HC595_example.c
Created April 19, 2012 06:29
ATMega328P 74HC595 Example
#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>
#include <stdint.h>
typedef uint8_t bits_type;
#define CFG_SHIFT_DDR DDRB
#define CFG_SHIFT_PORT PORTB
#define CFG_SHIFT_SRCLK PB1
#define CFG_SHIFT_RCLK PB2
main = do
putStrLn "Enter a number:"
n <- getLine
putStrLn $ "The factorial of " ++ n ++ " is:"
print $ factorial $ read n
factorial :: (Num a) => a -> a
factorial 0 = 1
factorial n = n * factorial (n - 1)