(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.
using System.Linq; | |
using System.Windows; | |
using System.Windows.Controls; | |
using System.Windows.Input; | |
using LinqToVisualTree; | |
using Microsoft.Phone.Controls; | |
namespace App.Util | |
{ | |
/// <summary> |
// Just before switching jobs: | |
// Add one of these. | |
// Preferably into the same commit where you do a large merge. | |
// | |
// This started as a tweet with a joke of "C++ pro-tip: #define private public", | |
// and then it quickly escalated into more and more evil suggestions. | |
// I've tried to capture interesting suggestions here. | |
// | |
// Contributors: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_, | |
// @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant, |
import android.content.Context; | |
import android.content.pm.PackageInfo; | |
import android.content.pm.PackageManager; | |
import android.content.pm.PackageManager.NameNotFoundException; | |
import android.content.pm.Signature; | |
public class TamperCheck { | |
//we store the hash of the signture for a little more protection | |
private static final String APP_SIGNATURE = "1038C0E34658923C4192E61B16846"; |
# to generate your dhparam.pem file, run in the terminal | |
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048 |
(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.
window.navigator.language // -> "fr" | |
window.navigator.languages // -> ["fr-FR", "fr", "en-US", "en", "es", "de"] | |
window.navigator.userLanguage // -> undefined | |
window.navigator.browserLanguage // -> undefined | |
window.navigator.systemLanguage // -> undefined |
Copyright (c) 2015, Dorian Rudolph | |
Permission is hereby granted, free of charge, to any person obtaining a copy | |
of this software and associated documentation files (the "Software"), to deal | |
in the Software without restriction, including without limitation the rights | |
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
copies of the Software, and to permit persons to whom the Software is | |
furnished to do so, subject to the following conditions: | |
The above copyright notice and this permission notice shall be included in all |
{ | |
"crv": "Ed25519", | |
"d": "VoU6Pm8SOjz8ummuRPsvoJQOPI3cjsdMfUhf2AAEc7s", | |
"kty": "OKP", | |
"x": "l11mBSuP-XxI0KoSG7YEWRp4GWm7dKMOPkItJy2tlMM" | |
} |
CTRL + A
β Move to the beginning of the lineCTRL + E
β Move to the end of the lineCTRL + [left arrow]
β Move one word backward (on some systems this is ALT + B)CTRL + [right arrow]
β Move one word forward (on some systems this is ALT + F)CTRL + U
β (bash) Clear the characters on the line before the current cursor positionCTRL + U
β(zsh) If you're using the zsh, this will clear the entire lineCTRL + K
β Clear the characters on the line after the current cursor positionESC + [backspace]
β Delete the word in front of the cursor{"rules": { | |
// https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb | |
/* best practices */ | |
"accessor-pairs": 0, | |
// enforces return statements in callbacks of array's methods | |
// http://eslint.org/docs/rules/array-callback-return | |
"array-callback-return": 2, | |
// treat var statements as if they were block scoped | |
"block-scoped-var": 2, | |
// specify the maximum cyclomatic complexity allowed in a program |