Here is an essay version of my class notes from Class 1 of CS183: Startup. Errors and omissions are my own. Credit for good stuff is Peter’s entirely.
CS183: Startup—Notes Essay—The Challenge of the Future
Purpose and Preamble
| #!/bin/sh | |
| # http://stackoverflow.com/questions/3878624/how-do-i-programmatically-determine-if-there-are-uncommited-changes | |
| require_clean_work_tree () { | |
| # Update the index | |
| git update-index -q --ignore-submodules --refresh | |
| err=0 | |
| # Disallow unstaged changes in the working tree | |
| if ! git diff-files --quiet --ignore-submodules --; then |
Here is an essay version of my class notes from Class 1 of CS183: Startup. Errors and omissions are my own. Credit for good stuff is Peter’s entirely.
CS183: Startup—Notes Essay—The Challenge of the Future
Purpose and Preamble
| // Use Gists to store code you would like to remember later on | |
| console.log(window); // log the "window" object to the console |
| module Jekyll | |
| class PostPublisher < Generator | |
| safe false | |
| def replace(filepath, regexp, *args, &block) | |
| content = File.read(filepath).gsub(regexp, *args, &block) | |
| File.open(filepath, 'wb') { |file| file.write(content) } | |
| end | |
| def generate(site) |
| #! /usr/bin/python2 | |
| import json | |
| from TwitterAPI import TwitterAPI | |
| c_key = '...' | |
| c_sec = '...' | |
| t_key = '...' | |
| t_sec = '...' |
| #!/bin/bash | |
| f=$(pwd) | |
| mkdir drawable-mdpi drawable-hdpi drawable-xhdpi drawable-xxhdpi | |
| # fake argv and argc in bash | |
| argc=$#; argv[0]=$0 # argv[0] is a prog name | |
| for foo in $( seq $argc ) | |
| do |
| #!/bin/bash | |
| # Android 4.3+ changes app's internal directory permissions and you can not just pull your | |
| # databases to your computer, so I did this as a workaround to extract my databases. | |
| # I only use it for debug, use it under your responsability. | |
| package=$1 | |
| db_name=$2 | |
| path="/data/data/$package/" |
| M[16],X=16,W,k;main(){T(system("stty cbreak") | |
| );puts(W&1?"WIN":"LOSE");}K[]={2,3,1};s(f,d,i | |
| ,j,l,P){for(i=4;i--;)for(j=k=l=0;k<4;)j<4?P=M | |
| [w(d,i,j++)],W|=P>>11,l*P&&(f?M[w(d,i,k)]=l<< | |
| (l==P):0,k++),l=l?P?l-P?P:0:l:P:(f?M[w(d,i,k) | |
| ]=l:0,++k,W|=2*!l,l=0);}w(d,i,j){return d?w(d | |
| -1,j,3-i):4*i+j;}T(i){for(i=X+rand()%X;M[i%X] | |
| *i;i--);i?M[i%X]=2<<rand()%2:0;for(W=i=0;i<4; | |
| )s(0,i++);for(i=X,puts("\e[2J\e[H");i--;i%4|| | |
| puts(""))printf(M[i]?"%4d|":" |",M[i]);W-2 |
| import java.util.ArrayList; | |
| import android.os.Bundle; | |
| import android.support.v4.app.Fragment; | |
| import android.support.v4.app.FragmentActivity; | |
| import android.support.v4.app.FragmentManager; | |
| import android.support.v4.app.FragmentPagerAdapter; | |
| import android.support.v4.app.ListFragment; | |
| import android.support.v4.view.ViewPager; | |
| import android.view.ContextMenu; |