Some exercises from the Falsy Values workshops.
The good parts:
- HTTP server and client in same script
- Express cookies example
- Express routing example
- Express error handling
- Express middlewares example
- Simple HTTP proxy
| For each Ruby module/class, we have Ruby methods on the left and the equivalent | |
| Clojure functions and/or relevant notes are on the right. | |
| For clojure functions, symbols indicate existing method definitions, in the | |
| clojure namespace if none is explicitly given. clojure.contrib.*/* functions can | |
| be obtained from http://github.com/kevinoneill/clojure-contrib/tree/master, | |
| ruby-to-clojure.*/* functions can be obtained from the source files in this | |
| gist. | |
| If no method symbol is given, we use the following notation: |
Some exercises from the Falsy Values workshops.
The good parts:
| (defn pig-latin [word] | |
| (let [first-letter (first word) remaining (apply str (rest word)) vowel? (set "aeiou")] | |
| (if (vowel? (first remaining)) | |
| (str remaining first-letter "ay") | |
| (recur (str remaining first-letter))))) |
| <?php | |
| namespace CHH; | |
| trait MetaObject | |
| { | |
| protected static $metaClass; | |
| static function setMetaClass(MetaClass $metaClass) | |
| { |
| #!/bin/bash | |
| # | |
| # Provides a function that allows you to choose a JDK. Just set the environment | |
| # variable JDKS_ROOT to the directory containing multiple versions of the JDK | |
| # and the function will prompt you to select one. JAVA_HOME and PATH will be cleaned | |
| # up and set appropriately. | |
| _macosx() | |
| { | |
| if [ $(uname -s) = Darwin ]; then |
| ; A REPL-based, annotated Seesaw tutorial | |
| ; Please visit https://github.com/daveray/seesaw for more info | |
| ; | |
| ; This is a very basic intro to Seesaw, a Clojure UI toolkit. It covers | |
| ; Seesaw's basic features and philosophy, but only scratches the surface | |
| ; of what's available. It only assumes knowledge of Clojure. No Swing or | |
| ; Java experience is needed. | |
| ; | |
| ; This material was first presented in a talk at @CraftsmanGuild in | |
| ; Ann Arbor, MI. |
I never really liked the way pointers are declared in C/C++:
int *a, *b, *c; // a, b and c are pointers to int
The reason is that I am used to reading variable declarations as MyType myVar1, myVar2, myVar3; and I always read “int*” as the type “integer pointer”�. I therefore wanted the following
int* a, b, c; // a is a pointer to int, b and c are ints
| #!/bin/sh | |
| ### | |
| # SOME COMMANDS WILL NOT WORK ON macOS (Sierra or newer) | |
| # For Sierra or newer, see https://github.com/mathiasbynens/dotfiles/blob/master/.macos | |
| ### | |
| # Alot of these configs have been taken from the various places | |
| # on the web, most from here | |
| # https://github.com/mathiasbynens/dotfiles/blob/5b3c8418ed42d93af2e647dc9d122f25cc034871/.osx |
| # Source : http://thezinx.com/2013/10/29/create-bootable-dmg-iso-mavericks-app.html | |
| # Mount the installer image | |
| hdiutil attach /Applications/Install\ OS\ X\ Mavericks.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app | |
| # Convert the boot image to a sparse bundle | |
| hdiutil convert /Volumes/install_app/BaseSystem.dmg -format UDSP -o /tmp/Mavericks | |
| # Increase the sparse bundle capacity to accommodate the packages | |
| hdiutil resize -size 8g /tmp/Mavericks.sparseimage |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.