Skip to content

Instantly share code, notes, and snippets.

View ostronom's full-sized avatar

Konstantin Kirillov ostronom

View GitHub Profile
@ostronom
ostronom / auth.scala
Created November 16, 2013 15:44
Наколеночные action-ы для авторизации
package controllers
import scala.concurrent._
import play.api.mvc._
import play.api.libs.json._
import play.api.libs.concurrent.Execution.Implicits._
import play.modules.reactivemongo.json.collection.JSONCollection
import play.modules.reactivemongo.MongoController
(defn calculate-deposit* [ch]
(let [control (chan 256)
users (udb/get-users)
total (count users)]
(doseq [g (partition-all (quot total 50) users)]
(future
(doseq [user g]
(let [data (calculate-user-deposit-row user)]
(if data (put! ch (str data "\n")))
(put! control 1)))))
(defn canonical-input-value [input]
(case (.toLowerCase (.getAttribute input "type"))
"checkbox" (.-checked input)
"textarea" (.-innerHTML input)
(.-value input)))
(defn input-pair [input]
[(.getAttribute input "name") (canonical-input-value input)])
(defn is-file? [input]
@ostronom
ostronom / gist:6f886d739e7cd45fbb8d
Created March 30, 2015 16:34
error: not all control paths return a value [E0269]. WTF?
use std::collections::HashMap;
use std::hash::Hash;
use std::cmp::Eq;
trait Transit {
fn tag(&self) -> &str;
fn rep(&self) -> String;
}
> {"":1}
VM134:2 Uncaught SyntaxError: Unexpected token :
> z = {}
Object {}
> z[""]
undefined
> z[""] = 1
1
> z
Object {"": 1}
@ostronom
ostronom / gist:7d3d91d7a7676474688b
Created April 8, 2015 02:31
SUCH ENTERPRISE MUCH JAVA
(ns myns
(:require
[cats.core :as m]
[cats.monad.either :as either])
(:import
[com.google.common.io Files]
[org.jclouds ContextBuilder]
[org.jclouds.io Payloads]
[org.jclouds.rackspace.cloudfiles.v1 CloudFilesApi]))
package main
import (
"log"
"net/http"
"encoding/xml"
"database/sql"
pq "github.com/lib/pq"
mapset "github.com/deckarep/golang-set"
)
@ostronom
ostronom / f.go
Last active August 29, 2015 14:21
package main
import (
"net/http"
)
func doRequests(url string, num uint16) {
ch := make(chan bool, num)
var i uint16 = 0
for ; i < num; i++ {
(ns myns
(:require-macros [cljs.core.async.macros :refer [go-loop]])
(:require [ajax.core :refer [ajax-request raw-response-format]]))
(def html5supported?
(not (or (undefined? js/File)
(undefined? js/Blob)
(undefined? js/FileList)
(not (or js/Blob.prototype.webkitSlice js/Blob.prototype.mozSlice js/Blob.prototype.slice false)))))
@ostronom
ostronom / upickle_key_circe.scala
Last active July 12, 2016 22:12
uPickle derive.key-like behaviour for circe
import cats.data.Xor
import io.circe.parser._
import io.circe._
import io.circe.generic.encoding.DerivedObjectEncoder
import io.circe.syntax._
import io.circe.generic.semiauto._
sealed trait X
case class A(i: Int) extends X
case class B(i: Int) extends X