This article is now published on my website: A one-off git repo server.
| Rx LINQ Operator Precis | |
| Brian Beckman, May 2013 | |
| ================================================================================ | |
| Introduction | |
| ================================================================================ | |
| This is a highly abbreviated "cheat-sheet" for the LINQ operators over Rx, the | |
| Reactive Extensions. Its purpose is to TEACH by laying bare the regular and | |
| tasteful structure of the API. This structure can be difficult to perceive from | |
| ordinary documentation and source code because comparable and contrastable |
| #!/bin/bash | |
| # 8... always? | |
| mkfifo fifo | |
| ruby -e '100000.times {|i| puts "a"}' > fifo & | |
| ruby -e '100000.times {|i| puts "b"}' > fifo & | |
| ruby -e '100000.times {|i| puts "c"}' > fifo & | |
| ruby -e '100000.times {|i| puts "d"}' > fifo & | |
| ruby -e '100000.times {|i| puts "e"}' > fifo & | |
| ruby -e '100000.times {|i| puts "f"}' > fifo & | |
| ruby -e '100000.times {|i| puts "g"}' > fifo & |
- Related Setup: https://gist.github.com/hofmannsven/6814278
- Related Pro Tips: https://ochronus.com/git-tips-from-the-trenches/
- Interactive Beginners Tutorial: http://try.github.io/
- Git Cheatsheet by GitHub: https://services.github.com/on-demand/downloads/github-git-cheat-sheet/
Press minus + shift + s and return to chop/fold long lines!
People
:bowtie: |
π :smile: |
π :laughing: |
|---|---|---|
π :blush: |
π :smiley: |
:relaxed: |
π :smirk: |
π :heart_eyes: |
π :kissing_heart: |
π :kissing_closed_eyes: |
π³ :flushed: |
π :relieved: |
π :satisfied: |
π :grin: |
π :wink: |
π :stuck_out_tongue_winking_eye: |
π :stuck_out_tongue_closed_eyes: |
π :grinning: |
π :kissing: |
π :kissing_smiling_eyes: |
π :stuck_out_tongue: |
| using System; | |
| namespace PureIO { | |
| /* | |
| C# does not have proper sum types. They must be emulated. | |
| This data type is one of 4 possible values: | |
| - WriteOut, being a pair of a string and A | |
| - WriteErr, being a pair of a string and A | |
| - readLine, being a function from string to A |
| /// <summary> | |
| /// A list that can be used by readers as a true immutable read-only list | |
| /// and that supports relatively efficient "append to the end" and "remove | |
| /// from the front" operations, by sharing the underlying array whenever | |
| /// possible. Implemented as a class so it can be used to "CAS" when making | |
| /// changes in order to allow lockless immutability. | |
| /// </summary> | |
| public class ImmutableAppendOnlyList<T> : IReadOnlyList<T> | |
| { | |
| private delegate void RangeCopier(IEnumerable<T> source, T[] dest, int destOffset, int count); |
THIS GIST WAS MOVED TO TERMSTANDARD/COLORS REPOSITORY.
PLEASE ASK YOUR QUESTIONS OR ADD ANY SUGGESTIONS AS A REPOSITORY ISSUES OR PULL REQUESTS INSTEAD!
| using System; | |
| using System.IO; | |
| using System.Reflection; | |
| namespace Kake | |
| { | |
| class Bootstrap | |
| { | |
| delegate int EntryPoint(string[] args); |
Spurred by recent events (https://news.ycombinator.com/item?id=8244700), this is a quick set of jotted-down thoughts about the state of "Semantic" Versioning, and why we should be fighting the good fight against it.
For a long time in the history of software, version numbers indicated the relative progress and change in a given piece of software. A major release (1.x.x) was major, a minor release (x.1.x) was minor, and a patch release was just a small patch. You could evaluate a given piece of software by name + version, and get a feeling for how far away version 2.0.1 was from version 2.8.0.
But Semantic Versioning (henceforth, SemVer), as specified at http://semver.org/, changes this to prioritize a mechanistic understanding of a codebase over a human one. Any "breaking" change to the software must be accompanied with a new major version number. It's alright for robots, but bad for us.
SemVer tries to compress a huge amount of information β the nature of the change, the percentage of users that wil