Skip to content

Instantly share code, notes, and snippets.

View rlemon's full-sized avatar
🍋
Hanging around.

Robert Lemon rlemon

🍋
Hanging around.
  • Dryer Moisture Systems Inc.
  • Kitchener, Ontario. Canada.
View GitHub Profile
@rlemon
rlemon / index.html
Created January 28, 2021 03:46 — forked from vineeth-pappu/index.html
Pure CSS Cyberpunk 2077 Buttons 😎
<button class="cybr-btn">
Cyber<span aria-hidden>_</span>
<span aria-hidden class="cybr-btn__glitch">Cyber_</span>
<span aria-hidden class="cybr-btn__tag">R25</span>
</button>
<button class="cybr-btn">
Buttons<span aria-hidden>_</span>
<span aria-hidden class="cybr-btn__glitch">Buttons_</span>
<span aria-hidden class="cybr-btn__tag">R25</span>
</button>
@rlemon
rlemon / hangman.js
Created September 6, 2019 14:33 — forked from kendfrey/hangman.js
hangman
"use strict";
const words = require("./words.json");
const faces = [":grin:", ":smile:", ":grinning:", ":slight_smile:", ":neutral_face:", ":slight_frown:", ":worried:", ":persevere:", ":tired_face:", ":dizzy_face:", ":skull:"];
module.exports = class Hangman
{
constructor()
{
this.guesses = new Set();
@rlemon
rlemon / gist:7713181
Created November 29, 2013 23:10 — forked from Zirak/gist:7713141

So you have a javascript function.

function func () {}

It accepts a value.

function func (param) {}
$(function () {
"use strict";
// for better performance - to avoid searching in DOM
var content = $('#content');
var input = $('#input');
var status = $('#status');
// my color assigned by the server
var myColor = false;
This indirection was intended to make the language seem more familiar to classically trained programmers, but failed to do that, as we can see from the very low opinion Java programmers have of JavaScript. JavaScript's constructor pattern did not appeal to the classical crowd. It also obscured JavaScript's true prototypal nature. As a result, there are very few programmers who know how to use the language effectively.

~ Douglas Crockford, "Prototypal Inheritance"

The indirection Mr. Crockford refers to here is the Pseudo-Classical Pattern, also known as the Constructor Pattern. This is a way of simulating classical inheritance in JavaScript - a prototypal language.

If it wasn't obvious from both the title of this post, and from the frankly negative quote above, this is not my favorite object-oriented pattern in JavaScript. I'

@rlemon
rlemon / skeet.js
Created January 18, 2013 16:10 — forked from kendfrey/skeet.js
var style = document.createElement('style'); style.textContent = '.vote-count-container.stars span.img, span.vote-count-container.sidebar-vote.owner-star.stars span.img, span.vote-count-container.sidebar-vote.user-star.stars span.img { background-image: url("http://0.gravatar.com/avatar/6d8ebb117e8d83d74ea95fbdd0f87e13?s=16&d=identicon&r=PG"); background-position: 0px 0px; height: 16px; width: 16px;} .user-star span.img { outline: 1px solid #ff0; }'; document.head.appendChild(style);
@rlemon
rlemon / gist:4061754
Created November 12, 2012 20:43 — forked from ralt/gist:4061749
My Library when IE8 won't be supported anymore
NodeList.prototype.forEach = HTMLCollection.prototype.forEach = Array.prototype.forEach;
NodeList.prototype.map = HTMLCollection.prototype.map = Array.prototype.map;
NodeList.prototype.filter = HTMLCollection.prototype.filter = Array.prototype.filter;
NodeList.prototype.reduce = HTMLCollection.prototype.reduce = Array.prototype.reduce;
NodeList.prototype.every = HTMLCollection.prototype.every = Array.prototype.every;
NodeList.prototype.some = HTMLCollection.prototype.some = Array.prototype.some;
var By = {
id: function (id) { return document.getElementById(id) },
tag: function (tag, context) {
return (context || document).getElementsByTagName(tag)
@rlemon
rlemon / gist:3090947
Created July 11, 2012 14:58 — forked from Zirak/gist:3086939
xhr for dummies

So, you want to send a motherfucking XMLHttpRequest (XHR, or commonly and falsly known as AJAX.) Too bad, just ran out of motherfucking XMLHttpRequests; but I still have one regular. XHR is not magic. It does not autofuckinmagically send things the way you want them do be sent. It does not do the thinking for you. It just sends an Http Request.

You get a hold on such a prime beast like this:

@rlemon
rlemon / jQuery.md
Created January 19, 2012 18:37 — forked from Raynos/jQuery.md
Why you don't need jQuery

Why the jQuery Abstraction isn't needed.

(One needs some form of browser normalization so that modern features works, no-one is doubting that).

Abstractions that aren't needed

Selectors

QSA works (shim=sizzle). Besides selectors are generally bad practice. Favour node traversal, gEBI, gEBTN and gEBCN. (shim=domShim)