Skip to content

Instantly share code, notes, and snippets.

View etosch's full-sized avatar

Emma "Frank" Tosch etosch

View GitHub Profile
@etosch
etosch / socktest.cc
Created March 9, 2013 01:11
Sample code for how to use simplesocket.cc
#include "simplesocket.h"
int main(int argc, char * argv[]){
int port;
stringstream(argv[1]) >> port;
clientsocket * s = new clientsocket("localhost", port);
printf("3:%d\n", s->connect());
s->write("asdf", 256);
s->close();
}
@etosch
etosch / server.cc
Created March 9, 2013 01:17
Sample code for how to use simplesocket.cc
#include "simplesocket.h"
#include <sstream>
int main(int argc, char * argv[]){
// continually transmit something here
int port;
stringstream(argv[1]) >> port;
serversocket * s = new serversocket(port, -1, true);
char buffer[256];
while (!strcmp(buffer,"")) {
@etosch
etosch / crash report
Created March 24, 2013 23:08
This makes me a l33t h4x0r, right?
0 clang 0x0000000100c539f2 main + 12919346
Stack dump:
0. Program arguments: /usr/bin/clang -cc1 -triple x86_64-apple-macosx10.8.0 -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name Parser.cpp -pic-level 2 -mdisable-fp-elim -masm-verbos\
e -munwind-tables -target-cpu core2 -target-linker-version 136 -g -coverage-file /Users/etosch/dev/memstashed/parser.o -resource-dir /usr/bin/../lib/clang/4.2 -I . -fmodule-cache-path /var/folders/wp/rsvsklwn1l\
73jm32n3_lqqb00000gr/T/clang-module-cache -Wno-write-strings -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /Users/etosch/dev/memstashed -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -mstackreal\
ign -fblocks -fobjc-runtime=macosx-10.8.0 -fobjc-dispatch-method=mixed -fobjc-default-synthesize-properties -fcxx-exceptions -fexceptions -fdiagnostics-show-option -o parser.o -x c++ Parser.cpp
1. <eof> parser at end of file
2. Per-file LLVM IR generation
3. Parser.cpp:53:10: Generating code for declaration '<anonym
@etosch
etosch / app_ass4
Created July 12, 2013 21:20
From the list chapter in the Coq book.
(* There is a short solution to the next exercise.
If you find yourself getting tangled up, step back and try to look for a simpler way. *)
Theorem app_ass4 : forall l1 l2 l3 l4 : natlist,
l1 ++ (l2 ++ (l3 ++ l4)) = ((l1 ++ l2) ++ l3) ++ l4.
Proof.
intros l1 l2 l3 l4.
Theorem app_right : forall l1 l2 l3 : natlist,
l1 ++ (l2 ++ l3) = (l1 ++ l2) ++ l3.
Proof.
@etosch
etosch / gist:6076049
Created July 25, 2013 01:05
binary number stuff
(* Exercise: 4 stars, recommended (binary)
Consider a different, more efficient representation of natural numbers using a binary
rather than unary system. That is, instead of saying that each natural number is either
zero or the successor of a natural number, we can say that each binary number is either
zero,
twice
.answer {
white-space : nowrap;
display : block;
}
label {
display : block;
padding : 2px 1em 0 0;
white-space : nowrap;
}
@etosch
etosch / time_per_question.js
Last active August 29, 2015 13:56
To find the time spent per question, we need to track the time between firings of showQuestion and registerAndShowNextQuestion.
var oldShowQuestion = sm.showQuestion;
var oldRegisterAndShowNextQuestion = sm.registerAndShowNextQuestion;
var addTimingInfo = function(q, tag) {
var start = document.createElement('input');
start.type='text';
start.id=tag+'_'+q.id;
start.name=tag+'_'+q.id;
start.form='mturk_form';
start.hidden=true;
start.defaultValue=new Date().getTime();
@etosch
etosch / move_early_submit.css
Created February 27, 2014 18:38
The default setting is to display the "Submit Early" button in the same location as the final "Submit" button. This position is very close to the "Next" button and could lead to accidental submission.
.breakoff {
white-space : nowrap;
display : block;
position : relative;
top : 10px;
left : 20px;
}
@etosch
etosch / turn_off_breakoff_notice.js
Created February 28, 2014 01:26
The `showBreakoffNotice` function displays a notice to the respondent stating that they are allowed to submit results early and will be compensated more for more work and better results. If the user wishes to remove this feature, the following can be added to `custom.js.` Changes to the breakoff notice can be added directly to this function.
sm.showBreakoffNotice = function () {
sm.showFirstQuestion();
};
sm.showBreakoffNotice();
function depth
input : A survey block
output : integer indicating depth
begin
idArray <- block id as an array
return length(idArray)
end