Skip to content

Instantly share code, notes, and snippets.

Function LTGrowth(company As String, provider As String) As Double
Application.Volatile (False)
Dim address As String
Dim OpenTag, CloseTag, PreTag1, PreTag2 As String
Dim StartPos, InnerLen As Integer
If UCase(provider) = "MORNINGSTAR" Then
address = "http://financials.morningstar.com/valuation/forward-comparisons-list.action?&t=" & company & "&region=usa&culture=en-US"
@sabotuer99
sabotuer99 / gist:6708168a9bcb0ef1a098
Created July 31, 2015 15:03
Code to determine total run time for a list of coursera lectures
function process(element){
var text = element.innerText;
var pattern = /\((\d+):(\d{2})\)/;
var results = text.match(pattern);
if(results && results.length == 3)
return results[1]*60 + results[2]*1;
return 0;
}
links = document.getElementsByClassName("lecture-link");
@sabotuer99
sabotuer99 / gist:aad344d30c911c21416f
Created August 5, 2015 15:52
Aggregates data from multiple Google sheets into a master sheet
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var searchMenuEntries = [{name: "Find Sheets", functionName: "search"},
{name: "Aggregate Data", functionName: "aggregate"}];
ss.addMenu("Aggregate", searchMenuEntries);
}
function search() {
// Get the active spreadsheet and the file list sheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
@sabotuer99
sabotuer99 / gist:2915c6986aa8e0c6ec56
Last active August 28, 2015 20:04
Automatically generate some getters and setters
fields = ["FUND_CD","DEPT_CD","UNIT_CD","APPR_CD","OBJ_CD","SOBJ_CD","RSRC_CD","BSA_CD","LOC_CD","ACTV_CD","FUNC_CD","RPT_CD","MJR_PROG_CD","PROG_CD","PPC_CD","PHASE_CD","TASK_CD","STASK_CD",]
function camelize(str) {
return str.replace(/[_]+/g, ' ').toLowerCase().replace(/(?:^\w|[A-Z]|\b\w)/g, function(letter, index) {
return index == 0 ? letter.toLowerCase() : letter.toUpperCase();
}).replace(/[\s]+/g, '');
}
fields.forEach(function (field) {
var string = 'public string ' + camelize(field) + '\n' +
@sabotuer99
sabotuer99 / gist:173efa3c16b247a3b556
Created November 21, 2015 23:37
FIND-MAX-SUBARRAY from CLRS in Java
//I was trying to do a Modulo sum, but this approach didn't work.
//I tried to take all the mod stuff out (I'm pretty sure it's a decent
//implementation of max subarray) but I may have missed something...
public static void log(Object message){
System.out.println(message);
}
/* CLRS pg.71
FIND-MAX-CROSSING-SUBARRAY(A, low, mid, high)
@sabotuer99
sabotuer99 / gist:e48d1a2bb8f4c04e1052
Created November 29, 2015 20:36
Dragon Curve fractal in JavaScript for Khan Academy project
/*
The dragon curve drawn using an L-system.
variables : X Y
constants : F + −
start : FX
rules : (X → X+YF+), (Y → -FX−Y)
angle : 90°
Here, F means "draw forward", − means "turn left 90°", and + means "turn right 90°". X and Y do not correspond to any drawing action and are only used to control the evolution of the curve.
@sabotuer99
sabotuer99 / gist:5e134e8c13a3991d11bd
Created December 2, 2015 19:32
Javascript to print out the character codes in a string
function printCodes(str) {
var result = "";
for(var i = 0; i < str.length; i++){
result += str.charCodeAt(i) + " ";
}
return result;
}
@sabotuer99
sabotuer99 / gist:2e47cff6a236dadf65a2
Created March 4, 2016 21:14
Take down SeekingAlpha registration wall
modal = document.getElementsByClassName("modal")[0];
document.body.removeChild(modal);
document.body.classList.remove("modal-open");
upsell = document.getElementsByClassName("upsell")[0];
upsell.parentElement.removeChild(upsell);
ps = document.getElementsByTagName('p');
h2s = document.getElementsByTagName('h2');
as = document.getElementsByTagName('a');
for (i = 0; i < ps.length; i++) {
@sabotuer99
sabotuer99 / gist:ec142f373f3ec76fcfd0ce823472e98a
Last active July 19, 2016 20:11
Truck Positon Dynammic Programming in Javascript
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Analysis')
.addItem('Generate Positions', 'genPositions')
.addToUi();
}
function genPositions() {
var data = SpreadsheetApp.getActive().getSheetByName("data").getDataRange().getValues();
@sabotuer99
sabotuer99 / qs.js
Created July 22, 2016 20:36
quicksort in javascript
//http://blog.mgechev.com/2012/11/24/javascript-sorting-performance-quicksort-v8/
function swap(array, i, j) {
var temp = array[i];
array[i] = array[j];
array[j] = temp;
return array;
}
function partition(array, left, right, comparitor) {