Skip to content

Instantly share code, notes, and snippets.



View GitHub Profile
smac89 / sln.html
Last active Aug 29, 2015
CMPT 280 sample final tentative solutions
View sln.html
margin: 5px 0;
<ol type="a">
<li>(3 points) What are the three components that an Abstract Data Type has, regardless of the method of ADT specification used? <em>(Note: not looking for sets, syntax, semantics..." here, those are components of a specific ADT specification method.)</em><br/><br/>
smac89 /
Last active May 20, 2016
Version of python's string join which allows for random seperators
import random
def join_rand(words, *sep):
return reduce(lambda joined, new: random.choice(sep).join((joined, new)), words)
smac89 /
Created Jun 27, 2016
Converts drawable image to BitmapDrawable
import android.content.Context;
public static final class BitmapDrawableFromDrawable {
public static BitmapDrawable drawableToBitmapDrawable (Context ctx, Drawable drawable) {
Bitmap bitmap;
if (drawable instanceof BitmapDrawable) {
smac89 /
Last active Aug 29, 2016
[SOLVED] The struggle to print your u of s schedule without unnecessary details filling up the page

This is a method to get a clear, printable version of your uofs time table. This method involves a little work from you, then the attached app below does the rest. For this method to work well, you need to use firefox browser, as the end result looks off on chrome.

  1. Open your schedule in a browser:

  1. Right-click anywhere in the page and select Inspect Element:

  2. Inside the new window, type table.datadisplaytable into the search bar:

smac89 /
Last active Nov 29, 2016
Efficient method to read words from a file.
import itertools
def readwords(file_object):
byte_stream = itertools.groupby(
itertools.takewhile(lambda c: bool(c),
itertools.repeat(1))), str.isspace)
return ("".join(group) for pred, group in byte_stream if not pred)
smac89 / immutable-stack.scala
Last active Apr 27, 2017 — forked from lambda-hacker/immutable-stack.scala
Stack using List [Scala]
View immutable-stack.scala
// Immutable Stack Type using List
case class Stack[A] (elems: Seq[A] = List.empty[A]) {
def push(v: A) : Stack[A] = Stack(v +: elems)
def pushAll(xs: Iterable[A]) : Stack[A] =
xs.foldLeft (this) ((accStack, e) => accStack.push(e))
def pop(): Either[String, (A, Stack[A])] = {
if (isEmpty) Left("Cannot pop from empty stack")
smac89 / disjoint.hpp
Created May 9, 2017
Implementation of a disjoint_set data structure
View disjoint.hpp
#include <algorithm>
#include <iterator>
#include <unordered_set>
#include <vector>
class disjoint_set {
struct ranked { int root, rank, size; };
explicit disjoint_set(int n): cc(n + 1) {
smac89 / range.hpp
Last active May 9, 2017
C++ range implementation
View range.hpp
#include <iostream>
#include <type_traits>
#include <limits>
#include <stdexcept>
template <typename I>
class range_t {
static_assert(std::is_integral<I>::value, "Integer type required");
class offset {
smac89 /
Last active Jun 8, 2017
Windows administrative Commands (Powershell)
smac89 / .gitconfig
Last active Jun 21, 2017
Gitconfig settings to use p4merge on windows using Cygwin terminal
View .gitconfig
tool = p4merge
[mergetool "p4merge"]
path = "C:/PROGRA~1/Perforce/p4merge.exe"
keepBackup = false
trustExitcode = false
tool = p4merge
You can’t perform that action at this time.