Skip to content
View mmomtchev's full-sized avatar
Block or Report

Block or report mmomtchev

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mmomtchev/README.md

Stand With Ukraine Stand With Palestine

Blue Anarchist flag


WARNING

Currently, after moving away from Snyk because they have been submitting sabotage PRs: mmomtchev/velivole-mobile#56, I started using @dependabot, which also submitted a sabotage PR: mmomtchev/ol-mbtiles#85.

After evaluating my options, I came to the conclusion that at the moment it will cost me less to validate all PRs, then to move away from dependabot, but everyone who relies on it, should know that using it for sabotage in cases of judicial corruption is allowed and tolerated behavior at @github.

(since this event - any my particularly derogatory comments about it - @dependabot has been submitting PRs simultaneous with comments on some major @OpenJS projects)


I am an unemployed IT engineer living on social welfare in a legal no-man's-land after an ex-employer covered up a series of very serious sexually-motivated crimes and tried to extort me to not talk about what happened. The affair has spiraled out ouf control and it involves a very large number of French judicial officials, the French police, politically exposed persons, and many big IT companies such as Google, Twitter, Amazon AWS, OSGeo, the OpenJS Foundation, StackOverflow, some YCombinator companies and even Steam and Cloud Imperium Games.

I have excellent technical level and solid experience that is not available on the job market. I am looking for a company that will refuse to take part in the extortion - unlike my previous employers.

This point is absolutely non-negotiable - I am willing to continue to live off social welfare until I find a non-criminal company.

I also plan to dedicate part of my energy - and my life - to combatting corruption in the French judiciary, police, government administration and the European institutions.

I invite you to take a look at my projects.

Je suis un ingénieur en informatique qui vit au RSA en dehors de tout cadre légal. Mes deniers employeurs ont couvert une série de graves délits, dont à la fois la motivation et le caractère sont de nature sexuelle. Ensuite ils ont tenté de faire chantage par le biais des cabinets de recrutement et actuellement on me pose des conditions extraordinaires - y inclus de nature sexuelle - pour que je puisse retravailler. Depuis, l'affaire a été démultipliée en boule de neige et elle implique actuellement des magistrats de justice, la Police Nationale, quelques grands noms de la politique et le business, et les grandes entreprises du secteur comme Google, Twitter, Amazon AWS, OSGeo, la fondation OpenJS, StackOverflow, YCombinator et même Steam et Cloud Imperium Games.

J'ai un excellent niveau et expérience qu'on ne trouve pas sur le marché du travail. Je suis à la recherche d'une société est prête à refuser de s'impliquer au chantage - ce qui n'a pas été le cas de mes employeurs juqu'au présent.

Ce point n'est pas à débattre - je suis prêt à vivre au RSA tant que je ne trouve pas une entreprise qui n'est pas criminelle.

Je compte également dédier une partie de mon énergie - et ma vie - à la lutte contre la corruption au sein du système judiciaire, la police, l'administration publique et les institutions européennes.

Je vous invite à parcourir la liste de mes projets.

Core skills:

  • Top-of-the-line C/C++ and JavaScript/Typescript level
  • Top-of-the-line understanding of language interpreters and their internals - especially Node.js/V8 and to a lesser degree Python
  • Very good understanding of operating system internals - especially Linux and BSD
  • Experience working with compiler internals
  • Experience working with networking stacks and developing network hardware
  • GIS, computational geometry and spatial algorithms
  • Very good understanding of browser JavaScript, WASM, React and web bundlers
  • High-performance computing, parallel computation and numerical weather prediction

Eunuch Programmers

I have started maintaining a list of the companies where the kind of deal I am offered is possible - there are some very large French and US companies in it - you can find it here.

I am maintaining a large number of binary Node.js projects - if you use any of them, you should know that I am ready to provide pre-built binaries for Macbooks with Apple Silicon if someone provides me a remote access to such hardware. If paying by the hour, expect about an hour of average daily usage. If you care only about the software and do not want be involved with the criminal affair, there are various options for anonymous sponsorship.

My projects:

