Skip to content

Instantly share code, notes, and snippets.

View molind's full-sized avatar

Evgen Bodunov molind

View GitHub Profile
@molind
molind / file_local.diff
Last active December 11, 2015 04:29
patch to portmap. to make it accept all connections. find_local function won't work on my iconbit xds8003d media player.
--- from_local_orig.c 2013-01-16 12:18:24.043153963 +0300
+++ from_local.c 2013-01-01 15:48:58.758821567 +0300
@@ -152,6 +152,7 @@
int from_local(struct sockaddr_in *addr)
{
+ return (TRUE);
int i;
if (addrs == 0 && find_local() == 0)
@molind
molind / keybase.md
Last active March 6, 2017 12:02
keybase.md

Keybase proof

I hereby claim:

  • I am molind on github.
  • I am molind (https://keybase.io/molind) on keybase.
  • I have a public key ASCm_moeMEojpKS_x8BGm-ReUcFuHJ10IoKwmHQKLp2B3Ao

To claim this, I am signing this object:

@molind
molind / Rename.md
Last active September 15, 2017 09:47
Смена языка географических объектов в Беларуси.

Задача: перевести максимум имен объектов на беларуский язык при этом сохранив имена на русском в name:ru. Все изменения будут проходить только в Беларуси.

Сложности

  • Ошибки в написании имени улицы.
  • Отсутствующий перевод на беларуский.
  • Консистентность адресного графа.

Подготовка

  • Надо посчитать сколько раз встречается строка в поле name.
  • Для тех строк, которые встречаются редко проверить расстояние Левенштейна до похожих слов. И предложить варианты переименования. (см. ниже)
@molind
molind / mapping.yml
Created September 21, 2017 13:44
imposm3 and hstore
areas:
area_tags: [buildings, landuse, leisure, natural, aeroway]
linear_tags: [highway, barrier]
tags:
load_all: true
exclude: [created_by, source, "tiger:*"]
tables:
polygons:
type: polygon
columns:
@molind
molind / Android.mk
Last active October 26, 2018 13:21
Android / iOS cross compile example
NICE_PRINT = "\033[1;32m Building $(1)\033[0m\n"
export PREFIX = ${CURDIR}/build/Android/${ARCH}
TOOLCHAIN = toolchain/${ARCH}
LIBDIR = ${PREFIX}/lib
INCLUDEDIR = ${PREFIX}/include
export PATH := $(CURDIR)/${TOOLCHAIN}/bin:${PATH}
export AR=${HOST}-ar
@molind
molind / postgresql_norm.conf
Created November 17, 2018 16:45
Postgresql config
include 'postgresql_orig.conf'
# Generated by PGConfig 2.0 beta
## http://pgconfig.org
# Memory Configuration
shared_buffers = 6GB
effective_cache_size = 18GB
work_mem = 819MB
maintenance_work_mem = 2GB
@molind
molind / parsel.sql
Created November 28, 2018 18:10
Parallel select function for PostgreSQL.
--
-- Befor using it you should enable dblink extension in database and allow user to run dblink_connect_u
-- You may need to change 'dbname=osm' to your db connection options in line 34.
-- CREATE EXTENSION dblink;
-- GRANT EXECUTE ON FUNCTION dblink_connect_u(text) TO user;
-- GRANT EXECUTE ON FUNCTION dblink_connect_u(text, text) TO user;
--
DROP FUNCTION IF EXISTS public.g_parsel(query text, table_to_chunk text, num_chunks integer);
CREATE OR REPLACE FUNCTION public.g_parsel(query text, table_to_chunk text, num_chunks integer default 2)
@molind
molind / SortedDictionary.swift
Last active September 7, 2020 11:36
SortedDictionary used to sort contents before JSON serialization
// We have a parent just to pass face control in JSONSerialization
@objc class SortedDictionary: NSDictionary {
let _values: NSMutableArray = []
let _keys: NSMutableOrderedSet = []
override var count: Int {
return _keys.count
}
override func keyEnumerator() -> NSEnumerator {
@molind
molind / default.mapcss
Created June 1, 2020 16:21
Default MapCSS used by GuruMaps
* {
details-text:eval(tag('name'));
details-description:eval(tag('description'));
}
line {
width:3pt;
color:#0062CC;
linejoin:round;
linecap:round;
}
@molind
molind / parsel.sql
Created July 30, 2021 09:34
Parallel select and Parallel query
-- since it uses dblink it should be enabled in the database.
-- CREATE EXTENSION dblink;
-- And you'll may need to grant permissions to use it to your user.
-- GRANT EXECUTE ON FUNCTION dblink_connect_u(text) TO user;
-- GRANT EXECUTE ON FUNCTION dblink_connect_u(text, text) TO user;
-- Usage example:
-- select g_parsel('insert into osm_polygon_extra select osm_id, st_pointonsurface( st_collect( geom ) ) from osm_polygons group by osm_id;', 'osm_polygons', 12);