Skip to content

Instantly share code, notes, and snippets.

Keeping safe

Ates Goral atesgoral

Keeping safe
View GitHub Profile
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
def to_s
@@being_responsible ? @value : '[REDACTED]'
atesgoral / validate_upc.js
Last active Jul 5, 2019
UPC-12 validation
View validate_upc.js
// [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
def softer_delete_associations
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
atesgoral / github_totp.js
Created Apr 22, 2016
GitHub TOTP token generation
View github_totp.js
const GitHubApi = require('github');
const speakeasy = require('speakeasy');
type: 'basic',
username: process.env.GITHUB_USERNAME,
password: process.env.GITHUB_PASSWORD
const token = speakeasy.totp({
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.
atesgoral /
Last active Sep 20, 2020
Deterministic JavaScript Style Guide

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.