Skip to content

Instantly share code, notes, and snippets.

View twome's full-sized avatar
💼
Looking for a job

Tom Kenny twome

💼
Looking for a job
View GitHub Profile
@twome
twome / bem.md
Created April 15, 2013 05:23 — forked from dmfrancisco/bem.md

BEM – meaning block, element, modifier – is a front-end naming methodology. CSSWizardry uses a naming scheme based on BEM, but honed by Nicolas Gallagher. The naming convention follows this pattern:

.block {}
.block__element {}
.block--modifier {}
  • .block represents the higher level of an abstraction or component
  • .block__element represents a descendent of .block that helps form .block as a whole
  • .block--modifier represents a different state or version of .block
# I Pledge To Be Better
I want our industry to be a safe, welcoming and inclusive place for everyone, regardless of
their gender, abilities, skin color, sexual orientation, age, class, neuro-diversity or any other attribute.
I acknowledge that this is not currently the case, and will do my best, to the extent that I can
afford to dedicate to this, to help make ours a better community and industry.
I value the diversity of perspectives that people with different backgrounds bring to the table.
I will call out exclusionary practices, behaviors or cultures and see how, together, we can perhaps
reshape them to be inclusive and supportive instead.
@twome
twome / today.compiled.css
Last active October 28, 2016 07:36
Trello - Stronger "today" indicator for date-select mini-calendar
/*
Stronger "today" indicator for date-select mini-calendar.
The current "today" indicator already has bold text, but that might be a bit subtle
for some users (especially those with vision impairments or poor font rendering).
This uses a coloured background and a faint light rim that remains when "today"
is also the selected day, to save users from having to select a different
day to double-check they have correctly selected "today". This also helps
for more instantly noticing the current day when skimming through months.
@twome
twome / Ancient HTML cleaning regexes
Last active September 23, 2018 07:31
Regexes for finding and cleaning up ancient/bad/deprecated HTML for manual archaeology
# Exclude from find-all
-tmp/*, -.sass-cache/*, -*.min.*, -*-min.*
# Deprecated attributes
\s*(width|height|border|cellpadding|cellspacing|bordercolor|bgcolor|color|valign|align|hspace|vspace)="[^"]*"
# If there's no quotes, you can also hit their values
\s*(width|height|hspace|vspace)=\d*\%?
\s*(bordercolor|bgcolor|color)=#?\d{3,6}
@twome
twome / crossbrowser-alpha-colour.scss
Last active September 23, 2018 07:35
Sass colour helpers, for the frontend folk on the go.
// This lets you specify the colour of the backdrop behind your transparent
// foreground colour - ideally with a variable - so that Sass can use its
// `mix` function to get fake transparency. It looks identical to real
// transparency (for solid-on-solid colour). IE8 can use `filter` to get real
// *background* transparency, but if you use this you can also get
// "transparency" on border-color, font color, and everything else. It
// defaults to the most legitimate transparency available.
// It doesn't expect Modernizr, but it does expect some kind of similar 'IE8'
// class in the `<html>` element, like H5BP's. Can Modernizr detect the old MS

Keybase proof

I hereby claim:

  • I am twome on github.
  • I am twome (https://keybase.io/twome) on keybase.
  • I have a public key ASAXwV-Wr67CXM5yej_r4T0UDwqIFxTxQml453uoRijAlgo

To claim this, I am signing this object:

@twome
twome / close_deleted_files.py
Last active January 30, 2019 15:03 — forked from michaelkonecny/close_deleted_files.py
Sublime Text plugin - close tabs containing deleted files on refocus
"""
When a view is focused, goes through all open tabs and closes those, whose files don't exist anymore.
Tested in Sublime Text 3.0 macOS 10.14.2
"""
import sublime_plugin
import sublime
import time
import os
@twome
twome / destructured-parameters.js
Last active March 16, 2019 09:04
Clean optional parameters using destructuring
function fn(mandatoryParameter, {
optionalA = 'a value',
optionalB = 'another value',
optionalC = 'notice that this is using destructured assignment syntax, not object literal syntax'
} = {} /* unfortunately, we need to specify an empty object default if the consumer provides no object argument */){
// Configuration
this.configurationPropertyNamespace = {
optionalA,
hardCodedConfig: 'we can use the object literal "default" property naming trick to be more terse'
@twome
twome / yeahnah.js
Last active August 4, 2019 14:32
Nah, yeah, yeah, nah, nah, nah, yeah, nah, nah, yeah, yeah, nah, yeah, nah, nah, yeah, nah, yeah, yeah, nah, yeah, yeah, yeah, nah, nah, yeah, yeah, nah, nah, yeah, yeah, yeah, nah, yeah, yeah, nah, nah, nah, yeah, nah, nah, yeah, yeah, nah, yeah, yeah, yeah, yeah, nah, yeah, yeah, nah, yeah, yeah, yeah, nah, nah, yeah, yeah, nah, nah, yeah, yea…
#!/usr/bin/env node
const uintToBitString = int => {
if (!(int >= 0 && int <= 127)) throw Error('ASCII only, hun.')
let bitString = ''
function f(num){
if (num == 0) return
let rem = num % 2
let div = Math.floor(num / 2)
f(div)
@twome
twome / How to remove Windows paths from WSL path.md
Last active June 27, 2022 02:32 — forked from ilbunilcho/How to remove Windows paths from WSL path.md
How to remove Windows paths from WSL `path` environment variable

[Requires WSL Build 17093 or above]

You can override WSL's settings by editing /etc/wsl.conf in the WSL filesystem. (Normally, this file doesn't exist at first.)

$ sudo vi /etc/wsl.conf

[interop]
appendWindowsPath = false