Tips

I was recently setting up remote backups for my QNAP NAS and came across a problem.
QNAP NAS by default doesn’t seem to be able to create backups of the TMBackup directory it uses to store TimeMachine backups. You are unable to sync this directory with remote server or cloud storage/backup service.
I was googling around and noticed that few people had this problem, for example here and I have found a solution.

The following post is a quick tutorial how to use Trezor hardware wallet with Bitcoin Testnet.
Connect your Trezor like you normally would Click on “Wallet settings” Delete contents of this field and enter “https://testnet-bitcore1.trezor.io/" instead Click “Save & Reload” This is how the wallet page should look Notice that in the right left corner it says “Custom backend”, this is expected. I already have 0.20 testnet BTC there.

When working on the swagger documentation, several different tools can be used.
The ‘official’ editor developed by the Swagger community is Swagger Editor, live preview: https://editor.swagger.io/, I have found it quite quick and easy to use, but for larger project it gets cumbersome. Additionally it doesn’t support ability to have multiple files that will reference each other.
This post is a quick demonstration of the workflow I’m using when working on the large, multi-file swagger documentations.

There is a tendency for the Scala projects to prefer more explicit programming style. The biggest aspect of that is in my opinion the type system of the Scala language, programmers often start writing their functions by defining types of the arguments and type of the result, only to write the body of the function as last step. That’s also because we have the Scala compiler to help us.

This is a followup post to my previous one covering JSON in Play framework. I’d like to show how the manual work I did before in trying to make JSON mapping compatible with external API can be done by using 2 small but useful libraries:
[play-json-naming](https://github.com/tototoshi/play-json-naming)
[play-json-extensions](https://github.com/xdotai/play-json-extensions)
play-json-naming This is a very simple library that can be used to convert from camelCase formatting (the default one that we use in Scala) to snake_case formatting that is common in various different languages (for example PHP or Ruby).

I’ll show 2 slightly advanced techniques for working with JSON in Play Framework (play-json) that are useful especially when you need to control the mappings yourself. For example when you have to make sure that your API is compatible with existing applications. The examples are based on my project Game Arena (which is in very early stages of development)
One suggestion, before we start, take a look at Play Framework JSON documentation which is truly quite comprehensive and provides a very good introduction to JSON usage in Play.

In the recent weeks I did have many people asking me for recommender resources for learning Bitcoin from the techology side.
Here is a list of learning resources that I can recommend:
“Mastering Bitcoin” by Andreas M. Antonopoulos, purchase link: http://shop.oreilly.com/product/0636920032281.do, free version online: https://github.com/aantonop/bitcoinbook This is a very approachable for anyone wanting to learn details of how Bitcoin works under the hood, so far I have read it twice 🙂

Note: Setting up Litecoin and Bitcoin nodes is very similar, you can check my previous post on how to setup a Bitcoin node. This tutorial describes how to setup a new Litecoin relay node on Linux server - this node will be used as relay node in the Litecoin network and it’s not recommended to store anything in it’s wallet.
Download Litecoin from official website: https://litecoin.org/">https://litecoin.org/ At the moment the most recent version can be downloaded using this direct link: https://download.

Recently I wanted to see if it’s possible to run applications written in Scala and Playframework! on my Raspberry Pi
1. Java installation My Raspi was installed from raspbian image which had java already installed, if you need to install it yourself you can either do that manually (remember to choose ARM package) or use automated script like, OAB-Java ( https://github.com/flexiondotorg/oab-java6 )
2. Build application locally This step doesn’t differ on raspi, the command is the same