General Purpose Software

  • SWIG JSE - I am the author/maintainer of the Node-API support in SWIG and I publish and maintain SWIG JavaScript Evolution which features very advanced JavaScript support for both Node.js and WASM in the browser
  • nobind17 - An experimental next-generation C++ to JavaScript binding framework for Node.js inspired by pybind11 but using C++17 fold expressions
  • pymport - Full compatibility of Python libraries with Node.js, use as if it was a native package
  • libnode - Node.js-as-a-shared-library allowing easy calling of JS code from compiled C and C++ applications through the Node-API (C) and node-addon-api (C++) interfaces with Ubuntu/Debian packages, created as part of GSoC 2022
  • magickwand.js - Full ImageMagick-7 bindings for Node.js - meant both as a full-featured general-purpose image processing library for Node.js and as testing grounds for SWIG NAPI (of which I am the author), includes a tutorial for porting C++ libraries to Node.js
  • @mmomtchev/ffmpeg - A complete native integration of the ffmpeg audio and video streaming framework with Node.js using nobind17
  • everything-json - Fast asynchronous JSON parser for Node.js that does not block the event loop
  • sqlite-wasm-http - the so-called SQL over HTTP middleware, an alternative implementation of @phiresky/sql.js-httpvfs based on the new official SQLite WASM distribution
  • ExprTk.js - asynchronous Node.js bindings for ExprTk - a mathematical expression engine - allowing for an effortless multithreading of computationally heavy tasks by supporting asynchronous execution of thunks precompiled from strings - it will eventually be supported by both gdal-async and scijs
  • jeetah - an optimizing compiler for mathematical expressions in JavaScript
  • documentation-polyglot - a plugin that adds C++ support to documentation.js via the new plugin framework that I am currently making
  • documentation-hipster - is a beautiful documentation.js Bootstrap-based theme with support for TypeScript and React components - one of its goals is to provide an almost drop-in replacement for the seemingly dying react-styleguidist project
  • react-native-settings - an all-in-one component for creating cross-platform settings (preferences) screens with React Native
  • react-edit-list - an universal editable ListView React component that can interact with an external API
  • @mmomtchev/expo-android-localized-app-name - an expo plugin for having a localized app name in managed React Native workflows
  • yatag - is a tool that I use to generate the TypeScript type definitions in most of my projects, it is slowly reaching maturity
  • Queue - is a rather simple but useful package for rate-limiting access to external APIs
  • @mmomtchev/node-pre-gyp-github - an almost complete rewrite of the popular node-pre-gyp-github abandoned by its author, compatible with the current version of the GitHub API
  • SharedMap - is a Map that can be accessed by multiple worker_threads

Geospatial Software

  • node-gdal-async - I am actively developing the GDAL bindings for Node.js which used to be abandoned by its creator
  • rlayers - a set of React components for creating online maps with OpenLayers
  • ol-mbtiles - an Openlayers plugin adding MBTiles support
  • intercity.js - a still unreleased Work-In-Progress for a dynamic data WMTS/WMS/WCS/WFS server for Node.js
  • query-mvt - a simple CLI tool and a Node.js/browser library for retrieving geographical data directly from public map services without the need for an API, special server software or any keys, works with Qwant Maps and all other map services that serve MVT/PBF tiles (Google Maps uses a proprietary format)
  • geosub - A tool for partial downloading of bands and subwindows from geospatial raster datasets from cloud storage, it is an Amazon AWS-compatible replacement for NOAA's own g2sub
  • geoapi - is an open-source server that can translate lat:long coordinates to postal codes (a free GeoNames API), it is based on the proprietary geodata in velivole
  • europe-geodata - a collection of freely available geographical information for Europe

Paragliding Software

  • igc-xc-score - an open-source solution for scoring paragliding XC competitions - which is a very interesting linear optimization problem with a O(n^5) worst case complexity
  • XC-DB - an open-source interactive browser for paragliding flight tracks implemented in React, Redux and rlayers for the front-end and Node.js, Express, gdal-async and ndarray for the back-end
  • velitherm - an open-source library of basic thermodynamics equations used in soaring weather
    • velitherm-visu - is an online air parcel calculator in React that uses the library
  • igc-admin-analyze - a tool for analyzing IGC flight logs giving a percentage of time spent above given administrative divisions defined by their GeoJSON borders

