Skip to content

Instantly share code, notes, and snippets.

// https://helloacm.com/exponentiation-by-squaring/
public static int pow(int base, int exp) {
int ret = 1;
while(exp != 0) {
if(exp % 2 == 1) {
ret *= base;
exp -= 1;
}
base *= base;
exp /= 2;
eclipse {
classpath {
containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER')
containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8'
}
}
//based on http://stackoverflow.com/questions/6525538/convert-utc-date-time-to-local-date-time-using-javascript
if (!ARTC) {
var ARTC = {};
}
ARTC.localize = function (t) {
document.write(moment(new Date(t + " UTC")).format('MMMM Do YYYY, h:mm:ss a'));
}
@kristiankime
kristiankime / simple_text_to_MathML.pegjs
Last active December 24, 2015 18:19
A PEG.js grammar for turning simple text input into Content MathML.
start = Term_AddSub
// ===== Add/Sub Term(s) =====
Term_AddSub = s:Term_MulDiv v:(Add / Sub)*
{ for(var r=s,i=0;i<v.length;i++){ r = v[i](r); }; return r;}
Add = "+" v:Term_MulDiv
{ return (function(a){return "<apply> <plus/> " + a + " " + v + "</apply>";}) ;}
Sub = "-" v:Term_MulDiv
@kristiankime
kristiankime / basic_math.pegjs
Last active December 24, 2015 16:59
PEG.js grammar file for basic math
start = Term_AddSub
// ===== Add/Sub Term =====
Term_AddSub = s:Term_MulDiv v:(Add / Sub)*
{ for(var r = s, i=0; i<v.length; i++){ r += v[i]; }; return r; }
Add = "+" v:Term_MulDiv
{ return v; }
Sub = "-" v:Term_MulDiv
<!DOCTYPE html>
<html>
<head>
<title>MathJax+D3 Dynamic Equations Test Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<script src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script>
import java.sql.Date
import scala.slick.driver.H2Driver.simple._ // Use H2Driver to connect to an H2 database
import scala.slick.session.Database._
import scala.slick.jdbc.{ GetResult, StaticQuery => Q }
import com.artclod.h2.WorkingData._
object ScalaTable extends Table[(Int, String, Date)]("SCALATABLE") {
def COLUMNA = column[Int]("COLUMNA")
import com.artclod.h2.WorkingData.scalaCodeFromCSV
object PrintScalaCodeExample {
def main(args: Array[String]) {
println(scalaCodeFromCSV("ScalaTable", "data/data.csv"))
}
}
@kristiankime
kristiankime / Generate a Slick table object from a CSV
Created June 21, 2013 13:33
A quick example of how to load a CSV file via slick and then print the contents using Slick's raw SQL commands.
object SimpleExample {
def main(args: Array[String]) {
Database.forURL("jdbc:h2:mem:working_data;DB_CLOSE_DELAY=-1", driver = "org.h2.Driver") withSession {
Q.updateNA("CREATE TABLE DATA_TABLE AS SELECT * FROM CSVREAD('data/data.csv');").execute
Q.queryNA("SELECT * FROM DATA_TABLE")(GetResult(r => (r.nextString, r.nextString, r.nextString))).foreach(println(_))
}
}
}
@kristiankime
kristiankime / Keeping the usual play routing with vals
Created April 29, 2013 15:41
Example of how to use a scala package object to keep the usual play routing with val(s) instead of object(s).
package object controller {
val ControllerOne = configuration.ApplicationConfig.controllerOne
val ControllerTwo = configuration.ApplicationConfig.controllerTwo
}