Skip to content

Instantly share code, notes, and snippets.

💜
GitHub seems like the wrong place to put a status?

Cassie Jones porglezomp

💜
GitHub seems like the wrong place to put a status?
Block or report user

Report or block porglezomp

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@porglezomp
porglezomp / .gitignore
Last active Jan 2, 2016
Doing my math homework using libgraphicsmath
View .gitignore
Math
.DS_Store
@porglezomp
porglezomp / Rocket
Last active Jan 4, 2016
A little diagram of a rocket for Strategic Offense Initiative
View Rocket
[1] warhead
1
[2] computer
2
[3] booster -3- [4] control -4- [5] booster
5
[6] fuel
|6|
[7] coupler
|7|
@porglezomp
porglezomp / Extrap.cs
Last active Aug 31, 2018
Provides some of Unity's interpolation methods without clamping to [0, 1]
View Extrap.cs
using UnityEngine;
using System.Collections;
public class Extrap {
public static Quaternion Slerp(Quaternion q1, Quaternion q2, float t)
{
float angle;
Vector3 axis;
@porglezomp
porglezomp / README.md
Last active Aug 29, 2015
Do parametric animation in Unity3d, inspired by UIView animation in iOS
View README.md

How to use this

Installation

  1. Copy the PAnim.cs class into your Unity3d project
  2. You're done!

Animating Objects

View fib.em
fib ^n = {
fib ^n ^a ^b = {
if (n <= 0) ^!( return a )
if (n == 1) ^!( return b )
fib (n - 1) b (a + b)
}
fib n 0 1
}
View parsable_enum.rs
macro_rules! parsable_enum {
($(#[$attrs:meta])* enum $name:ident { $($member:ident),*}) =>
(parsable_enum! { $(#[$attrs])* enum $name { $($member),* ,}});
($(#[$attrs:meta])* enum $name:ident { $($member:ident),* , }) => {
$(#[$attrs])*
pub enum $name {
$($member),+
}
use std::str::FromStr;
@porglezomp
porglezomp / README.md
Last active May 13, 2018
Serializing Binary Data in Rust
View README.md

Serializing Binary Data in Rust

The way I like to serialize data in Rust into binary formats is to let a data structure blit itself into a mutable buffer. This is a relatively composable, low level way to work that lends itself to having other abstractions built on top of it. I recently was serializing network packets, so let's make up a small packet format that illustrates how we can do this.

+-------------+-------------+
|  Tag (u16)  | Count (u16) |
+-------------+-------------+
|                           |
~        Entry (u32)        ~
View keybase.md

Keybase proof

I hereby claim:

  • I am porglezomp on github.
  • I am porglezomp (https://keybase.io/porglezomp) on keybase.
  • I have a public key ASBz_m2oruQIDIMJM-2Sg8gOiGO0o8uCWbG1hP-ti7F4_wo

To claim this, I am signing this object:

@porglezomp
porglezomp / conformant_json_parser.py
Created Oct 27, 2016
It's possible to have an extremely simple standard-conformant JSON parser!
View conformant_json_parser.py
# RFC 7159 § 9
# "An implementation may set limits on the size of texts that it accepts."
def parse_json(text):
if len(text) != 1:
raise ValueError("Only accepts single character JSON values")
return int(text[0])
@porglezomp
porglezomp / exception.c
Last active Dec 12, 2016
Exception handling in C with setjmp and longjmp!
View exception.c
#include <iso646.h>
#include <setjmp.h>
#include <stdio.h>
// Exception Macros
int _exn_handler_idx = 0;
jmp_buf _exn_handlers[1024];
You can’t perform that action at this time.