Skip to content

Instantly share code, notes, and snippets.

@safiire
safiire / pi_infinite_series
Last active August 29, 2015 13:56
Compute π with an infinite series
def f(n)
(2 * n + 1)**-1
end
def g(n)
((-1)**n).to_f
end
def pi
@safiire
safiire / rc_filter_simulation.rb
Created February 10, 2014 18:40
RC Lowpass Filter Simulation in both Ruby and Rust for comparison.
#!/usr/bin/env ruby
# encoding: UTF-8
require 'complex'
Tau = 2 * Math::PI
TableWidth = 20
#######################################################################
## This is a script I was using to simulate an analog Resistor
## Capacitor in series filter, to see if I had the math right.
@safiire
safiire / the_greatest_english_paragraph_of_all.txt
Created February 12, 2014 18:55
This is likley the greatest English paragraph, of all.
For although light oftenest behaves as a wave, it can be looked on as a mote, the *lightbit*.
We have already said by the way that a mote of stuff can behave not only as a chunk, but as a wave.
Down among the unclefts, things do not happen in steady flowings, but in leaps between bestandings that are forbidden.
The knowledge-hunt of this is called *lump beholding*.
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include "common.h"
// Enums
enum {SAW, SQUARE, SINE};
@safiire
safiire / intersect.rb
Created August 28, 2014 04:02
Line Intersection with Matrices
require 'matrix'
####
## Random program that uses matrices to find intersection between 2 lines
## the linear algebra way.
## I am not sure why I made this, but it's probably because I like matrices
class Line
attr_reader :slope, :offset
@safiire
safiire / blog_sound_demo.asm
Created March 30, 2015 21:17
NES sound demo from my blog post.
;;;;
; Create an iNES header
.ines {"prog": 1, "char": 0, "mapper": 0, "mirror": 0}
;;;;
; Include all the symbols in the nes library
.inc <nes.sym>
@safiire
safiire / main.cpp
Created April 30, 2015 09:43
Example of returning a string initialized in the constructor
// Comple with g++ *.cpp -o prog //
#include <iostream>
#include "test.h"
using namespace std;
int main(int argc, char **argv){
Test test;
@safiire
safiire / memory_mapped_io.cpp
Created June 9, 2015 21:01
Manipulation of Memory Mapped Registers using C++ Templates (Technique from Olivier Gillet's Avril AVR Library)
#include <stdio.h>
#include <stdint.h>
//// Create some pretend Memory Mapped Registers
volatile uint64_t memory_mapped_registers[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
#define bit_depth uint64_t
#define mmio_byte(mem_addr) (*(volatile bit_depth *)(mem_addr))
@safiire
safiire / curiously_recurring_template_pattern.cpp
Created June 11, 2015 05:34
Curiously Recurring Template Pattern
////
// Curiously Recurring Template Pattern
#include <stdio.h>
template <typename T>
struct Counter {
// Static class members variables
static int objects_created;
static int objects_alive;
@safiire
safiire / .csirc
Created September 3, 2015 05:30
A working .csirc file for Scheme readline
(use readline)
(current-input-port (make-readline-port))
(install-history-file #f ".csi.history")
(parse-and-bind "set editing-mode vi")