View introrx.md

The introduction to Reactive Programming you've been missing

(by @andrestaltz)

So you're curious in learning this new thing called Reactive Programming, particularly its variant comprising of Rx, Bacon.js, RAC, and others.

Learning it is hard, even harder by the lack of good material. When I started, I tried looking for tutorials. I found only a handful of practical guides, but they just scratched the surface and never tackled the challenge of building the whole architecture around it. Library documentations often don't help when you're trying to understand some function. I mean, honestly, look at this:

Rx.Observable.prototype.flatMapLatest(selector, [thisArg])

Projects each element of an observable sequence into a new sequence of observable sequences by incorporating the element's index and then transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence.

View gist:7c92b76d71db460f2b7b
1 2 3 4 5 6 7 8 9 10
/* bootstrap hack: fix content width inside hidden tabs */
.tab-content > .tab-pane,
.pill-content > .pill-pane {
display: block; /* undo display:none */
height: 0; /* height:0 is also invisible */
overflow-y: hidden; /* no-overflow */
}
.tab-content > .active,
.pill-content > .active {
height: auto; /* let the content decide it */
View gist:4e05e522bbd641ab4db0
1 2 3
# Regenerate A Id_rsa.pub Key From A Private Id_rsa Key
 
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
View logback.xml
1 2 3 4 5 6 7 8 9 10
<?xml version="1.0" encoding="UTF-8"?>
 
<!-- For assistance related to logback-translator or configurations -->
<!-- files in general, please contact the logback user mailing list -->
<!-- at http://www.qos.ch/mailman/listinfo/logback-user -->
<!-- -->
<!-- For professional support please see -->
<!-- http://www.qos.ch/shop/products/professionalSupport -->
<!-- -->
<configuration>
View HEADER
1 2 3 4 5 6 7 8 9 10
Copyright (C) ${project.inceptionYear} ${owner} (${email})
 
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
 
http://www.apache.org/licenses/LICENSE-2.0
 
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
View Dexter.java
1 2 3 4 5 6 7 8 9 10
public class Dexter {
private static String optimizedDirectory = "optimized";
private static String workDirectory = "working";
public static void loadFromAssets(Context context, String fileName) throws Exception {
File optimized = new File(optimizedDirectory);
optimized = context.getDir(optimized.toString(), Context.MODE_PRIVATE);
optimized = new File(optimized, fileName);
View ClassLoaderActivity.java
1 2 3 4 5 6 7 8 9 10
//
// !!WARNING: Not recommended for production code!!
//
public class ClassLoaderActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
// file.jar has a dex'd "classes.dex" entry that you can generate with "dx" from any number of JARs or class files
ClassLoader dexLoader = new DexClassLoader("/path/to/file.jar", getCacheDir().getAbsolutePath(), null, getClassLoader());
setAPKClassLoader(dexLoader);
View spoon-sample.gradle
1 2 3 4 5 6 7 8 9 10
/* Your Android Config Here */
 
/* Spoon Configuration */
repositories { mavenCentral() }
 
configurations { spoon }
dependencies { spoon 'com.squareup.spoon:spoon-runner:1.0.5' }
 
def buildDirPath = project.buildDir.path
def apk = buildDirPath + '/apk/' + project.name + '-debug-unaligned.apk'
View deploy-build.gradle
1 2 3 4 5 6 7 8 9 10
buildscript {
repositories {
// rather than hit central each time with this:
// mavenCentral()
// we hit our company Nexus server ont he public group
// which includes the Central Repository
// and is local, so more performant
maven {
url "http://localhost:8081/nexus/content/groups/public"
}
View app.js
1 2 3 4 5 6 7 8 9 10
var conf = require('./config.js')
, wp = require('wordpress')
;
 
// TODO Account Validation
 
// TODO Make Output Directories
 
//
// Client Instance
Something went wrong with that request. Please try again.