View noise-maker.md

Disclaimer

It is not serious RnD, it’s joke-like device, quite practical though.

Concept

Device with one major (and primitive) functionality - making specific noises from day to day life.
Why is it cool? Because we do not realise how much common sounds in fact affects our life, and we can tune our usual experience with this additional dimension of sounds.

Use cases:

  • Water sounds in a sing in a bathroom. When do some people turn on water in the bathroom? Just to drown out other sounds of hygiene activities.
  • Sound of boiling of the kettle in the kitchen. It just made everything cozy.
View gist:151795622eb685f2b5a751753fd93054
.then(() => Promise
.all(data.map((result) => {
result.uuid = uuidv4();
const filename = `${moment(result.date).format('YYYYMMDD_hhmmss')}.zip`;
const filepath = path.join(dest, filename);
const output = fs.createWriteStream(filepath);
result.results.forEach(({ desc, keys, flow }) => {
const flowRows = [];
View gist:26592af8439f15433e2a0ac9342001df
exports.uploadAndPublish = () => {
webStore.fetchToken()
.then((token) => {
debug('Token fetched successfully');
const myZipFile = fs.createReadStream(ZIPFILE_NAME);
return webStore.uploadExisting(myZipFile, token)
.then((res) => {
debug('Archive uploaded: ', JSON.stringify(null, 4, res));
// Response is a Resource Representation
// https://developer.chrome.com/webstore/webstore_api/items#resource
View gist:576c3b7511e5045c5974627f88f7d802
export const updateLocale = createAction('@@common/updateLocale', ({ locale = window.Project.locale, cb = () => {} }) => (dispatch) => {
return getStatic({ url: `locales/${locale}.json` })
.then((res) => {
const translationsObject = {
[locale]: res,
};
dispatch(setLocale(locale));
dispatch(loadTranslations(translationsObject));
})
.then(cb);
View temp.json
{
"unload": {
"warning": "Are you sure want to navigate away from this page?"
},
"common": {
"not_permitted_warning": "You have no permission to ${0}. You may ask ${1} ${2} to give you permission to ${3}.",
"assignAction": "assign this item"
}
}
View git-workflow.sh
# Create a feature branch
# Typically, branch from the current develop branch:
git fetch
git checkout develop.xx
git pull origin develop.xx
git checkout -b <BRANCH_NAME>
# Make atomic commits
git add .
View gist:7f0909fe51de6bc3c7f8fe1ccbe17991
import webpack from 'webpack';
import cssnano from 'cssnano';
import HtmlWebpackPlugin from 'html-webpack-plugin';
import ExtractTextPlugin from 'extract-text-webpack-plugin';
import globalVars from 'postcss-global-scss-vars';
import hiTaskTheme from '../src/styles/material_theme/hitask';
import config from '../config';
import _debug from 'debug';
const debug = _debug('app:webpack:config');
View gist:91da08b8625e6e45856ccb2caaf69366
const requiredFields = { teamMembers: ['email'] };
const PopoverForm = reduxForm({
form: 'PopoverAddContact',
validate: (values) => {
return { ...validate({ values, requiredFields }) };
},
initialValues: {
teamMembers: [
{},
{},
View gist:a296aec3be310e92567008c222ea2247
import validator from 'validator';
const verifiers = {
email: (value) => {
return !validator.isEmail(value) && 'Invalid email address';
},
fullName: (value) => {
}
};
View gist:b4b341b29b0f0b01cd8f2116eb0ee26c
import React, { Component, PropTypes } from 'react';
import { Link } from 'react-router';
import { ListItem } from 'material-ui/List';
export class ListLink extends Component {
static propTypes = {
path: PropTypes.string.isRequired,
push: PropTypes.string.isRequired,
}