Skip to content

Instantly share code, notes, and snippets.

View andrewsmedina's full-sized avatar

Andrews Medina andrewsmedina

View GitHub Profile
@freeformz
freeformz / WhyILikeGo.md
Last active October 6, 2022 23:31
Why I Like Go

A slightly updated version of this doc is here on my website.

Why I Like Go

I visited with PagerDuty yesterday for a little Friday beer and pizza. While there I got started talking about Go. I was asked by Alex, their CEO, why I liked it. Several other people have asked me the same question recently, so I figured it was worth posting.

Goroutines

The first 1/2 of Go's concurrency story. Lightweight, concurrent function execution. You can spawn tons of these if needed and the Go runtime multiplexes them onto the configured number of CPUs/Threads as needed. They start with a super small stack that can grow (and shrink) via dynamic allocation (and freeing). They are as simple as go f(x), where f() is a function.

@rgreenjr
rgreenjr / postgres_queries_and_commands.sql
Last active May 22, 2024 05:53
Useful PostgreSQL Queries and Commands
-- show running queries (pre 9.2)
SELECT procpid, age(clock_timestamp(), query_start), usename, current_query
FROM pg_stat_activity
WHERE current_query != '<IDLE>' AND current_query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start desc;
-- show running queries (9.2)
SELECT pid, age(clock_timestamp(), query_start), usename, query
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
@andreyvit
andreyvit / tmux.md
Created June 13, 2012 03:41
tmux cheatsheet

tmux cheat sheet

(C-x means ctrl+x, M-x means alt+x)

Prefix key

The default prefix is C-b. If you (or your muscle memory) prefer C-a, you need to add this to ~/.tmux.conf:

remap prefix to Control + a

@diogobaeder
diogobaeder / sorter.py
Created May 27, 2012 06:45
Quicksort memorization
#!/usr/bin/env python
'''
Just another quicksort implementation, to see if I memorized the algorithmn.
Apparently, yes. :-)
Gotchas during the implementation:
- forgot to check min and max in the beginning, got IndexError
- choosing nonsense as pivot led me to almost-sorted list (worked when
I stopped being stupid)
'''
@klauswuestefeld
klauswuestefeld / gist:2775926
Created May 23, 2012 15:33
Skype Public Chat Room - Setting Up Your Own
We couldn’t find that file to show.
@flavianmissi
flavianmissi / pre-commit.sh
Created May 7, 2012 14:48
Git hook to run gofmt -w . before commiting
gofmt -w .
if [ "$(git diff --diff-filter M --name-only)" == "$(git diff --cached --name-only)" ];
then
echo "There's gofmt alterations to be commited."
exit 1
fi
@ogier
ogier / gsoc_auth_user.md
Created April 4, 2012 18:05
GSoC 2012: auth.User replacement

GSoC 2012: auth.User replacement

Alex Ogier
Rising Senior, Princeton University
alex.ogier@gmail.com

Technical Details

The scope of this project is to break any hard ties to the auth.User model, and allow Django developers to cleanly specify alternate models to be used instead.

@jacobian
jacobian / authuser.md
Created March 30, 2012 00:35
Upgrading auth.User - the profile approach

Upgrading auth.User - the profile approach

This proposal presents a "middle ground" approach to improving and refactoring auth.User, based around a new concept of "profiles". These profiles provide the main customization hook for the user model, but the user model itself stays concrete and cannot be replaced.

I call it a middle ground because it doesn't go as far as refactoring the whole auth app -- a laudable goal, but one that I believe will ultimately take far too long -- but goes a bit further than just fixing the most egregious errors (username length, for example).

This proposal includes a fair number of design decisions -- you're reading the fifth or sixth draft. To keep things clear, the options have been pruned out and on the one I think is the "winner" is still there. But see the FAQ at the end for some discussion and justification of various choices.

The User model

@chzealot
chzealot / fast.txt
Created December 31, 2011 07:21
php hash algorithm collision: http://www.ocert.org/advisories/ocert-2011-003.html "$ git clone git://gist.github.com/1543224.git"
0=0&1=0&2=0&3=0&4=0&5=0&6=0&7=0&8=0&9=0&10=0&11=0&12=0&13=0&14=0&15=0&16=0&17=0&18=0&19=0&20=0&21=0&22=0&23=0&24=0&25=0&26=0&27=0&28=0&29=0&30=0&31=0&32=0&33=0&34=0&35=0&36=0&37=0&38=0&39=0&40=0&41=0&42=0&43=0&44=0&45=0&46=0&47=0&48=0&49=0&50=0&51=0&52=0&53=0&54=0&55=0&56=0&57=0&58=0&59=0&60=0&61=0&62=0&63=0&64=0&65=0&66=0&67=0&68=0&69=0&70=0&71=0&72=0&73=0&74=0&75=0&76=0&77=0&78=0&79=0&80=0&81=0&82=0&83=0&84=0&85=0&86=0&87=0&88=0&89=0&90=0&91=0&92=0&93=0&94=0&95=0&96=0&97=0&98=0&99=0&100=0&101=0&102=0&103=0&104=0&105=0&106=0&107=0&108=0&109=0&110=0&111=0&112=0&113=0&114=0&115=0&116=0&117=0&118=0&119=0&120=0&121=0&122=0&123=0&124=0&125=0&126=0&127=0&128=0&129=0&130=0&131=0&132=0&133=0&134=0&135=0&136=0&137=0&138=0&139=0&140=0&141=0&142=0&143=0&144=0&145=0&146=0&147=0&148=0&149=0&150=0&151=0&152=0&153=0&154=0&155=0&156=0&157=0&158=0&159=0&160=0&161=0&162=0&163=0&164=0&165=0&166=0&167=0&168=0&169=0&170=0&171=0&172=0&173=0&174=0&175=0&176=0&177=0&178=0&179=0&180=0&181=0&182=0&183=0&184=0&185=0&186=0&187=0&188=0&
@turicas
turicas / Makefile
Created December 3, 2011 23:22
Create slugs and abbreviate names using Python
test:
clear
nosetests --with-coverage --cover-package name_utils test_name_utils.py
clean:
find -regex '.*\.pyc' -exec rm {} \;
find -regex '.*~' -exec rm {} \;
.PHONY: test clean