HNHacker News
TopNewBestAskShowJobs

rtsisyk

23 karma · joined November 20, 2013

submissionscomments
rtsisyk··on Organic Maps Turns 4: The Privacy-Focused Alternative to Google Maps
https://github.com/mapsme/omim/ was forked in December 2020, with all new changes up to the last commit of Apr 28, 2021 merged into https://github.com/organicmaps/organicmaps/ later. MAPS.ME is alive, but they publish the source code anymore since that.
rtsisyk··on Organic Maps Turns 4: The Privacy-Focused Alternative to Google Maps
What have we achieved so far as we approach Christmas 2024:

- ~3M¹ users from all countries of the world

- ~15k ratings and reviews on AppStore and Google Play

- 4.8/4.6 average rating on AppStore/Google Play

- 10k+ stars on GitHub

- 10k (almost) issues + PRs on GitHub

- 1k (almost) forks on GitHub

- 7k+ git commits

- ~100 awesome contributors who made 5+ commits

- $0 spend on marketing - pure Organic growth

(fixed formatting)

rtsisyk··on Maps.me co-founder tries to close down Organic Maps open-source fork
> Roman noticed this. He undid the changes, made this post, and has now been booted from the organization?

Correct.

rtsisyk··on Maps.me co-founder tries to close down Organic Maps open-source fork
Removing the MIT license from the repository and claiming it as 'my code' is not how open source works.
rtsisyk··on How setting the TZ environment variable avoids thousands of system calls
BTW, packagecloud.io is the great hosting for RPM/DEB packages. We've been using it for the last couple years. GitHub + Travis CI + PackageCloud combination allows us build and publish packages for EVERY git commit in 30+ repositories targeting 15 different Linux distributions [1]. There is no more need to hire a special devops guy for that.

[1]: https://github.com/packpack/packpack#packpack

rtsisyk··on How setting the TZ environment variable avoids thousands of system calls
Overhead of localtime() is well-known, just RTFM. Anyway, this article provides very good explanation.
rtsisyk··on DynASM
Hi, Tarantool[1] team maintains production-ready fork of LuaJIT [2]. Commercial support contract for Tarantool covers problems with LuaJIT as the integral part of the product.

[1]: http://tarantool.org/ [2]: https://github.com/tarantool/luajit

P.S. there are shortcoming plans to establish a non-profit foundation to continue development of LuaJIT.

// Disclaimer, I'm a contributor of [1]

rtsisyk··on DynASM
Tarantool[1], a general-purpose database and app server based on LuaJIT, has Lua/C API to work with 64-bit numbers and even custom cdata objects [2]. I can extract this code into a separate library for you.

[1]: http://tarantool.org/ [2]: https://github.com/tarantool/tarantool/blob/1.7/src/lua/util...

rtsisyk··on Show HN: Build RPM and Debian Packages from git on Travis CI
Demo: https://asciinema.org/a/3unm4sw4g889ddk7tr0uettbn
rtsisyk··on Show HN: Build RPM and Debian Packages from git on Travis CI
Travis CI allow you to run any particular command, including Docker, on the top of their Ubuntu Precise/Trusty images. There is no way to choose other images from docker hub in the .travis.yml.

Actually, PackPack is not just for Travis, it can be also used locally:

    ~/gitrepo$ OS=fedora DIST=24 packpack        # Build for Fedora 24
    ~/gitrepo$ OS=centos DIST=7 packpack         # Build for CentOS 7
    ~/gitrepo$ OS=debian DIST=stretch packpack   # Build for Debian Stretch
    ~/gitrepo$ OS=ubuntu DIST=xenial packpack    # Build for Ubuntu Xenial
PackPack automatically bumps version in the RPM spec, packs a source tarball, creates a source RPM and then builds binary packages. You only need a proper RPM spec at `rpm/` and `major.minor` annotated git tag.
rtsisyk··on An Open Letter to CloudFare, a company who has broken the entire Internet
Medium.Com is totally broken for me:

```

HTTP/2.0 403 Forbidden Server: cloudflare-nginx <!-- CloudFlare Date: Sun, 24 Apr 2016 16:45:26 GMT Content-Type: text/html; charset=UTF-8 Set-Cookie: __cfduid=dbfe2964790ee51252ab642de294d32ea1461516326; expires=Mon, 24-Apr-17 16:45:26 GMT; path=/; domain=.medium.com; HttpOnly Cache-Control: max-age=2 Expires: Sun, 24 Apr 2016 16:45:28 GMT X-Frame-Options: SAMEORIGIN Strict-Transport-Security: max-age=15552000; includeSubDomains; preload X-Content-Type-Options: nosniff CF-RAY: 298b06918f1f2b8e-AMS Content-Encoding: gzip X-Firefox-Spdy: h2 ```

rtsisyk··on An Open Letter to CloudFare, a company who has broken the entire Internet
I'm not TOR user.
rtsisyk··on An Open Letter to CloudFare, a company who has broken the entire Internet
Ohh, yes, CloudFlare. Sorry.
rtsisyk··on How to choose an in-memory NoSQL solution: Performance measuring
tarantool.org is an open-source project which is supported by my.com and many other commercial customers. my.com is an independent U.S. company that choose products on competitive basis.

Anyway, the benchmark is fully open. If in doubt, you can always download disk images and re-run benchmark.

// Disclaimer: http://tarantool.org/ developer

rtsisyk··on How to choose an in-memory NoSQL solution: Performance measuring
Tarantool also plays well as an application server (with Lua or C procedures).
rtsisyk··on North Korea 2013 – A travel journal
Yeah, had the same thought after viewing the albums. However, modern Beijing looks more capitalistic than U.S. and Western Europe cities: http://www.flickr.com/photos/romantsisyk/sets/72157633627597...
rtsisyk··on Lua Fun: A high-performance functional programming library designed for LuaJIT
The library code is Lua 5.1 compatible (except bitwise functions in "operator" submodule, but it can be easily replaced with "bit32" or even removed).

Some high-order functions heavily use recursion just to support multireturn iterators (yes, you can use multireturn with map, reduce, filter and so on). I plan to benchmark these parts and add optimized versions for non-JIT Lua if necessary.

I will try to make a patch in the next couple of days. Thanks for your interest!

rtsisyk··on Lua Fun: A high-performance functional programming library designed for LuaJIT
Yeah, the library has some common functions with "itertools" Python's module [1]. fun.range syntax was even copied from Python's range. What is more, you can also take a look on Haskell's Data.List [2] or StandardML's List [3] packages.

[1] http://docs.python.org/2/library/itertools.html [2] http://hackage.haskell.org/package/base-4.6.0.1/docs/Data-Li... [3] http://www.standardml.org/Basis/list.html

rtsisyk··on Lua Fun: A high-performance functional programming library designed for LuaJIT
The initial idea was to make a functional library that works best with tracing JIT compiler. Functional paradigm on tracing JIT is the core innovation in the project.

Lua 5.1 can run fun.lua after minor changes (I'll make patch soon), but I am not sure that performance will be good enough.

rtsisyk··on Lua Fun: A high-performance functional programming library designed for LuaJIT
There is a BIG difference between Lua Fun and Underscore. Lua Fun is based on iterators. High-order functions such as map, filter, etc. don't create temporary tables and don't allocate extra memory. Since all operations are performed on the fly during iteration, most expressions use constant amount of memory to evaluate.