Skip to content

Instantly share code, notes, and snippets.

View girishso's full-sized avatar

Girish Sonawane girishso

  • Pune, India
View GitHub Profile
@ssrihari
ssrihari / clojure-learning-list.md
Last active January 25, 2026 18:36
An opinionated list of excellent Clojure learning materials

An opinionated list of excellent Clojure learning materials

These resources (articles, books, and videos) are useful when you're starting to learn the language, or when you're learning a specific part of the language. This an opinionated list, no doubt. I've compiled this list from writing and teaching Clojure over the last 10 years.

  • 🔴 Mandatory (for both beginners and intermediates)
  • 🟩 For beginners
  • 🟨 For intermediates

Table of contents

  1. Getting into the language

Simple Parametrized Snap-fit Enclosure for a PCB in Onshape

One killer application for 3D printing is building enclosures for electronics prototypes. Many hobbyists use tools like TinkerCAD to build simple project boxes that are held together using screws.

A more elegant solution is to use snapfit enclosures that consist of two parts that can be snapped together with a satisfying click and without the need for additional parts or tools. Depending on how these snap-fits are designed, pulling the parts apart can be very easy to next to impossible.

Key principles

  • The part must not be under stress after being snapped together. PLA slowly deforms over time if it is under pressure for a prolonged period of time. Hence avoid "friction fits" where to parts are joined simply due to the friction betwee them
  • Always use clearance, at least in x and y dimensions. 0.1mm for a well-tuned FDM printer to 0.2mm for larger nozzles and/or faster printing situations
@r-k-b
r-k-b / expand-entries-in-elm-debugger.js
Last active February 6, 2020 04:04
Expand all the entries in an Elm Debugger window.
// Intended to be run from the Snippets panel in Chrome Dev Tools, targeting the Elm Debugger popout window.
// https://gist.github.com/r-k-b/9e341370159e87b7f8b09200660e93ea
(() => {
// these are multiple megabytes in size, too big to diff
const blacklist = ['lookup', 'repository', 'historyDetail', 'templateInfos'];
const getChevrons = () => {
const all = [...document.querySelectorAll('span[style*="width: 2ch"]')]
.map(node => ({node, label: node.nextSibling.textContent}))
.filter(chev => !blacklist.includes(chev.label));
@yogthos
yogthos / clojure-beginner.md
Last active January 24, 2026 08:28
Clojure beginner resources

Introductory resources

@mordrax
mordrax / phd-elm-19-upgrade.md
Last active July 14, 2021 01:27
Upgrade to elm 0.19

This gist started Wednesday 29th August. We have until Friday 7th September to upgrade to Elm 0.19. This is a bunch of notes which I'm keeping track of to eventually turn into an article later on. Hope it helps your upgrade.

Day 1

Pre upgrade

428 Elm files.

@steven2358
steven2358 / ffmpeg.md
Last active February 14, 2026 09:20
FFmpeg cheat sheet
@levelsio
levelsio / btc-eth-dca-buy.php
Last active January 21, 2025 12:12
This script runs daily and "Dollar Cost Average"-buys $40 BTC and $10 ETH per day
<?
//
// [ BUY BTC & ETH DAILY ON BITSTAMP ]
// by @levelsio
//
// 2017-08-23
//
// 1) buy $40/day BTC
// 2) buy $10/day ETH
//
@mterwill
mterwill / USAGE.md
Last active April 27, 2025 15:04
Beancount importers, scripts, etc.

Note: everything here is pretty specific to my usage/accounts and not written for public use... You'll probably have to tweak a bunch of stuff.

$ bean-extract config.py ~/Downloads # the csvs should be in here
@ariona
ariona / readme.md
Last active October 5, 2022 13:41
Developing React-native App on MIUI

If you are developing React native based Android App and using XIAOMI/MIUI Device, this tips might help you to get rid some headache when debugging the app

Enabling Developer Menu

To enable Developer Menu, you need to tag 7 times on MIUI Version under About Phone Setting menu instead of Build Number. The Developer Menu can be found on Additional Settings

Can't Install Debug APK? "...Failed to establish session"?

  1. enable developer mode - In your phone, go to Settings, About phone and click on MIUI version 7 times. You’ll see a pop up which says you are a developer now.
  2. Go back to Settings, Additional settings, Developer options and enable USB Debugging.
  3. Connect your phone to your PC/Mac and on the phone authorize your computer
@mdemin914
mdemin914 / Main.elm
Created January 24, 2017 01:15
example of fetching data with elm and remote data
module Main exposing (..)
import RemoteData exposing (WebData, RemoteData(..), asCmd, fromTask)
import Html exposing (Html, text, div, input, br)
import Html.Events exposing (onClick)
import Html.Attributes exposing (type_, value)
import Http exposing (get, toTask)
import Json.Decode exposing (Decoder, string)
import Json.Decode.Pipeline exposing (decode, required)
import Random exposing (int, generate)