Posts

comments

What if you have HTTP API based on protocol buffers and you want to add XML support to the API? You'd like to have one source of truth and you already have much of protocol buffer message definitions? You have unwanted option to write XSD Schema manually which is error-prone. Here I'll show how you can automate XSD schema generation from existing protocol buffers message definitions.

comments

I have Google Analytics and Yandex Metrica counters embedded on this site and I have monitored site activity for a while. One metric I have worried about was site performance. Yes, this blog is jekyll-based static site. Can there be performance issues with static site content? I thought no, but Yandex Metrica shows me that performance issues are here. It may be slow 3G internet is in the game or I have Moscow's shared hosting issues, I can't be too sure. Here I'll show how to start using Content Delivery Network using Cloudflare as an example.

comments

Last time we started watching nodejs hanging on several TeamCity build agents when they builds website static content with webpack. Hanging was detected when nodejs was loading npm-package from our locally installed GitLab Community repository (here and after gitlab.com):

  • nodejs cloned git-repository by ssh
  • git executes ssh
  • ssh thought git-host untrusted and issue user prompt for adding this host to known_hosts file like:

    The authenticity of host 'gitlab.com (<ip-address>)' can't be established.
    RSA key fingerprint is SHA256:<public-key>.
    Are you sure you want to continue connecting (yes/no)?
    
  • executing git-cloning hanging until user enters yes in console

comments

For now I have Ubuntu 15.10 system with mono installed. To run and use GitExtensions on linux I have installed mono runtime (that's more important, at least libmono-system-windows-forms library needed).

To install GitExtensions actually a few steps needed:

comments

Today I finally implemented my blog's tags page. The goal was to give two presentations of tags: one sorted by name and second sorted by posts count. That was very hard to implement in liquid only and finally I wrote custom liquid filter for this task. In this post I will go through steps I made to final solution.

comments

Windows 98 wasn't my first OS, but I really like it. It has great compatibility with old MS-DOS programs and run fast. Unfortunately, most of software written for Windows 98 can't run under modern Windows OS.

One of such software, that teached me to play on guitar with using some patterns and tricks, is "Guitar Hits Volume 1" and "Guitar Hits Volume 2" from Ubisoft. Windows 98 is last OS known to me that can run "Guitar Hits".