<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Kukuruku Hub</title>
    <link>https://kukuruku.co/</link>
    <description>Recent content on Kukuruku Hub</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Wed, 17 Jan 2018 09:34:37 +0000</lastBuildDate>
    
	<atom:link href="https://kukuruku.co/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>What Makes PHP Perfect For Back-End</title>
      <link>https://kukuruku.co/post/what-makes-php-perfect-for-back-end/</link>
      <pubDate>Wed, 17 Jan 2018 09:34:37 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/what-makes-php-perfect-for-back-end/</guid>
      <description>PHP Programmer Salary Costs Vs. Other Languages For over two decades now, PHP has solidified a reputation as a solid programming language for the back-end. PHP programmer salary expenses tend to be lower than comparable choices for back-end programming. In addition, multiple, free, open sources choices for web frameworks make it an ideal language for developers.
Lower Costs An Advantage For PHP On The Back-End The language comes with lower hiring costs when compared to similar programming languages.</description>
    </item>
    
    <item>
      <title>What the Authors of “Hello, World!” Don’t Tell You About </title>
      <link>https://kukuruku.co/post/what-the-authors-of-hello-world-don-t-tell-you-about/</link>
      <pubDate>Mon, 29 May 2017 03:00:39 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/what-the-authors-of-hello-world-don-t-tell-you-about/</guid>
      <description>&lt;p&gt;As a rule, the adherents of &lt;em&gt;The-very-best-language&lt;/em&gt; write their promotional mini-programs something like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ageOfBob = 0
ageOfMary = 0

