NGrams and Edge NGrams – space complexity

In my previous post NGrams and Edge NGrams – computational complexity, I explored the runtime implications of working both with NGrams and Edge NGrams. This is a follow-up post that will build on the previous one so if you are not familiar with these terms, I would suggest checking it first. In this post, I would like to take a look at the space requirements of NGrams and Edge NGrams and how to estimate the size required to store the data intended for your indices.

Continue reading “NGrams and Edge NGrams – space complexity”

NGrams and Edge NGrams – computational complexity

In my current project, we do a bunch of work revolving around Elasticsearch and enabling our customers to quickly access the relevant portions of our large data set. A couple of weeks ago I was asked to come up with a method to compare the costs of working with NGrams and Edge NGrams. I tried to make my life easier and look around the Internet for somebody else’s breakdown but I didn’t find anything I would like. So I decided to bite the bullet and do the work myself. In this post and the follow up one, I would like to present my way of reasoning about NGrams and Edge NGrams.

Continue reading “NGrams and Edge NGrams – computational complexity”

Formatting and coloring the cURL output

When it comes to documenting the APIs (especially the REST ones), having the cURL samples that one can try out and play around with has become the defacto standard these days. However if you actually want to read through the response body, look up certain piece of information or just simply check the integrity of the response itself, you will run into a big inconvenience that comes with cURL – the format of the response body. Don’t get me wrong, I love cURL as much as the next guy, but the things can be improved upon. And that is the aim of this article.

Continue reading “Formatting and coloring the cURL output”

Arduino as a wireless HTTP client

There are many aspects one must take into consideration when it comes to picking the right board for their project – from performance, memory, battery life, available slots for SD cards or bee modules all the way to the connectivity, namely network interface. Whether it is wired or wireless network interface, it plays crucial role in the way the board is deployed, controlled and it influences the memory and power consumption. In this post I will be discussing the way to setup your Arduino-compatible board as an HTTP client. I have been using my Seeedstudio Stalker v2.3 for all the tests I am describing in this post.
Continue reading “Arduino as a wireless HTTP client”