Double-Typed Relations for Partial Data Representation
Written by Arseniy Zhizhelev
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...
IPv6 in Practice
Written by amarao
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? IPv4 users will keep visiting websites that use IPv4 IPv6 users will be able to go to IPv6 server address only if this address is specified in DNS (AAAA record) Outgoing connections from a server to IPv4-only nodes will use IPv4 Outgoing connections from a server to the nodes with IPv6 and IPv4 addresses will use IPv6 addresses There’s an unofficial competition between Cloud server services and the Сloud storageYoung Tableaux in the Tasks of Searching and Sorting
Written by Nikolai Ershov
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'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. Partial ordering means that each element of such matrix does not exceed the values of its upper and left neighbors (provided that the element has these neighbors). Almost filled means the following: completely filled are first j rows of the matrix (from 0 to (j-1)). In j row l elements are filled the first. All remaining elements are empty. Below is the example of a Young tableau: According to the provided definition, rowsCell Phones and the NSA Mass Surveillance. The Way it Works.
Written by PTSecurity
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. And not only them, by the way. One of the first news from Snowden was about the erosion of confidence in the cryptography techniques . Within the limits of the NSA Bullrun secret project, they had the capabilities to bypass a lot of encryption systems, not by hacking, but by using markings, that were left intentionally by the NSA request. In some cases vendors were forcedHow To Backup Google Apps for Business
Written by Freya Jordan
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. Lots of companies, be it small scale or large scale, are employing Google Apps to get their business done. However, what’s bothering them is the sole dependency they are having on the service without a plan B. So here is how to backup Google Apps for business. Why Do I Need To Back Up My Google Apps Account? The ability to work from anywhere is the greatest benefit thatThe Nth Fibonacci Number in O(log N)
Written by Ivan Yurchenko
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 According to various mathematic traditions, a set of natural numbers can either contain 0 or not. Therefore, it’s preferred to indicate it explicitly in international mathematic texts. The Solution Donald E. Knuth provides a matrix identity of the following form: The identity is provided without any proof, but it’s quite easy to prove it by induction. The matrix on the right is called Q-matrix. Let’s indicate: According to the identity, . Thus, to calculate , we should calculate matrix and take the firstComparing Rust and C++
Written by Dzmitry Malyshau
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. You’re also welcome to share any information about D. Template Types C++ author has not been happy as for templates implementation in the language. He called them «compile-time duck typing» in one of his Lang-NEXT talks. The thing is that it’s not always clear, what we should use to instantiate a template looking at its declaration. The situation is worsened by monster-like error messages. Let’s try to build the following program: #includeApplication Porno or the Way to Find Secrets in Mobile Applications
Written by Alexey Troshichev
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. By the way, this research became an online tool, but I’ll tell you about it at the very end, when its meaning becomes obvious. Also, I presented some of the mentioned above things at Zero Nights conference. So, here it goes… Stores are the main Goal There’re a lot of information about the manual analysis of mobile applications. There are also a lot of test methods and check lists. But the bigger part of theseBuilding a Minimal Convex Hull
Written by Nikolai Ershov
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. The hull of this set is any closed line H with no self-intersections, so that all A points are within this line. If H is convex (for example, any tangent to this line does not intersect it in any point), the corresponding hull is also named convex. Finally, a minimal convex hull is a convex hull of the minimal length (minimal perimeter). I have not checked (I guess it can be proved byCreating a Game Character
Written by Osmandos
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. Since this is my own project, I have set a 20 000 limit for triangles and a 2048*2048 limit for the texture. This project has been planned for PBR . Pipeline To begin with, let’s take a look at the approximate pipeline. A pipeline, or a production sequence of creating graphic content, can differ from company to company and from actor to actor. We are going to take a look at the pipeline I used,DIY. An Astro Tracker in Two Nights
Written by Alex Kuzmuk
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. For example, the cheapest Vixin Ploarie Star Tracker costs $400 plus delivery charges. Its carrying capacity also raised doubts. Instead of the wide-angle lens, I was planning to use 70-200/2.8. Together with the camera they weigh around a 3-3.5 pounds. When I was looking for the necessary information, it turned out that people make the so-called Barn Door Trackers, for example: this one , that and other . The operating principle is simple. It consists ofJava 8 vs Scala. The Difference in Approaches and Mutual Innovations
Written by Ruslan Shevchenko
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? Definitely! The more languages you know, the more professional you are. If we ever ask a Scala engineer about the principal differences between Scala and Java, he will not tell you all the nuances of lambda functions and traits. Instead, he will provide the following example: Java public class Person { private String firstName; private String lastName; String getFirstName() { return firstName; } void setFirstName(String firstName) { this.firstNameYAWNDB. Time Series Database Written in Erlang
Written by Pavel Abalihin
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. But let’s begin with some theoretical information first. Some Theory Each chart of online activities reflects changes of some parameters within defined period of time (a month, a week, a day, etc.). To create a chart we should process some statistic material representing a set of “time-value” pairs in a defined time period. Such material is called time-series. There are quite many software tools for analyzing time series. They have oneMeet Kukuruku Hub v2.0
Written by Kukuruku Hub
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. There is a comments section below the article. Otherwise, simply shoot us an email at [email protected] . In addition to redesign, we rolled out a new Companies feature. As you may or may not know, Kukuruku is based on hubs. A hub is a type of weblog in which posts are written and published by more than one author. Every hub is dedicated to a specific topic. It helps us to keep the information categorized andA Point Localization in a Polygon
Written by Nikolai Ershov
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). To begin with, look at the picture on the right that depicts a polygon of Peano curve type [1]. Try to tell, whether the red point is inside or outside the polygon. We are going to review a simple variation of the given task, when the given polygon is convex. (adsbygoogle = window.adsbygoogle || []).push({}); It is clear that if a polygon is a triangle or a quadrangle, thereHow to Analyze Distributed Denial-of-Service (DDos) Attack
Written by Kukuruku Hub
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: log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time'; In the log file we’ll see something like this: 188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.com» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru/» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003 Analyzing DDoS Attack tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1Erlang for the Little Ones. The Basic Syntax of Functions
Written by Victor Pikaev
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's gender. In the form of the pseudo code our function will look like the following: function greet(Gender,Name) if Gender == male then print("Hello, Mr. %s!", Name) else if Gender == female then print("Hello, Mrs. %s!", Name) else print("Hello, %s!", Name) end If we use pattern matching instead of the classic if then else construction, we can save plenty of the template code. That’s how this function will look in Erlang when using pattern matching: greet(male, Name)Copyright and a Bit of Porn
Written by Art Afian
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. This image is extremely emotionally strong, especially considering the fact that not only right-holder representatives of big labels and corporations (though they definitely do not get a chicken feed) stand this position, but also actual authors and actors. The latter proved their right for own judgement. But I think that this point of view is wrong. By theSomething About Cats, Dogs, Machine and Deep Learning
Written by Artem Hurshudov
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.8%, which can not but impress. But where does such question come from? Why have classification tasks been (and still are) beyond programs’ capacity, though a four year old child can cope with them? Why is it more difficult to identify objects of the world than to play chess? What is deep learning and why are cats mentioned so often in related posts? Let’s talk about it. What Does “Detect” Mean? Suppose there are twoRadix Trees
Written by Nikolai Ershov
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. We are going to take a look at the implementation of prefix trees for storing ASCII strings. Each string ends with a terminal symbol that will never repeat in a string again. To indicate terminal symbols in pictures and examples, we will use the dollar sign. To indicate them in the code, we’re going to use the null symbol. Thus, in our implementation the strings will be standard C ones, which allows to use the standard string.h library. All the mentioned above shouldAre Time Travels Possible?
Written by forgotten
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', y', z', t') are coordinates in the new one. It is expected that one system moves in-parallel along x axis at v speed. (adsbygoogle = window.adsbygoogle || []).push({}); It’s the so-called Galilean transformation , which is what happens to coordinates when reference systems are changed. In the Galilean sense, there’s just one “time flow” in the Universe and time coordinates are the same for all objects. At that, classical mechanics does not treat the time arrow originality in any way. Moreover, the concept of the flow of timeReactive Actors in Java
Written by harati
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. As for akka, it is written in Scala. (adsbygoogle = window.adsbygoogle || []).push({}); Theory and Principles Actor is an isolated object, meaning that there are no direct references to an instance. It deals with asynchronous processing of incoming messages. A message is any invariable object implementing Serializable interface. They are stored in a queue, and when the system passes control to the actor (we’ll talk more about it soon), objects are extracted from theAVL Trees
Written by Nikolai Ershov
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. They say that AVL trees are simpler than Red-Black trees , but when looking at the code, we can not believe it. Thus, I have decided to explain the structure of AVL trees step by step. I’ll also provide the code in C++. AVL Tree Notion First of all, an AVL Tree is a Binary Search Tree (BST), the keys of which meet standard requirements: a key of any tree nodeCrowdfunding an Open Source Science for Our Complex World
Written by Shaun Swanson
In short, the crowdfunding campaign to 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. What is Thermostatistics? In the late 1800s, a growing belief in the atomic theory of matter solidified the importance of Statistical Mechanics as a means of deriving Thermodynamics . Thermostatistics focuses on this connection between the “microscopic” Statistical Mechanics of atoms, molecules, consumers, and firms and the “macroscopic” Thermodynamics of the behavior of systems at our scale and beyond. Thermodynamics was originally developed during the industrial revolution to better understandRandomized Binary Search Trees
Written by Nikolai Ershov
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). There’s also a nice implementation of the operation on deleting nodes from a search tree. Here we'll talk about randomized search trees, their implementation in C++ and also results of a small author’s research as for these trees balance. Let’s Go Step by Step Since I am going to describe a complete implementation of a tree, we’ll have to start from the very beginning (professionals can skip several paragraphs). Each node ofA Little Lisp Interpreter in Python
Written by Basic Wolf
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. What would be a minimal Lisp interpreter written in Python? To my surprise, the solution was seven lines long! Python expressiveness and Lisp beauty and simplicity served their purpose. To start with, let’s define the grammar and the way to evaluate expressions: list := (item0, item1, ...) item := list | atom atom := stringliteral | numliteral Evaluation rules are just like in any other Lisp dialect. The first elementWhat is grep and How do We Use It?
Written by Simple Admin
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. I never require sysadmins to know configs by heart. I think that we can always become familiar with the necessary software when needed. Of course, if we are ready to read much and want to use system tools properly. Therefore, I asked the applicants to solve the following tasks: create a cron job, that will be executed every even hour and at 3 o’clock; print the processor information from /var/run/dmesg.boot file. To my surprise, none of them coped withWorking for Google. A Rotten Apple
Written by Larysa Aharkava
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. Sphere of Influence Several tens of thousands of programmers work for the Company. But how many of them can influence the Company development in this or other direction? Some really small number, actually. It is vital for a big Company to have interchangeable employees. Just imagine that the Company business depends on each employee. Suddenly, 10% of them decided to quit the job. Nothing good willCellular Automata Using Comonads
Written by Curly Brace
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: left, right :: Universe a -> Universe a left (Universe (a:as) x bs) = Universe as a (x:bs) right (Universe as x (b:bs)) = Universe (x:as) b bs It’s basically a zipper , but we can consider it as a constant C-pointer to the infinite memory area as all increment and decrement operations are applicable to it. But how do we dereference it? Let’sKernelCare: Patching the Kernel On-the-Fly
Written by Andrey Yemelianov
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. Besides, there’s always a risk of an emergency when the server downtime can last for too long. There are also special programming solutions, with the help of which we can install patches and kernel updates without rebooting. As an example, we should name Ksplice – a product by Oracle Company, which is distributed under GPL v.2 license. It supports the following Linux distributives: Oracle, Linux, RHEL, Ubuntu (the desktop versions only) and Fedora. On the whole, KspliceGetting CSS Code in Order: Yandex Experience
Written by Beyond the Clouds
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. Some of them will use brackets round url, others won’t. When fixing some bug, someone could write, for example, position: relative at the beginning of the properties block without noticing that there’s already position: absolute somewhere between color and box-shadow . And he will keep wondering, why it’s not working. But despite the fact that we write the code in different ways, there’s a perfect order in our repository: CSSAn Interesting Task for an Interview. Currying and Partial Application of a Function
Written by Nick Makarov
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 ('should add two numbers', 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)?» — «No problem!» I think that they want to check whether I know about returning functions from functions. So, I wrote the following: it ('should be called like add(num1)(num2)', function () { var add = function (a) { return function (b) { return a + b; }; }; assert.equal(add(2)(3), 5); }); — «But what is we know the first addend beforehand and the second one will be known later? Then what?» I think that they’re talking about currying, soA Cheat Sheet for HTTP Libraries in C++
Written by tangro
Unfortunately, standard C++ library provides no tools for working with HTTP protocol. Therefore, when we want to run some REST service, parse a webpage or write a simple bot or web crawler, we always wonder which library is better and faster in 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. I guess Kukuruku is the best place for keeping such cheat sheets. We’re going to take a look at the following libraries: WinInet WinHttp Casablanca Qt POCO wxWidgets Boost.Asio libcurl neon .NET (С++/CLI) IXMLHTTPRequest HappyHttp cpp-netlib WinInet Website: http://msdn.microsoft.com/en-us/library/windows/desktop/aa385483(v=vs.85).aspx Platform: Windows 95 and later Example #includeSome Useful and Interesting Things for Web Developers
Written by Kukuruku Hub
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's...
Bead Sort
Written by Valery Makarov
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. I’m not sure, which one of them was the first to come up with the idea. Perhaps, Calude, since he also professes the History of Computing Mathematics. Everybody knows that the progenitor of counting in Europe was abacus. It moved on from Babylon to Egypt, then to Greece, Rome and, finally, the whole Europe. The appearance and operating principle of the ancient “calculator” is reminding of the “simple” sort behavior so much that it’sWhat is Rust for?
Written by Dzmitry Malyshau
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. Or the unexpected results of reading data that is being written in-parallel by another thread. On the other hand, there’s Haskell, a “stronghold” language (on the principle “since it compiles, it operates”), which can’t brag about speed, though. Somewhere in-between balance Java, Python, C# and other popular (due to their usability) languages. As for me, Rust is a successful crossing of the best C++Introduction to Elixir
Written by Kukuruku Hub
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...
Teaching the File System to Read
Written by kmu1990
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). Doesn’t seem like much, eh? The thing is that in this post we’ll have to define the structure of our file system – the way it will be stored on disk. Besides, we’ll also get familiar with SLAB and RCU. All of this will require some explanations – a lot of words and little code. Therefore, the post will be quite long. A Boring Beginning OurErlang for the Little Ones. Modules and Functions
Written by HaruAtari
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...
or