Skip to content

Instantly share code, notes, and snippets.

View typesend's full-sized avatar

Ben Damman typesend

  • Missoula, Montana
  • 14:18 (UTC -06:00)
  • X @typesend
View GitHub Profile
@GeorgeLyon
GeorgeLyon / Rust vs. Swift.md
Last active March 21, 2025 11:33
A list of advantages Swift has over Rust

Note This is a little out of date. Rust has made some progress on some points, however many points still apply.

Philosophy

Progressive disclosure

Swift shares Rust's enthusiasm for zero-cost abstractions, but also emphasizes progressive disclosure. Progressive disclosure requires that language features should be added in a way that doesn't complicate the rest of the language. This means that Swift aims to be simple for simple tasks, and only as complex as needed for complex tasks.

The compiler works for you

@duncanjbrown
duncanjbrown / core.cljs
Created December 1, 2017 16:29
Basic circle packing with ClojureScript and d3.js
(ns bubble.core
(:require [d3 :as d3]))
(enable-console-print!)
(.format d3 "d") ; we will use integers for our data
; set up a color sequence. Later on we will pass numbers to the
; 'color' function defined here and it will give us back colours one
; by one.
defmodule Store do
@initializer_action %{type: "@@INIT"}
# Code your Mom calls
def start_link(reducer, initial_state \\ nil) do
GenServer.start_link(__MODULE__, [reducer, initial_state])
end
def get_state(store) do
@swillits
swillits / Keycodes.swift
Last active October 22, 2024 15:30
Swift Keyboard Keycodes
struct Keycode {
// Layout-independent Keys
// eg.These key codes are always the same key on all layouts.
static let returnKey : UInt16 = 0x24
static let enter : UInt16 = 0x4C
static let tab : UInt16 = 0x30
static let space : UInt16 = 0x31
static let delete : UInt16 = 0x33
static let escape : UInt16 = 0x35
@wesbos
wesbos / recent-places.md
Created October 29, 2015 14:04
Increase OSX "Recent Places

Increase the number of "Recent Places" that OSX shows in save dialogs. This allows you to quickly save files without having to dig through nested folders.

  1. Open your terminal and run defaults write .GlobalPreferences NSNavRecentPlacesLimit -int 10 && killall Finder
  2. OSX will now save 10, instead of the default. You won't see it take effect right away, but only after you save 5 more things.
  3. Enjoy your better life.

@iangreenleaf
iangreenleaf / gist:b206d09c587e8fc6399e
Last active March 24, 2025 13:09
Rails naming conventions

Rails naming conventions

General Ruby conventions

Class names are CamelCase.

Methods and variables are snake_case.

Methods with a ? suffix will return a boolean.

@runexec
runexec / Clojure Does Objects Better.clj.md
Last active June 17, 2020 03:47
Clojure Does Objects Better

Clojure does Objects Better

A hopefully short and concise explanation as to how Clojure deals with Objects. If you already write Clojure, this isn't for you.

You know what an Interface is if you write/read Java or PHP 5+. In Clojure it might be called defprotocol.

user> (defprotocol IABC
        (also-oo [this])
        (another-fn [this x]))

IABC

@john2x
john2x / 00_destructuring.md
Last active April 10, 2025 15:15
Clojure Destructuring Tutorial and Cheat Sheet

Clojure Destructuring Tutorial and Cheat Sheet

(Related blog post)

Simply put, destructuring in Clojure is a way extract values from a datastructure and bind them to symbols, without having to explicitly traverse the datstructure. It allows for elegant and concise Clojure code.

Vectors and Sequences

# .railsrc
-B #Skip Bundle
-T #Skip Test-Unit
-d postgresql #Use postgres