Profile cover photo
Profile photo
Vladimir Prus
286 followers
286 followers
About
Vladimir's interests
View all
Vladimir's posts

Post has attachment

Post has attachment

This document, describing how GitLab lost production database, is a mandatory reading for anybody coming within a mile of any production system. They key takeaways are that:
- Backup process better check that it created something, and send a heartbeat after such checking, and you should have alerting for the heartbeat
- Backups are only good if you've tried to restore from them.
- MongoDB replication is not too bad in comparison with the above. At least one can do point-in-time recovery.

Post has attachment

Post has attachment
Got around to drawing maps with D3. While D3 itself performs great as usual, the state of open data for Russia leaves much to be desired. There are no official machine-readable region boundaries and not even universal identifiers for said region.
Photo

Post has attachment
It so happens that I've started with Mentor Graphics almost exactly 6 years ago, in November 2010, when it acquired CodeSourcery. In the time since, most of the team, me included, has moved on, and now Mentor itself is acquired. Did not foresee such a speed of change, to be honest.

Post has shared content

Post has attachment
After almost a year, my patch to fix Qt Websockets in case of packet fragmentation landed on dev branch. The patch itself is tiny, but the bug that causes random hang in case of long packets was hard to debug, and my notes on Qt network stack still look as scary as they were. 
Photo

I gave "Ubuntu on Windows" thing a try, and is pretty impressed so far. It was easy to install, and starts up significantly faster than any VM, and most things do work. Sadly, one of the thing that does not work is symlinks - and quite a lot projects use symlinks in their build process. Maybe this will be fixed in a future version, it's almost there.

Post has attachment
Sad to see the most promising database project going out of business.

Post has attachment
Just when everybody learned the difference between "null" and "undefined" and "0" and "false" and "NaN" in JavaScript, Go language comes along, with separate "ordinary nil" and "interface nil".
Wait while more posts are being loaded