Space

  • orbitron - a tool for making .gif and .mp4 animations of orbiting bodies out of the NASA/JPL Horizons data

Websites

I am mostly a C++/JavaScript integration expert with a focus on V8/Node.js internals, but I also do lots of browser JS / web development:

  • velivole.fr / meteo.guru - is a free soaring weather site for paragliding, hang-gliding and sail-plane pilots. It is complex application which includes a vanilla JS / OpenLayers 6 / custom webpack front-end, an Express.js/Node.js backend and a Node.js/C++ computational engine for specialized numerical weather prediction that consists of a secondary model running on top of the French and German national weather models. You can see an overview of velivole/meteo.guru here and explore its API here. The website includes a number of GIS innovations, including the remote querying of MVT data using query-mvt. It is also the very first site in the world to support the displaying of remote MBTiles maps using ol-mbtiles. Almost all of my GIS software listed above is used in some way on this site.
  • xc-db.velivole.fr - an open-sourced navigator/explorer that can uses basic machine-learning (an algorithm loosely based on K-means clustering) to deduce the typical routes pilots will take depending on the prevailing winds by classifying all paragliding flights of the French Federal Distance Cup of the French Paragliding Association. Node.js/Express.js/gdal-async backend with a React/Redux/rlayers front-end. No mobile version available at the moment. The sites is a demonstration of the capabilities of gdal-async used with Express.js and rlayers as it includes a dynamically computed particle visualization entirely in React/rlayers that uses an SQL database with 700M lines.
  • isitplausible.com - a StackOverflow-inspired website for analyzing the scientific accuracy of Sci-Fi movies, books and video games. Node.js/Express.js backend with React/Next.js, this was my first foray in the world of server-side rendering with React.
  • scodex.garga.net - the first attempt of creating an universal Codex website for the (forever) upcoming Star Citizen by CIG with information extracted from the game files using scdatatools in Node.js / TypeScript environment with pymport. The site also makes heavy use of gdal-async, rlayers, node-magickwand and scijs through ndarray-gdal because it includes detailed 2D/3D maps of the planets and some basic extrasolar astronomy. Backend-less design with server-rendered React using Next.js 13.
  • aircalc.velivole.fr - a thermodynamics air parcel calculator for weather, online version of velitherm-visu, raw React.
  • xc-score - online version of * igc-xc-score - vanilla JS with a custom webpack.

Mobile applications

  • velivole-mobile - the open-sourced mobile counterpart to velivole.fr, in its current iteration it is based on React Native / expo.

Timewasters


You can also check my Medium articles here: https://mmomtchev.medium.com/

Besides writing software, I have been trying, for almost 10 years now, to create a video as stunningly beautiful as this one that I saw when I started paragliding. I have come a long way since I started in 2012.

I also used to spent lots of time doing blue water sailing before my affair spiraled out of control.

I am an active member of the French Paragliding and Hang-gliding Federation https://www.ffvl.fr and (currently) an inactive member of the French Sailing Federation https://www.ffvoile.fr.

Vous pouvez également lire mon introduction rapide à la thermodynamique appliquée au vol libre et le vol à voile ici: THERMODYNAMIQUE.md.

There is also an English version of my introduction to the basic concepts of Thermodynamics for Soaring Flight here: THERMODYNAMICS.md.

Pinned

  1. rlayers rlayers Public

    React Component Library for OpenLayers

    TypeScript 155 30

  2. node-gdal-async node-gdal-async Public

    Forked from yocontra/node-gdal-next

    Node.js bindings for GDAL (Geospatial Data Abstraction Library) with full async support

    C++ 115 23

  3. igc-xc-score igc-xc-score Public

    A scoring program for gliding competitions striving for 100% accuracy and determinism

    JavaScript 40 6

  4. Queue Queue Public

    async/await-compatible Promise-based priority queues

    TypeScript 49 2

  5. geosub geosub Public

    geosub is a tool for partial downloads of geospatial raster datasets from remote data sources

    JavaScript 11

  6. exprtk.js exprtk.js Public

    Node.js bindings for the Mathematical Expression Toolkit

    C++ 12 1