diff --git a/mywiki/tiddlers/Blogging.tid b/mywiki/tiddlers/Blogging.tid new file mode 100644 index 0000000..797336c --- /dev/null +++ b/mywiki/tiddlers/Blogging.tid @@ -0,0 +1,11 @@ +created: 20160112093241657 +creator: user +modified: 20160112093346210 +modifier: user +tags: +title: Blogging +type: text/vnd.tiddlywiki + +!Ghost +; Official docker repository +: https://hub.docker.com/_/ghost/ diff --git a/mywiki/tiddlers/Build Tools.tid b/mywiki/tiddlers/Build Tools.tid new file mode 100644 index 0000000..dc1d00b --- /dev/null +++ b/mywiki/tiddlers/Build Tools.tid @@ -0,0 +1,14 @@ +created: 20160112085434003 +creator: user +modified: 20160112085754785 +modifier: user +tags: +title: Build Tools +type: text/vnd.tiddlywiki + +; The web's scaffolding tool for modern webapps +: http://yeoman.io + +; Brunch is an ultra-fast HTML5 build tool +: http://brunch.io + diff --git a/mywiki/tiddlers/Elixir.tid b/mywiki/tiddlers/Elixir.tid index 38f5cfb..c8d5e45 100644 --- a/mywiki/tiddlers/Elixir.tid +++ b/mywiki/tiddlers/Elixir.tid @@ -1,11 +1,23 @@ created: 20151217170123889 creator: user -modified: 20151217170345337 +modified: 20160114152541019 modifier: user tags: title: Elixir type: text/vnd.tiddlywiki +; Elixir +: http://elixir-lang.org/ + +; The Elixir Style Guide +: https://github.com/niftyn8/elixir_style_guide + +; A curated list of amazingly awesome Elixir libraries, resources, and shiny things. +: https://github.com/h4cc/awesome-elixir + +; Trending repositories: Elixir +: https://github.com/trending?l=elixir + ;A package manager for the Erlang ecosystem. :https://hex.pm @@ -18,6 +30,23 @@ type: text/vnd.tiddlywiki ;Elixir Pipes is an Elixir extension that extends the pipe (|>) operator through macros. :https://github.com/batate/elixir-pipes +; How to pass an anonymous function to the pipe in Elixir? +:http://stackoverflow.com/questions/24593967/how-to-pass-an-anonymous-function-to-the-pipe-in-elixir + ;A curated list of amazingly awesome Elixir and Erlang libraries, resources and shiny things. :https://github.com/h4cc/awesome-elixir +; Validate Ecto Unique Associations with Compound Indexes +: http://blog.praveenperera.com/using-compound-unique-indexes-to-validate-uniqueness-of-ecto-associations/?utm_campaign=elixir_radar_28&utm_medium=email&utm_source=RD+Station + +; Phoenix Framework +: http://www.phoenixframework.org/ + +; Learning Elixir and Erlang +: http://www.phoenixframework.org/docs/learning-elixir-and-erlang + +; React/Phoenix Starter Template +: https://github.com/ryanswapp/react-phoenix-starter-template + +; A Docker container for the Phoenix framework +: https://github.com/marcelocg/phoenix-docker diff --git a/mywiki/tiddlers/GIT server.tid b/mywiki/tiddlers/GIT server.tid index 388a697..6895204 100644 --- a/mywiki/tiddlers/GIT server.tid +++ b/mywiki/tiddlers/GIT server.tid @@ -1,12 +1,13 @@ created: 20151125110622808 creator: user -modified: 20151216135221729 +modified: 20160112090944002 modifier: user tags: title: GIT server type: text/vnd.tiddlywiki -https://gogs.io +; Gogs - Go Git Service: A painless self-hosted Git service. +: https://gogs.io ;Using GIT on a Synology NAS :http://blog.osdev.org/git/2014/02/13/using-git-on-a-synology-nas.html diff --git a/mywiki/tiddlers/Markdown.tid b/mywiki/tiddlers/Markdown.tid new file mode 100644 index 0000000..046562c --- /dev/null +++ b/mywiki/tiddlers/Markdown.tid @@ -0,0 +1,12 @@ +created: 20160104102840442 +creator: user +modified: 20160104102950449 +modifier: user +tags: +title: Markdown +type: text/vnd.tiddlywiki + +; Markdown editor for developers. +: http://25.io/mou/ + + diff --git a/mywiki/tiddlers/Minecraft.tid b/mywiki/tiddlers/Minecraft.tid new file mode 100644 index 0000000..754082a --- /dev/null +++ b/mywiki/tiddlers/Minecraft.tid @@ -0,0 +1,10 @@ +created: 20160112091829078 +creator: user +modified: 20160112091851813 +modifier: user +tags: +title: Minecraft +type: text/vnd.tiddlywiki + +; Minecraft Controls +: http://www.minecraftguides.org/controls/ \ No newline at end of file diff --git a/mywiki/tiddlers/Node-RED.tid b/mywiki/tiddlers/Node-RED.tid index d14cd6b..b4842a4 100644 --- a/mywiki/tiddlers/Node-RED.tid +++ b/mywiki/tiddlers/Node-RED.tid @@ -1,6 +1,6 @@ created: 20150429212131561 creator: user -modified: 20151029073341256 +modified: 20160112090033737 modifier: user tags: [[raspberry pi]] node-red title: Node-RED @@ -10,6 +10,8 @@ type: text/vnd.tiddlywiki * https://github.com/node-red/node-red-nodes/tree/master/io * http://blog.hypriot.com/post/hypriotos-back-again-with-docker-on-arm/ +* https://github.com/TotallyInformation/node-red-example-liveupdates + ```bash docker run -it --cap-add=SYS_RAWIO --device /dev/ttyAMA0:/dev/ttyAMA0 --device /dev/ttyACM0:/dev/ttyACM0 --device /dev/mem:/dev/mem --add-host node1.aiko.sh:192.168.59.103 --add-host node2.aiko.sh:192.168.63.103 -p 1880:1880 hypriot/rpi-node:0.10.36 bash diff --git a/mywiki/tiddlers/NodeJS.tid b/mywiki/tiddlers/NodeJS.tid index b6f03c8..cb61def 100644 --- a/mywiki/tiddlers/NodeJS.tid +++ b/mywiki/tiddlers/NodeJS.tid @@ -1,6 +1,6 @@ created: 20150930084438549 creator: user -modified: 20150930084613994 +modified: 20160112085659806 modifier: user tags: title: NodeJS @@ -13,4 +13,7 @@ type: text/vnd.tiddlywiki : https://github.com/tj/n ; A NodeJS library to keep an eye on your memory usage, and discover and isolate leaks. -: https://github.com/lloyd/node-memwatch \ No newline at end of file +: https://github.com/lloyd/node-memwatch + +; Node Machine +: http://node-machine.org \ No newline at end of file diff --git a/mywiki/tiddlers/Raspberry PI _ Elixir.tid b/mywiki/tiddlers/Raspberry PI _ Elixir.tid new file mode 100644 index 0000000..b0612e7 --- /dev/null +++ b/mywiki/tiddlers/Raspberry PI _ Elixir.tid @@ -0,0 +1,10 @@ +created: 20160112090108515 +creator: user +modified: 20160112090208711 +modifier: user +tags: +title: Raspberry PI / Elixir +type: text/vnd.tiddlywiki + +; Using all your cpus - Elixir on raspberry pi 2 +: http://blog.onfido.com/using-cpus-elixir-on-raspberry-pi2/ diff --git a/mywiki/tiddlers/ReactJS.tid b/mywiki/tiddlers/ReactJS.tid new file mode 100644 index 0000000..f45023d --- /dev/null +++ b/mywiki/tiddlers/ReactJS.tid @@ -0,0 +1,19 @@ +created: 20160114152911183 +creator: user +modified: 20160114153331035 +modifier: user +tags: +title: ReactJS +type: text/vnd.tiddlywiki + +; The Observer pattern done right +: http://reactivex.io + +; The Reactive Extensions for ~JavaScript +: https://github.com/Reactive-Extensions/RxJS + +; Interactive diagrams of Rx Observables +: http://rxmarbles.com + +; Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators. +: http://xgrommx.github.io/rx-book/ \ No newline at end of file diff --git a/mywiki/tiddlers/RethinkDB.tid b/mywiki/tiddlers/RethinkDB.tid new file mode 100644 index 0000000..88b8567 --- /dev/null +++ b/mywiki/tiddlers/RethinkDB.tid @@ -0,0 +1,16 @@ +created: 20160112084702774 +creator: user +modified: 20160112093026316 +modifier: user +tags: +title: RethinkDB +type: text/vnd.tiddlywiki + +; ~RethinkDB +: https://www.rethinkdb.com/ + +; Seamless Docker Multihost Overlay Networking on ~DigitalOcean With Machine, Swarm, and Compose ft. ~RethinkDB +: http://nathanleclaire.com/blog/2015/11/17/seamless-docker-multihost-overlay-networking-on-digitalocean-with-machine-swarm-and-compose-ft.-rethinkdb/ + +; Getting Started with ~RethinkDB and the Phoenix Framework – Introduction +: http://ryanswapp.com/2015/11/28/getting-started-with-rethinkdb-and-phoenix-framework/ \ No newline at end of file diff --git a/mywiki/tiddlers/Scaling websockets.tid b/mywiki/tiddlers/Scaling websockets.tid index b79b0d0..e75c02f 100644 --- a/mywiki/tiddlers/Scaling websockets.tid +++ b/mywiki/tiddlers/Scaling websockets.tid @@ -1,10 +1,13 @@ created: 20150311093814586 creator: user -modified: 20150311103855462 +modified: 20160109095037187 modifier: user tags: websocket title: Scaling websockets type: text/vnd.tiddlywiki * http://blog.fanout.io/2015/03/09/stateless-websockets-with-express-and-pushpin/ -* https://nodejs.org/api/cluster.html \ No newline at end of file +* https://nodejs.org/api/cluster.html +* http://socketcluster.io/ +; Socketcluster Nodejs Single Page Application Tutorial +: https://www.youtube.com/playlist?list=PLTxFJWe_410zNJJD0o8njNLv7HidG1CHq \ No newline at end of file diff --git a/mywiki/tiddlers/docker firewall.tid b/mywiki/tiddlers/docker firewall.tid new file mode 100644 index 0000000..6f2f81c --- /dev/null +++ b/mywiki/tiddlers/docker firewall.tid @@ -0,0 +1,10 @@ +created: 20160107105310989 +creator: user +modified: 20160107105353162 +modifier: user +tags: +title: docker firewall +type: text/vnd.tiddlywiki + +; docker-archive/firehol.conf +: https://github.com/WonderBeat/docker-archive/blob/master/firehol.conf \ No newline at end of file diff --git a/mywiki/tiddlers/docker images -t.tid b/mywiki/tiddlers/docker images -t.tid index a43e3a2..9fb2c09 100644 --- a/mywiki/tiddlers/docker images -t.tid +++ b/mywiki/tiddlers/docker images -t.tid @@ -1,6 +1,6 @@ created: 20150929135639041 creator: user -modified: 20150929140204144 +modified: 20160112085221443 modifier: user tags: title: docker images -t @@ -8,4 +8,7 @@ type: text/vnd.tiddlywiki ```sh docker run --rm -v /var/run/docker.sock:/var/run/docker.sock nate/dockviz images -t -``` \ No newline at end of file +``` + +; `sen` is a terminal user interface for docker engine +: https://github.com/TomasTomecek/sen \ No newline at end of file diff --git a/mywiki/tiddlers/one-off git server.tid b/mywiki/tiddlers/one-off git server.tid new file mode 100644 index 0000000..7d3bd55 --- /dev/null +++ b/mywiki/tiddlers/one-off git server.tid @@ -0,0 +1,63 @@ +created: 20160110085326738 +creator: user +modified: 20160110085952670 +modifier: user +tags: +title: one-off git server +type: text/x-markdown + +# [Launch a one-off git server from any local repository](https://gist.github.com/datagrok/5080545). + +I [tweeted this already][1] but I thought it could use some expansion: + +> Enable decentralized git workflow: git config alias.serve "daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/" + +Say you use a git workflow that involves working with a core "official" repository that you pull and push your changes from and into. I'm sure many companies do this, as do many users of git hosting services like Github. + +Say that server, or Github, goes down for a bit. + +No worries, after all, one of the reasons you use git is so you have a copy of the entire project history in your local clone. + +You can keep right on coding and committing, while you wait for the operations team to bring the server back to life. Note to self: buy doughnuts for operations team. + +But what if, during this downtime, you want to collaborate with another person, who may not be a git expert, on the same repository? + +Or, instead of downtime, what if you and your collaborator are in the field, and for some reason you can't get your VPN to let you connect to your official repo? + +Or, what if you and your collaborator are spiking out a bunch of experimental changes, and even though you have access, you don't want to push your unfinished mess into the official central repository? (Not even as feature branches.) Maybe you're in the middle of cleaning up a disastrous rebase or merge and the branches are all over the place. + +Well, git, as you are probably aware, is a ["distributed" version control system][2]. + +Even though you might use a central "official" git repository in your workflow, you still have the ability to use git in a peer-to-peer manner, where you and your collaborator simply build and share commits with each other, and the central server never even has to know. + +So, how do you get your branches and commits over to them, or vice versa? + +- You could use git's facilities for e-mailing patches. But that's a bit inelegant and requires some knowledge on their end of how to apply e-mailed patches. +- You could create an account on your own machine for your collaborator to ssh into. But maybe you don't have local root access, or maybe you don't trust them with SSH access to your box. +- You could clone your repo onto a thumbdrive and pass it back and forth. But that's rather tedious, especially if you happen to be on the same local network, and requires a thumb drive. + +You can probably think of other methods, too. But there's a super easy way: if you can see each other on the network, you can launch a one-off git server that they can use as their remote to clone, fetch, and pull your changes, and kill it when you're done with it. + +The tool that enables this is `git daemon`, which has a lot of options and functionality, but for the purpose of enabling this easy one-off "just serve up the repo I'm in," the way to use it is to create an alias. I like to call it `git serve`. Run: + + git config --global alias.serve "daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/" + +Using an alias is actually crucial, because git aliases are executed in the base directory of your working tree. So the path '.git' will always point to the right place, no matter where you are within the directory tree of your repository. + +Use your new `git serve` like so: + +1. Run `git serve`. "Ready to rumble," it will report. Git is bad-ass. +2. Find out your IP address. Say it's 192.168.1.123. +3. Say "hey Jane, I'm not ready/able to push these commits up to origin, but you can fetch my commits into your clone by running `git fetch git://192.168.1.123/`" +4. Press ctrl+c when you don't want to serve that repo any longer. + +You could also tell Jane to `git clone git://192.168.1.123/ local-repo-name` if she does not yet have a clone of the repository. Or, use `git pull git://192.168.1.123/ branchname` to do a fetch and merge at once, useful if you are working together on a feature branch. + +Note however that you shouldn't do this on hostile networks if you keep secrets in your repository, because there's no authentication. It doesn't advertise its existence, but anybody with a a port scanner can find it, connect to it, and clone your repo. + +But it's not super dangerous because it is read-only by default. Read the `git daemon` man page carefully if you think that you want to enable write access. In the case where you want to obtain your collaborator's commits, it's much safer to leave it read-only, and ask your collaborator to also run this command, so you can pull from them. + +Tangentially related: on the subject of one-off servers, if you want to temporarily share a bunch of static files over HTTP: `python -m SimpleHTTPServer` + +[1]: https://twitter.com/datagrok/status/307947786853285888 +[2]: http://git-scm.com/about/distributed \ No newline at end of file diff --git a/mywiki/tiddlers/socat.tid b/mywiki/tiddlers/socat.tid new file mode 100644 index 0000000..d405054 --- /dev/null +++ b/mywiki/tiddlers/socat.tid @@ -0,0 +1,21 @@ +created: 20160112092216044 +creator: user +modified: 20160112092714009 +modifier: user +tags: +title: socat +type: text/vnd.tiddlywiki + +; socat - Multipurpose relay (SOcket CAT) +: http://www.dest-unreach.org/socat/doc/socat.html + +da magic oneliner into production databases: +explanation of what it does: + +* log into dispatcher.informaat-cxp.com +* forward local port 27027 to preview.local:27027 +* log into preview.local +* start docker container connected to mongo container and expose mongo:27017 port on preview.local:27027 +``` +ssh-agent bash -c "ssh-add ./roles/common/files/keys/id_rsa.silo ; ssh-add ./docker/silo/id_rsa ; ssh -A -l ubuntu dispatcher.informaat-cxp.com -L 27027:preview.local:27027 -t ssh -A preview.local -t docker run --rm -it --link ubuntu_mongo_1:ubuntu_mongo_1 -p 27027:27027 defensative/socat-ubuntu -dddd -ls TCP-LISTEN:27027,reuseaddr,fork TCP:ubuntu_mongo_1:27017" +``` \ No newline at end of file