var Manifest = [
{ id: "ssh-hacks", title: "SSH hacks", tags: ["unix"] }
,
{ id: "standalone-lexers-with-lex", title: "Standalone lexers with lex: synopsis, examples, and pitfalls", tags: ["parsing","unix","c"] }
,
{ id: "sculpting-text", title: "Sculpting text with regex, grep, sed and awk", tags: ["unix"] }
,
{ id: "sql-in-the-shell", title: "Relational shell programming", tags: ["unix","sql"] }
,
{ id: "settling-into-unix", title: "Settling into Unix", tags: ["unix","apple","ugcs"] }
,
{ id: "programmers-resolutions", title: "12 resolutions for programmers", tags: ["health","productivity"] }
,
{ id: "artificial-scarcity", title: "End artificial scarcities to boost productivity", tags: ["productivity"] }
,
{ id: "partial-orders", title: "Order theory for computer scientists", tags: ["math","pl"] }
,
{ id: "least-resistance-weight-loss", title: "Least resistance weight loss", tags: ["health"] }
,
{ id: "discrete-math-and-code", title: "HOWTO: Translate math into code", tags: ["math","pl","java","python","racket","haskell","howto"] }
,
{ id: "how-to-recommendation-letter", title: "HOWTO: Get a great letter of recommendation", tags: ["howto","grad-school","ugcs"] }
,
{ id: "travel-hacks", title: "Travel hacks", tags: ["productivity","hacks"] }
,
{ id: "basic-unix", title: "A survival guide for Unix beginners", tags: ["unix","apple","ugcs"] }
,
{ id: "cek-machines", title: "Writing CEK-style interpreters in Haskell", tags: ["pl","haskell","fp","lambda-calculus"] }
,
{ id: "what-cs-majors-should-know", title: "What every CS major should know", tags: ["ugcs"] }
,
{ id: "cripple-your-technology", title: "Boost productivity: Cripple your technology", tags: ["productivity","grad-school"] }
,
{ id: "best-iphone-tips-tricks-and-apps", title: "Essential iPhone tips and apps ", tags: ["ios","apple"] }
,
{ id: "how-to-email", title: "HOWTO: Send and reply to email", tags: ["howto","writing","grad-school"] }
,
{ id: "submit-to-scheme-workshop", title: "2011 Scheme Workshop: Accepting Submissions", tags: ["scheme"] }
,
{ id: "greasemonkey-scripts-for-nsf-fastlane", title: "Greasemonkey scripts for NSF's Fastlane", tags: ["javascript","greasemonkey"] }
,
{ id: "nine-kinds-of-students", title: "Classroom Fortress: Nine Kinds of Students", tags: ["teaching","grad-school","gaming","illustrated"] }
,
{ id: "closure-conversion", title: "Closure conversion: How to compile lambda ", tags: ["pl","compilers","racket","scheme"] }
,
{ id: "cps-conversion", title: "How to compile with continuations", tags: ["pl","compilers","continuations","racket","scheme","lambda"] }
,
{ id: "implementing-exceptions", title: "Understand exceptions by implementing them", tags: ["pl","compilers","racket","python","scheme"] }
,
{ id: "a-normalization", title: "A-Normalization: Why and How", tags: ["pl","compilers","racket","scheme"] }
,
{ id: "compiling-up-to-lambda-calculus", title: "Compiling up to the &lambda;-calculus", tags: ["pl","compilers","racket","scheme","fp","lambda","lambda-calculus"] }
,
{ id: "phd-commandments", title: "The 5+5 Commandments of a Ph.D.", tags: ["grad-school"] }
,
{ id: "ios-multitouch-robot-control", title: "Multitouch remote for a robot: 200 lines of JavaScript and Python", tags: ["python","javascript","ios","apple","httpd"] }
,
{ id: "academic-presentation-tips", title: "10 tips for academic talks", tags: ["presenting","grad-school"] }
,
{ id: "address-book-hacking", title: "Hacking the OS X Address Book with C, Racket and LaTeX", tags: ["hacks","racket","latex","c"] }
,
{ id: "parsing-with-derivatives", title: "Parsing with derivatives (Yacc is dead: An update)", tags: ["pl","compilers","parsing","racket","fp"] }
,
{ id: "red-black-delete", title: "Deleting from Okasaki's red-black trees", tags: ["fp"] }
,
{ id: "by-example-continuation-passing-style", title: "By example: Continuation-passing style in JavaScript", tags: ["fp","continuations","javascript","httpd","pl"] }
,
{ id: "problem-shapes", title: "The shape of your problem", tags: ["illustrated","academia"] }
,
{ id: "logical-literacy", title: "Logical literacy", tags: ["math","ugcs"] }
,
{ id: "static-closures-in-c-plus-plus", title: "Self-inlining anonymous closures in C++", tags: ["c++","fp","lambda"] }
,
{ id: "ways-to-fail-a-phd", title: "10 reasons Ph.D. students fail", tags: ["grad-school"] }
,
{ id: "how-to-native-iphone-ipad-apps-in-javascript", title: "HOWTO: Native iPhone/iPad apps in JavaScript", tags: ["javascript","ios","sql"] }
,
{ id: "how-to-blog-as-an-academic", title: "6 tips for low-cost academic blogging", tags: ["grad-school","academia"] }
,
{ id: "fund-phd-students-save-lives", title: "Get The Illustrated Guide in print; fund Ph.D. students; save lives", tags: ["grad-school"] }
,
{ id: "how-to-emergency-web-scaling", title: "Three techniques to scale your site in an emergency", tags: ["hacks"] }
,
{ id: "phd-school-in-pictures", title: "The illustrated guide to a Ph.D.", tags: ["illustrated","grad-school","academia"] }
,
{ id: "gadget-binary-watch", title: "Gadget review: Telling time quickly on a binary watch", tags: ["gadgets"] }
,
{ id: "advice-for-phd-thesis-proposals", title: "A Ph.D. thesis proposal is a contract", tags: ["grad-school","writing"] }
,
{ id: "successful-phd-students", title: "3 qualities of successful Ph.D. students", tags: ["grad-school"] }
,
{ id: "crapl", title: "The CRAPL: An open source license for academia", tags: ["academia"] }
,
{ id: "shell-scripts-for-passive-voice-weasel-words-duplicates", title: "3 shell scripts that can improve your writing", tags: ["writing","scripting"] }
,
{ id: "implementing-a-programming-language", title: "7 lines of code, 3 minutes: Implement a programming language", tags: ["fp","compilers","pl","racket","scheme","lambda-calculus"] }
,
{ id: "console-hacks-exploiting-frequency", title: "Console productivity hack: Exploiting task frequency", tags: ["productivity","hacks","scripting","sql","unix"] }
,
{ id: "google-analytics-hacks-real-time-stats-and-referring-url", title: "Google analytics hacks: Real-time stats and referring URLs", tags: ["hacks"] }
,
{ id: "nonblocking-lexing-toolkit-based-on-regex-derivatives", title: "A non-blocking lexing toolkit for Scala from regex derivatives", tags: ["parsing"] }
,
{ id: "self-inlining-anonymous-functions-in-c++", title: "Self-inlining anonymous functions in C++", tags: ["c++","fp","lambda"] }
,
{ id: "lambda-style-anonymous-functions-from-c++-templates", title: "Lambda-style anonymous functions in C++", tags: ["c++","fp","lambda"] }
,
{ id: "pipelined-nonblocking-extensible-web-server-with-coroutines", title: "A pipelined, non-blocking, extensible web server in Scala", tags: ["httpd","scala"] }
,
{ id: "how-to-make-your-own-cat-5-ethernet-cable", title: "HOWTO: Make a cat 5 ethernet cable", tags: ["howto","home"] }
,
{ id: "how-to-rip-a-dvd", title: "HOWTO: Rip a DVD on Mac OS X or Linux", tags: ["howto"] }
,
{ id: "lexing-and-syntax-highlighting-in-javascript", title: "Lexical analysis and syntax-highlighting in JavaScript", tags: ["javascript","scheme","parsing"] }
,
{ id: "learning-javascript-in-small-bites-part-4", title: "Learning JavaScript in small bites, Part 4", tags: ["javascript"] }
,
{ id: "implementation-of-kcfa-and-0cfa", title: "k-CFA: Analyzing types and control-flow in dynamic languages", tags: ["scheme","static-analysis"] }
,
{ id: "learning-javascript-in-small-bites-part-3", title: "Learning JavaScript in small bites, Part 3", tags: ["javascript"] }
,
{ id: "learning-javascript-in-small-bites-part-2", title: "Learning JavaScript in small bites, Part 2", tags: ["javascript"] }
,
{ id: "learning-javascript-in-small-bites", title: "Learning JavaScript in small bites, Part 1", tags: ["javascript"] }
,
{ id: "american-airlines-sucks", title: "American Airlines sucks", tags: ["rants"] }
,
{ id: "rendering-mathematical-functions-in-javascript-with-canvas-html", title: "Canvas tag rendering of mathematical functions", tags: ["javascript"] }
,
{ id: "writing-an-interpreter-substitution-denotational-big-step-small-step", title: "Architectures for interpreters", tags: ["scala","pl"] }
,
{ id: "metacircular-evaluation-and-first-class-run-time-macros", title: "First-class macros from meta-circular evaluators", tags: ["scheme","pl"] }
,
{ id: "programming-with-continuations--exceptions-backtracking-search-threads-generators-coroutines", title: "Programming with continuations by example", tags: ["continuations","scheme","pl"] }
,
{ id: "compiling-scheme-to-c", title: "Compiling Scheme to C", tags: ["scheme","c","compilers","pl"] }
,
{ id: "compiling-to-java", title: "Compiling to Java", tags: ["scheme","compilers","pl","java"] }
,
{ id: "implementation-of-scheme-vector-struct-in-syntax-rules", title: "Fast vector-structs in Scheme from syntax-rules", tags: ["scheme"] }
,
{ id: "c++-template-meta-programming-with-lambda-calculus", title: "Lambda-calculus in C++ templates", tags: ["c++","fp","lambda","lambda-calculus"] }
,
{ id: "implementation-of-lazy-list-streams-in-scala", title: "Lazy-list-based streams in Scala", tags: ["scala","fp"] }
,
{ id: "learning-scala-in-small-bites", title: "Learning Scala in small bites", tags: ["scala"] }
,
{ id: "church-encodings-demo-in-scheme", title: "Church encodings in Scheme", tags: ["fp","pl","scheme","lambda","lambda-calculus"] }
,
{ id: "implementation-of-regular-expression-matching-in-scheme-with-derivatives", title: "Matching regular expressions with derivatives", tags: ["parsing","scheme"] }
,
{ id: "productivity-tips-hints-hacks-tricks-for-grad-students-academics", title: "Productivity tips for academics", tags: ["productivity"] }
,
{ id: "implementation-of-nfas-and-regular-expressions-in-java", title: "Implementing regular expressions and NFAs in Java", tags: ["java","parsing"] }
,
{ id: "denotational-interpreter-for-lisp-and-scheme-like-lambda-calculus-based-language-lambdo", title: "An interpreter for Lambdo", tags: ["compilers","fp","scala"] }
,
{ id: "javascript-code-for-automatic-syllabus-schedule-management-and-generation", title: "Syllabus management in Javascript", tags: ["javascript","teaching"] }
,
{ id: "how-to-apply-and-get-in-to-graduate-school-in-science-mathematics-engineering-or-computer-science", title: "HOWTO: Get in to grad school", tags: ["grad-school"] }
,
{ id: "apply-yourself-greasemonkey-scripts-to-fix-the-user-interface", title: "Greasemonkey scripts to fix the UI on Apply Yourself", tags: ["greasemonkey","javascript"] }
,
{ id: "implementation-of-immutable-purely-functional-okasaki-red-black-tree-maps-in-scala", title: "Okasaki red-black tree maps in Scala", tags: ["scala","fp"] }
,
{ id: "implementation-of-m-expression-parser-in-scala-combinators-without-stdlexical-stdtokenparsers", title: "Parsing M-Expressions in Scala with combinators", tags: ["scala","parsing"] }
,
{ id: "implementation-of-non-terminating-program-in-javascript-without-loops-iteration-recursion", title: "Non-termination without loops, iteration or recursion in Javascript", tags: ["javascript","pl","fp"] }
,
{ id: "implementation-of-recursive-fixed-point-y-combinator-in-javascript-for-memoization", title: "Memoizing recursive functions in Javascript with the Y combinator", tags: ["pl","fp","javascript","lambda-calculus"] }
,
{ id: "how-to-fix-allergy-mold-pet-hair-problems-with-dehumidifiers-air-purifiers-and-vacuums", title: "HOWTO: Fix mold and allergy problems", tags: ["home","howto","health"] }
,
{ id: "implementation-of-fermat-and-solovay-strassen-primality-tests-for-rsa-key-generation-in-scheme-dialect-of-lisp", title: "Fermat and Solovay-Strassen primality tests in Scheme", tags: ["math","security","scheme"] }
,
{ id: "implementation-of-rsa-public-key-cryptography-algorithm-in-scheme-dialect-of-lisp", title: "An implementation of RSA in Scheme", tags: ["math","security","scheme"] }
,
{ id: "how-to-read-and-create-microsoft-word-documents-excel-spreadsheets-powerpoint-presentations-without-microsoft-office", title: "HOWTO: Word, Excel and PowerPoint without MS Office", tags: ["unix","apple"] }
,
{ id: "how-to-remove-stains-and-odors-from-dogs-cats-pets-with-enzymes-and-uv-black-lights", title: "HOWTO: Eliminate pet stains with enzymes and black lights", tags: ["home","howto"] }
,
{ id: "why-infinite-or-guaranteed-file-compression-is-impossible", title: "Why guaranteed file compression is impossible", tags: ["math"] }
,
{ id: "how-to-create-online-catalog-of-books-with-cuecat-barcode-scanner-and-librarything", title: "HOWTO: Catalog a library with a $10 barcode scanner", tags: ["gadgets","home"] }
,
{ id: "best-tools-for-using-and-learning-linux-and-unix", title: "Tips, tricks and tools for Linux and Unix", tags: ["unix"] }
,
{ id: "best-programming-languages", title: "Advanced programming languages", tags: ["pl","fp","scala","scheme","haskell","ml"] }
,
{ id: "switching-to-skype-to-save-money-on-cell-phone-bills", title: "HOWTO: Use Skype for home phone line service", tags: ["home","howto","hacks"] }
,
{ id: "why-peer-reviewers-should-use-tor", title: "Why peer reviewers should use TOR", tags: ["security","academia"] }
,
{ id: "switching-to-apple-macintosh-from-linux-or-windows", title: "Tips, tricks and software for (new) Apple users", tags: ["apple"] }
,
{ id: "preventing-and-managing-rsi", title: "Preventing and healing repetitive strain injury (RSI)", tags: ["health"] }
,
{ id: "books-papers-materials-for-graduate-students", title: "Recommended books and papers for grad students", tags: ["grad-school","writing","presenting","pl"] }
,
{ id: "advice-for-academic-job-hunt", title: "Academic job hunt advice", tags: ["grad-school","presenting","academia"] }
,
null
]; Manifest.pop();

