(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.
| -- Playing around with persistent vectors in Purescript | |
| -- Imitiates the interface from Data.Array, but uses Mori.js persistent | |
| -- vector implementation e.g. to avoid copy-on-write etc. | |
| module Data.Vector where | |
| import Data.Maybe | |
| -- LOL I have no idea what I'm doing, but reverse engineering from the | |
| -- JS output, this actually seems to work | |
| foreign import data Mori :: * |
(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.
| import scala.slick.lifted.{TableQuery => _} | |
| import scala.slick.ast._ | |
| import scala.slick.driver._ | |
| import scala.language.implicitConversions | |
| /** Extends QueryInvoker to allow overriding used SQL statement when executing a query */ | |
| trait OverridingInvoker extends JdbcDriver{ | |
| // get the extended QueryInvoker into the .simple._ implicits | |
| override val Implicit: Implicits = new Implicits | |
| override val simple: Implicits with SimpleQL = new Implicits with SimpleQL |
When the directory structure of your Node.js application (not library!) has some depth, you end up with a lot of annoying relative paths in your require calls like:
const Article = require('../../../../app/models/article');Those suck for maintenance and they're ugly.
if you are using linux, unix, os x:
pip install -U setuptools
pip install -U pip
pip install numpy
pip install scipy
pip install matplotlib
#pip install PySide
| angular.module('myApp', | |
| ['ngRoute', 'myApp.services', 'myApp.directives'] | |
| ) | |
| .config(function(AWSServiceProvider) { | |
| AWSServiceProvider.setArn('arn:aws:iam::<ACCOUNT_ID>:role/google-web-role'); | |
| }) | |
| .config(function(StripeServiceProvider) { | |
| StripeServiceProvider.setPublishableKey('pk_test_YOURKEY'); | |
| }) | |
| .config(function($routeProvider) { |
| import theano | |
| from pylearn2.models import mlp | |
| from pylearn2.training_algorithms import sgd | |
| from pylearn2.termination_criteria import EpochCounter | |
| from pylearn2.datasets.dense_design_matrix import DenseDesignMatrix | |
| import numpy as np | |
| from random import randint | |
| class XOR(DenseDesignMatrix): |
Ideas are cheap. Make a prototype, sketch a CLI session, draw a wireframe. Discuss around concrete examples, not hand-waving abstractions. Don't say you did something, provide a URL that proves it.
Nothing is real until it's being used by a real user. This doesn't mean you make a prototype in the morning and blog about it in the evening. It means you find one person you believe your product will help and try to get them to use it.
| #!/usr/bin/env escript | |
| %% -*- erlang -*- | |
| %% * slurp in terms using inlined version of kernels file:consult/1 | |
| %% * convert to abstract syntax tree | |
| %% * annotate all tuples | |
| %% * pretty print using a hook to prefix the annotated nodes with newline | |
| main([]) -> | |
| io:format("%% -*-erlang-*-~n"), |
I'm tired of massive delay (500-1000 ms pings) while uploading large files. QoS helps some, but a significant portion remains due to bufferbloat (100-150ms). This leads to delay in VoIP calls and generally sluggish web browsing while uploading.
The new Codel algorithm in OpenWRT / Attitude Adjustment should help a lot. The results below show only ~5-6ms of added latency during uploads (i.e. 14ms vs 500+ms before!). Insane.
These instructions are for the TP-Link TL-WDR4300, because I got a good deal. If you have the money, buy a Netgear WNDR3800 and install CeroWRT, you'll probably see even better results.
In short, its fully supported in OpenWRT Attitude Adjustment and works well for my needs: