Skip to content

Instantly share code, notes, and snippets.

View daGrevis's full-sized avatar
⌨️
Keyboard operator

Raitis Stengrevics daGrevis

⌨️
Keyboard operator
View GitHub Profile
@daGrevis
daGrevis / quicksort.clj
Last active August 29, 2015 13:56
Quicksort in Clojure
(defn pivot-and-rest [coll]
(let [splitted (split-at (quot (count coll) 2) coll)
second-part (second splitted)]
[(first second-part) (concat (first splitted) (rest second-part))]))
(defn quicksort [coll]
(cond
(empty? coll) []
(= (count coll) 1) coll
:else (let [[p xs] (pivot-and-rest coll)
@daGrevis
daGrevis / bat_widget.lua
Last active August 29, 2015 13:56
Battery widget for awesome (using acpi)
bat_widget = wibox.widget.textbox()
function set_bat(bat_widget)
local s = ""
local output = io.popen("acpi"):read()
if not output then
s = "N/A"
bat_widget:set_text(s)
return
end
local percentage = string.match(output, ".-(%d+)%%")
@daGrevis
daGrevis / closure.py
Created March 5, 2014 09:59
Counter using closure and non-local in Python 3
def make_counter(n):
def inner():
nonlocal n
n = n + 1
return n
return inner
counter = make_counter(0)
@daGrevis
daGrevis / url.regex
Last active August 29, 2015 13:57
Will match 99% URLs
/
(?:(\w+)\:?\/\/)? # Protocol
([^\/?]+) # Optional subdomains, domain and TLD
\/? # Traling slash
([^\?]*) # Path
([^\#]*) # Query
(\#?.*) # Fragment
/xu
# http://regex101.com/r/oV5tN9
@daGrevis
daGrevis / gist:11156962
Last active August 29, 2015 14:00
Decent HN (Stylish CSS)
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("news.ycombinator.com") {
td[bgcolor="#ff6600"] {
background-color: #efefef !important;
border-radius: 4px;
}
a[href="news"] {
@daGrevis
daGrevis / counter.cljs
Last active August 29, 2015 14:02
Counter w/ ClojureScript and Om
(ns counter.core
(:require [om.core :as om :include-macros true]
[om.dom :as dom :include-macros true]))
(enable-console-print!)
(def app-state (atom {:count 42}))
(defn dec-button [counter owner]
(reify
### Keybase proof
I hereby claim:
* I am daGrevis on github.
* I am dagrevis (https://keybase.io/dagrevis) on keybase.
* I have a public key whose fingerprint is 2177 F4D9 3FF0 44D7 9C06 B98D C9D2 E5ED 8C4E A01A
To claim this, I am signing this object:
@daGrevis
daGrevis / gist:1222690
Created September 16, 2011 17:52
Uppercase and lowercase letters from Latin alphabet
<?php
//$letters = array_merge(range(chr(65), chr(90)), range(chr(97), chr(122)));
$letters = array_merge(range('a', 'z'), range('A', 'Z'));
@daGrevis
daGrevis / gist:1226567
Created September 19, 2011 14:07
Spinner/loader in specified place before AJAX request (shows only if request has taken more than X milliseconds)
//var i, interval_id;
//var interval_id;
var timeout_id;
//i = 0;
//interval_id = setInterval(function() {
timeout_id = setTimeout(function() {
// ++i;
@daGrevis
daGrevis / gist:1235048
Created September 22, 2011 15:22
Globals are evil, but still...
var global = (function () {
return this;
}());