Skip to content

Instantly share code, notes, and snippets.

View soshial's full-sized avatar
Working from home


Working from home
View GitHub Profile
soshial / МАС_рука.dsl
Created February 18, 2024 07:23
Example of sub-glosses in DSL
[m1][c darkmagenta]-[']и[/'][/c], [p]вин.[/p] [c darkmagenta]р[']у[/']ку[/c], [p]мн.[/p] [c darkmagenta]р[']у[/']ки[/c], [p]дат.[/p] [c darkmagenta]рук[']а[/']м[/c], [p]ж.[/p][/m]
[m1]Каждая из двух верхних конечностей человека от плечевого сустава до кончиков пальцев.[/m]
[m1][*][ex][i]Заложить руки за спину. Скрестить руки на груди.[/i][/ex][/*][/m]
[m1][*][ex][i]∘ Корж залюбовался руками корейца. Мускулистые, голые по локоть, они отливали на солнце золотом.[/i] Диковский, Патриоты.[/ex][/*][/m]
[m1]Та же конечность от запястья до кончиков пальцев; кисть.[/m]
[m1][*][ex][i]Взять в руку. Погладить рукой. Мыть руки перед едой.[/i][/ex][/*][/m]
soshial /
Last active February 21, 2023 20:41
AppleDict format documentation

Format types based on Dictionary-Development-Kit script:


-v "10.11" $COMPATIBLE_VERS = ["10.5" "10.6" "10.11"] (contains HTML of word articles):

  1. multi-section or 1-section (contains indexes and morpohology):

soshial /
Created August 13, 2022 15:56
Export lists from Google Maps and import into Organic Maps
import json
if __name__ == "__main__":
c = 0
kml = """<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="">
<Document><Style id="placemark-red">
soshial / XDXF
Last active January 19, 2022 14:45
A roster and database of XDXF dictionaries

I propose dictionary creators to share their XDXF dictionaries. Just write a comment, that contains:

  1. dic title
  2. date of publishing on paper and date of publishing XDXF file
  3. a link to the XDXF file
soshial /
Last active May 8, 2024 14:17
Freematics + Traccar (integration and configuration)

In this article I listed some common problems I encountered when I tried to use Freematics OBD-reader together with traccar device-tracking server. Both are open-source, thanks to which I was able to improve both and their cooperation.

Freematics: official repo and my fork.

traccar: official repo and my fork.

What are the pitfalls and hardware drawbacks of Freematics?

  1. Currently, Freematics cannot switch between WiFi and SIM depending on connectivity. If you want to switch to a different WiFi or mobile operator - you need to open your bloody Windows and recompile everything :)
  2. Doesn't work at all without external power, has no battery. Works only when connected to USB (3.7V), OBD-II (12V), or SAE J1939 (24V). It me
soshial /
Last active April 12, 2020 08:08
EPSG:3059 (LKS-92) koordināšu pārrēķins uz platuma un garuma grādiem; transform coordinates code
import math
def lks_2_latlon(x, y):
# Ellipsoid model constants (actual values here are for WGS84) */
UTMScaleFactor = 0.9996
sm_a = 6378137.0
sm_b = 6356752.314
x -= 500000.0
# Pirmā atšķirība no WGS84 - Kilometriņš šurpu, kilometriņš turpu.
soshial /
Last active April 30, 2022 17:35
Converting PDF table of contents into DjVu outline
import xml.etree.ElementTree
import djvu.decode as djvu
import sys
__author__ = 'soshial'
1. export bookmarks from PDF using pdfminer:
> python tools/ -T ~/book.pdf > ~/toc_pdf.xml
2. use current script to convert bookmarks (we need python-djvulibre), but it could be easily done without it (using pages, see
soshial / template.xml
Last active June 1, 2018 12:26
ABBYY FineReader HotFolder template *.fta file
<?xml version="1.0"?>
<scenarios xmlns="">
<scenario name="Моя задача111">
<operation operationType="UseBatch" mode="loadOptions" batchOrOptionsPath="" checkAfterExecute="false"
<batchOptions xmlns="" hasLanguageDataBase="false">
<ocr options="OCRO_DetectTables,OCRO_DetectPictures" textType="STT_Normal" hilightLevel="SBEHL_Thorough"
patternName="(Default)" patternMode="UPM_DontUseUserPattern">
<language type="" languages="French,RussianOldSpelling"/>
soshial / gist:2971507
Created June 22, 2012 09:01
Restoring Firefox session tabs from sessionstore.bak
import json,codecs
session_text = "sessionstore.bak", "r", "utf-8" ).read()
json = json.loads(session_text)
for i in range(len(json['_closedWindows'][0]['tabs'])):
print json['_closedWindows'][0]['tabs'][i]['entries'][-1]['url']
print 'done'