“Turbo is a framework for building event-driven, non-blocking RESTful web applications built on the top of Tornado web server


  • LuaRocks install
  • Stable and well-tested
  • Active development
  • Excellent and extensive documentation
  • Nice templating system


  • Does not support a variety of webservers
  • Supports only LuaJIT
  • I couldn’t find information on community
  • I couldn’t find information on databases supported…”



Setup free SSL with Let’s Encrypt

“If you search Google for “free SSL”, there are many companies provide you a free trial SSL for only 90 days or less. After that, you will have to pay.

Now, thanks to Let’s Encrypt. It’s no longer needed. You can claim your own SSL certificate for free!

In this post, I will show you how to create your own free SSL certificate with Let’s Encrypt and setup it with nginx…”


Spotify Apollo

“Apollo is a set of Java libraries that we use at Spotify when writing micro-services. Apollo includes features such as an HTTP server and a URI routing system, making it trivial to implement RESTful services.

Open-source Apollo is still in development and only release candidates are available. The API and documentation might change prior to the stable 1.0.0 open source release…”


Probabilistic algorithms are all around us

“Probabilistic algorithms exist to solve problems that are either impossible or unrealistic (too expensive, too time-consuming, etc.) to solve precisely. In an ideal world, you would never actually need to use probabilistic algorithms. To programmers who are not familiar with them, the idea can be positively nerve-wracking: “How do I know that it will actually work? What if it’s inexplicably wrong? How can I debug it? Maybe we should just punt on this problem, or buy a whole lot more servers…”

However, to those who either deeply understand probability theory or at least have used and observed the behavior of probabilistic algorithms in large-scale production environments, these algorithms are not only acceptable, but it’s also worth seeking out opportunities to use them. This is because they can help solve problems and create systems that are less expensive, more predictable, and can do things that couldn’t be done otherwise.

The world is probabilistic—or at least it’s way too complex for us to model 100 percent accurately. Networks, and especially the Internet, are also probabilistic. Whether or not a particular packet will get where it needs to go is not something we can have complete knowledge of. Knowing which paths it will take through the many networks it will traverse in getting from one side of the world to the other is even less certain. Systems that run across asynchronous/ lossy networks are necessarily probabilistic. Like it or not, probability is all around us…”


Choosing an HTTP Status Code: Stop Making It Hard

“What could be simpler than returning HTTP status codes? Did the page render? Great, return 200. Does the page not exist? That’s a 404. Do I want to redirect the user to another page? 302, or maybe 301.

Life is bliss, well… until someone tells you you’re not doing this REST thing. Next thing you know, you can’t sleep at night because you need to know if your new resource returns the RFC-compliant, Roy-Fielding-approved status code. Is it just a 200 here? Or should it really be a 204 No Content? No, definitely a 202 Accepted… or is that a 201 Created?

What complicates matters is that the official HTTP/1.1 guidelines — the RFC — was originally written in 1997. That’s the year you went surfing the cyberweb in Netscape Navigator on your 33.6kbps modem. It’s a little like trying to apply Sun Tzu’s Art of War to modern business strategy. Timeless advice, to be sure, but I haven’t yet figured out how The Five Ways to Attack With Fire are going to help me do market validation…”

Choosing an HTTP Status Code

Why Percentiles Don’t Work the Way you Think

“Customers ask us for p99 (99th percentile) of metrics pretty frequently.

It’s a request that certainly makes sense, and we plan to add such a functionality to VividCortex (more on that later). But a lot of the time, when customers make this request, they actually have something very specific in mind — something problematic. They’re not asking for the 99th percentile of a metric, they’re asking for a metric of 99th percentile. This is very common in systems like Graphite, and it doesn’t achieve what many people seem to think it does. This blog post explains how you might have the wrong idea™ about percentiles, the degree of the mistake (it depends), and what you can do instead…”


10 Tips for 10x Application Performance

“Improving web application performance is more critical than ever. The share of economic activity that’s online is growing; more than 5% of the developed world’s economy is now on the Internet (see Resources below for statistics). And our always-on, hyper-connected modern world means that user expectations are higher than ever. If your site does not respond instantly, or if your app does not work without delay, users quickly move on to your competitors.

For example, a study done by Amazon almost 10 years ago proved that, even then, a 100-millisecond decrease in page-loading time translated to a 1% increase in its revenue. Another recent study highlighted the fact that that more than half of site owners surveyed said they lost revenue or customers due to poor application performance.

How fast does a website need to be? For each second a page takes to load, about 4% of users abandon it. Top e-commerce sites offer a time to first interaction ranging from one to three seconds, which offers the highest conversion rate. It’s clear that the stakes for web application performance are high and likely to grow.

Wanting to improve performance is easy, but actually seeing results is difficult. To help you on your journey, this blog post offers you ten tips to help you increase your website performance by as much as 10x. It’s the first in a series detailing how you can increase your application performance with the help of some well-tested optimization techniques, and with a little support from NGINX. This series also outlines potential improvements in security that you can gain along the way…”

10 Tips for 10x Application Performance

Watson Developer Cloud: Speech Android SDK

“Watson Speech Services (Speech to Text and Text to Speech) provides developers the ability to convert between human voice and written text in multiple languages. Watson Speech Mobile SDKs provided here allow mobile developers to easily interface with IBM Watson Speech services. This open source project, Speech Android SDK, supports the Android platform and comes with a sample application that illustrates how to interact with the Watson Speech Services…”


e-Residency in Estonia

“Estonia is ahead of the curve in a lot of digital matters. Its president, Toomas Hendrick Ilves, is a genuine cybersecurity expert, a fabulous presence on Twitter (who has been disturbingly absent of late), and the only head of state who has ever been aguest on the Lawfare Podcast. As a general matter, the country is far ahead of the rest of the world in putting government services online…”