print(&amp;quot;Input Bob&#39;s age: &amp;quot;)
read(ageOfBob)

print(&amp;quot;Input Marry&#39;s age: &amp;quot;)
read(ageOfMary)

// Do the math
if (ageOfBob &amp;gt; ageOfMary)
   print(&amp;quot;Bob is older than Mary by &amp;quot;, ageOfBob - ageOfMary, &amp;quot; years&amp;quot;)
else if (ageOfBob &amp;lt; ageOfMary)
   print(&amp;quot;Mary is older than Bob by &amp;quot;, ageOfMary - ageOfBob, &amp;quot; years&amp;quot;) 
else 
   print(&amp;quot;Mary and Bob are of the same age&amp;quot;)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It’s assumed that a newcomer will like another simplified version of the C-like syntax with automatic type conversion, without unnecessary semicolons, with simple names of standard functions, and so on.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Hexagonal City </title>
      <link>https://kukuruku.co/post/hexagonal-city/</link>
      <pubDate>Mon, 15 May 2017 03:19:15 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/hexagonal-city/</guid>
      <description>Screenshot from the game “Cities: Skylines”. Clickable
This post is a small research I decided to carry out after reading an article about a city in Russia. In particular, I am going to consider the feasibility of building a city of hexagons.
Since I don’t know any program or any other professional tool for simulating cities and moving vehicles in cities, I’ve decided to carry out a study in the “Cities: Skylines” game as it’s quite suitable for this purpose.</description>
    </item>
    
    <item>
      <title>How I Wrote a C&#43;&#43; Compiler 15 Years Ago</title>
      <link>https://kukuruku.co/post/how-i-wrote-a-cpp-compiler-15-years-ago/</link>
      <pubDate>Sat, 29 Apr 2017 00:21:48 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/how-i-wrote-a-cpp-compiler-15-years-ago/</guid>
      <description>15 years ago, there was no Facebook. There was no C++ compiler with the diagnostic messages in Russian (my native language). Several C++ standards have been released since then, and technologies have made a huge leap forward in development. Today, having so many various frameworks, it doesn&amp;rsquo;t take too long to write a code analyzer or a programming language of your own.
This post is about how I started my career and reached an expert level by means of self-development and writing a C++ compiler.</description>
    </item>
    
    <item>
      <title>Google Maps Customization</title>
      <link>https://kukuruku.co/post/google-maps-customization/</link>
      <pubDate>Fri, 28 Apr 2017 07:29:58 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/google-maps-customization/</guid>
      <description>Demo: link Sources: link
Working for the first time on the implementation and customization of Google Maps I couldn’t find any article to contain the whole scope of information and details, so I had to glean information on this issue, but mostly to come up with my own ideas. Afterwards I decided to write this article for those who have either no experience of working on styling Google Maps and their customization or lack time (or maybe lack the will) to learn API perfectly, thus making it easier for them to find information on the issue.</description>
    </item>
    
    <item>
      <title>Videos about static code analysis</title>
      <link>https://kukuruku.co/post/videos-about-static-code-analysis/</link>
      <pubDate>Wed, 26 Apr 2017 07:33:02 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/videos-about-static-code-analysis/</guid>
      <description>IT conferences and meetings on programming languages see a growing number of speakers talking about static code analysis. Although this field is quite specific, there is still a number of interesting discussions to be found here to help programmers understand the methods, ways of use, and specifics of static code analysis. In this article, we have collected a number of videos on static analysis whose easy style of presentation makes them useful and interesting to a wide audience of both skilled and novice programmers.</description>
    </item>
    
    <item>
      <title>Critical errors in CryEngine V code</title>
      <link>https://kukuruku.co/post/critical-errors-in-cryengine-v-code/</link>
      <pubDate>Mon, 17 Apr 2017 12:01:26 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/critical-errors-in-cryengine-v-code/</guid>
      <description>In May 2016, German game-development company Crytek made the, decision to upload the source code of their game engine, &#39;CryEngine V&#39; to GitHub. The project is in active development, which leads to a large number of errors in the code. We have already checked the project with PVS-Studio for Windows, and now we can also analyze it using PVS-Studio for Linux. There was enough material for an article with the description of only crucial errors.</description>
    </item>
    
    <item>
      <title>Microservices in a High-Load Project </title>
      <link>https://kukuruku.co/post/microservices-in-a-high-load-project/</link>
      <pubDate>Mon, 17 Apr 2017 02:22:28 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/microservices-in-a-high-load-project/</guid>
      <description>At the HighLoad++ conference in 2016, the development manager of “M-Tex” Vadim Madison talked about growth from the system, for which a hundred of microservices seemed a huge number, to a high-load project, in which a few thousands of microservices is a common thing.
I will tell you how we launched microservices on quite a high-load project. It’s rather an aggregate experience but since I work for M-Tex, let me tell you a couple of words about who we are.</description>
    </item>
    
    <item>
      <title>How I Found the Best Programming Language in the World. Part 2</title>
      <link>https://kukuruku.co/post/how-i-found-the-best-programming-language-in-the-world-part-2/</link>
      <pubDate>Fri, 24 Mar 2017 03:09:48 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/how-i-found-the-best-programming-language-in-the-world-part-2/</guid>
      <description>Disclaimer: this article is a translation. Original post was published in June, 2015.
The first part is here. Let’s go on.
For seven f*cking years, I’ve been waiting for a programming language that would meet my requirements. During this time, I&amp;rsquo;ve tested everything. Everything means all the general-purpose crap and all the not-quite-general-purpose crap. You can’t feel a language only by reading about it and writing &amp;ldquo;Hello, World!&amp;rdquo;. To understand the language, you should write at least something with it.</description>
    </item>
    
    <item>
      <title>Why Kotlin Sucks</title>
      <link>https://kukuruku.co/post/why-kotlin-sucks/</link>
      <pubDate>Wed, 15 Mar 2017 03:26:11 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/why-kotlin-sucks/</guid>
      <description>This article is based on Your Language Sucks in the form of half a joke. In the mentioned article, most of the &amp;ldquo;problems&amp;rdquo; are either synthetic and rarely used, or far-fetched due to expectations of the language correspondence to a theoretical paradigm the language should correspond to. On the other hand, the article misses a few things that really complicate my life as an engineer.
I’m not claiming to have an absolute knowledge of Kotlin, so there can be some mistakes in the article.</description>
    </item>
    
    <item>
      <title>“Hello, (real) world!” in PHP in 2017</title>
      <link>https://kukuruku.co/post/hello-real-world-in-php-in-2017/</link>
      <pubDate>Mon, 06 Mar 2017 04:58:17 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/hello-real-world-in-php-in-2017/</guid>
      <description>You might think that it’s easy to write in PHP, and that “Hello, world” looks something like this:
&amp;lt;?php echo &#39;Hello, world!&#39;;  Well, what else could one expect from a language with such a gentle learning curve? That&amp;rsquo;s exactly how it used to be. A long time ago. But now, in 2017, no one does it this way. Let’s see why, and try to build a more realistic hello-world application step by step.</description>
    </item>
    
    <item>
      <title>The Collapse of the UNIX Philosophy</title>
      <link>https://kukuruku.co/post/the-collapse-of-the-unix-philosophy/</link>
      <pubDate>Mon, 20 Feb 2017 17:51:00 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/the-collapse-of-the-unix-philosophy/</guid>
      <description>In the first part of the article, I will enumerate lots of UNIX cheap and dirty hacks, and other various drawbacks. In the second part, we&amp;rsquo;ll talk about the UNIX philosophy. This article was written hastily, and I don’t want to further improve it. You’re lucky I wrote it. Therefore, I may provide some facts without source links.
Dirty hacks in UNIX started to arise when UNIX was released, and it was long before Windows came to the scene, I guess there wasn’t even Microsoft DOS at the time (I guess and I don’t bother to check, so check it yourself).</description>
    </item>
    
    <item>
      <title>Ropes — Fast Strings</title>
      <link>https://kukuruku.co/post/ropes-fast-strings/</link>
      <pubDate>Mon, 02 Jan 2017 14:04:21 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/ropes-fast-strings/</guid>
      <description>Most of us work with strings one way or another. There’s no way to avoid them — when writing code, you’re doomed to concatinate strings every day, split them into parts and access certain characters by index. We are used to the fact that strings are fixed-length arrays of characters, which leads to certain limitations when working with them. For instance, we cannot quickly concatenate two strings. To do this, we will at first need to allocate the required amount of memory, and then copy there the data from the concatenated strings.</description>
    </item>
    
    <item>
      <title>The New Design of viva64.com. The Story Behind It, Told by the PVS-Studio Developers</title>
      <link>https://kukuruku.co/post/the-new-design-of-viva64com-the-story-behind-it-told-by-the-pvs-studio-developers/</link>
      <pubDate>Tue, 27 Dec 2016 12:44:21 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/the-new-design-of-viva64com-the-story-behind-it-told-by-the-pvs-studio-developers/</guid>
      <description>Viva64.com — the main PVS-Studio developers site, turned 10 this year! The domain was registered on Nov. 9, 2006, and the latest major design update was done in December 2010. It&amp;rsquo;s time for a change!
Project participants At the moment, 4 people are involved in the development of viva64.com:
 Constantine Potapov — web-developer; Sergey Harleev — web-designer; Ilya Teterin — Linux engineer; Evgeniy Ryzhkov — project manager.  Other people contribute to the content of the website, but are not related to the infrastructure of the site, its design, or functionality.</description>
    </item>
    
    <item>
      <title>12 and 1 Ideas How to Enhance Backend Data Security</title>
      <link>https://kukuruku.co/post/12-and-1-ideas-how-to-enhance-backend-data-security/</link>
      <pubDate>Thu, 15 Dec 2016 13:57:48 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/12-and-1-ideas-how-to-enhance-backend-data-security/</guid>
      <description>Previously in series Previously, we’ve talked about classic design patterns in backend data security, then about key management goals and techniques.
It is important to understand that database security evolved with system administration techniques and programming demands, with cryptography and access controls being complementary features, rather than cornerstones.
In classic designs, there are two important drawbacks:
1. Trust tokens:
 they rely on storing trust tokens somewhere inside the infrastructure.</description>
    </item>
    
    <item>
      <title>Analysis of bugs in Orchard CMS</title>
      <link>https://kukuruku.co/post/analysis-of-bugs-in-orchard-cms/</link>
      <pubDate>Tue, 29 Nov 2016 12:18:42 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/analysis-of-bugs-in-orchard-cms/</guid>
      <description>Orchard is a free, open source, community-focused Content Management System built on the ASP.NET MVC platform. Software IP management and project development governance are provided by Outercurve Foundation, a nonprofit fund.
For us, the developers of the PVS-Studio static analyzer, this is another chance to check an interesting project, tell people (and developers) about the errors we find and test our analyzer, of course. Today we&amp;rsquo;ll speak about the errors we found in the Orchard CMS project.</description>
    </item>
    
    <item>
      <title>Lace Patterns in CSS</title>
      <link>https://kukuruku.co/post/lace-patterns-in-css/</link>
      <pubDate>Mon, 28 Nov 2016 11:34:13 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/lace-patterns-in-css/</guid>
      <description>I&amp;rsquo;ve recently decided to surprise my friends with a web page dedicated to their upcoming wedding — quite a beneficial topic in terms of experiments with various decorative elements like ribbons, frames, and lace. At the same time, I&amp;rsquo;m up to implement the maximum of such decorations in pure CSS for my own pleasure.
In this article, I want to share the way I managed to “weave” lace patterns for the future website with the help of radial and linear gradients.</description>
    </item>
    
    <item>
      <title>One Day Programmers Will Destroy This World</title>
      <link>https://kukuruku.co/post/one-day-programmers-will-destroy-this-world/</link>
      <pubDate>Thu, 24 Nov 2016 11:16:26 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/one-day-programmers-will-destroy-this-world/</guid>
      <description>Story One: A Memory When I was a little boy and went to elementary school, the following story happened to me. During a break, I was in a classroom with several friends of mine. Suddenly, a flower fell from the shelf. At that very moment, the teacher entered the room and accused us of vandalism without looking into the situation. We were reprimanded and our parents were called to school.</description>
    </item>
    
    <item>
      <title>PostgreSQL: A Set of Practices</title>
      <link>https://kukuruku.co/post/postgresql-set-of-practices/</link>
      <pubDate>Mon, 14 Nov 2016 15:39:16 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/postgresql-set-of-practices/</guid>
      <description>I started working with PostgreSQL three years ago. During this time, I have managed to collect all the bugs you could imagine. To tell the truth, if I knew the current sad experience three years ago, my life would have been much easier. That&amp;rsquo;s exactly why I have decided to write a completely subjective article with a set of rules I stick to when using PostgreSQL. Perhaps, this article will help you avoid bugs I came across (and meet some other ones, ha ha!</description>
    </item>
    
    <item>
      <title>Asynchronous Programming Part 2: Teleportation through Portals</title>
      <link>https://kukuruku.co/post/asynchronous-programming-part-2-teleportation-through-portals/</link>
      <pubDate>Sun, 06 Nov 2016 23:12:56 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/asynchronous-programming-part-2-teleportation-through-portals/</guid>
      <description>Finally, I have finished another article about asynchronous programming. It develops the ideas of the previous one [1]. Today we are going to discuss quite a difficult task that will reveal the power and flexibility of using coroutines in various nontrivial scenarios. At the end, we are going to consider two tasks on race-condition, and also a small bonus. By the way, the first article on asynchronous programming has become quite popular.</description>
    </item>
    
    <item>
      <title>Finding Bugs in the Code of LLVM Project with the Help of PVS-Studio</title>
      <link>https://kukuruku.co/post/finding-bugs-in-the-code-of-llvm-project-with-the-help-of-pvs-studio/</link>
      <pubDate>Sun, 06 Nov 2016 11:18:46 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/finding-bugs-in-the-code-of-llvm-project-with-the-help-of-pvs-studio/</guid>
      <description>About two months ago I wrote an article about the analysis of GCC using PVS-Studio. The idea of the article was as follows: GCC warnings are great, but they&amp;rsquo;re not enough. It is necessary to use specialized tools for code analysis, for example, PVS-Studio. As proof of my words I showed errors that PVS-Studio was able to find the GCC code. A number of readers have noticed that the quality of the GCC code, and its diagnosis, aren&amp;rsquo;t really great; while Clang compiler is up to date, of high quality, and fresh.</description>
    </item>
    
    <item>
      <title>Capturing Packets in Linux at a Speed of Millions of Packets per Second without Using Third Party Libraries</title>
      <link>https://kukuruku.co/post/capturing-packets-in-linux-at-a-speed-of-millions-of-packets-per-second-without-using-third-party-libraries/</link>
      <pubDate>Sun, 23 Oct 2016 19:40:29 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/capturing-packets-in-linux-at-a-speed-of-millions-of-packets-per-second-without-using-third-party-libraries/</guid>
      <description>My article will tell you how to accept 10 million packets per second without using such libraries as Netmap, PF_RING, DPDK and other. We are going to do this with Linux kernel version 3.16 and some code in C and C++.
To begin with, I would like to say a few words on how pcap (a well-known method for packet capture) works. pcap is used in such popular utilities as iftop, tcpdump, arpwatch.</description>
    </item>
    
    <item>
      <title>How I Found the Best Programming Language in the World. Part 1</title>
      <link>https://kukuruku.co/post/how-i-found-the-best-programming-language-in-the-world-part-1/</link>
      <pubDate>Sun, 16 Oct 2016 22:45:23 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/how-i-found-the-best-programming-language-in-the-world-part-1/</guid>
      <description>Since I’m going to provoke trolls on the subject of programming languages, and even name the best one in the world (I mean absolutely the best, for sure), I recommend all of them to check out my previous post “Choosing a Programming Language”. Everything mentioned there is still up-to-date, and I wouldn’t’ like to repeat myself here.
Read it? Good. Today I am going to talk about the best programming language in the world, and I’ll name it closer to the end of this post.</description>
    </item>
    
    <item>
      <title>Asynchronous Programming: Back to the Future</title>
      <link>https://kukuruku.co/post/asynchronous-programming-back-to-the-future/</link>
      <pubDate>Mon, 10 Oct 2016 00:19:26 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/asynchronous-programming-back-to-the-future/</guid>
      <description>Asynchronous programming… Hearing these words, programmers’ eyes begin to shine, breathing becomes shallow, hands are shaking and the brain is drawing multiple levels of abstraction… Managers’ eyes become wide, sounds become inarticulate, fists are clenched, and the voice switches to overtones. The only thing that unites these two groups of people is a rapid pulse. However, there are different reasons. While programmers are eager for the fight, managers are trying to look into the crystal ball and realize the risks, frantically trying to come up with reasons to extend the deadlines as mush as they can.</description>
    </item>
    
    <item>
      <title>Why Using Finalizers Is a Bad Idea</title>
      <link>https://kukuruku.co/post/why-using-finalizers-is-a-bad-idea/</link>
      <pubDate>Fri, 07 Oct 2016 22:37:27 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/why-using-finalizers-is-a-bad-idea/</guid>
      <description>Not so long ago we worked on a diagnostic rule related to the finalizer check. This provoked an argument on the details of the garbage collector work and the finalization of objects. Although we have been programming in C# for more than 5 years, we haven&amp;rsquo;t achieved any consensus as regards this question, so I decided to study it more thoroughly.
Introduction Usually .NET developers encounter a finalizer when they need to free an unmanaged resource.</description>
    </item>
    
    <item>
      <title>Chatbots, and how will Microsoft help us with this?</title>
      <link>https://kukuruku.co/post/chatbots-and-how-will-microsoft-help-us-with-this/</link>
      <pubDate>Mon, 03 Oct 2016 11:48:23 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/chatbots-and-how-will-microsoft-help-us-with-this/</guid>
      <description>This overview article is devoted to the study of a trend which is growing rapidly in popularity in the IT industry — chatbots, and the role of Microsoft in their development process. The article will cover the history of chatbots, peculiar properties of bots, the main, and also some unexpected spheres of their application, perspectives and technology limits.
Generally, a chatbot is a program that can imitate a meaningful dialogue with the user via text or speech in the language known to the user.</description>
    </item>
    
    <item>
      <title>Choosing a Programming Language</title>
      <link>https://kukuruku.co/post/choosing-a-programming-language/</link>
      <pubDate>Sun, 02 Oct 2016 21:17:14 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/choosing-a-programming-language/</guid>
      <description>Frankly speaking, I never faced the question of choosing a programming language. In other words, this choice has always been obvious for me. I never took part in holy wars like C++ vs. Java that used to be so popular at the end of 1990s. When you see a huge growth of productivity with your own eyes, any discussions become meaningless.
I&amp;rsquo;ve also noticed that only people who&amp;rsquo;ve seen just one side of the given discussion usually take part in it.</description>
    </item>
    
    <item>
      <title>Bugs found in GCC with the help of PVS-Studio</title>
      <link>https://kukuruku.co/post/bugs-found-in-gcc-with-the-help-of-pvs-studio/</link>
      <pubDate>Fri, 02 Sep 2016 12:02:55 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/bugs-found-in-gcc-with-the-help-of-pvs-studio/</guid>
      <description>I regularly check various open-source projects to demonstrate the abilities of the PVS-Studio static code analyzer (C, C++, C#). Now it is time for the GCC compiler to get checked. Unquestionably, GCC is a very qualitative and well-tested project, that&amp;rsquo;s why it&amp;rsquo;s already a great achievement for a tool to find any errors in it. Fortunately, PVS-Studio coped with this task. No one is immune to typos or carelessness. This is why the PVS-Studio can become an additional line of defense for you, on the front of the endless war against bugs.</description>
    </item>
    
    <item>
      <title>Complementing Unit Testing with Static Analysis, with NUnit as an Example</title>
      <link>https://kukuruku.co/post/complementing-unit-testing-with-static-analysis-with-nunit-as-an-example/</link>
      <pubDate>Wed, 17 Aug 2016 14:55:56 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/complementing-unit-testing-with-static-analysis-with-nunit-as-an-example/</guid>
      <description>When discussing static analysis tools for C# projects, programmers will often deny the necessity of static analysis arguing that most errors can be caught through unit testing. So, I decided to find out how well one of the most popular unit-testing frameworks, NUnit, was tested and see if our analyzer could find anything of interest there.
Introduction NUnit is a popular unit-testing library for .NET projects ported from Java to C#.</description>
    </item>
    
    <item>
      <title>A Little E-Book: Learn from Real Examples How to Avoid Bugs</title>
      <link>https://kukuruku.co/post/a-little-e-book-learn-from-real-examples-how-to-avoid-bugs/</link>
      <pubDate>Wed, 04 May 2016 21:38:17 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/a-little-e-book-learn-from-real-examples-how-to-avoid-bugs/</guid>
      <description>Here is a small e-Book for your attention: The Ultimate Question of Programming, Refactoring, and Everything. This book is intended for C/C++ programmers, but it could be of interest for developers using other languages as well.
What makes the book peculiar is the descriptions of real, not theoretical cases at the base of it. Each chapter starts with a code fragment taken from a real application, and then the author gives various tips of how this bug could be avoided.</description>
    </item>
    
    <item>
      <title>Why we need novel authentication schemes?</title>
      <link>https://kukuruku.co/post/why-we-need-novel-authentication-schemes/</link>
      <pubDate>Tue, 29 Mar 2016 20:17:14 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/why-we-need-novel-authentication-schemes/</guid>
      <description>Revealing security holes in 5 main methods of authentication Introduction: A Word To Pass Passwords are ultimate keepers of diversity and security. Since Ancient Roman times until now, they are used for one to prove being worthy to get some privilege others do not possess, however strongly desire to obtain. A “magic word”, which one knows and others don’t, opens the door for an opportunity and diversifies an individual selecting them from an enormous crowd.</description>
    </item>
    
    <item>
      <title>Building secure end-to-end webchat with Themis</title>
      <link>https://kukuruku.co/post/building-secure-end-to-end-webchat-with-themis/</link>
      <pubDate>Mon, 28 Mar 2016 18:07:09 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/building-secure-end-to-end-webchat-with-themis/</guid>
      <description>Intro While developing components of our products, we love to explore use cases and usability through creating real-world test stands.
0fc is a side-product of WebThemis research: while doing some protocol design for front-end clients with WebThemis services, we wanted to try it in a real-world situation. We&amp;rsquo;ve set ourselves a novel idea: end-to-end encrypted webchat, inclined towards client anonymity, giving zero trust to the server, built only with typical Themisprimitives.</description>
    </item>
    
    <item>
      <title>Introducing Themis</title>
      <link>https://kukuruku.co/post/introducing-themis/</link>
      <pubDate>Mon, 28 Mar 2016 18:06:46 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/introducing-themis/</guid>
      <description>What is Themis? Themis is a high-level cryptographic services library: a library providing easy to use, highly abstracted set of functions to solve real-world security problems. We would like you to focus on building your software with security taken care of by professionals, instead of scrupulously assembling building blocks into cryptosystems yourself, resolving implementations, platform availability, vulnerabilities and performance contstraints yourself.
Themis is designed to provide complicated cryptosystems in an easy-to-use developer infrastructure, suitable for modern rapid development.</description>
    </item>
    
    <item>
      <title>Releasing Themis into public: usability testing</title>
      <link>https://kukuruku.co/post/releasing-themis-into-public-usability-testing/</link>
      <pubDate>Mon, 28 Mar 2016 18:06:20 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/releasing-themis-into-public-usability-testing/</guid>
      <description>Experiment: developers with no Themis experience building an application with use of it in 6 hours. Being ready to release Themis, we’ve gathered a few colleagues and decided to make a test run on unsuspecting developers, how would the library blend into their workflows?
1. Introduction While usability testing for user-centric applications has it’s own distinct techniques, standards and frameworks, this is not so typical for a relatively complex and technical library aimed at developers and spanning multiple languages and platforms.</description>
    </item>
    
    <item>
      <title>Keep Your Money… and Clients: Subscription Billing</title>
      <link>https://kukuruku.co/post/keep-your-money-and-clients-subscription-billing/</link>
      <pubDate>Mon, 28 Mar 2016 18:04:14 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/keep-your-money-and-clients-subscription-billing/</guid>
      <description>Most businesses based on recurring payments model involve subscription billing. Moving from single payments is effective only when your clients are satisfied. Subscription churn means recurring revenue cuts and should be dealt with swiftly.
The problem Competition drives innovation and technology today is all about improving customer experience. No pay means no play: most people unsubscribe just by forgetting to pay or having difficulty understanding payment settings. Thus, service provider’s revenue falls 5% or even more.</description>
    </item>
    
    <item>
      <title>In-house dev: What could possibly go wrong?</title>
      <link>https://kukuruku.co/post/in-house-dev-what-could-possibly-go-wrong/</link>
      <pubDate>Fri, 12 Feb 2016 11:16:22 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/in-house-dev-what-could-possibly-go-wrong/</guid>
      <description>We have been designing billing solutions for telecom applications for 8 years. We’ve made more than 80 successful integrations, but along the way we’ve found that about 50% of companies develop custom tools in order to keep their businesses competitive.
Why do people believe they can tailor any tool to their needs? Usually they tell you: “_We understand how our business works_”.
It can be a great way to cover your short-term goals but ultimately it leads nowhere.</description>
    </item>
    
    <item>
      <title>SMS Gateway API: start sending and receiving text messages</title>
      <link>https://kukuruku.co/post/sms-gateway-api-start-sending-and-receiving-text-messages/</link>
      <pubDate>Fri, 12 Feb 2016 11:16:08 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/sms-gateway-api-start-sending-and-receiving-text-messages/</guid>
      <description>TextMagic SMS APIis a platform for building your own messaging app using our messaging infrastructure. It allows you to send and receive SMS text messages, query information about inbound and outbound messages, manage contacts, create templates (i.e. message formats and static texts) and schedule recurrent SMS messages as well as process bulk SMS messages.
We have created a set of client libraries for the most popular programming languages (such as REST API Java and REST API PHP).</description>
    </item>
    
    <item>
      <title>Celebrating 30th Anniversary of The First C&#43;&#43; Compiler: Let&#39;s Find Bugs in It</title>
      <link>https://kukuruku.co/post/celebrating-30-th-anniversary-of-the-first-c-compiler-lets-find-bugs-in-it/</link>
      <pubDate>Wed, 11 Nov 2015 11:36:14 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/celebrating-30-th-anniversary-of-the-first-c-compiler-lets-find-bugs-in-it/</guid>
      <description>This article was originally published at viva64.com. Republished by the authors&amp;rsquo; permission.
Cfront is a C++ compiler which came into existence in 1983 and was developed by Bjarne Stroustrup. At that time it was known as «C with Classes». Cfront had a complete parser, symbol tables, and built a tree for each class, function, etc. Cfront was based on CPre. Cfront defined the language until circa 1990. Many of the obscure corner cases in C++ are related to the Cfront implementation limitations.</description>
    </item>
    
    <item>
      <title>Competing With Amazon: How to Improve Your Car Parts Store</title>
      <link>https://kukuruku.co/post/competing-with-amazon-how-to-improve-your-car-parts-store/</link>
      <pubDate>Sat, 07 Nov 2015 11:05:30 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/competing-with-amazon-how-to-improve-your-car-parts-store/</guid>
      <description>Going online allows you to significantly expand your customer base and auto parts stores are not an exception. There are multiple ways to buy a car, parts or potential substitutes and it’s really challenging to compete with giants like Amazon or eBay. Here’s our take on what can be possibly done in order to make your car parts store more efficient.
The problem: Car parts search There is an average of 14,000 parts in a car (and it may go up to 30k) so it’s a quite a problem to look up some parts for your particular car brand and model.</description>
    </item>
    
    <item>
      <title>Top 10 FinTech Startups</title>
      <link>https://kukuruku.co/post/top-10-fintech-startups/</link>
      <pubDate>Sat, 07 Nov 2015 11:03:53 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/top-10-fintech-startups/</guid>
      <description>Financial technology or simply Fintech is one of the prominent lines of business nowadays. Fintech projects mostly focus on providing software infrastructure for finance-related activities. There is a great number of new innovative projects that we all can benefit from and Fintech projects help those initiatives with finance-related issues. Today we would like to present top 10 Fintech Startups that deserver your attention.
1. SDK.Finance
It is probably the most innovative and versatile Fintech company on this list.</description>
    </item>
    
    <item>
      <title>Go Learn Golang! Introduction for Beginners</title>
      <link>https://kukuruku.co/post/go-learn-golang-introduction-for-beginners/</link>
      <pubDate>Mon, 19 Oct 2015 14:09:54 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/go-learn-golang-introduction-for-beginners/</guid>
      <description>Hi, my name is Andrey Grehov and welcome to “Learn Go Programming Language From Scratch”.
This series of articles is going to be a short course to get you comfortable programming Go. Go, also commonly referred to as golang, is a programming language developed at Google. It is a statically-typed language with syntax loosely derived from that of C. However, it is a new language across the board. In every respect the language was designed by thinking about what programmers do and how to make programming, at least the kind of programming we do, more effective, which means more fun.</description>
    </item>
    
    <item>
      <title>3 ways to boost your offline business with APIs</title>
      <link>https://kukuruku.co/post/3-ways-to-boost-your-offline-business-with-apis/</link>
      <pubDate>Wed, 09 Sep 2015 10:51:23 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/3-ways-to-boost-your-offline-business-with-apis/</guid>
      <description>New tech empowers companies as they try to build better products and services. APIs (Application programming interfaces) provide multiple ways to do it with ease and utilise third-party solutions – out of the box tools that save you time on development.
Though APIs is definitely not a new thing for online business (most of services have some kind of application programming interfaces – Mailchimp, Litmus), offline still lacks understanding of possible ways to improve business efficacy with such a convenient tool.</description>
    </item>
    
    <item>
      <title>How to take screenshots correctly: some practical tips</title>
      <link>https://kukuruku.co/post/how-to-take-screenshots-correctly-some-practical-tips/</link>
      <pubDate>Fri, 24 Jul 2015 10:44:44 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/how-to-take-screenshots-correctly-some-practical-tips/</guid>
      <description>If you have ever made a help file or user manual for your app, you’re sure to have noticed the unexpected amount of time and effort producing screenshots takes.
You’d think a screenshot was “a second’s work, Alt+PrintScreen and Ctrl+V!”.
Some clients are surprised to hear that a screenshot in a user manual can cost $2 or even $5.
In this article, I’ll advise you on how to take screenshots correctly, why they’re not just “two clicks” and what pitfalls an inexperienced screenshotter may meet.</description>
    </item>
    
    <item>
      <title>Introduction to J Programming Language [2004]</title>
      <link>https://kukuruku.co/post/introduction-to-j-programming-language-2004/</link>
      <pubDate>Sun, 31 May 2015 23:06:00 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/introduction-to-j-programming-language-2004/</guid>
      <description>Take a look at the brief introduction to the J programming language. It took me two days to write the article. I got familiar with this language a little more than a month ago, when looking for a convenient way for programming on the Pocket PC. All this month, I read books and articles about J, K and APL. I also tried out programs of other developers, wrote some trivial ones of my own and recently wrote my first, non-trivial program, which I improved and described in this article.</description>
    </item>
    
    <item>
      <title>Robo-Advisors: How Human Talent is Reinforced by Tech</title>
      <link>https://kukuruku.co/post/robo-advisors-how-human-talent-is-reinforced-by-tech/</link>
      <pubDate>Tue, 26 May 2015 16:12:47 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/robo-advisors-how-human-talent-is-reinforced-by-tech/</guid>
      <description>Developments in fintech over the past few years have led to a rise in the use of robo-advisors by wealth management services. Robo-advisors have helped enhance efficiency and productivity within these services, benefits that have been passed onto clients.
However the use of robo-advisors has been misinterpreted at times. Many believe that they are just algorithms that allow investment without the flaws of human emotions and decision making. This is true but the robo-advisors are backed by the knowledge and experience of humans.</description>
    </item>
    
    <item>
      <title>DBX To PST Converter for Windows – Import OE to MS Outlook</title>
      <link>https://kukuruku.co/post/dbx-to-pst-converter-for-windows-import-oe-to-ms-outlook/</link>
      <pubDate>Tue, 19 May 2015 23:04:01 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/dbx-to-pst-converter-for-windows-import-oe-to-ms-outlook/</guid>
      <description>DBX to PST conversion is the best technique to migrate emails from Outlook express to Microsoft Outlook 2013, 2010, 2007 and 2003 etc. In this article I will explain a safe and suitable method to perform the conversion.
Outlook Express being an outdated email application is not used amongst users but those who are using wanted to migrate to MS Outlook to avail advance set of features and compatibility. Users who are seeking migration from OE to Microsoft Outlook needs to first convert DBX items in PST file importable in MS Outlook.</description>
    </item>
    
    <item>
      <title>How do you get initial traction as a B2B-startup?</title>
      <link>https://kukuruku.co/post/how-do-you-get-initial-traction-as-a-b2b-startup/</link>
      <pubDate>Sun, 10 May 2015 21:22:35 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/how-do-you-get-initial-traction-as-a-b2b-startup/</guid>
      <description>Initial traction for a B2B-startup basically defines its existence and has to be delivered straight away. The problem is that there&amp;rsquo;s a huge chuck of founders who rely on nothing but B2C-marketing and eventually fail to tank up their startups with money.
So here we are. Bootstrapped, profitable and proud: a B2C-startup doing content for others. Let&amp;rsquo;s take a look back and see how we got initial clients without pouring cash into self-promotion.</description>
    </item>
    
    <item>
      <title>Lock-Free Data Structures. Exploring Queues</title>
      <link>https://kukuruku.co/post/lock-free-data-structures-exploring-queues/</link>
      <pubDate>Tue, 05 May 2015 21:51:50 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/lock-free-data-structures-exploring-queues/</guid>
      <description>It was long ago since the last time we talked about lock free containers. I was planning to quickly write another article about queues, but there was one problem. I knew what I wanted to write about, but I had no implementation of those methods in C++. It was wrong to write about something I did not try out myself. That’s how I tried to implement new queue algorithms in libcds.</description>
    </item>
    
    <item>
      <title>Tech-based wealth management: a fashionable new trend or the future of investment advice?</title>
      <link>https://kukuruku.co/post/tech-based-wealth-management-a-fashionable-new-trend-or-the-future-of-investment-advice_2/</link>
      <pubDate>Tue, 05 May 2015 20:37:15 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/tech-based-wealth-management-a-fashionable-new-trend-or-the-future-of-investment-advice_2/</guid>
      <description>Technology is transforming our lives in a variety of ways. However, certain industries (like banking, financial planning and investment advice) were lagging behind for a long time. Now even these conservative sectors are changing the way they approach business and build relationships with customers. The rise of the so-called robo-advisors is making headlines in the press. First-time investors, who are generally younger and therefore more likely to try new things, are now investing part of their savings with specialised advisory platforms.</description>
    </item>
    
    <item>
      <title>Short Story on Scaling an NLP Problem without Using a Ton of Hardware</title>
      <link>https://kukuruku.co/post/short-story-on-scaling-an-nlp-problem-without-using-a-ton-of-hardware/</link>
      <pubDate>Tue, 28 Apr 2015 23:49:38 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/short-story-on-scaling-an-nlp-problem-without-using-a-ton-of-hardware/</guid>
      <description>The cornerstone of the small work done for getting the info for these great charts with IEPY, was to be able to catch mentioned companies.
The basic idea of relation extraction is to be able to detect mentioned things in text (so called Mentions, or Entity-Occurrences), and later decide if in the text is expressed or not the target relation between each couple of those things. In our case, we needed to find where companies were mentioned, and later determine if in a given sentence it was said that Company-A was funding Company-B or not.</description>
    </item>
    
    <item>
      <title>Everything You Wanted to Know about USB Type-C, but did not Ask</title>
      <link>https://kukuruku.co/post/everything-you-wanted-to-know-about-usb-type-c-but-did-not-ask/</link>
      <pubDate>Sun, 19 Apr 2015 23:39:53 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/everything-you-wanted-to-know-about-usb-type-c-but-did-not-ask/</guid>
      <description>Dear %username%,
Have you heard of the new USB Type-C? The one double-sided, fast and fancy. It can charge the new MacBook and promises to become a new standard for the next ten years?
So, first of all, it is a type of connector, and not a new standard. The standard is called USB 3.1. Secondly, we should talk about the new standard of USB, while Type-C is a nice bonus.</description>
    </item>
    
    <item>
      <title>Unfunny April Fool&#39;s Joke from the Magic Lantern Developers</title>
      <link>https://kukuruku.co/post/unfunny-april-fools-joke-from-the-magic-lantern-developers/</link>
      <pubDate>Tue, 14 Apr 2015 01:42:47 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/unfunny-april-fools-joke-from-the-magic-lantern-developers/</guid>
      <description>Magic Lantern (ML) is an unofficial firmware for Canon cameras that provides enhanced functionality (like dual-iso, focus stacking, raw video, camera parameters fine-tuning and a lot more). The firmware is installed directly on the flash card, which allows to remove it without serious consequences, or update it by simply replacing files.
You might have read other articles related to this firmware, so I’m not going to dwell on its features and the order of installation.</description>
    </item>
    
    <item>
      <title>The Role of WebRTC Technology In Online Security</title>
      <link>https://kukuruku.co/post/the-role-of-webrtc-technology-in-online-security/</link>
      <pubDate>Fri, 10 Apr 2015 15:09:57 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/the-role-of-webrtc-technology-in-online-security/</guid>
      <description>WebRTC technology is rather new (spearheaded by Google in 2012 through the World Wide Web Consortium). It is a free project that provides browsers with Real-Time Communications. The technology is now widely used in live help customer support solutions, webinar platforms, chat rooms for dating, etc. But there are too little solutions for enhanced safety. It&amp;rsquo;s weird. Since this technology offers great opportunities in this field.
WebRTC opens great opportunities in secure communications online</description>
    </item>
    
    <item>
      <title>The Sunset of C and C&#43;&#43;</title>
      <link>https://kukuruku.co/post/the-sunset-of-c-and-cpp/</link>
      <pubDate>Thu, 09 Apr 2015 12:30:11 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/the-sunset-of-c-and-cpp/</guid>
      <description>Because not only CPU cycles count, but also developers’ time
 There are approximately 4 million C and C++ programmers in the world, probably the largest community, with about 20% of the market, which is comparable or even larger than Java (both C and C++ together). They are also by far the oldest languages of the current mainstream ones, used in key industries and even increasingly due to synergies with other fields as the IoT/embedded systems or robotics, in which these languages are important.</description>
    </item>
    
    <item>
      <title>Exact Maximum Clique for Large or Massive Real Graphs</title>
      <link>https://kukuruku.co/post/exact-maximum-clique-for-large-or-massive-real-graphs/</link>
      <pubDate>Thu, 09 Apr 2015 12:29:33 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/exact-maximum-clique-for-large-or-massive-real-graphs/</guid>
      <description>The excellent performance reported by BBMCSP—an exact maximum clique algorithm tailored for massive real networks— in a previous post has raised a number of comments, some even questioning either the report itself or the problem’s complexity. This post gives an insight on how BBMCSP works. In the process, and similar to what happens when magicians explain their tricks, we are aware that some of the magic will be lost.</description>
    </item>
    
    <item>
      <title>Integrating Email with Team Chat</title>
      <link>https://kukuruku.co/post/integrating-email-with-team-chat/</link>
      <pubDate>Thu, 09 Apr 2015 12:29:02 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/integrating-email-with-team-chat/</guid>
      <description>Most team chat services have some type of email support. Pretty much all provide one-way notifications for missed messages, others go a step further and let you reply to them —with attachments, even [Fleep, Glip, Kato]— but none take it all the way back to days of Outlook and BlackBerry, circa 2004.
Back then, people sent hundreds of short, chat-like emails per day to just a handful of recipients—usually very close colleagues.</description>
    </item>
    
    <item>
      <title>Top 5 Anonymous E-mail Providers</title>
      <link>https://kukuruku.co/post/top-5-anonymous-e-mail-providers/</link>
      <pubDate>Thu, 09 Apr 2015 12:28:35 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/top-5-anonymous-e-mail-providers/</guid>
      <description>In the recent years we hear more and more about on-line security and privacy. People wonder how to be anonymous on the web, securely chat with friends (or business partners) with assurance there&amp;rsquo;s no third party reading their conversations or send e-mail/share a file which cannot be tapped/intercepted.
Concerns are being aired frequently within on-line communities and reported by the mass media. There are a lot of services which only give you the ability to use temporary e-mail (when you do not want to register somewhere with your real e-mail) but do not provide any encryption or secure connection when it comes to anonymity and people would often confuse one with the other.</description>
    </item>
    
    <item>
      <title>Tor: Illegal Weapons</title>
      <link>https://kukuruku.co/post/tor-illegal-weapons/</link>
      <pubDate>Tue, 07 Apr 2015 21:53:32 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/tor-illegal-weapons/</guid>
      <description>A few years ago, when I was reading some popular weapons forum, I thought of how much a gun might cost at the black market. Actually, I wasn’t going to buy one, as I had an arsenal of legal weapons of my own. I was just curious about it. Let’s see what discoveries I made.
One of the samples
Disclaimer: Further description is not an instruction of how and where to buy or sell illegal weapons (therefore, i&amp;rsquo;ll will not provide any links).</description>
    </item>
    
    <item>
      <title>How to Share a Channel Between Slack Teams</title>
      <link>https://kukuruku.co/post/how-to-share-a-channel-between-slack-teams/</link>
      <pubDate>Tue, 07 Apr 2015 12:21:50 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/how-to-share-a-channel-between-slack-teams/</guid>
      <description>Odds are you’re in love with Slack. This new tool is a fantastic way to keep your team on the same page—and cut back on email. Unfortunately, Slack has a limitation: it doesn’t easily connect disparate (e.g. external and intra-company) teams.
For example, in an agency, your team can use Slack to reduce call volume and expedite communication. But, what if the clients you work with have their own Slack, and don’t want to create new accounts?</description>
    </item>
    
    <item>
      <title>Client Communication is Killing Your Agency (And How to Fix This)</title>
      <link>https://kukuruku.co/post/client-communication-is-killing-your-agency-and-how-to-fix-this/</link>
      <pubDate>Mon, 06 Apr 2015 10:34:33 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/client-communication-is-killing-your-agency-and-how-to-fix-this/</guid>
      <description>Many are drawn to the idea of running a creative agency: interesting projects; great creative minds; and, of course, ideas people take notice of. Nevertheless, the challenges of agency life can prove a rude awakening, for the new agency operator.
Keeping your agency profitable relies on many variables. You need even cashflow, dependable processes, and a little bit of luck. That said, the lifeblood of any creative company is communication.</description>
    </item>
    
    <item>
      <title>Structure of the Data Center of TIER 3 Level</title>
      <link>https://kukuruku.co/post/structure-of-the-data-center-of-tier-3-level/</link>
      <pubDate>Fri, 03 Apr 2015 17:18:48 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/structure-of-the-data-center-of-tier-3-level/</guid>
      <description>Beeline, earlier Bee Line GSM is a Russian telecommunications brand by OJSC VimpelCom. OJSC VimpelCom is a Russia&amp;rsquo;s third-largest wireless and second-largest telecommunications operator. Its headquarters is located in Moscow. Since 2009, OJSC VimpelCom has been a subsidiary of VimpelCom Ltd., which is based in Amsterdam. VimpelCom&amp;rsquo;s main competitors in Russia are Mobile TeleSystems and MegaFon.
 There used to be a field in place of the data center.</description>
    </item>
    
    <item>
      <title>Do Not Learn Frameworks. Learn the Architecture.</title>
      <link>https://kukuruku.co/post/do-not-learn-frameworks-learn-the-architecture/</link>
      <pubDate>Thu, 02 Apr 2015 21:55:08 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/do-not-learn-frameworks-learn-the-architecture/</guid>
      <description>I had an interesting conversation some time ago. A colleague of mine stood up for Angular and said that it fastened web development. I’ve developed complex web services for more than 10 years, used to work for Microsoft, and also Spotware Systems in Cyprus. As for now, I create an application for a strartup from the Silicon Valley. All in all, I follow the trends. But I felt like a dinosaur, as I saw no sense in using frontend frameworks, and it turned out to be mainstream.</description>
    </item>
    
    <item>
      <title>A Game in 14 Days</title>
      <link>https://kukuruku.co/post/a-game-in-14-days/</link>
      <pubDate>Wed, 01 Apr 2015 23:53:06 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/a-game-in-14-days/</guid>
      <description>NB: English is my second language. There is Russian language in videos and screenshots.
There are a lot of “teams” that have existed for years. Their list of developers consists of dozens of people, plus, “everyone needed!”. But they don&amp;rsquo;t have any adequate demo planned even for the nearest future. Looking at all of this, I feel like saying: “What are you doing, damn it?”. But it’s destructive. It’s not enough to criticize.</description>
    </item>
    
    <item>
      <title>PVS-Studio for Visual C&#43;&#43;</title>
      <link>https://kukuruku.co/post/pvs-studio-code-analyzer-for-visual-c/</link>
      <pubDate>Mon, 30 Mar 2015 22:33:46 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/pvs-studio-code-analyzer-for-visual-c/</guid>
      <description>Many of our articles are concentrated on anything but the PVS-Studio analyzer itself. We tell our readers about projects we have checked, nuances of C++ language, creation of plugins in C#, running PVS-Studio from the command line… But PVS-Studio was first of all designed for Visual Studio users. We have done a lot to make their work with the tool as comfortable as possible. But this particular fact is very often left outside the frame.</description>
    </item>
    
    <item>
      <title>Julia Set</title>
      <link>https://kukuruku.co/post/julia-set/</link>
      <pubDate>Sun, 29 Mar 2015 15:09:51 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/julia-set/</guid>
      <description>I always wanted to learn more about complex numbers. Not just the fact that the root of -1 was equal to i. I was particularly interested in figures with fractal structure. I wanted to understand what this meant and how to make such visualization. Having some time from work, I found a book on the theory of functions of a complex variable on the shelf and decided that it was time to start.</description>
    </item>
    
    <item>
      <title>Social Network Analysis. Spark GraphX</title>
      <link>https://kukuruku.co/post/social-network-analysis-spark-graphx/</link>
      <pubDate>Thu, 26 Mar 2015 23:52:37 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/social-network-analysis-spark-graphx/</guid>
      <description>Today we will learn more about the tasks of social network analysis (SNA), and review the Apache Spark library designed to analyze Big Data. We will also consider one of the components of Apache Spark, designed for the analysis of graphs — GraphX. We’ll try to understand how this library has implemented the distributed graph storage and computations on them. The provided examples will show how we can use this library in practice.</description>
    </item>
    
    <item>
      <title>A Non-Obvious Feature in the Syntax of Variable Declaration</title>
      <link>https://kukuruku.co/post/a-non-obvious-feature-in-the-syntax-of-variable-declaration/</link>
      <pubDate>Sun, 22 Mar 2015 23:48:11 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/a-non-obvious-feature-in-the-syntax-of-variable-declaration/</guid>
      <description>Take a look at this innocent looking piece of code in C++. There are no templates, no virtual functions or inheritance, but the creators of this beautiful language hid a gift right in front of us.
struct A { A (int i) {} }; struct B { B (A a) {} }; int main () { int i = 1; B b(A(i)); // (1) return 0; }  Question: What is the type of variable b?</description>
    </item>
    
    <item>
      <title>The Night of Fractals</title>
      <link>https://kukuruku.co/post/the-night-of-fractals/</link>
      <pubDate>Thu, 19 Mar 2015 14:39:40 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/the-night-of-fractals/</guid>
      <description>It was a late Sunday night, and I was thinking to go to sleep, when a friend of mine sent me a picture from some website and wrote: “Beautiful!”. I drew such pictures five years ago by using the so-called escape-time algorithm. But to apply this algorithm, it was necessary to know how to partition the plane into regions for a given set of transformations. I couldn&amp;rsquo;t figure it out, and did not get back to this algorithm anymore.</description>
    </item>
    
    <item>
      <title>Lock-Free Data Structures. Yet Another Treatise</title>
      <link>https://kukuruku.co/post/lock-free-data-structures-yet-another-treatise/</link>
      <pubDate>Wed, 18 Mar 2015 00:02:19 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/lock-free-data-structures-yet-another-treatise/</guid>
      <description>As you might have guessed, this article focuses on lock-free queues.
Queues can be different. They can differ in the number of producers and consumers (single/multi producer — single/multi consumer, 4 variants). They can be bounded, on the basis of a pre-allocated buffer, and unbounded, on the basis of a list. They can either support priorities, or not. They can be lock-free, wait-free or lock-based, with the strict (fair) and not strict (unfair) conformance to FIFO, etc.</description>
    </item>
    
    <item>
      <title>A MIDI Player on Eight Floppy Drives</title>
      <link>https://kukuruku.co/post/a-midi-player-on-eight-floppy-drives/</link>
      <pubDate>Tue, 17 Mar 2015 14:05:48 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/a-midi-player-on-eight-floppy-drives/</guid>
      <description>Some times ago, I watched a video about singing floppy drives and a heap of written off computers, and decided to make something of the kind.
Make it on Arduino like the rest? Seriously? As they say, f*ck the system! I decided to make it on Atmega8A, as that’s what I had at hand. I also decided that wires were unnecessary, and found HC-05.
Let’s go!
The Circuit As usual, the first stage is the circuit.</description>
    </item>
    
    <item>
      <title>Real-time notifications on Django using gevent-socketio and RabbitMQ</title>
      <link>https://kukuruku.co/post/real-time-notifications-on-django-using-gevent-socketio-and-rabbitmq/</link>
      <pubDate>Tue, 17 Mar 2015 13:49:40 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/real-time-notifications-on-django-using-gevent-socketio-and-rabbitmq/</guid>
      <description>This time we’ll be replacing Node.js with a 100% Python implementation using gevent-socketio and Redis with RabbitMQ, but we also didn’t want to bore you with the same vanilla notifications site, so we’re going to build something different. Something useful.
This time we’re going to build a complete GeoDjango-based site to report geo-located incidents in real-time using Google Maps.
The Application
The application is a Django 1.7 site that uses GeoDjango (backed by PostGIS) to track and report in real-time geo-located incidents that occur in certain areas of interest around the world.</description>
    </item>
    
    <item>
      <title>Do Not Wake the Programmer Up!</title>
      <link>https://kukuruku.co/post/do-not-wake-the-programmer/</link>
      <pubDate>Thu, 12 Mar 2015 12:37:16 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/do-not-wake-the-programmer/</guid>
      <description>Hey there! I’m back from the first vacation in my life… and I guess that some people have not been on vacation in their entire life.
I’m not sure that it’s useful to take a break from work for almost a month. I haven’t realized what effect it would have on productivity. But during the holidays, I understood something about things I’ve been thinking about for a while, but couldn’t realize them.</description>
    </item>
    
    <item>
      <title>How I built my first Android Game and realized creativity is all about iterations</title>
      <link>https://kukuruku.co/post/how-i-built-my-first-android-game-and-realized-creativity-is-all-about-iterations/</link>
      <pubDate>Tue, 10 Mar 2015 11:44:46 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/how-i-built-my-first-android-game-and-realized-creativity-is-all-about-iterations/</guid>
      <description>Last week, on 27th February 2015, I released my first android game Rocket Romeo. As I started to spread the message to my friends, the game built traction. The graphics, mechanics and experience of the game has been greatly appreciated so far. In the midst of appreciation, I found that most of the people recognized my attempt to be creative. I have been wondering what creativity really is because for the past 45 days all I have done is tried to build a game which is loved by masses.</description>
    </item>
    
    <item>
      <title>USB Killer</title>
      <link>https://kukuruku.co/post/usb-killer/</link>
      <pubDate>Tue, 10 Mar 2015 01:17:10 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/usb-killer/</guid>
      <description>It was a usual gloomy winter morning. My colleagues and I were drinking our morning coffee, sharing the news and there were no signs of trouble. But then a friend told about…
(a quote from a chat in Skype):
 I read an article about how a dude in the subway fished out a USB flash drive from the outer pocket of some guy’s bag. The USB drive had “128” written on it.</description>
    </item>
    
    <item>
      <title>Quantum Search Using Grover’s Algorithm</title>
      <link>https://kukuruku.co/post/quantum-search-using-grovers-algorithm/</link>
      <pubDate>Tue, 10 Mar 2015 00:45:09 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/quantum-search-using-grovers-algorithm/</guid>
      <description>Following the first quantum algorithms we have already reviewed (Deutsch’s algorithm and the Deutsch-Jozsa algorithm — it&amp;rsquo;s better to read these articles first, otherwise all the things mentioned here will be quite vague), let’s analyze Grover’s algorithm for the unstructured quantum search. An American mathematician Lov Grover formulated the algorithm in 1996 (it was long after the model of quantum computations had become popular). The algorithm uses a feature of quantum interference in order to solve an extremely demanding task of searching the value of some parameter, at which a defined function returns certain results.</description>
    </item>
    
    <item>
      <title>Secrets of the Conditional (ternary) Operator</title>
      <link>https://kukuruku.co/post/secrets-of-the-conditional-ternary-operator/</link>
      <pubDate>Fri, 06 Mar 2015 21:09:21 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/secrets-of-the-conditional-ternary-operator/</guid>
      <description>Every self-respecting C/C++ programmer knows what the ternary operator is, and most everyone used it at least once in their programs. But do you know all the secrets of the ternary operator? What potential dangers are associated with its use and what features, seemingly not related to its direct purpose, it has? This article gives you the opportunity to test your knowledge and maybe learn something new.
Let&amp;rsquo;s start with a small test.</description>
    </item>
    
    <item>
      <title>A Short Course in Computer Graphics. How to Write a Simple OpenGL. Article 2 of 6</title>
      <link>https://kukuruku.co/post/a-short-course-in-computer-graphics-how-to-write-a-simple-opengl-article-2-of-6/</link>
      <pubDate>Thu, 05 Mar 2015 16:01:48 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/a-short-course-in-computer-graphics-how-to-write-a-simple-opengl-article-2-of-6/</guid>
      <description>Hi, everyone. It’s me.
It’s a model of my head rendered in the program we will create in the next hour or two.
Last time we drew the wire mesh of a three-dimensional model. This time, we will fill polygons, or rather triangles, as OpenGL triangles almost any polygon, so there&amp;rsquo;s no need to consider a complex case. Reminding you, that this series of articles is designed for your own programming.</description>
    </item>
    
    <item>
      <title>Undefined Behavior and Fermat’s Last Theorem</title>
      <link>https://kukuruku.co/post/undefined-behavior-and-fermats-last-theorem/</link>
      <pubDate>Thu, 05 Mar 2015 14:07:45 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/undefined-behavior-and-fermats-last-theorem/</guid>
      <description>In accordance with the C and C++ standards, if the program leads to an integer overflow or any other “undefined behavior” (UB), the result of the program performance can be anything: it can post obscenities to Twitter or format your disk…
Unfortunately, “Easter eggs” that would make the program do something out of the ordinary in case of UB, have not been noticed since the GCC 1.17 that invoked NetHack, when the code contained unknown #pragma.</description>
    </item>
    
    <item>
      <title>Multitasking in the Linux Kernel. Workqueues</title>
      <link>https://kukuruku.co/post/multitasking-in-the-linux-kernel-workqueues/</link>
      <pubDate>Wed, 04 Mar 2015 23:21:48 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/multitasking-in-the-linux-kernel-workqueues/</guid>
      <description>Let’s go on talking about multithreading in the Linux kernel. Last time I told you about interrupts, the ways to process them, and tasklets. Since I’ve wanted it to be one article, I will refer to tasklets in the story about the workqueue, and assume that the reader is already familiar with them.
Just like the last time, I will try to make my story as detailed as possible.</description>
    </item>
    
    <item>
      <title>I Do Not Know C</title>
      <link>https://kukuruku.co/post/i-do-not-know-c/</link>
      <pubDate>Tue, 03 Mar 2015 23:57:51 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/i-do-not-know-c/</guid>
      <description>The purpose of this article is to make everyone (especially C programmers) say: “I do not know C”.
I want to show that the dark corners of C are much closer than it seems, and even trivial code lines may contain undefined behavior.
The article is organized as a set of questions and answers. All the examples are separate files of the source code.
1. int i; int i = 10;  Q: Is this code correct?</description>
    </item>
    
    <item>
      <title>Introduction to Machine Learning with Python and Scikit-Learn</title>
      <link>https://kukuruku.co/post/introduction-to-machine-learning-with-python-andscikit-learn/</link>
      <pubDate>Tue, 03 Mar 2015 15:25:14 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/introduction-to-machine-learning-with-python-andscikit-learn/</guid>
      <description>Hello, %username%!
My name is Alex. I deal with machine learning and web graphs analysis (mostly in theory). I also work on the development of Big Data products for one of the mobile operators in Russia. It’s the first time I write a post, so please, don’t judge me too harshly.
Nowadays, a lot of people want to develop efficient algorithms and take part in machine learning competitions. So they come to me and ask: “Where to start?</description>
    </item>
    
    <item>
      <title>A Short Course in Computer Graphics. How to Write a Simple OpenGL. Article 1 of 6</title>
      <link>https://kukuruku.co/post/a-short-course-in-computer-graphics-how-to-write-a-simple-opengl-article-1-of-6/</link>
      <pubDate>Tue, 24 Feb 2015 23:17:18 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/a-short-course-in-computer-graphics-how-to-write-a-simple-opengl-article-1-of-6/</guid>
      <description>Describing the Task In this series of articles, I want to show the way OpenGL works by writing its clone (a much simplified one). Surprisingly enough, I often meet people who cannot overcome the initial hurdle of learning OpenGL / DirectX. Thus, I have prepared a short series of six lectures, after which my students show quite good renderers.
So, the task is formulated as follows: Using no third-party libraries (especially graphic ones), get something like this picture:</description>
    </item>
    
    <item>
      <title>Lock-Free Data Structures. The Evolution of a Stack</title>
      <link>https://kukuruku.co/post/lock-free-data-structures-the-evolution-of-a-stack/</link>
      <pubDate>Tue, 24 Feb 2015 01:29:55 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/lock-free-data-structures-the-evolution-of-a-stack/</guid>
      <description>In the previous articles I described the basis, on which lock-free data structures and basic algorithms of the lifetime management of elements of lock-free data structures are built. Actually, it was a prelude to the description of lock-free containers. But then I faced a problem of how to build the story. Describing the known algorithms would be quite boring, as there would be a lot of [pseudo-]code, plenty of details that are important but quite specific.</description>
    </item>
    
    <item>
      <title>How I Got to the App Store Top With a Simple Currency App</title>
      <link>https://kukuruku.co/post/how-i-got-to-the-app-store-top-with-a-simple-currency-app/</link>
      <pubDate>Sun, 22 Feb 2015 23:57:51 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/how-i-got-to-the-app-store-top-with-a-simple-currency-app/</guid>
      <description>I will tell you how I’ve created quite an ordinary and not at all innovative application that has become objectively the best of its kind and even has been at the very top of the top for some time. It’s not a success story and not a guide for action. I just want to tell you how I developed the most popular application in its category.
These are the main points:</description>
    </item>
    
    <item>
      <title>How to Implement the Deutsch-Jozsa Algorithm in Haskell</title>
      <link>https://kukuruku.co/post/quantum-computations-how-to-implement-deutsch-jozsa-algorithm-in-haskell/</link>
      <pubDate>Tue, 17 Feb 2015 22:31:34 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/quantum-computations-how-to-implement-deutsch-jozsa-algorithm-in-haskell/</guid>
      <description>We have already mentioned this algorithm when solving the simplest tasks in quantum computations. Let’s go on developing the framework and review the initial algorithm enhancement, named the Deutsch-Jozsa algorithm. It is another article in the series about the model of quantum computations. That’s why you’d better read the previous articles, as they will help you to understand all the things here. You should refer to the first three articles:</description>
    </item>
    
    <item>
      <title>Clojure. Transducers, Reducers and Other Stuff</title>
      <link>https://kukuruku.co/post/clojure-transducers-reducers-and-other-stuff/</link>
      <pubDate>Thu, 12 Feb 2015 02:17:06 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/clojure-transducers-reducers-and-other-stuff/</guid>
      <description>Transducers have become quite popular recently. It’s a new feature of the non-released Clojure 1.7. As of writing this, Сlojure 1.7-alpha5 version is the latest development release, but there also appeared a fair number of ports of transducers for such languages as Python, Ruby, JavaScript, PHP, Java, C++, Lua, Erlang. To tell the truth, it’s a bit disconcerting, the library of reducers was added long ago (in Clojure 1.5). But no one said anything about them; nothing was ported, though they seem to be performing similar things.</description>
    </item>
    
    <item>
      <title>Meteor. How to Build a TODO List</title>
      <link>https://kukuruku.co/post/meteor-how-to-build-a-todo-list/</link>
      <pubDate>Mon, 09 Feb 2015 00:07:34 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/meteor-how-to-build-a-todo-list/</guid>
      <description>In this tutorial I don’t want to discuss why Meteor is the killer of the web, especially because I don’t think so and even like this framework. That’s why I want to show what to start with when developing applications on it. I’ll tell you about what packages there are and what Meteor is.
I don’t have much experience in developing Web applications. I’ve been doing it for two years only, and I got to know Meteor only a few months ago.</description>
    </item>
    
    <item>
      <title>Why Pay-per-Word Just Doesn’t Work for Tech Blogging</title>
      <link>https://kukuruku.co/post/why-pay-per-word-just-doesnt-work-for-tech-blogging/</link>
      <pubDate>Sun, 08 Feb 2015 09:53:49 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/why-pay-per-word-just-doesnt-work-for-tech-blogging/</guid>
      <description>Tech blogging is on the rise though most of startups see it as a secondary thing. They’re totally right but there’s one condition to it — it requires skill as well as time. A lot of companies are comfortable with solving this problem by outsourcing content creation and hiring agencies or freelancers.
That’s debatable whether you should really do it or not but let’s focus on one detail that may save you from getting zero engagement, because nobody gives a rat’s ass about your blogs.</description>
    </item>
    
    <item>
      <title>Lock-free Data Structures. The Inside. RCU</title>
      <link>https://kukuruku.co/post/lock-free-data-structures-the-inside-rcu/</link>
      <pubDate>Tue, 03 Feb 2015 03:11:56 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/lock-free-data-structures-the-inside-rcu/</guid>
      <description>Today I will continue to introduce techniques that help to write lock-free containers. At the same time, I will advertise (hopefully not too obtrusive), my libcds library.
We will talk about one more technique of safe memory reclamation for lock-free containers – RCU. This technique differs significantly from the previously discussed algorithms, such as Hazard Pointer.
Read – Copy Update (RCU) is a synchronization technique designed for «almost read-only», meaning rarely changed, data structures.</description>
    </item>
    
    <item>
      <title>Multitasking in the Linux Kernel. Interrupts and Tasklets</title>
      <link>https://kukuruku.co/post/multitasking-in-the-linux-kernel-interrupts-and-tasklets/</link>
      <pubDate>Tue, 27 Jan 2015 21:36:22 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/multitasking-in-the-linux-kernel-interrupts-and-tasklets/</guid>
      <description>In the previous article I mentioned about multithreading. The article covered such basic notions as types of multitasking, the scheduler, scheduling strategies, the state machine, and other.
This time, I want to look at the problem of scheduling from another perspective. Namely, I’m going to tell you about scheduling not threads, but their “younger brothers”. Since the article turned out to be quite long, at the last moment I decided to break it up into several parts:</description>
    </item>
    
    <item>
      <title>Oil Series in R</title>
      <link>https://kukuruku.co/post/oil-series-oil-prices-in-r/</link>
      <pubDate>Tue, 27 Jan 2015 01:22:54 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/oil-series-oil-prices-in-r/</guid>
      <description>“Charts are great for predicting the past.” -Peter Lynch
 I have not dealt with time series in practice, but I definitely read about them (mostly at school) and had some idea about the way the analysis is carried out. But it is well known that what told in textbooks on statistics and machine learning does not always reflect the real situation.
I guess a lot of people follow the pirouettes made by the curve of oil prices.</description>
    </item>
    
    <item>
      <title>Why Most IT Companies Do Not Need Marketing Teams</title>
      <link>https://kukuruku.co/post/why-most-it-companies-do-not-need-marketing-teams/</link>
      <pubDate>Sun, 25 Jan 2015 15:44:48 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/why-most-it-companies-do-not-need-marketing-teams/</guid>
      <description>The word for 2015 is hustle. Companies cutting costs and workforce are forced to look for real indie talent in order to outsource marketing and content creation. Startups have no time for anything but core product and they are about to recognise freelancers and niche agencies as well.
Efficiency problem Major tech companies have their own marketing teams, startups tend to hire growth hackers and move towards spending most of their time working on core products.</description>
    </item>
    
    <item>
      <title>Bayes’ Theorem, Predictions and Confidence Intervals</title>
      <link>https://kukuruku.co/post/bayes-theorem-predictions-and-confidence-intervals/</link>
      <pubDate>Fri, 23 Jan 2015 00:30:53 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/bayes-theorem-predictions-and-confidence-intervals/</guid>
      <description>There are plenty of articles on this subject, but they do not review real-life problems. I am going to try to fix this. We use Bayes’ Theorem (a.k.a. Bayes’ law or Bayes’ rule) to filter spam in recommendation services and for ratings system. A great number of algorithms of fuzzy searches would be impossible without it. Besides, the theorem is the cause of holy wars between mathematicians.
Introduction Let’s start from the very beginning.</description>
    </item>
    
    <item>
      <title>1,000,000 Views of Your Company&#39;s Blog: 5 Tips</title>
      <link>https://kukuruku.co/post/1-000-000-views-of-your-companys-blog-5-tips/</link>
      <pubDate>Wed, 21 Jan 2015 17:23:58 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/1-000-000-views-of-your-companys-blog-5-tips/</guid>
      <description>Each and every day thousands of co’s around the world setup their corporate blogs but most of them fail to deliver useful and interesting content. Those who succeed usually tell real life stories instead of posting same old press releases and advertising their products.
Hustling for attention is hard and doing it for your company’s blog seems even harder but there’s a simple set of tips to be used in case you don’t want to waste time and resources on fruitless blogging.</description>
    </item>
    
    <item>
      <title>Privacy Policy</title>
      <link>https://kukuruku.co/page/privacy/</link>
      <pubDate>Wed, 21 Jan 2015 17:23:58 +0000</pubDate>
      
      <guid>https://kukuruku.co/page/privacy/</guid>
      <description>This Privacy Policy governs the manner in which Kukuruku collects, uses, maintains and discloses information collected from users (each, a &amp;ldquo;User&amp;rdquo;) of the https://kukuruku.co website (&amp;ldquo;Site&amp;rdquo;). This privacy policy applies to the Site and all products and services offered by Kukuruku.
Personal identification information We may collect personal identification information from Users in a variety of ways, including, but not limited to, when Users visit our site, register on the site, subscribe to the newsletter, and in connection with other activities, services, features or resources we make available on our Site.</description>
    </item>
    
    <item>
      <title>Backdoor in a Public RSA Key</title>
      <link>https://kukuruku.co/post/backdoor-in-a-public-rsa-key/</link>
      <pubDate>Tue, 20 Jan 2015 21:42:41 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/backdoor-in-a-public-rsa-key/</guid>
      <description>Hello, %username%!
When I saw how it works, say that I was shocked is to say nothing. It&amp;rsquo;s a pretty simple trick, but after reading this article, you will never look at the RSA as before. This is not a way to hijack RSA, but something that will make your paranoia greatly swell.
So, imagine that you have access to the generator of an RSA key and you want to give someone the opportunity to get the private key without any factorization and other quantum computers.</description>
    </item>
    
    <item>
      <title>Hacked. A Short Story.</title>
      <link>https://kukuruku.co/post/hacked-a-short-story-of-a-hack/</link>
      <pubDate>Sun, 18 Jan 2015 21:41:31 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/hacked-a-short-story-of-a-hack/</guid>
      <description>It all started when I was asked (as a freelancer) to configure exim4, so that newsletters would not fall into spam folders. They even sent me a link to a tutorial.
I thought the work would take a couple of hours, including the DNS update, but I was wrong. After logging in as root, I started my favorite screen by running the screen -x command as usual, and watched a curious scene in the favorite for many of you /dev/shm folder.</description>
    </item>
    
    <item>
      <title>Quantum Circuit Design: Methods and Techniques</title>
      <link>https://kukuruku.co/post/quantum-circuits-methods-and-techniques/</link>
      <pubDate>Fri, 16 Jan 2015 13:45:02 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/quantum-circuits-methods-and-techniques/</guid>
      <description>You are most welcome to read another article about quantum computing.
Quantum circuit design is the analysis methodology, and a synthesis of quantum circuits that implement some or other algorithms (not only quantum ones). In a generalized sense, any computational process is represented in the form of a three (the input, the process of transformation, the output). Taking into account this consideration, the goals of quantum circuit design are:</description>
    </item>
    
    <item>
      <title>Automatic Algorithms Optimization via Fast Matrix Exponentiation</title>
      <link>https://kukuruku.co/post/automatic-algorithms-optimization-via-fast-matrix-exponentiation/</link>
      <pubDate>Sat, 10 Jan 2015 19:24:43 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/automatic-algorithms-optimization-via-fast-matrix-exponentiation/</guid>
      <description>Preface Hi! My name is Alexander Borzunov. This article is the translation of my original publication. Sharing my work with English-speaking community and happy to answer all the questions.
 Suppose we want to calculate a tenth million Fibonacci number with a program in Python. The function using a trivial algorithm will be calculating it for more than 25 minutes on my PC. But if we apply a special optimizing decorator, the function will give you the answer in just 18 seconds.</description>
    </item>
    
    <item>
      <title>Singularity of the Humanities</title>
      <link>https://kukuruku.co/post/singularity-of-the-humanities/</link>
      <pubDate>Thu, 08 Jan 2015 01:21:49 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/singularity-of-the-humanities/</guid>
      <description>Our individual perceptions as well as the collective societal-perceptions are rarely in synch to enable us to love another or to serve one another as we are challenged to do. Over the centuries the humanity and the humanities have struggled to cope with this challenge. While this challenge might seem unsurmountable, it need not remain so for ever. Just as our visual acuity is improvable with the help of the prescription lenses; humanities can achieve singularity with the help of the modern computational tools and systems to enable us to not only understand our individual values but also our collective self worth and purposes so that we may never feel challenged or remain unequal to the existential causes.</description>
    </item>
    
    <item>
      <title>How to Implement Deutsch’s Algorithm in Haskell</title>
      <link>https://kukuruku.co/post/how-to-implement-deutschs-algorithm-in-haskell/</link>
      <pubDate>Tue, 30 Dec 2014 01:27:34 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/how-to-implement-deutschs-algorithm-in-haskell/</guid>
      <description>With this article I would like to continue the series of publications about the model of quantum computing. In the previous article I gave a brief introduction about reversibility of computing processes.
Dear reader, today I invite you to take a look at one of the simplest quantum algorithms, which shows the increase of efficiency in comparison with classical computing model. I am talking about Deutsch’s algorithm. We are also going to use Haskell to illustrate the approach and the Deutsch’s algorithm itself.</description>
    </item>
    
    <item>
      <title>Using the Quick Raise of Matrices to a Power to Write a Very Fast Interpreter of a Simple Programming Language</title>
      <link>https://kukuruku.co/post/using-the-quick-raise-of-matrices-to-power-to-write-a-very-fast-interpreter-of-a-simple-programming-language/</link>
      <pubDate>Fri, 26 Dec 2014 04:54:32 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/using-the-quick-raise-of-matrices-to-power-to-write-a-very-fast-interpreter-of-a-simple-programming-language/</guid>
      <description>Hello! My name is Alex Skidanov. Currently I work at MemSQL.
I have recently read an article about calculating the Nth Fibonacci number in O(log N) arithmetic operations. But why would we need it in practice? — you may ask. By itself, the calculation N-th Fibonacci number may not be very interesting, but the approach with the matrices used in the article, in practice, can be applied to a much wider range of tasks.</description>
    </item>
    
    <item>
      <title>A Few Words About Reversible Computing</title>
      <link>https://kukuruku.co/post/a-few-words-about-reversible-computing/</link>
      <pubDate>Wed, 24 Dec 2014 02:51:34 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/a-few-words-about-reversible-computing/</guid>
      <description>Today I would like to raise a topic that has recently become all the more relevant and interesting. At least, judging by all the increasing number of publications in this direction, the interest in it is really growing. I am talking about quantum computing, or, to be more accurate, about a model of quantum computations. Without going into details of the model, let’s take a look at one of numerous questions related to it.</description>
    </item>
    
    <item>
      <title>Quantum Dead End</title>
      <link>https://kukuruku.co/post/quantum-dead-end/</link>
      <pubDate>Tue, 23 Dec 2014 00:58:51 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/quantum-dead-end/</guid>
      <description>Several times I was taking part in arguments about the artificial intelligence, I was extremely skeptic. Referring to Heisenberg, I said that the human brain cannot be reproduced, recreated or duplicated. As you might have guessed, the reaction to such statements was always the same: denial.
We live in a mechanical world. It happened so that the concept of science and technology as a universal way of solving tasks is one of the key paradigms of the public conscience in the 21st century (at least of the technically educated part of the society).</description>
    </item>
    
    <item>
      <title>Double-Typed Relations for Partial Data Representation</title>
      <link>https://kukuruku.co/post/double-typed-relations-for-partial-data-representation/</link>
      <pubDate>Mon, 22 Dec 2014 01:41:43 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/double-typed-relations-for-partial-data-representation/</guid>
      <description>In the previous article about constructing types in Scala we’ve reviewed the idea of constructing types that are similar to classes. This allows to separate stored data from meta-information and emphasize representation of entities properties. But the mentioned approach turns out to be quite difficult due to HList type usage. Thus, we realized that for most practical tasks a linear ordered sequence of properties, as well as completeness of a property set, is not necessary.</description>
    </item>
    
    <item>
      <title>IPv6 in Practice</title>
      <link>https://kukuruku.co/post/ipv6-in-practice/</link>
      <pubDate>Sun, 21 Dec 2014 22:20:53 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/ipv6-in-practice/</guid>
      <description>IPv6 for Cloud Servers Frankly speaking, the Internet lion’s share operates on IPv4. There are some living islands of IPv6 in Asia, plus several big sites, (such as google.com, facebook.com) respond via IPv6.
But it’s better to use IPv6. The more websites will be ready to operate using IPv6, the easier and simpler conversion will be. Thus, it’s a relevant investment in the future.
What does IPv6 mean for a particular cloud server from a practical point of view?</description>
    </item>
    
    <item>
      <title>Young Tableaux in the Tasks of Searching and Sorting</title>
      <link>https://kukuruku.co/post/young-tableaux-in-the-tasks-of-searching-and-sorting/</link>
      <pubDate>Sat, 20 Dec 2014 04:11:05 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/young-tableaux-in-the-tasks-of-searching-and-sorting/</guid>
      <description>Young tableaux are widely known objects studied in combinatorics and related sciences. Today we are going to review how to apply Young tableaux in the context of such standard algorithmic tasks as searching and sorting. From this perspective, Young tableaux are quite close to pyramids. That&amp;rsquo;s how they are actually called in a book by T. Cormen and others.
Young Tableau Notion Let’s consider a Young tableau as a partially ordered and almost filled numerical matrix.</description>
    </item>
    
    <item>
      <title>Cell Phones and the NSA Mass Surveillance. The Way it Works.</title>
      <link>https://kukuruku.co/post/cell-phones-and-the-nsa-mass-surveillancethe-way-it-works/</link>
      <pubDate>Fri, 19 Dec 2014 00:01:46 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/cell-phones-and-the-nsa-mass-surveillancethe-way-it-works/</guid>
      <description>During the last two years, you could often see Edward Snowden’s name in the news about Information Security. Thanks to the disclosures made by this former contractor of the US Intelligence Agency, all of us now know that the National Security Agency (NSA) possesses the necessary means for the total mobile surveillance of citizens. But we don’t really know much about the way this surveillance is organized. We are going to take a look at some details of the technologies the NSA use.</description>
    </item>
    
    <item>
      <title>How To Backup Google Apps for Business</title>
      <link>https://kukuruku.co/post/how-to-backup-google-apps-for-business/</link>
      <pubDate>Thu, 18 Dec 2014 23:31:45 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/how-to-backup-google-apps-for-business/</guid>
      <description>Google, when introduces a service it serves to be efficient to an extent that we cannot imagine how we worked before. Google Apps is one of the services introduced by Google. It is a suite of Google applications that brings together essential features in order to help users in their businesses. It is a hosted service that allows businesses and organizations to use a variety of Google products like Email, Google Doc, Google Talk and much more on a unique domain.</description>
    </item>
    
    <item>
      <title>The Nth  Fibonacci Number in O(log N)</title>
      <link>https://kukuruku.co/post/the-nth-fibonacci-number-in-olog-n/</link>
      <pubDate>Wed, 17 Dec 2014 01:42:20 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/the-nth-fibonacci-number-in-olog-n/</guid>
      <description>Reading an article about getting a job in ABBYY, I came across the following task:
 Find the Nth Fibonacci Number in O(N) time of arithmetic operations.
 Thinking about it, I realized that the only solutions coming to my mind were those operating in O(n) time. But I found a better solution later.
I am going to use the following denotation of sets:
- non-negative integers
— positive integers</description>
    </item>
    
    <item>
      <title>Comparing Rust and C&#43;&#43;</title>
      <link>https://kukuruku.co/post/comparing-rust-and-cpp/</link>
      <pubDate>Mon, 15 Dec 2014 00:25:11 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/comparing-rust-and-cpp/</guid>
      <description>All the C++ and Rust examples in the article are not real. So use your imagination to estimate the scope of threat.
C++ programs have been compiled with gcc-4.7.2 in C++11 mode, using online compiler. Programs in Rust have been built with Rust 0.11, using the rust play app.
I know that there are a lot of changes in C++14 as well as in latest Rust release. But I would still be glad to read your feedback.</description>
    </item>
    
    <item>
      <title>Application Porno or the Way to Find Secrets in Mobile Applications</title>
      <link>https://kukuruku.co/post/application-porno-or-the-way-to-find-secrets-in-mobile-applications/</link>
      <pubDate>Sat, 13 Dec 2014 04:27:30 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/application-porno-or-the-way-to-find-secrets-in-mobile-applications/</guid>
      <description>I have recently read an interesting article about a team of researchers that downloaded and parsed the Android Playmarket. Then they analyzed hundreds of thousands of applications regarding the presence of secret tokens and passwords.
Since the result of their work concerned the analysis of decompiled code under Android only, I decided to write about a research I did a year ago. I performed it not for Android only, but also for iOS applications.</description>
    </item>
    
    <item>
      <title>Building a Minimal Convex Hull</title>
      <link>https://kukuruku.co/post/building-a-minimal-convex-hull/</link>
      <pubDate>Fri, 12 Dec 2014 10:22:37 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/building-a-minimal-convex-hull/</guid>
      <description>Since I have recently become interested in convex hulls, I decided to go on telling you about the algorithmic geometry. Today we are going to review the building of the so-called minimal convex hulls. Though the picture on the right provides an exhaustive explanation of what they actually are, you will find more formal definitions and two classical examples below.
Minimal Convex Hull Notion Let the plane have a given finite number of A points.</description>
    </item>
    
    <item>
      <title>Creating a Game Character</title>
      <link>https://kukuruku.co/post/creating-a-game-character/</link>
      <pubDate>Thu, 11 Dec 2014 09:21:35 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/creating-a-game-character/</guid>
      <description>Today we are going to review the process of creating a game character for the game engine. The article is mainly addressed to those being interested in the process of the NextGen models development. But it will be also interesting for those wanting to have a look at the backstage of the modern game development. I created the character for a portfolio. I guess this character is the first one I brought into shape.</description>
    </item>
    
    <item>
      <title>DIY. An Astro Tracker in Two Nights</title>
      <link>https://kukuruku.co/post/diy-an-astro-tracker-in-two-nights/</link>
      <pubDate>Wed, 10 Dec 2014 11:40:33 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/diy-an-astro-tracker-in-two-nights/</guid>
      <description>After reading an article about amateur astronomy, I decided to take pictures of stars with the help of a common camera using no telescope. In the mentioned article I learnt about Astro Trackers. An Astro Tracker is a device that is used to compensate rotation of the sky of stars in long-exposures.
Googling for a while, I found out that it’s no problem to buy them, but the price was a bit high.</description>
    </item>
    
    <item>
      <title>Java 8 vs Scala. The Difference in Approaches and Mutual Innovations</title>
      <link>https://kukuruku.co/post/java-8-vs-scala-the-difference-in-approaches-and-mutual-innovations/</link>
      <pubDate>Tue, 09 Dec 2014 12:28:42 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/java-8-vs-scala-the-difference-in-approaches-and-mutual-innovations/</guid>
      <description>I was really glad to find out that my presentation about Scala and Java 8 was retweeted more than other similar content. That’s why I decided to make some notes and tell you about it. We are going to talk about the difference between Scala and Java and say why each of them is important. There are mutual innovations. Each language has borrowed something from each other. The question is: do you have to learn Scala if there is Java available?</description>
    </item>
    
    <item>
      <title>YAWNDB. Time Series Database Written in Erlang</title>
      <link>https://kukuruku.co/post/yawndb-time-series-database/</link>
      <pubDate>Mon, 08 Dec 2014 14:19:55 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/yawndb-time-series-database/</guid>
      <description>I work at Selectel and a lot of our clients, who are leasing dedicated servers, require the information about traffic consumption. Cloud server users need statistics of hardware and network resources use. As for cloud storage users, they need downloads statistics.
The simplest way to provide statistic data is plotting. There are plenty of software solutions for analyzing statistic data with further visualization. We have been looking for an appropriate tool with high performance as a basic requirement.</description>
    </item>
    
    <item>
      <title>Meet Kukuruku Hub v2.0</title>
      <link>https://kukuruku.co/post/meet-kukuruku-hub-v20-alpha/</link>
      <pubDate>Sun, 07 Dec 2014 20:34:22 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/meet-kukuruku-hub-v20-alpha/</guid>
      <description>We are happy to announce a new, redesigned version of Kukuruku Hub! First of all, we would like to say «Thank you!» to the whole team, who worked really hard to get this project off the ground. We have redesigned most of the web site and hope the UI/UX is more smooth and sleek now.
Please let us know what you think and how we can improve. Really! Your opinion is super important.</description>
    </item>
    
    <item>
      <title>A Point Localization in a Polygon</title>
      <link>https://kukuruku.co/post/a-point-localization-in-a-polygon/</link>
      <pubDate>Mon, 13 Oct 2014 21:09:40 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/a-point-localization-in-a-polygon/</guid>
      <description>I have recently come across a post dedicated to solving the task of locating a point in a polygon: there is a polygon (a closed broken line with no self-intersections) and we are to determine, whether the given A point is inside the polygon or not. You may wonder, how such purely mathematic task can be related to the theory of algorithms. But it actually can. Localization is a classic task in computational geometry (do not confuse with computer graphics).</description>
    </item>
    
    <item>
      <title>How to Analyze Distributed Denial-of-Service (DDos) Attack</title>
      <link>https://kukuruku.co/post/some-useful-commands-to-use-during-ddos/</link>
      <pubDate>Sat, 11 Oct 2014 12:35:13 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/some-useful-commands-to-use-during-ddos/</guid>
      <description>What is DDoS Attack? As per Wikipedia, denial-of-service (DoS) or distributed denial-of-service (DDoS) attack is an attempt to make a machine or network resource unavailable to its intended users.
 (adsbygoogle = window.adsbygoogle || []).push({});  In this small post I would like to show a few useful commands to use if someone is experiencing a DDoS attack. In my case, there is an nginx as a front-end server. The access log format looks like this:</description>
    </item>
    
    <item>
      <title>Erlang for the Little Ones. The Basic Syntax of Functions</title>
      <link>https://kukuruku.co/post/erlang-for-the-little-ones-the-basic-syntax-of-functions/</link>
      <pubDate>Mon, 29 Sep 2014 18:19:14 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/erlang-for-the-little-ones-the-basic-syntax-of-functions/</guid>
      <description>Dear %username%,
Let’s continue learning Erlang for the little ones.
In the previous post we’ve reviewed the way of declaring functions and uniting them into modules. In this post we’ll consider the syntax of functions in details.
The source code of all the examples in this post is here.
Pattern Matching To begin with, let’s write a function that will greet a user and the welcome text will depend on user&amp;rsquo;s gender.</description>
    </item>
    
    <item>
      <title>Copyright and a Bit of Porn</title>
      <link>https://kukuruku.co/post/copyright-and-a-bit-of-porn/</link>
      <pubDate>Fri, 26 Sep 2014 15:43:23 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/copyright-and-a-bit-of-porn/</guid>
      <description>The basic thesis of the traditional copyright system protection lies in the following postulate: if we allow to steal everything, films will no longer be shot, music will no longer sound and poems will no longer be made. Devoid of the state machinery protection, the flow of intellectual products will run low and leave the mankind lead an aimless life beyond the progress.
The pictures depicted in regular plots about intellectual piracy often use the image of a starving poet who can not get an adequate fee for his work and talent.</description>
    </item>
    
    <item>
      <title>Something About Cats, Dogs, Machine and Deep Learning</title>
      <link>https://kukuruku.co/post/something-about-cats-dogs-machine-and-deep-learning/</link>
      <pubDate>Tue, 16 Sep 2014 09:47:01 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/something-about-cats-dogs-machine-and-deep-learning/</guid>
      <description>Deep Blue beat Kasparov at chess in 1997. Watson beat the brightest trivia minds at Jeopardy in 2011. Can you tell Fido from Mittens in 2013?
 The picture and quote are taken from the challenge at Kaggle (contest to benchmark the latest computer vision and deep learning approaches) that took place last year in Autumn.
Looking ahead, we can fairly enough reply “Yes” to the question. The ten leaders coped with the task by 98.</description>
    </item>
    
    <item>
      <title>Radix Trees</title>
      <link>https://kukuruku.co/post/radix-trees/</link>
      <pubDate>Thu, 11 Sep 2014 19:34:24 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/radix-trees/</guid>
      <description>Having read some articles about tries (aka prefix trees aka radix trees), I decided to write one of my own. Today we are going to talk about a trie implementation in C++. We will also compare a string search with AVL and Radix tree.
Intro A trie is an ordered tree data structure that is used to store a dynamic set or associative array where the keys are usually strings.</description>
    </item>
    
    <item>
      <title>Are Time Travels Possible?</title>
      <link>https://kukuruku.co/post/are-time-travels-possible/</link>
      <pubDate>Mon, 08 Sep 2014 20:44:13 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/are-time-travels-possible/</guid>
      <description>Being a fan of scientism, I am going to tell you about the nature of time, causality and time travels.
Time According to classical mechanics, time is absolute and invariable in the sense that when moving from one reference system to another one, time frames do not change:
(x, y, z, t) are coordinates in the old frame, while (x&amp;rsquo;, y&amp;rsquo;, z&amp;rsquo;, t&amp;rsquo;) are coordinates in the new one. It is expected that one system moves in-parallel along x axis at v speed.</description>
    </item>
    
    <item>
      <title>Reactive Actors in Java</title>
      <link>https://kukuruku.co/post/reactive-actors-in-java/</link>
      <pubDate>Sat, 30 Aug 2014 18:39:58 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/reactive-actors-in-java/</guid>
      <description>There are plenty of technologies to organize parallel computing. One of the most promising and simple ones is the model of actors. It allows to partially get rid of such major problems of parallelism as race conditions, locking waits of operations termination, endless mutual exclusions and synchronizations, and so on and so forth. This approach also simplifies the code paralleling.
We are going to review it by the example of akka framework using Java language.</description>
    </item>
    
    <item>
      <title>AVL Trees</title>
      <link>https://kukuruku.co/post/avl-trees/</link>
      <pubDate>Thu, 28 Aug 2014 17:38:58 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/avl-trees/</guid>
      <description>In the previous article we’ve reviewed Randomized Binary Search Trees. Today we are going to review the implementation of AVL Trees. They must be the first type of Balanced Binary Search Trees. They were invented by two Soviet inventors, G. M. Adelson-Velskii and E. M. Landis in 1962. There are plenty of AVL trees implementations, but, to my mind, none of them is good enough when you try to make sense of it all from scratch.</description>
    </item>
    
    <item>
      <title>Crowdfunding an Open Source Science for Our Complex World</title>
      <link>https://kukuruku.co/post/crowdfunding-an-open-source-science-for-our-complex-world/</link>
      <pubDate>Tue, 26 Aug 2014 02:55:11 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/crowdfunding-an-open-source-science-for-our-complex-world/</guid>
      <description>In short, the crowdfunding campaignto launch the new physics discipline of Complex Thermostatistics ends this weekend, and we could really use your support to get us over our reach goal!
Help us grow a community of researchers and science-lovers who are passionate about understanding complex systems. We will be working on an adaptation of Thermostatistics together for this purpose! Your contributions will provide a year-long runway for a collaborative infrastructure as well as educational materials for this emerging field.</description>
    </item>
    
    <item>
      <title>Randomized Binary Search Trees</title>
      <link>https://kukuruku.co/post/randomized-binary-search-trees/</link>
      <pubDate>Thu, 21 Aug 2014 23:01:09 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/randomized-binary-search-trees/</guid>
      <description>I have always been surprised by the contrast between the grace of the main concept of binary search trees and implementation complexity of balanced Binary Search Trees (Red-Black Trees, AVL Trees and Treaps). I have recently looked through the “Algorithms” by Robert Sedgewick [1] and found a description of randomized search trees (I’ve also found the original [2]). It is just one third of a page long (nodes insertion, and one more page for deletion).</description>
    </item>
    
    <item>
      <title>A Little Lisp Interpreter in Python</title>
      <link>https://kukuruku.co/post/a-little-lisp-interpreter-in-python/</link>
      <pubDate>Mon, 18 Aug 2014 14:57:25 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/a-little-lisp-interpreter-in-python/</guid>
      <description>When reading the “Binary trees” chapter in Programming Interviews Exposed by John Mongan, I thought about the ways recursion is explained to beginners. For example, via sorts, traversing binary trees, building Fibonacci sequence and so on and so forth. But is it really that difficult to find a more interesting example? That’s when Lisp came to my mind, as it is inseparable from the notion of recursion. Moreover, a little Lisp interpreter is a great example to study recursion.</description>
    </item>
    
    <item>
      <title>What is grep and How do We Use It?</title>
      <link>https://kukuruku.co/post/what-is-grep-and-how-do-we-use-it/</link>
      <pubDate>Fri, 15 Aug 2014 18:21:58 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/what-is-grep-and-how-do-we-use-it/</guid>
      <description>When reading some articles about Unix commands, I noticed that the examples provided in them were not practically useful. It turns out that we do not know how to use tools that are actually useful.
Before that Three years ago I was asked to hold an interview with applicants for the position of unix system administrator. There were eight applicants, and two of them were top-rated at the freelance marketplace.</description>
    </item>
    
    <item>
      <title>Working for Google. A Rotten Apple</title>
      <link>https://kukuruku.co/post/working-for-google-a-rotten-apple/</link>
      <pubDate>Fri, 15 Aug 2014 14:56:15 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/working-for-google-a-rotten-apple/</guid>
      <description>Disclaimer: I’ve been working at Google as an engineer for almost 4 years.
Google is really a great company for programmers, but it is not perfect anyway. There are also some drawbacks and we are going to talk about them today.
I guess everything mentioned here can also be applied to similar companies. Therefore, I am going to use “Company” instead of Google. I do not guarantee, but do think that it’s the same for Microsoft, Facebook, Amazon and other big companies.</description>
    </item>
    
    <item>
      <title>Cellular Automata Using Comonads</title>
      <link>https://kukuruku.co/post/cellular-automata-using-comonads/</link>
      <pubDate>Thu, 14 Aug 2014 12:55:08 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/cellular-automata-using-comonads/</guid>
      <description>I have recently come across an article about implementing a one-dimensional cellular automaton using comonads. But this material is a bit outdated. Therefore, I’ve decided to write an article of my own and consider two-dimensional cellular automata by the example of The Game of Life:
Universe Let’s take a look at Universe data type that is defined the following way:
data Universe a = Universe [a] a [a] It’s a doubly infinite list focusing on some element that we can shift using the following functions:</description>
    </item>
    
    <item>
      <title>KernelCare: Patching the Kernel On-the-Fly</title>
      <link>https://kukuruku.co/post/kernelcare-patching-the-kernel-on-the-fly/</link>
      <pubDate>Wed, 13 Aug 2014 17:05:04 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/kernelcare-patching-the-kernel-on-the-fly/</guid>
      <description>As for today, we do not have to turn off and reboot a server with Linux operating system for months. But sooner or later, we’ll have to do it anyway. For example, to install kernel updates. As a rule, this procedure is a real pain for sysadmins. First of all, they have to choose time of the minimal user activity. They should also send out warning emails to all users in advance.</description>
    </item>
    
    <item>
      <title>Getting CSS Code in Order: Yandex Experience</title>
      <link>https://kukuruku.co/post/gettingcss-code-in-order-yandex-experience/</link>
      <pubDate>Tue, 12 Aug 2014 22:10:06 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/gettingcss-code-in-order-yandex-experience/</guid>
      <description>Hey there,
I’m currently working at the front-end of a huge project – Yandex search results. As any other web project, we have a huge amount of CSS code and a considerable team interacting with it.
When a lot of people write and edit CSS code with the help of various tools, it can become really complex and inconsistent. For instance, someone prefers writing vendor prefixes in one order, the other one prefers writing it in a different way.</description>
    </item>
    
    <item>
      <title>An Interesting Task for an Interview. Currying and Partial Application of a Function</title>
      <link>https://kukuruku.co/post/an-interesting-task-for-an-interview-currying-and-partial-applicationof-a-function/</link>
      <pubDate>Mon, 11 Aug 2014 00:50:34 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/an-interesting-task-for-an-interview-currying-and-partial-applicationof-a-function/</guid>
      <description>I am currently attending some job interviews. Some of them are boring, others are interesting. During one of the interviews they asked me to write a function that could add two numbers. So, I wrote:
it (&#39;should add two numbers&#39;, function () { var add = function (a,b) { return a + b; }; assert.equal(add(2,3), 5); });  — «But what if that the function signature should be something like add(num1)(num2)?</description>
    </item>
    
    <item>
      <title>A Cheat Sheet for HTTP Libraries in C&#43;&#43;</title>
      <link>https://kukuruku.co/post/a-cheat-sheet-for-http-libraries-in-c/</link>
      <pubDate>Wed, 02 Jul 2014 20:18:33 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/a-cheat-sheet-for-http-libraries-in-c/</guid>
      <description>Unfortunately, standard C++ library doesn&amp;rsquo;t provide tools for working with HTTP. Therefore, when we want to run a REST service, parse a webpage or write a simple bot or web crawler, we always wonder which library is better to use. Sometimes a project already uses some framework (or even several). But how do we create an HTTP request using available facilities? Not to get confused each time performing such tasks, I decided to make a cheat sheet with examples of HTTP requests in C++ using different libraries.</description>
    </item>
    
    <item>
      <title>Some Useful and Interesting Things for Web Developers</title>
      <link>https://kukuruku.co/post/some-useful-and-interesting-things-for-web-developers/</link>
      <pubDate>Wed, 25 Jun 2014 20:44:57 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/some-useful-and-interesting-things-for-web-developers/</guid>
      <description>Dear %username%,
I have recently come across several interesting and useful tools/libraries/events I would like to tell you about.
DC.js  This library allows creating great multi level/scalable cross-platform charts and diagrams providing instant feedback on user&amp;rsquo;s interaction. A popular d3.js is in charge of the viewing process. crossfilter.js deals with the analysis of multi-dimensional data sets.
chart.renderlet(function(chart){ // smooth the rendering through event throttling dc.events.trigger(function(){ // focus some other chart to the range selected by user on this chart someOtherChart.</description>
    </item>
    
    <item>
      <title>Bead Sort</title>
      <link>https://kukuruku.co/post/bead-sort/</link>
      <pubDate>Sun, 22 Jun 2014 14:53:19 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/bead-sort/</guid>
      <description>Today we’re going to review an algorithm that was invented 11 years ago. Its “prototype” is a counting device with three thousand years of history. 
Authors The sort was presented in 2002 by three mathematicians from the University of Auckland, New Zealand. They are Joshua J. Arulanandham, Cristian S. Calude and Michael J. Dinneen. They work in such fields as discrete mathematics, the theory of number, quantum computations, the information theory and combinatorial algorithms.</description>
    </item>
    
    <item>
      <title>What is Rust for?</title>
      <link>https://kukuruku.co/post/what-is-rust-for/</link>
      <pubDate>Thu, 19 Jun 2014 12:22:19 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/what-is-rust-for/</guid>
      <description>Rust is a system programming language. It runs blazingly fast, prevents almost all crashes and removes the ambiguities associated with sharing access to data. Mozilla developed it as a tool to create a new generation browser engine – Servo. 
Similar Facilities The given language definition sounds like a fairy tale, since the henceforth tools have always balanced between speed and reliability. At one point, C++, in which speed and facilities are compensated by constant access errors outside the allocated memory to the reclamated memory.</description>
    </item>
    
    <item>
      <title>Introduction to Elixir</title>
      <link>https://kukuruku.co/post/introduction-to-elixir/</link>
      <pubDate>Mon, 16 Jun 2014 01:21:36 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/introduction-to-elixir/</guid>
      <description>Who This Article Is For I would say that the article is mainly for people who already have an experience with some other programming languages, but they want to look around. Also, functional programming is a trending thing nowadays. So if you want to see what it actually is, welcome. If you are a complete beginner, it&amp;rsquo;s still may be useful, as it&amp;rsquo;s always good to know what&amp;rsquo;s going on around the world of IT.</description>
    </item>
    
    <item>
      <title>Teaching the File System to Read</title>
      <link>https://kukuruku.co/post/teaching-the-file-system-to-read/</link>
      <pubDate>Fri, 13 Jun 2014 10:03:17 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/teaching-the-file-system-to-read/</guid>
      <description>What I’m Going to Tell You About In the previous article we constructed the environment needed to get familiar with the kernel. Then we took a look at loadable kernel modules and wrote a simple “Hello World!”. Finally, we wrote a simple and useless file system. Now it’s time to go on.
The main aim of this article is to teach the file system to read from disk. For now it will read the operating information only (the super block and index nodes).</description>
    </item>
    
    <item>
      <title>Erlang for the Little Ones. Modules and Functions</title>
      <link>https://kukuruku.co/post/erlang-for-the-little-ones-modules-and-functions/</link>
      <pubDate>Thu, 12 Jun 2014 00:27:11 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/erlang-for-the-little-ones-modules-and-functions/</guid>
      <description>Dear %username%, Let’s continue to learn Erlang.
In the previous post we’ve reviewed the basic data types, lists and tuples. We also learnt how to use pattern matching and lists generator. In this post we’ll move on to the next level and review modules and functions.
All functions in Erlang are defined in modules. Standard functions of the language, which we invoke as “global” (for instance, length, hd, tl), are actually inside of the module as well.</description>
    </item>
    
    <item>
      <title>Masking a Class in Boost Graph. Part 3: Finding the Path</title>
      <link>https://kukuruku.co/post/masking-a-class-in-boost-graph-part-3-finding-the-path/</link>
      <pubDate>Tue, 10 Jun 2014 23:04:03 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/masking-a-class-in-boost-graph-part-3-finding-the-path/</guid>
      <description>In the previous articles of the series we’ve reviewed the adaptive process of the square game field for concepts of boost graphs. Now we’ll consider the process of finding the path in the square field. Implementation of boost search allows adapting the algorithm quite accurately. In this article we’ll provide just one example of such parameterization – an ability to create various lengths of graph edges.
Let’s begin with describing the parameter.</description>
    </item>
    
    <item>
      <title>2048 in Erlang</title>
      <link>https://kukuruku.co/post/2048-in-erlang/</link>
      <pubDate>Mon, 09 Jun 2014 11:23:14 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/2048-in-erlang/</guid>
      <description>This article is about a WebSocket server on Erlang rather than about the game itself. I’ll tell you a small prehistory. When I began playing 2048 I couldn’t stop. It was to the detriment of both my job and family. So I decided that a bot should play instead of me. But the problem was that it’s a user game, there’s no global rating and it’s not comfortable to play without a browser.</description>
    </item>
    
    <item>
      <title>Masking a Class in Boost Graph. Part 2: Completing the Implementation of Concept Support</title>
      <link>https://kukuruku.co/post/masking-a-class-in-boost-graph-part-2-completing-implementation-of-concept-support/</link>
      <pubDate>Sat, 07 Jun 2014 02:10:05 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/masking-a-class-in-boost-graph-part-2-completing-implementation-of-concept-support/</guid>
      <description>I’ll briefly remind you of the task. There’s a two-dimensional game field consisting of squares. Some of them are vacant and others are occupied. We should find a path through vacant squares from one field position to another one. We implemented the search algorithm in Boost. But it requires our field to fit the graph definition. Or rather the class should meet the requirements of two concepts: boost::VertexListGraph and boost::IncidenceGraph. We don&amp;rsquo;t want to change the interface of game field, as it’s not a graph for the remaining project and will never be one.</description>
    </item>
    
    <item>
      <title>Erlang for Beginners. Data Types, Variables, Lists and Tuples</title>
      <link>https://kukuruku.co/post/erlang-for-beginners-data-types-variables-lists-and-tuples/</link>
      <pubDate>Fri, 06 Jun 2014 01:31:36 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/erlang-for-beginners-data-types-variables-lists-and-tuples/</guid>
      <description>Dear %username%,
It’s the first article of the series. For many of you it may seem terribly trite as I’ll review the very basis of the subject. But this tutorial is going to be really useful for Erlang beginners. I’ll also dwell on some interesting things that aren’t obvious.
In order to begin your work with Erlang, execute the following in the terminal:
$ sudo apt-get install erlang $ erl  That will start the Erlang interpreter.</description>
    </item>
    
    <item>
      <title>Premature Optimization is Evil</title>
      <link>https://kukuruku.co/post/premature-optimization-is-evil/</link>
      <pubDate>Thu, 05 Jun 2014 00:00:17 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/premature-optimization-is-evil/</guid>
      <description>There were no signs of trouble until we noticed a mix of 200 and 500 HTTP statuses in Kukuruku&amp;rsquo;s web server logs. We were a bit confused when we started to look into it. The weird thing was that the server responded with either 200 (OK) or 500 (Internal Server Error) statuses even to requests were going to the same URL. What would you blame first? In most cases caching is the first places that you might have to take a look into — some results may have been cached and cause issues for a set of users.</description>
    </item>
    
    <item>
      <title>Masking a Class in Boost Graph. Part 1: Let the Interface Be</title>
      <link>https://kukuruku.co/post/masking-a-class-in-boost-graph-part-1-let-the-interface-be/</link>
      <pubDate>Wed, 04 Jun 2014 00:52:55 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/masking-a-class-in-boost-graph-part-1-let-the-interface-be/</guid>
      <description>I had to rebuild a pathfinding algorithm for our game recently. The previous one (Boost Concepts) was bad as any sidestep was dangerous. So I wanted to take a ready algorithm from a good source. That’s exactly when I remembered about boost as there’s functionality for working with graphs. Unfortunately “find a function, call it and everything will work” approach wasn’t meant to be realized. The library is focused on the maximum use flexibility which has badly affected its simplicity.</description>
    </item>
    
    <item>
      <title>Lightweight HTTP Server in less than 40 Lines on libevent and C&#43;&#43;11</title>
      <link>https://kukuruku.co/post/lightweight-http-server-in-less-than-40-lines-on-libevent-and-c-11/</link>
      <pubDate>Mon, 02 Jun 2014 23:29:51 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/lightweight-http-server-in-less-than-40-lines-on-libevent-and-c-11/</guid>
      <description>Looking through programming articles sometimes I see posts about creating your own HTTP server. I am most interested in C++ so I often read blogs about it. After looking them through you could easily write you own web server “on sockets” using boost.asio or something else. I also examined libevent and libev. Each of them has its advantages. Libevent is of great interest to me for developing a small HTTP server.</description>
    </item>
    
    <item>
      <title>Boost Concepts</title>
      <link>https://kukuruku.co/post/boost-concepts/</link>
      <pubDate>Mon, 02 Jun 2014 19:37:31 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/boost-concepts/</guid>
      <description>I was always scared to use C++ templates due to the absence of standard mechanisms for setting parameter limits. In other words, when a developer writes the following function:
template &amp;lt;class T&amp;gt; bool someFunc(T t) { if (t.someCheck()) { t.someAction(0); } }  it makes different assumptions as for the functionality of T type objects, but doesn’t have a standard facility to inform the user about them. Thus, the provided example can suppose at least the following things:</description>
    </item>
    
    <item>
      <title>Lock-free Data Structures. The Inside. Memory Management Schemes</title>
      <link>https://kukuruku.co/post/lock-free-data-structures-the-inside-memory-management-schemes/</link>
      <pubDate>Sun, 01 Jun 2014 18:34:08 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/lock-free-data-structures-the-inside-memory-management-schemes/</guid>
      <description>As I’ve already mentioned in the previous articles, the main difficulties when implementing lock-free data structures are ABA problem and memory reclamation. I will separate these two problems even though they are connected as there are algorithms that can solve only one of them. In this article I am going to review popular methods of safe memory reclamation for lock-free containers. I’ll demonstrate the application of one or another method of the classic lock-free queue by Michael-Scott [MS98].</description>
    </item>
    
    <item>
      <title>Lock-free Stack for Windows</title>
      <link>https://kukuruku.co/post/lock-free-stack-for-windows/</link>
      <pubDate>Fri, 30 May 2014 16:43:43 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/lock-free-stack-for-windows/</guid>
      <description>It is common practice not to like Windows. But, as a rule, phrase: “I haven&amp;rsquo;t read the book but still condemn it” describes this situation well. Despite the tendency of not like Windows, there are still some things that are implemented well. I’d like to tell you about one of them.
I’ll review the embedded into OS implementation of the lock-free stack and its performance comparison with the cross-platform analogues.</description>
    </item>
    
    <item>
      <title>Haskell. Testing a Multithread Application</title>
      <link>https://kukuruku.co/post/haskell-testing-a-multithread-application/</link>
      <pubDate>Thu, 29 May 2014 13:23:39 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/haskell-testing-a-multithread-application/</guid>
      <description>I guess it’s no secret for anyone that multithread applications writing is connected with many problems you wouldn’t face when developing single-thread programs. One of the problems lies in an application testing. We can’t control the order in which operations are performed. Therefore, we also can’t control the result of the program execution. Even if we get an error, it won’t be easy to step in the same river twice.</description>
    </item>
    
    <item>
      <title>Ref-qualified member functions</title>
      <link>https://kukuruku.co/post/ref-qualified-member-functions/</link>
      <pubDate>Wed, 28 May 2014 00:29:21 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/ref-qualified-member-functions/</guid>
      <description>Today I’m going to tell you about a new and a little known (to my mind) C++ feature — reference-qualified member functions. I’ll tell about the rules of such functions overloading and, as an example of use, I’ll show you that with the help of ref-qualified you can try to improve the resource management scheme, which is implemented with the help of another C++ idiom — RAII. 
Introduction A possibility of qualifying member functions by a reference (at least it looks like a reference) has recently appeared in C++.</description>
    </item>
    
    <item>
      <title>Brain Overclock or Internal Virtualization of Consciousness</title>
      <link>https://kukuruku.co/post/brain-overclock-or-internal-virtualization-of-consciousness/</link>
      <pubDate>Mon, 26 May 2014 23:38:27 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/brain-overclock-or-internal-virtualization-of-consciousness/</guid>
      <description>Do you remember this movie? What is it doing here? Why the hell is such post on Kukuruku? I guess, because I think that the main component of IT is human, or rather our brain. I’ll tell you about another possibility of using your brain a bit more effectively. Everything described here has been tried out by me. It’s important to note that I’ll highlight if I haven’t tried something.</description>
    </item>
    
    <item>
      <title>Java 8, Spring, Hibernate, SSP — Let’s Play</title>
      <link>https://kukuruku.co/post/java-8-spring-hibernate-ssp-lets-play/</link>
      <pubDate>Sun, 25 May 2014 22:23:33 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/java-8-spring-hibernate-ssp-lets-play/</guid>
      <description>Java 8 has been recently released. So I decided to write something using its new features. Namely the new collection api, which allows to work with collections in a more functional style, and default methods in the interfaces. This article is a brief review of my experience of Java 8, Spring MVC, Hibernate and SSP integration.
Foreword I&amp;rsquo;ve always admired the Scala language. First of all, because of the binding with external libraries (Hibernate, Spring, Spring MVC), which I still have a weakness for.</description>
    </item>
    
    <item>
      <title>Writing a File System in Linux Kernel</title>
      <link>https://kukuruku.co/post/writing-a-file-system-in-linux-kernel/</link>
      <pubDate>Sun, 25 May 2014 18:02:48 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/writing-a-file-system-in-linux-kernel/</guid>
      <description>Who This Article is for   Introduction  Environment Setup Environment Check Up Returning to the File System  Summary Links      Who This Article is for There are no complex or difficult concepts in this article, all required is a basic knowledge of the command line, the C language, Makefile and a general understanding about file systems.</description>
    </item>
    
    <item>
      <title>J Can be Readable</title>
      <link>https://kukuruku.co/post/j-can-be-readable/</link>
      <pubDate>Fri, 23 May 2014 20:06:32 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/j-can-be-readable/</guid>
      <description>You must be kidding me! It’s like programming using regular expressions… You’ll never make me do that again! I’m looking at the code and feel like an idiot. Isn’t it really an esoteric language like brain fuck? Does anyone really use it? And such programs can be read afterwards?
quicksort=: (($:@(&amp;lt;#[), (=#[), $:@(&amp;gt;#[)) ({~ ?@#)) ^: (1&amp;lt;#)
Perl is a trifle against it. 
About J language J — is a Korean of programming languages (may look confusing).</description>
    </item>
    
    <item>
      <title>Running and Software Development</title>
      <link>https://kukuruku.co/post/running-and-software-development/</link>
      <pubDate>Thu, 22 May 2014 22:46:03 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/running-and-software-development/</guid>
      <description>What can running and software development have in common? Nothing special at fist glance. A sweaty and slender runner totally differs from a flabby, bent by scoliosis programmer. Stadiums don’t applaud to developers and no one gives them the country flag for the lap of honor round the office after some release. Nevertheless, running and development do have many things in common. I have read a very difficult book — Surfaces and Essences.</description>
    </item>
    
    <item>
      <title>Qt 5.2, From a Sketch to Google Play</title>
      <link>https://kukuruku.co/post/qt-52-from-a-sketch-to-google-play/</link>
      <pubDate>Thu, 22 May 2014 20:24:33 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/qt-52-from-a-sketch-to-google-play/</guid>
      <description>Dear colleagues,
I’ve been told about Qt 5.2 and its new feature of simple and quick creation of cross-platform applications for Android and iOS. I opened Qt website and watched a great video, in which Hello World application was developed for Android and iOS in 10 minutes. I was impressed.
So I decided to take up mobile development. I had a plan of working my way up from a wish to develop an application to its publication in Google Play.</description>
    </item>
    
    <item>
      <title>Using Go to Execute Commands on Hundreds of Servers with SSH</title>
      <link>https://kukuruku.co/post/ssh-commands-execution-on-hundreds-of-servers-via-go/</link>
      <pubDate>Wed, 21 May 2014 21:34:25 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/ssh-commands-execution-on-hundreds-of-servers-via-go/</guid>
      <description>In this article we’re going to write a simple program on Go (100 lines), which will execute commands via SSH protocol on hundreds of servers, and will do it quite efficiently. It will be implemented with the help of go.crypto/ssh, which is SSH protocol implementation by authors of Go.
More “advanced” version of the program written in this article is available on github: GoSSHa (Go SSH agent). 
Introduction The company I work for has more than one server and in order to keep the work efficient libpssh library on the basis of libssh2 has been written.</description>
    </item>
    
    <item>
      <title>JavaScript optimization challenge</title>
      <link>https://kukuruku.co/post/javascript-optimization-challenge/</link>
      <pubDate>Tue, 20 May 2014 21:03:45 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/javascript-optimization-challenge/</guid>
      <description>Hi, we&amp;rsquo;re hosting the JS optimization challenge right now, with cash prizes and all. Link to full rules.
The challenge: make JS strftime function very fast, and beat the performance of GNU libc&amp;rsquo;s strftime.
The slower code that can be used as a base for optimizations is here: github.com/mvasilkov/strftime You&amp;rsquo;re free to use that source as the base of your solution.
To make things interesting, we&amp;rsquo;re not providing the reference benchmark.</description>
    </item>
    
    <item>
      <title>Go Language For Beginners</title>
      <link>https://kukuruku.co/post/go-language-for-beginners/</link>
      <pubDate>Mon, 19 May 2014 22:13:27 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/go-language-for-beginners/</guid>
      <description>The aim of this article is to tell about a programming language Go (Golang) to those developers, who are interested in it, but haven’t risked studying it. The story will be told on the basis of a real sentence that represents RESTful API web-service.
I had a task to develop a backend to the mobile phone. The service is quite simple. It’s a mobile application, which shows posts of the users that are near the current location.</description>
    </item>
    
    <item>
      <title>Mocking with ScalaMock</title>
      <link>https://kukuruku.co/post/scala-tests-mocking-with-scalamock/</link>
      <pubDate>Mon, 19 May 2014 21:58:54 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/scala-tests-mocking-with-scalamock/</guid>
      <description>This article may be considered as a continuation of Introduction to Writing Tests with ScalaTest. In this post I would like to talk about ScalaMock.
Mocking is a technique by which you can test code without requiring all of its dependencies in place. Java offers several frameworks for mocking objects when writing tests. The most well known are JMock, EasyMock, and Mockito. As the Scala language introduces new elements such as traits and functions, the Java-based mocking frameworks are not enough, and this is where ScalaMock comes into play.</description>
    </item>
    
    <item>
      <title>Processes Paralleling to Speed up Computing and Tasks Execution in Linux</title>
      <link>https://kukuruku.co/post/processes-paralleling-to-speed-up-computing-and-tasks-execution-in-linux/</link>
      <pubDate>Mon, 19 May 2014 19:15:54 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/processes-paralleling-to-speed-up-computing-and-tasks-execution-in-linux/</guid>
      <description>Almost all PCs, released during the last few years, have had at least a dual core processor. So reader, if your PC isn’t extremely old or the bottom of the barrel budget brand, then most likely you are the owner of a multiple-processor system. Also if you like to play games, you should know you are utilizing potentially hundreds of GPU cores. But during the lion’s share of time all of these cores just gather dust.</description>
    </item>
    
    <item>
      <title>Interpreting when Compiling, or an Alternative Understanding of Lambdas in C&#43;&#43;11</title>
      <link>https://kukuruku.co/post/interpreting-when-compiling-or-an-alternative-understanding-of-lambdas-in-c-11/</link>
      <pubDate>Mon, 19 May 2014 18:37:47 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/interpreting-when-compiling-or-an-alternative-understanding-of-lambdas-in-c-11/</guid>
      <description>I have recently read an article about computations on C++ templates. One of the comments to the article was a sort of a challenge for me.  The number of methods to rack your brains with the help of C++ is increasing with every new release.
 Especially when the approach to playing field implementation isn’t changed and all the computations are carried out on types rather than constants.</description>
    </item>
    
    <item>
      <title>Types Construction in Scala</title>
      <link>https://kukuruku.co/post/types-construction-in-scala/</link>
      <pubDate>Mon, 19 May 2014 12:45:10 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/types-construction-in-scala/</guid>
      <description>When constructing “enterprise” systems it often turns out that ValueObjects (or case classes) are created. They store information about some instance of entity that is processed by the system. For example:
case class Person(name: String, address: Address)
This way of data representation in the system has two major strengths:
 Strictly typed access to the data; Capability of meta information binding to features with the help of annotations.  And drawbacks:  - If there are many entities, the number of such classes also increases and their processing requires a lot of code of the same type (copy-paste); - Meta information can be represented by annotations to the object features.</description>
    </item>
    
    <item>
      <title>Introduction to Writing Tests with ScalaTest</title>
      <link>https://kukuruku.co/post/introduction-to-writing-tests-with-scalatest/</link>
      <pubDate>Sun, 18 May 2014 23:41:19 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/introduction-to-writing-tests-with-scalatest/</guid>
      <description>To be able to quickly start visualizing some of the tests that can be written with ScalaTest, we can take advantage of the test-patterns-scala template from the Typesafe Activator. It consists of a number of examples that essentially target the ScalaTest framework. The easiest way to get the code is to download the template bundle for test-patterns-scala. An archive contains a bootstrap script that can simplify our life&amp;rsquo;s by starting Activator automatically.</description>
    </item>
    
    <item>
      <title>Mobile Typography</title>
      <link>https://kukuruku.co/post/mobile-typography/</link>
      <pubDate>Sun, 18 May 2014 18:44:05 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/mobile-typography/</guid>
      <description>As a designer you are probably keenly aware that more often than not, your dream font is not available on every device and every browser. Whether this knowledge is founded in the experience of designing and developing a site yourself, or from a horrifying experience such as your developer showing you the implementation of your design and feeling the special tug on your soul as part of you dies when viewing your original font choice rendered down into an abomination that makes comic-sans look vaguely desirable.</description>
    </item>
    
    <item>
      <title>Lock-free Data Structures. Memory Model. Part 3.</title>
      <link>https://kukuruku.co/post/lock-free-data-structures-memory-model-part-3/</link>
      <pubDate>Sun, 18 May 2014 04:09:03 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/lock-free-data-structures-memory-model-part-3/</guid>
      <description>In the previous article we looked inside the processor, even if it’s hypothetic. We have clarified that for the proper parallel code execution we should prompt the processor to what limits he is allowed to execute its internal read/write optimizations. These prompts are memory barriers. They allow regulating memory access to some extent (or rather the cache as the processor interacts with the outer world through cache only). The “weight” of such regulation can be different.</description>
    </item>
    
    <item>
      <title>Transactional Memory: History and Development</title>
      <link>https://kukuruku.co/post/transactional-memory-history-and-development/</link>
      <pubDate>Thu, 15 May 2014 22:46:39 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/transactional-memory-history-and-development/</guid>
      <description>Definition Parallel programming is difficult. When using systems with common memory, you can’t go without synchronization of parallel processes/threads access to the common resource (memory). The following are used for it:
 locks (mutex); lock-free algorithms (lockless); transactional memory.  Transactional memory is a technology of concurrent threads synchronization. It simplifies the parallel programming by extracting instruction groups to atomic transactions. Concurrent threads operate paralleled till they start to modify the same memory chunk.</description>
    </item>
    
    <item>
      <title>N2O: Erlang Web Framework</title>
      <link>https://kukuruku.co/post/n2o-erlang-web-framework/</link>
      <pubDate>Thu, 15 May 2014 20:30:19 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/n2o-erlang-web-framework/</guid>
      <description>Introduction This post implies a good intro into N2O.
In order to learn about Erlang/OTP Web Framework N2O main features you should visit the github page or the official SynRC website. You will find there all the charts and presentations which you like so much.
In this article I will cover the principles of framework operation. Version under consideration: N2O: 1.1.0.  It’s always more interesting to see the result than to talk about it.</description>
    </item>
    
    <item>
      <title>Multitasking Management in the Operating System Kernel</title>
      <link>https://kukuruku.co/post/multitasking-management-in-the-operating-system-kernel/</link>
      <pubDate>Tue, 13 May 2014 16:26:29 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/multitasking-management-in-the-operating-system-kernel/</guid>
      <description>As tasks share time on one processor kernel, I had to deal with multitasking management. Or rather pseudo-multitasking as tasks share time at one processor kernel. At first I’ll try to tell about the types of multitasking (cooperative and preemptive). Then I’ll move on to scheduling principles for the preemptive multitasking. The article is optimized for first-readers who want to understand how multitasking operates at the kernel level. But as everything will be accompanied with examples which can be compiled and run, it may interest the ones who are familiar with the theory, but have never “tasted” the scheduler.</description>
    </item>
    
    <item>
      <title>Lock-free Data Structures. Basics: Atomicity and Atomic Primitives</title>
      <link>https://kukuruku.co/post/lock-free-data-structures-basics-atomicity-and-atomic-primitives/</link>
      <pubDate>Mon, 12 May 2014 07:11:44 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/lock-free-data-structures-basics-atomicity-and-atomic-primitives/</guid>
      <description>Lock-free data structures are based on two things – atomic operations and methods of memory access regulation. In this article I will refer to atomicity and atomic primitives.
To begin with, I would like to thank you for a warm welcome of Lock-free Data Structures. 1 — Introduction. I can see that lock-free topic is interesting and it makes me glad. I planned to build a series according to academic concept, flowing from basics to algorithms, at the same time illustrating the text with the code from libcds.</description>
    </item>
    
    <item>
      <title>Building a website with C&#43;&#43; (CppCMS). Part 1.</title>
      <link>https://kukuruku.co/post/building-a-website-with-c-cppcms-part-1/</link>
      <pubDate>Sat, 10 May 2014 18:10:55 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/building-a-website-with-c-cppcms-part-1/</guid>
      <description>Dear %username%,
I would like to share with you my first-hand experience in creating a Website on CppCMS (library-template engine on C++). It can also be named as “help for beginners on CppCMS”. 
Why Would You Write a Website with C++ There are different pros and cons against this solution. So in order not to provoke a “language war”, I will draw an analogy with cars: “I bought one.</description>
    </item>
    
    <item>
      <title>Benchmarks: 14 Sorting Algorithms and PHP Arrays</title>
      <link>https://kukuruku.co/post/benchmarks-14-sorting-algorithms-and-php-arrays/</link>
      <pubDate>Fri, 09 May 2014 23:48:03 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/benchmarks-14-sorting-algorithms-and-php-arrays/</guid>
      <description>In this article I will tell you about the benchmark of sorting algorithms, written on PHP. There are 14 algorithms presented: 
 quickSort countingSort combSort heapSort mergeSort shellSort selectionSort insertSort gnomeSort combinedBubbleSort cocktailSort bubbleSort oddEvenSort bubbleSortWithFlag  Algorithms are not alphabetically ordered, but in order of their performance speed descending when sorting an array of 8 thousand elements.
The following arrays dimensions, used for sorting, are presented:
 1 100 200 400 600 800 1000 5000 10000 15000 20000 25000 30000  Each measurement was performed with different array filling, which is passed to sorting function.</description>
    </item>
    
    <item>
      <title>LibreS3: Open Source Amazon S3 Implementation</title>
      <link>https://kukuruku.co/post/libres3-open-source-amazon-s3-implementation/</link>
      <pubDate>Wed, 07 May 2014 18:37:37 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/libres3-open-source-amazon-s3-implementation/</guid>
      <description>The first version of LibreS3 project has been announced. LibreS3 is a robust open source implementation of the Amazon S3 service, supporting a subset of the S3 REST API. It&amp;rsquo;s compatible with Amazon S3 client libraries and built on their basis tools, such as python-boto, s3cmd and DragonDisk. The source codes of LibreS3 are written in С and OCaml languages, the code is allocated under the GPLv2 license (libraries under LGPL).</description>
    </item>
    
    <item>
      <title>Browser Extension to Extract the Text from Images</title>
      <link>https://kukuruku.co/post/browser-extension-to-extract-the-text-from-images/</link>
      <pubDate>Mon, 05 May 2014 13:02:59 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/browser-extension-to-extract-the-text-from-images/</guid>
      <description>Naptha — is a very useful Chrome extension. It automatically recognizes text of all the images that are downloaded by the browser. With the help of this extension you can edit images text, select, copy and translate it. This extension is indispensable for copying the text from the document scans, photographs, posters, diagrams, charts, screenshots and even memes.
The idea to create this extension was born on the basis of xkcd meme.</description>
    </item>
    
    <item>
      <title>Mobile Responsive Design</title>
      <link>https://kukuruku.co/post/mobile-responsive-design/</link>
      <pubDate>Sat, 03 May 2014 19:22:06 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/mobile-responsive-design/</guid>
      <description>When designing a mobile version of the site, the core question is still what resolution to choose and which are the most popular ones. Answering this question will help you to build the so-called «mobile responsive design».
By reference to statistics we will consider five the most popular mobile screen resolutions.
And five the most popular tablet resolutions.
How to Create Mobile Responsive Design? The media queries are entering the game.</description>
    </item>
    
    <item>
      <title>Lock-free Data Structures. 1 — Introduction</title>
      <link>https://kukuruku.co/post/lock-free-data-structures-introduction/</link>
      <pubDate>Sat, 03 May 2014 13:49:02 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/lock-free-data-structures-introduction/</guid>
      <description>I hope that this article will give a good start for a series of notes about lock-free data structures. I would like to share my experience with community, monitoring and thoughts about what lock-free structures are, how to implement them and whether the concepts of Standard Template Library (STL) containers are suitable for the lock-free containers, and when its worth to apply lock-free data structures.  It doesn&amp;rsquo;t make any sense to talk about lock free data structures without covering such topics as atomic operations, memory model in programming languages, safe memory reclamation, compiler and optimizations used by them, modern CPU designs, — all of these topics will be covered more or less in this series.</description>
    </item>
    
    <item>
      <title>Lytro Company Announced a Plenoptic Camera of the Second Generation</title>
      <link>https://kukuruku.co/post/lytro-camera-lytro-illum/</link>
      <pubDate>Fri, 02 May 2014 17:17:57 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/lytro-camera-lytro-illum/</guid>
      <description>Lytro Company, founded by Ren Ng from Stanford University, is commercializing plenoptic photography. It’s a photo of the light field when matrix with the help of micro lens system fixes not a 2D image but full information of the scene light field — you can focus such images right after the shooting, and photos taken by this camera allow you to get a stereo image. The first Lytro camera looked more like a cute toy and shots quality was not that high.</description>
    </item>
    
    <item>
      <title>PaperFold: Foldable Smartphone With Three Displays</title>
      <link>https://kukuruku.co/post/paperfold-foldable-smartphone-with-three-displays/</link>
      <pubDate>Thu, 01 May 2014 18:02:27 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/paperfold-foldable-smartphone-with-three-displays/</guid>
      <description>The most interesting projects of electronic devices have been introduced lately. Electronic devices we could only dream about before. For example, a modular smartphone Project Ara should be introduced in 2015 by Google.
Also, one of these days information about a project of a “compound: smartphone” with three displays showed up on the Web. The displays – e-Paper, a flexible “electronic paper” by the PaperFold Company.  Displays can be enabled or disabled and they can act like a single system and like three independent displays as well.</description>
    </item>
    
    <item>
      <title>Leonardo da Vinci: Daily Routine</title>
      <link>https://kukuruku.co/post/leonardo-da-vinci-daily-routine/</link>
      <pubDate>Thu, 01 May 2014 17:33:13 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/leonardo-da-vinci-daily-routine/</guid>
      <description>Few people know that Leonardo da Vinci invented a way to spend little time for sleep, but not suffer from doing so. He slept only an hour and a half per day! Many people say that it was the exact secret of his efficiency. Today it is called a polyphasic sleep.
Genius Leonardo decided that he spent too much time on sleep and invented his own sleep method. It lies in sleeping for 15 minutes every 4 hours.</description>
    </item>
    
    <item>
      <title>How to DDos Someone with Facebook Notes</title>
      <link>https://kukuruku.co/post/how-to-ddos-any-website-with-facebook-notes/</link>
      <pubDate>Wed, 30 Apr 2014 21:18:47 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/how-to-ddos-any-website-with-facebook-notes/</guid>
      <description>A month and a half ago chr13 discovered how to DDoS someone with the help of Google Spreadsheet, and now he applied such a method to Facebook Notes. And it worked!
Operating procedure is absolutely the same as in Google Spreadsheet:
 Create a list with «unique» «photos»:  &amp;lt;img src=&amp;quot;http://targetname/file?r=1&amp;quot; /&amp;gt; &amp;lt;img src=&amp;quot;http://targetname/file?r=2&amp;quot; /&amp;gt; ... &amp;lt;img src=&amp;quot;http://targetname/file?r=1000&amp;quot; /&amp;gt;  Write a note with the help of m.facebook.com. The service will cut the note after some fixed length.</description>
    </item>
    
    <item>
      <title>Yogurt making machine powered by Arduino</title>
      <link>https://kukuruku.co/post/yogurt-making-machine-powered-by-arduino/</link>
      <pubDate>Wed, 30 Apr 2014 16:02:38 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/yogurt-making-machine-powered-by-arduino/</guid>
      <description>Everyone knows that yogurt is a very better-for-you product, plus it’s delicious. There is a short story under the cut about how I decided to create a yogurt maker, some pictures and a sketch.
Wandering in the vast expanses of the Internet I came across such an interesting thing as a yogurt maker. My wife likes yogurt and fairly often buys it. Having read the specialized website, I was inspired. I was inspired by the very thought of easily making yogurt at home, plus it will be more health-giving than the store-brought one.</description>
    </item>
    
    <item>
      <title>LibreSSL: clean version of OpenSSL (OpenBSD project)</title>
      <link>https://kukuruku.co/post/libressl-clean-version-of-openssl-openbsd-project/</link>
      <pubDate>Wed, 30 Apr 2014 14:10:17 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/libressl-clean-version-of-openssl-openbsd-project/</guid>
      <description>Participants of the OpenBSD project, that have developed the system of the same name and also different tools such as OpenSSH, OpenBGPD, OpenNTPD and OpenSMTPD, began a LibreSSL project. It is a cleared from odd codes, easier version of OpenSSL.
Theo de Raadt, the founder and the manager of OpenBSD and OpenSSH projects said that they have managed to get rid of approximately 90 000 code lines at C and 150 000 lines of the content on the whole.</description>
    </item>
    
    <item>
      <title>OpenSSL Heartbleed Vulnerability Guide</title>
      <link>https://kukuruku.co/post/openssl-heartbleed-vulnerability-guide/</link>
      <pubDate>Tue, 29 Apr 2014 14:08:57 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/openssl-heartbleed-vulnerability-guide/</guid>
      <description>What can be stolen by attacker Private key of the TLS server, private key of the TLS client (if the client is vulnerable), cookies, logins, passwords and any other data that are shared between the server and his clients. And you don’t need to monitor the communication path, you just can send a specially formed batch and this can not be detected in server’s logs.
Vulnerability is bidirectional: if a vulnerable client connects up with attacker’s server, he can read the client’s activity memory.</description>
    </item>
    
    <item>
      <title>Marionette.js. Drag&amp;Drop model sorting in the collection</title>
      <link>https://kukuruku.co/post/marionettejs-dragdrop-model-sorting-in-the-collection/</link>
      <pubDate>Mon, 28 Apr 2014 17:12:13 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/marionettejs-dragdrop-model-sorting-in-the-collection/</guid>
      <description>Swapping elements in a list is a common task. But as a rule it is often made in a thorny way, especially if it’s Drag&amp;amp;Drop. And now I am going to tell you about a very easy and flexible way to do it using Marionette.js and jQuery UI Sortable.
Installing jQuery UI We will need Sortable part only, so in order to save the traffic, I unchecked all the ticks for you here.</description>
    </item>
    
    <item>
      <title>World of Minecraft: full-scale model of Denmark</title>
      <link>https://kukuruku.co/post/world-of-minecraft-denmark/</link>
      <pubDate>Sun, 27 Apr 2014 21:49:12 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/world-of-minecraft-denmark/</guid>
      <description>The Danish GeoData Agency launched a full-scale model of Denmark. The model is very detailed and was generated with real geographical data — it includes not only relief but also buildings, vegetation, parks and attractions Only the location of rocks and minerals on the ground and color facades of buildings are randomly generated. The Model cannot fit entirely on a single server, so it was divided into three parts.
  Denmark Area — 16,638.</description>
    </item>
    
    <item>
      <title>Hack: Facebook&#39;s new programming language for HHVM</title>
      <link>https://kukuruku.co/post/hack-facebooks-new-programming-language-for-hhvm/</link>
      <pubDate>Fri, 11 Apr 2014 22:02:26 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/hack-facebooks-new-programming-language-for-hhvm/</guid>
      <description>Facebook has presented Hack – a new programming language based on the PHP syntax and intended for implementation with HHVM (HipHop Virtual Machine). Applications written on Hack can seamlessly interact and go with an existing code written on PHP, as the HHVM environment supports the implementation of unmodified PHP scripts. The Hack code is distributed under a free PHP license. The realisation of the language has already been tested in commercial operation; Facebook, in particular, has already changed to Hack and translated practically all the code of its PHP projects into Hack.</description>
    </item>
    
    <item>
      <title>eMersion Gesture Control System for Music Performance and More</title>
      <link>https://kukuruku.co/post/emersion-gesture-control-system-for-music-performance-and-more/</link>
      <pubDate>Fri, 11 Apr 2014 18:09:30 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/emersion-gesture-control-system-for-music-performance-and-more/</guid>
      <description>Don’t just let music move you, move to make music.        Don’t just let music move you, move to make music.   We&amp;rsquo;ve created a smart technology that allows your instrument to transform movement, orientation and momentum into audio &amp;amp; visual effects. It&amp;rsquo;s essentially wearable technology for musicians, dancers, digital interactive and performance artists, and more.</description>
    </item>
    
    <item>
      <title>Erlang/OTP 17.0 has been released on April 9</title>
      <link>https://kukuruku.co/post/erlang-otp-170-has-been-released-on-april-9/</link>
      <pubDate>Fri, 11 Apr 2014 11:56:33 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/erlang-otp-170-has-been-released-on-april-9/</guid>
      <description>New data type — Maps Erlang/OTP has been ported to the real time operating system OSE Anonymous functions can have names Improved Unicode support And much more        Erlang — is a general-purpose concurrent, garbage-collected programming language and runtime system. The release has a lot of new different features and changes. The first thing is that the versioning scheme has been changed.</description>
    </item>
    
    <item>
      <title>bcat: pipe to browser utility</title>
      <link>https://kukuruku.co/post/bcat-pipe-to-browser-utility/</link>
      <pubDate>Tue, 08 Apr 2014 01:46:28 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/bcat-pipe-to-browser-utility/</guid>
      <description>Preview log files Use it as a pager Viewing the clipboard Markdown        Great find! bcat is a small utility to pipe console&amp;rsquo;s output to browser. Do you have a script which outputs HTML? bcat! Do you need to preview a README file with Markdown formatting? bcat! Is your script fetching web pages and you want to see the result?</description>
    </item>
    
    <item>
      <title>Introduction to the Wolfram Language</title>
      <link>https://kukuruku.co/post/introduction-to-the-wolfram-language/</link>
      <pubDate>Tue, 08 Apr 2014 00:39:18 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/introduction-to-the-wolfram-language/</guid>
      <description>During the last 30 years, Wolfram Research was working on a new multi-paradigm programming language. Please, welcome, — Wolfram Language! The language is very large, with emphasis on functional programming, symbolic computation, and rule-based programming, touching on numerous domains, often specialized. As an example, it includes built-in functions for generating and running Turing machines, creating graphics and audio.
It will be bundled with the system software installed on every Raspberry Pi.</description>
    </item>
    
    <item>
      <title>Amazon Dash: The Magic Wand</title>
      <link>https://kukuruku.co/post/amazon-dash-the-magic-wand/</link>
      <pubDate>Mon, 07 Apr 2014 08:49:35 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/amazon-dash-the-magic-wand/</guid>
      <description>Amazon Dash — new gadget from Amazon to simplify online shopping. Now you don&amp;rsquo;t have to choose products from huge catalogs. It&amp;rsquo;s a 6.375x1.125 inches tool, which easily fits in your hand and boasts a built-in microphone and barcode scanner allowing you to quickly add items to your shopping cart. Just speak into it or scan a pack of toilet paper and the wand will immediately send that product to an online store via Wi-Fi.</description>
    </item>
    
    <item>
      <title>iOS holds you phone number hostage</title>
      <link>https://kukuruku.co/post/ios-holds-you-phone-number-hostage/</link>
      <pubDate>Mon, 07 Apr 2014 08:48:37 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/ios-holds-you-phone-number-hostage/</guid>
      <description>Benjamin Stein, technical manager at Mobile Commons, talks about the “worst bug” that he has ever encountered. It happened once Ben changed his iPhone for an Android. Soon, he noticed that he is not receiving most of the messages from his contacts – other iPhone users.
As it turned out, when his friend attempts to send a message, their iPhone instantly sends it as an iMessage as their cache memory recognizes his number as one that supports iMessage.</description>
    </item>
    
    <item>
      <title>IT digest for the last week</title>
      <link>https://kukuruku.co/post/it-digest-for-the-last-week/</link>
      <pubDate>Fri, 04 Apr 2014 15:27:18 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/it-digest-for-the-last-week/</guid>
      <description>Web Development  nodegh.io — GitHub command line tools Best PHP IDE in 2014 How to use NoFollow tag Scrolling animations: examples, tutorials and jQuery plugins Slush — the streaming scaffolding system as a replacement for Yeoman WTF, HTML and CSS? Mobile Angular UI — mobile UI framework based on AngularJS and Twitter Bootstrap How to use Data URIs to speed up your website CSS shooter (game programming) Building HTML5 context menus</description>
    </item>
    
    <item>
      <title>Why is the mouse cursor slightly tilted and not straight?</title>
      <link>https://kukuruku.co/post/why-is-the-mouse-cursor-slightly-tilted-and-not-straight/</link>
      <pubDate>Thu, 03 Apr 2014 01:15:16 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/why-is-the-mouse-cursor-slightly-tilted-and-not-straight/</guid>
      <description>One of the users of StackExchange asked a question, which at first glance may look weird: why is the mouse cursor slightly tilted and not straight? Indeed, why the cursor is not vertical?
The answer was given by an expert, who is familiar with the history of computer hardware. He confirms, that initially the mouse and therefore the mouse cursor invented by Douglas Engelbart, was an arrow pointing up.
However, graphical interface for the first operating system in the world was designed by Xerox, precisely — the Palo Alto Research Center.</description>
    </item>
    
    <item>
      <title>The simplest way to choose NoSQL database</title>
      <link>https://kukuruku.co/post/the-simplest-way-to-choose-nosql-database/</link>
      <pubDate>Tue, 01 Apr 2014 02:19:49 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/the-simplest-way-to-choose-nosql-database/</guid>
      <description>This is an old, but still great illustration on how to choose NoSQL database. I&amp;rsquo;ll just leave it here.</description>
    </item>
    
    <item>
      <title>NProgress: a nanoscopic progress bar like on Medium and YouTube</title>
      <link>https://kukuruku.co/post/nprogress-a-nanoscopic-progress-bar-like-on-medium-and-youtube/</link>
      <pubDate>Mon, 31 Mar 2014 15:10:06 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/nprogress-a-nanoscopic-progress-bar-like-on-medium-and-youtube/</guid>
      <description>Everyone has probably noticed the slim progress bar on Medium and YouTube, which is a UI element placed below the browser&amp;rsquo;s address bar.
 The main reason to have this kind of progress bar is because the content on the page is switched by JavaScript and the native browser&amp;rsquo;s loading indicator may not work. In this case, users may think that the web page is stuck and not fetching any content.</description>
    </item>
    
    <item>
      <title>Web fonts instruction for novice</title>
      <link>https://kukuruku.co/post/web-fonts-instruction-for-novice/</link>
      <pubDate>Mon, 31 Mar 2014 01:22:47 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/web-fonts-instruction-for-novice/</guid>
      <description>Choosing a font? Here is a simple scheme from Julian Hansen. The image is clickable. Just answer «yes» or «no».

Fonts are pretty much standard, but I&amp;rsquo;m sure it can be quite useful for anyone.</description>
    </item>
    
    <item>
      <title>At Stanford University a paper microscope has been developed that costs less than a dollar</title>
      <link>https://kukuruku.co/post/at-stanford-university-a-paper-microscope-has-been-developed-that-costs-less-than-a-dollar/</link>
      <pubDate>Sun, 30 Mar 2014 23:59:00 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/at-stanford-university-a-paper-microscope-has-been-developed-that-costs-less-than-a-dollar/</guid>
      <description>The main motive for the creation of the microscope was the struggle against malaria — in the developing countries about a billion microscopic examinations of the blood samples per year have to be carried out for malaria diagnosis. A standard laboratory microscope is an expensive and fragile device. Stanford scientists have managed to construct a microscope with magnification up to the 2000x, while the cost of all the components in a mass production will be 97 cents.</description>
    </item>
    
    <item>
      <title>The heartbeat is on</title>
      <link>https://kukuruku.co/post/the-heartbeat-is-on/</link>
      <pubDate>Sun, 30 Mar 2014 23:44:06 +0000</pubDate>
      
      <guid>https://kukuruku.co/post/the-heartbeat-is-on/</guid>
      <description>Dear %username%,
We are live and ready to win the internet! If you are new to Kukuruku, then stay tuned as we add updates and improve the world of Ku.
In case you are an old kukuruker, then we say «Welcome to the very first post. You found it! But, shhhh, don&amp;rsquo;t tell anyone».</description>
    </item>
    
  </channel>
</rss>