Skip to content

Instantly share code, notes, and snippets.

View siman's full-sized avatar
🏠
Working from home

Alex Siman siman

🏠
Working from home
View GitHub Profile
@softprops
softprops / key_opts.md
Created June 24, 2011 06:11
sbt function operator cheatsheet

key independent functions

:=   binds single value
+=   appends single value
++=  appends seq of values

key dependent functions

<<=  binds single value

<+= appends single value

@geetchandratre
geetchandratre / play_scala_jade
Created June 4, 2013 12:24
Play 2.x + SBT + Scala + Jade
All you need to do is,
In your SBT Dependencies add,
"de.neuland" % "jade4j" % "0.3.11" from "https://raw.github.com/neuland/jade4j/master/releases/de/neuland/jade4j/0.3.11/jade4j-0.3.11.jar",
"com.googlecode.concurrentlinkedhashmap" % "concurrentlinkedhashmap-lru" % "1.3.1",
"org.apache.commons" % "commons-jexl" % "2.1.1"
You need apache libs as Jade4J uses them internally,
@m242
m242 / gist:1205631
Created September 9, 2011 06:43
Scala Option in JavaScript
var MyOption, Option;
Array.prototype.filter = function(f) {
var x, _i, _len, _results;
_results = [];
for (_i = 0, _len = this.length; _i < _len; _i++) {
x = this[_i];
if (f(x)) {
_results.push(x);
}
@guersam
guersam / AutoProductFormat.scala
Last active March 8, 2017 19:26
Macro-based json format generator for spray-json (https://github.com/spray/spray-json)
package spray.json
import scala.language.experimental.macros
trait AutoProductFormat extends DefaultJsonProtocol {
implicit def jsonFormat[T <: Product]: RootJsonFormat[T] = macro AutoProductFormatMacro.autoProductFormatMacro[T]
}
object AutoProductFormat extends AutoProductFormat
@siman
siman / jquery-in-browser-console.js
Created April 20, 2017 23:59
Inject jQuery into browser console
var script = document.createElement("script");
script.setAttribute("src", "//code.jquery.com/jquery-latest.min.js");
script.addEventListener('load', function() {
var script = document.createElement("script");
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
@siman
siman / image-proxy.conf
Created September 24, 2018 21:08 — forked from tmaiaroto/image-proxy.conf
Nginx Image Filter Resize Proxy Service
# Feel free to change this path of course (and keys_zone value as well, but also change the usage of it below).
proxy_cache_path /var/www/cache/resized levels=1:2 keys_zone=resizedimages:10m max_size=1G;
# Gzip was on in another conf file of mine...You may need to uncomment the next line.
#gzip on;
gzip_disable msie6;
gzip_static on;
gzip_comp_level 4;
gzip_proxied any;
# Again, be careful that you aren't overwriting some other setting from another config's http {} section.
@bithavoc
bithavoc / postgres-notify-trigger.sql
Last active February 2, 2019 09:31
I used this trigger to notify table changes via NOTIFY (migrating off RethinkDB)
CREATE OR REPLACE FUNCTION notify_trigger() RETURNS trigger AS $$
DECLARE
channel_name varchar DEFAULT (TG_TABLE_NAME || '_changes');
BEGIN
IF TG_OP = 'INSERT' THEN
PERFORM pg_notify(channel_name, '{"id": "' || NEW.id || '"}');
RETURN NEW;
END IF;
IF TG_OP = 'DELETE' THEN
PERFORM pg_notify(channel_name, '{"id": "' || OLD.id || '"}');
@abrkn
abrkn / index.js
Created October 13, 2017 20:53
kraken-minimal-trader
#!/usr/bin/env node
const assert = require('assert');
const { delay } = require('bluebird');
const BigNumber = require('bignumber.js');
const kraken = require('./kraken');
const {
fetchMyOpenOrders,
fetchOrderBook,
placeOrder,
@siman
siman / visual-code-user-settings.json
Last active June 30, 2019 09:49
Visual Studio Code with Rust syntax. You need to install "dark-plus-syntax" theme before.
{
"window.zoomLevel": 1,
"gitlens.settings.mode": "advanced",
"eslint.enable": false,
"files.autoSave": "onFocusChange",
"files.associations": {
"*.css": "scss"
},
"editor.wordWrap": "on",
"editor.renderWhitespace": "boundary",
@siman
siman / Web3-Foundation-tasks-for-blockchain-hackathon-Kyiv-Sep-2019.md
Created September 17, 2019 08:25
Web3 Foundation tasks for blockchain hackathon. Kyiv, Sep 21-22, 2019.

Вознаграждение от Web3 Foundation в размере $500 получит команд(а/ы), которая предложит качественное решение на блокчейне фреймворке Substrate или же, если это решение связано с инфраструктурой Polkadot Network. В качестве примеров, могут быть проекты на такую тему:

  • Альтернативные реализации тех модулей (SRML), которые уже идут в составе Substrate. Например:
    • Упрощенный модуль для балансов "balances" без locking, vesting, etc.
    • Упрощенный модуль для голосования "voting" с квадратическим голосованием.
    • Альтернативная реализация модуля "treasury"
    • и т.д.