(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.
(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.
(** | |
And of cause translation of the context free grammar enumeration example | |
from [Luke Palmer's post](http://lukepalmer.wordpress.com/2008/05/02/enumerating-a-context-free-language/) | |
which was my original inpiration to use Omega. | |
Notice the explicit addition of laziness to allow recursive use of | |
`symbol` literals in a list. Alternatively one can define, say: | |
``` | |
type 'a symbol = | |
| Terminal of 'a |
#include <iostream> | |
#include <type_traits> | |
#include <cstdint> | |
#include <cstddef> | |
// Or we can use enable_if from Boost: | |
template <bool, typename T = void> | |
struct enable_if { | |
}; |
function zip(a, b) { | |
var arr = []; | |
for (var key in a) arr.push([a[key], b[key]]); | |
return arr; | |
} | |
console.log(zip('foo', 'bar')); | |
//=> [ [ 'f', 'b' ], [ 'o', 'a' ], [ 'o', 'r' ] ] | |
console.log(zip(['a', 'b', 'c'], ['x', 'y', 'z'])); |
Disclaimer: Please follow this guide being aware of the fact that I'm not an expert regarding the things outlined below, however I made my best attempt. A few people in IRC confirmed it worked for them and the results looked acceptable.
Attention: After following all the steps run gdk-pixbuf-query-loaders --update-cache
as root, this prevents various gdk-related bugs that have been reported in the last few hours. Symptoms are varied, and for Cinnamon the DE fails to start entirely while for XFCE the icon theme seemingly can't be changed anymore etc.
Check the gist's comments for any further tips and instructions, especially if you are running into problems!
Results after following the guide as of 11.01.2017 13:08:
$('body').on('click', '#messages-view a', (event) => { | |
event.preventDefault(); | |
let link = event.target.href; | |
require("electron").shell.openExternal(link); | |
}); |
" status bar colors | |
au InsertEnter * hi statusline guifg=black guibg=#d7afff ctermfg=black ctermbg=magenta | |
au InsertLeave * hi statusline guifg=black guibg=#8fbfdc ctermfg=black ctermbg=cyan | |
hi statusline guifg=black guibg=#8fbfdc ctermfg=black ctermbg=cyan | |
" Status line | |
" default: set statusline=%f\ %h%w%m%r\ %=%(%l,%c%V\ %=\ %P%) | |
" Status Line Custom | |
let g:currentmode={ |
{ lib }: | |
with lib; rec { | |
pow = | |
let | |
pow' = base: exponent: value: | |
# FIXME: It will silently overflow on values > 2**62 :( | |
# The value will become negative or zero in this case | |
if exponent == 0 | |
then 1 | |
else if exponent <= 1 |
{ hostName, pkgs, ... }: | |
{ | |
imports = [ | |
./hardware.nix | |
]; | |
networking.hostName = hostName; | |
time.timeZone = "America/Los_Angeles"; | |
system.copySystemConfiguration = true; |
{ pkgs ? import <nixpkgs> {} }: | |
let | |
# To use this shell.nix on NixOS your user needs to be configured as such: | |
# users.extraUsers.adisbladis = { | |
# subUidRanges = [{ startUid = 100000; count = 65536; }]; | |
# subGidRanges = [{ startGid = 100000; count = 65536; }]; | |
# }; |