Skip to content

Instantly share code, notes, and snippets.

View ukstv's full-sized avatar

Sergey Ukustov ukstv

View GitHub Profile
object Trampolines {
def odd[A](as: List[A]): TailRec[Boolean] =
as match {
case Nil => Return(false)
case _ :: xs => Suspend(() => even(xs))
}
def even[A](as: List[A]) = as match {
case Nil => Return(true)
case _ :: xs => Suspend(() => odd(xs))
import java.io.{DataOutputStream, ByteArrayOutputStream}
import java.nio.ByteBuffer
import java.security.{KeyPairGenerator, SecureRandom}
import javax.crypto.{KeyGenerator, Cipher}
import javax.crypto.spec.IvParameterSpec
import akka.actor.{ ActorRef, ActorSystem, Props, Actor }
sealed trait Message
case class Start(visavis: ActorRef)
@ukstv
ukstv / traverse.coffee
Created December 10, 2010 11:19
Directory tree traversal
fs = require('fs')
util = require('util')
path = require('path')
flatten = (a, b) ->
if typeof b is 'undefined'
b = a
a = []
b = b.reduce(flatten, []) if typeof b is 'object'
a = [a] if typeof a isnt 'object'
#!/usr/bin/env ruby
require 'nokogiri'
require 'active_record'
require "sqljdbc4.jar"
ActiveRecord::Base.establish_connection(
:adapter => "jdbcmssql",
:driver => "com.microsoft.sqlserver.jdbc.SQLServerDriver",
:url => "jdbc:sqlserver://192.168.0.18;databaseName=oms_db_cod_12",
require 'socket'
address = Addrinfo.tcp('224.0.0.1', 5670)
socket = UDPSocket.open
socket.setsockopt(:IPPROTO_IP, :IP_MULTICAST_TTL, 1)
socket.send("From Sergey with love: " + Time.now.to_s, 0, address.ip_address, address.ip_port)
socket.close
var = {
'A': {
'average_angle': (1447907856.570218,),
'angles': (1447907856.979867,)
},
'pairs': {
'average_angle': {'A': None, 'v': None},
'angles': {
'A': {
'21b635f8-4f5b-4ac0-ab82-21978a95575b': (1447907856.979862,)
@ukstv
ukstv / trim.rb
Last active December 19, 2015 08:39
require 'benchmark'
N = 50000
STRING = "asd sda sda sd"
Benchmark.bm do |b|
b.report('gsub, s') do
N.times { STRING.gsub(/\s/, '') }
end
b.report('gsub, s+') do
require 'spec_helper'
class TheCopenhagenModel < Restish::Model
end
describe Restish::Errors do
context '#from_hash' do
let(:model) { TheCopenhagenModel.new(owner: 'Schrödinger', name: 'cat', alive: true) }
let(:errors) { { 'alive' => ['is invalid'], 'cyanide_flask' => ["can't be empty"] } }
@ukstv
ukstv / gist:6683443
Created September 24, 2013 11:29
dras_client_path
module ActiveAdmin
class Resource
module Controllers
# Returns a properly formatted controller name for this
# config within its namespace
def controller_name
[namespace.module_name, resource_name.plural.camelize + "Controller"].compact.join('::')
end
class EnumType < DelegateClass(Symbol)
# ...
end
Symbol.instance_eval do
def ===(other)
if other.kind_of?(EnumType)
true
else
super(other)