Skip to content

Instantly share code, notes, and snippets.

View EtienneLem's full-sized avatar

Etienne Lemay EtienneLem

View GitHub Profile
@EtienneLem
EtienneLem / .zshrc
Last active March 11, 2021 16:30
Homebrew, CocoaPods & rbenv ARM64 / X86_64 configuration
# Homebrew
case $(uname -m) in
"arm64")
export PATH="/opt/homebrew/bin:$PATH"
export RBENV_ROOT="/opt/homebrew/opt/rbenv"
;;
"x86_64")
export PATH="/usr/local/bin:$PATH"
export RBENV_ROOT="~/.rbenv"
;;
# GIFme
# This is a really simple/stupid command line (specifically zsh) function to copy public Dropbox links to your gifs.
#
# Put this somewhere in your .zshrc and replace {{YOUR_PUBLIC_ID}} with your public Dropbox ID (find this by going to dropbox.com, finding a file in your "Public" folder, selecting it and clicking "Copy public link", and looking for the long number in the URL)
#
# This assumes your gifs (and other images you want to share) are stored in your Dropbox "Public" folder in a directory called "gifs".
# This whole thing ain't pretty, and it could be much better. But it's a start.
#
# Usage:
# "$ gifme yup.gif" will copy a public link to "{{Dropbox Directory}}/Public/gifs/yup.gif"
@EtienneLem
EtienneLem / react-dom.js
Created May 6, 2014 13:50
A JavaScript example
Hello = React.createClass({
componentWillMount: function() { console.log('componentWillMount') },
componentDidMount: function() { console.log('componentDidMount') },
render: function() {
return DOM.div({ class: 'container' }, [
DOM.span({
data: {
foo: { bar: 'baz' },
much: { much: 'fun' },
@EtienneLem
EtienneLem / .zshrc
Created April 2, 2014 15:05
Rename Terminal tab
tabname() { printf "\e]1;$1\a" }
@EtienneLem
EtienneLem / random_rdio_track.rb
Created March 4, 2014 02:17
Random Rdio Track
# Rdio console: http://rdioconsole.appspot.com
# Get a track: http://rdioconsole.appspot.com/#keys%3Dt[INSERT 7 DIGITS NUMBER HERE]%26method%3Dget
def get_random_number
1_000_000 + Random.rand(10_000_000 - 1_000_000)
end
track_key = get_random_number
puts track_key
@EtienneLem
EtienneLem / 1 - helper.rb
Created September 12, 2013 18:14
Responsive images container (Bonus: The content flow stays the same whether the image is loaded or not (or broken))
def image_container(path, width, height)
%(<div class="image-container" style="max-width: #{width}px">
<div style="padding-top: #{(height.to_f / width.to_f) * 100}%">
#{image_tag(path)}
</div>
</div>).html_safe
end
# Note: If you want the image to scale up, remove the `max-width`
@EtienneLem
EtienneLem / 1 - add_at_index.js
Created September 3, 2013 19:17
$('div').add_at_index(content, index) adds an element at a given index.
// Works with Zepto/jQuery
$.fn.add_at_index = function(content, index) {
if (index < 0) { index = 0 }
this.each(function() {
var $this = $(this)
var $child = $this.children().eq(index)
if ($child.length) { return $child.before(content) }
$this.append(content)
@EtienneLem
EtienneLem / 1 - one_for_all.js
Created September 3, 2013 19:03
$('a').one('click', callback) is executed at most once *per element*. $('a').one_for_all('click', callback) is executed at most once… *for all elements*.
// Works with Zepto/jQuery
$.fn.one_for_all = function(type, callback) {
var $all = $(this)
$all.on(type, function(e) {
$all.off(type)
callback(e)
})
}
@EtienneLem
EtienneLem / application_helper.rb
Created June 19, 2013 17:35
The best way to code bookmarlets (with Rails)
def javascript_content(file_name)
Rails.application.assets[file_name].source.html_safe
end
@EtienneLem
EtienneLem / ajax_worker.js
Created June 10, 2013 19:40
Ajax Web Worker
var handleRequest = function(data) {
postMessage(data)
}
addEventListener('message', function(e) {
var xhr = new XMLHttpRequest
xhr.open('GET', e.data)
xhr.onreadystatechange = function(e) {
if (xhr.readyState === 4 && xhr.status === 200) {
handleRequest(xhr.responseText)