(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.
| /** | |
| * Encrypts plaintext using AES-GCM with supplied password, for decryption with aesGcmDecrypt(). | |
| * (c) Chris Veness MIT Licence | |
| * | |
| * @param {String} plaintext - Plaintext to be encrypted. | |
| * @param {String} password - Password to use to encrypt plaintext. | |
| * @returns {String} Encrypted ciphertext. | |
| * | |
| * @example | |
| * const ciphertext = await aesGcmEncrypt('my secret text', 'pw'); |
| #!/bin/bash -e | |
| rm -rf couchdb | |
| git clone https://github.com/apache/couchdb.git | |
| cd couchdb | |
| echo "" | |
| add_subtree () { | |
| name=$1 |
| The MIT License (MIT) | |
| Copyright (c) 2014 Tomas Kafka | |
| Permission is hereby granted, free of charge, to any person obtaining a copy | |
| of this software and associated documentation files (the "Software"), to deal | |
| in the Software without restriction, including without limitation the rights | |
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| copies of the Software, and to permit persons to whom the Software is | |
| furnished to do so, subject to the following conditions: |
| var Dialog = React.createClass({ | |
| render: function() { | |
| // 1) render nothing, this way the DOM diff will never try to do | |
| // anything to it again, and we get a node to mess with | |
| return React.DOM.div(); | |
| }, | |
| componentDidMount: function() { | |
| // 2) do DOM lib stuff | |
| this.node = this.getDOMNode(); |
(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.
| // Go PubSub Server | |
| // | |
| // Usage - Subscribing: | |
| // var conn = new EventSource('/subscribe'); | |
| // conn.addEventListener('message', function(e){ alert(e.data); }, false); | |
| // | |
| // Usage - Publishing: | |
| // curl http://localhost:8080/publish -F 'msg=Hello World' | |
| package main |
This gist is a collection of my rough notes from Strange Loop 2012.
| Steps to install and run PostgreSQL 9.2 using Homebrew (Mac OS X) | |
| (if you aren't using version 9.1.5, change line 6 with the correct version) | |
| 1. pg_ctl -D /usr/local/var/postgres stop -s -m fast | |
| 2. mv /usr/local/var/postgres /usr/local/var/postgres91 | |
| 3. curl https://raw.github.com/fragility/homebrew/737af01178590950749cf5e841f2d086c57c5a80/Library/Formula/postgresql.rb > /usr/local/Library/Formula/postgresql.rb | |
| 4. brew upgrade postgresql | |
| 5. initdb /usr/local/var/postgres -E utf8 | |
| 6. pg_upgrade -b /usr/local/Cellar/postgresql/9.1.5/bin -B /usr/local/Cellar/postgresql/9.2.0/bin -d /usr/local/var/postgres91 -D /usr/local/var/postgres | |
| 7. pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start |
| /** | |
| This function creates a connection to the database. It shouldn't have to know anything | |
| about the pool, It will be called N times where N is the size of the requested pool. | |
| */ | |
| func initCirrusConnections() (interface{}, error) { | |
| dbserver, _ := configFile.GetString("default", "dbserver") | |
| dbuser, _ := configFile.GetString("default", "dbuser") | |
| dbpass, _ := configFile.GetString("default", "dbpass") | |
| db := autorc.New("tcp", "", dbserver, dbuser, dbpass) |