Skip to content

Instantly share code, notes, and snippets.

@dbasedow
dbasedow / WebViewResizing.js
Last active September 26, 2022 18:55
Resize WebView to content height in react-native
'use strict';
var React = require('react');
var ReactNative = require('react-native');
var {AppRegistry, Text, WebView, View, Dimensions} = ReactNative;
var WebViewResizing = React.createClass({
getInitialState: function () {
return {
webViewHeight: 100 // default height, can be anything
@conorhastings
conorhastings / simple-redux.js
Last active June 11, 2021 01:36
A very (read: don't do this) simple implementation of redux
/*
* The reason for this is just a thought exercise
* often people(myself super included) are so confused
* when trying something new, but breaking it down
* to it's simplest existence can be the best way to understand
*/
function createStore(reducer, initState) {
let state = initState;
let subscribers = [];
@sperand-io
sperand-io / index.js
Last active September 7, 2020 12:09
Koa EventSource Streaming (SSE)
const PassThrough = require('stream').PassThrough;
const Router = require('koa-66');
const router = new Router();
const Koa = require('koa');
const app = new Koa();
// ...
const sse = (event, data) => {
return `event:${ event }\ndata: ${ data }\n\n`
@wesbos
wesbos / gulpfile.js
Last active October 21, 2019 19:38
FAST Browserify + Reactify + Babelify
// Update: Hey Folks - I've got a full Gulpfile with everything else over at https://github.com/wesbos/React-For-Beginners-Starter-Files
var source = require('vinyl-source-stream');
var gulp = require('gulp');
var gutil = require('gulp-util');
var browserify = require('browserify');
var reactify = require('reactify');
var babelify = require('babelify');
var watchify = require('watchify');
var notify = require('gulp-notify');
@danielgtaylor
danielgtaylor / gist:0b60c2ed1f069f118562
Last active May 2, 2025 15:13
Moving to ES6 from CoffeeScript

Moving to ES6 from CoffeeScript

I fell in love with CoffeeScript a couple of years ago. Javascript has always seemed something of an interesting curiosity to me and I was happy to see the meteoric rise of Node.js, but coming from a background of Python I really preferred a cleaner syntax.

In any fast moving community it is inevitable that things will change, and so today we see a big shift toward ES6, the new version of Javascript. It incorporates a handful of the nicer features from CoffeeScript and is usable today through tools like Babel. Here are some of my thoughts and issues on moving away from CoffeeScript in favor of ES6.

While reading I suggest keeping open a tab to Babel's learning ES6 page. The examples there are great.

Punctuation

Holy punctuation, Batman! Say goodbye to your whitespace and hello to parenthesis, curly braces, and semicolons again. Even with the advanced ES6 syntax you'll find yourself writing a lot more punctuatio

@zakjan
zakjan / cryptoHelpers.coffee
Last active June 26, 2021 08:29
Encryption in NodeJS
###*
* Encryption:
*
* cipher: AES-128-CBC
* key: 16 bytes
* IV: 16 bytes, random, non-reused, prepended to cipher text
* padding: PKCS#7
###
crypto = require 'crypto'

When you want to use a asynchronous loading technique (like requireJS for instance) in a Windows HTML application you can have trouble catching the activation event due to the fact that WinJS.Application.start() must be called synchronously at the start of the process in order to register with the system's activation handler at the right time.

Here is a code snippet which describes a way to work around that by using an artifical event to stall the WinJS.Application event queue until your activation handler is registered and ready to run.

    (function () {
        "use strict";

        // Alias the application object
        var app = WinJS.Application;
@BrandonLive
BrandonLive / BrandonJS-xhr
Last active January 4, 2016 15:39
BrandonJS.xhr - Provides a helper which mimicks the WinJS.xhr interface but uses WinRT's new HttpClient under the hood if available.
// This file is part of the Brandon Library for JavaScript (BrandonJS)
// Original author: Brandon Paddock, www.brandonlive.com
// Published under Creative Commons Attribution 4.0 International Public License
// http://creativecommons.org/licenses/by/4.0/legalcode
// BrandonJS.xhr
// Provides a helper which mimicks WinJS.xhr but using WinRT's new HttpClient if available.
// If WinRT is not available, it falls back to WinJS.xhr.
// This mimicks enough for common usage scenarios, but you may need to extend it for some cases.

Falsehoods programmers believe about prices

  1. You can store a price in a floating point variable.
  2. All currencies are subdivided in 1/100th units (like US dollar/cents, euro/eurocents etc.).
  3. All currencies are subdivided in decimal units (like dinar/fils)
  4. All currencies currently in circulation are subdivided in decimal units. (to exclude shillings, pennies) (counter-example: MGA)
  5. All currencies are subdivided. (counter-examples: KRW, COP, JPY... Or subdivisions can be deprecated.)
  6. Prices can't have more precision than the smaller sub-unit of the currency. (e.g. gas prices)
  7. For any currency you can have a price of 1. (ZWL)
  8. Every country has its own currency. (EUR is the best example, but also Franc CFA, etc.)
@cowboyrushforth
cowboyrushforth / gist:5963752
Created July 10, 2013 05:48
Java<->Ruby AES-256-CBC PKCS5 Working 2 way encryption
# RUBY
require 'openssl'
require 'digest/sha2'
require 'json'
def bin2hex(str)
str.unpack('C*').map{ |b| "%02X" % b }.join('')
end