Skip to content

Instantly share code, notes, and snippets.

View sengopal's full-sized avatar
🎧
Focusing

Senthilkumar Gopal sengopal

🎧
Focusing
View GitHub Profile

The introduction to Reactive Programming you've been missing

(by @andrestaltz)

So you're curious in learning this new thing called (Functional) Reactive Programming (FRP).

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.

+-----------------------------------------------------------------------------------------------------+
| name | bits | bytes | min | actual min value | max | actual max value |
|---------+--------+--------+-------+----------------------------+--------+---------------------------|
| boolean | 1-bit | -- | false | | true | |
| byte | 8-bit | 1-byte | -2^7 | -128 | 2^7-1 | 127 |
| short | 16-bit | 2-byte | -2^15 | -32'768 | 2^15-1 | 32'767 |
| char | 16-bit | 2-byte | 0 | '\u0000' | 2^16-1 | '\uffff' (65535) |
| int | 32-bit | 4-byte | -2^31 | -2'147'483'648 | 2^31-1 | 2'147'483'647 |
| long | 64-bit | 8-byte | -2^63 | -9'223'372'036'854'775'808 | 2^63-1 | 9'223'372'036'854'775'807 |
| float | 32-bit | 4-byte | +/- -3.4028235 * 10^38 | +/- 3.4028235 * 10^38
@sengopal
sengopal / crypto-wrong-answers.md
Created November 22, 2015 19:24 — forked from paragonie-scott/crypto-wrong-answers.md
An Open Letter to Developers Everywhere (About Cryptography)

Asciidoc on GitHub

@sengopal
sengopal / photosho-notes.txt
Created November 2, 2017 05:30
Rough notes for learning Adobe Photoshop
Hue - basic color
Brightness - lightness/darkness of the color
Saturation - intensity of the color
Chapter 1: Introduction
Window -> Application Frame --> to make the windows tabbed
Cycles in the order of opening
CTRL+Tab --> to cycle through the documents
shift+CTRL+Tab --> to cycle through the documents backward
@sengopal
sengopal / css-notes.txt
Created November 2, 2017 05:33
Rough CSS Notes
CSS Background
--------------
background-color -> red/rgb(255,0,0)/#ff0000/transparent;
background-image -> url('paper.gif')
background-repeat: repeat/repeat-x/repeat-y/no-repeat;
By default, the background-image property repeats an image both horizontally and vertically.
background-attachment -> scroll/fixed/inherit
background-position -> top right -> position of the image in the background
top,left,center,bottom, xpos ypos,x% y%
@sengopal
sengopal / php-notes.txt
Created November 2, 2017 05:34
Rough PHP Notes
PHP Notes
----------
Personal Home Page
PHP: PreText HyperProcessor
Eclipse PDT
To begin a PHP script, you include the opening delimiter <?php and start coding. To finish,
@sengopal
sengopal / spring-security-sample.java
Created November 20, 2018 02:17
Sample Spring security and Ratelimiting example
// Example for Spring Security Authorization
@PreAuthorize("hasPermission(#contact, 'admin')")
public void deletePermission(Contact contact, Sid recipient, Permission permission);
// Example for Spring Ratelimiting
fs.setPath(“/hi").requestRateLimiter(MyRL.args(2, 4,AppKeyResolver))
@sengopal
sengopal / tokens.txt
Created November 20, 2018 02:52
Sample tokens from 3rd Party identity providers
# eBay
AgAAAA**AQAAAA**aAAAAA**E6+EWg**nY+sHZ2PrBmdj6wVnY+sEZ2PrA2dj6wMkIGkCJCGoA2dj6x9nY+seQ+/5wK1dskM5/3EOEY7BDg7VHK/CmDimCvVPbtJankHhzJUF8rU876Qzjs
# Google
ya29.GltiBRICgroWhf0XJ-e4nYpzc9UG0Fn_Ghq06_yg3BDZ4EHM_X8rIirEnFUJVb9uawqW2tE9yqfT0KwcaEXLKp7VFpde5v
# Facebook
EAACEdEose0cBAJyrAOqIWCAPVobbylB7mZB7X3L0x5BLBosAAm2BDdUnhYKSp7VM9Tpyi8EhrAD6ZBYZBtymYC5ZBxNv1XrCBngEi0gEWLejezZb0gkArZBkJWcFiVjGcKYy44EY8ZD