sum1(1, 2, 3) == 6
1 1
2 2
3 Fizz
4 4
| (ns example.core | |
| (:require [serialport :as comPort]) ;; As a side note, why does the :as clause add a second call to goog.require?? | |
| ) | |
| (def com (js.require "serialport")) ;; Using a dot instead of a / works incidentally | |
| (def device-wrong1 (com.SerialPort. "COM1")) | |
| (def SerialPort (.-SerialPort com)) | |
| (def device-correct1 (SerialPort. "COM1")) ;; Must I resort to this... |
| (ns example.core) | |
| (def com (js.require "serialport")) ;; Using a dot instead of a / works incidentally | |
| (def device-wrong3 (new com.SerialPort "COM1")) | |
| ;; // Compiled by ClojureScript 0.0-2080 | |
| ;; goog.provide('example.core'); | |
| ;; goog.require('cljs.core'); |
| ;; In Clojure | |
| (update-in {:a 1 :b false} [:b] not) | |
| ;; => {:a 1, :b true} | |
| (update-in {:a 1 :b false} [b] not) | |
| ;; => CompilerException java.lang.RuntimeException: Unable to resolve symbol: b in this context, compiling:(NO_SOURCE_PATH:1:1) | |
| ;; In ClojureScript | |
| (update-in {:a 1 :b false} [b] not) | |
| ;;=> {:a 1, :b false, nil true} | |
| ;; WARNING: Use of undeclared Var example.core/b |
| // <label for={this.props.label}>{this.props.label}</label> | |
| // compiles to... | |
| React.DOM.label( {for:this.props.label}, this.props.label) | |
| // should be... | |
| React.DOM.label( {"for":this.props.label}, this.props.label) | |
| // Because IE doesn't allow language keywords to appear unquoted in object literal keys |
| # brew install nginx | |
| sudo ln -s /usr/local/opt/nginx/homebrew.mxcl.nginx.plist /Library/LaunchDaemons/ | |
| sudo chown root:wheel /usr/local/opt/nginx/homebrew.mxcl.nginx.plist | |
| sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist | |
| # Why do you need sudo? | |
| # If you want nginx to be able to bind to port 80, it will need superuser privileges |
| import Data.Maybe | |
| import Data.Monoid | |
| import Control.Applicative | |
| -- Mostly stolen from an answer found posted on reddit. | |
| -- This formulation achieves a high level of modularity and clarity. | |
| -- It is modular with respect to adding more numbers to fizz and buzz against, | |
| -- and captures the idea of `show`ing the number by default elegantly. | |
| t m s n = if mod n m == 0 then Just s else Nothing | |
| -- instance Applicative ((->) a) where (<*>) f g x = f x (g x) |
| #install zeromq | |
| wget http://download.zeromq.org/zeromq-4.0.5.tar.gz | |
| tar -xzf zeromq-4.0.5.tar.gz | |
| cd zeromq-4.0.5 | |
| ./configure | |
| make | |
| sudo make install |
| def fizz(n): | |
| for i in xrange(1, n+1): | |
| print i, fz(i) | |
| def t(m, s, n): | |
| return s if (n%m==0) else '' | |
| def fz(n): | |
| s = ''.join([ | |
| t(3, 'Fizz', n), |
| echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc | |
| . ~/.bashrc | |
| mkdir ~/local | |
| mkdir ~/node-latest-install | |
| cd ~/node-latest-install | |
| curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1 | |
| ./configure --prefix=~/local | |
| make install # ok, fine, this step probably takes more than 30 seconds... | |
| curl https://www.npmjs.org/install.sh | sh |