Skip to content

Instantly share code, notes, and snippets.

Avatar
😷
Keeping safe

Ates Goral atesgoral

😷
Keeping safe
View GitHub Profile
@atesgoral
atesgoral / sensitive.rb
Created Nov 12, 2020
A way to prevent accidental leaking of sensitive data
View sensitive.rb
class Sensitive
@@being_responsible = false
def initialize(value)
@value = value
end
def to_s
@@being_responsible ? @value : '[REDACTED]'
end
@atesgoral
atesgoral / validate_upc.js
Last active Jul 5, 2019
UPC-12 validation
View validate_upc.js
['101010101012','614141000036','036000241457','613119000030','614141000035','036000241450','614141000030']
.map(upc=>!(upc.split``.reduce((u,p,c)=>u+p*(3+c*2&3),0)%10))
// [true, true, true, true, false, false, false]
View softer_delete_all_dependents.rb
module SofterDeleteAllDependents
extend ActiveSupport::Concern
included do
before_destroy :softer_delete_associations, prepend: true
end
private
def softer_delete_associations
@atesgoral
atesgoral / keybinding.json
Last active Apr 23, 2020
Visual Studio Code custom task for running current MiniTest
View keybinding.json
{ "key": "shift+ctrl+t", "command": "workbench.action.tasks.runTask", "args": "Run current MiniTest" }
View Blockstack ID proof
Verifying my Blockstack ID is secured with the address 1PZj88MLiKCR86H8JiSgu2e26fxpR17Rht https://explorer.blockstack.org/address/1PZj88MLiKCR86H8JiSgu2e26fxpR17Rht
@atesgoral
atesgoral / github_totp.js
Created Apr 22, 2016
GitHub TOTP token generation
View github_totp.js
const GitHubApi = require('github');
const speakeasy = require('speakeasy');
github.authenticate({
type: 'basic',
username: process.env.GITHUB_USERNAME,
password: process.env.GITHUB_PASSWORD
});
const token = speakeasy.totp({
@atesgoral
atesgoral / 1-original.js
Last active Mar 6, 2016
Syntactical sugar experiments against promise indentation hell
View 1-original.js
return getFoo()
.then(foo => {
return getBar(foo)
.then(bar => {
return getBaz(foo, bar)
.then(baz => {
return getQux(foo, bar, baz);
});
});
});
View onename
Verifying that +atesgoral is my blockchain ID. https://onename.com/atesgoral
@atesgoral
atesgoral / js-style-guide.md
Last active Sep 20, 2020
Deterministic JavaScript Style Guide
View js-style-guide.md

Deterministic JavaScript Style Guide

This the style that I use and proselytize. Everything is derived from just a handful of core rules:

  1. 4 spaces for indentation.
  2. Code block opening curly brackets (braces) are on the same line (as function, for, if, etc.)
  3. Add spaces around operators and statements.
  4. Add spaces inside brackets for array and object literals.
  5. Don't add spaces inside parenthesis.