The Role of WebRTC Technology In Online Security
Written by Jane
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,...
Integrating Email with Team Chat
Written by Alexander Lashkov
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. BlackBerry was the way to keep the conversation going when on the go. Who am I fooling? Many people—the Alaska-sized area under the adoption bell curve representing the tried-and-true crowd—still use email this way in 2015. And that's OK! Because Sameroom Email Adapter The good news is you can spare them the pain of dealing with whatever you kids are using these days and create a real-time integration between your chatrooms and theirTop 5 Anonymous E-mail Providers
Written by Info_sec
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'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. That is why we explicitly searched for secure e-mail providers and today we give our top 5. 1. Hushmail Our first stop is the service that will attract orthodox users (who do not like fancy interfaceStructure of the Data Center of TIER 3 Level
Written by Beeline (resilience)
Beeline , earlier Bee Line GSM is a Russian telecommunications brand by OJSC VimpelCom. OJSC VimpelCom is a Russia'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's main competitors in Russia are Mobile TeleSystems and MegaFon. There used to be a field in place of the data center. We dug a huge 100 meter foundation pit. Then, the data center looked like a concrete pad. Using metal constructions, we have built a hexagonal building, which houses six modules of the data center (they’re highlighted in green), the command center to monitor the backbone network across the country, and the office. Warning! A lot of traffic and geekporn : 91 images of the newly launched first module. There are still some works being maintained there, but no more majorSocial Network Analysis. Spark GraphX
Written by Alex Krot
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. For instance, to search for the spam, rank search results, determine communities in social networks, or search for opinion leaders, and it’s not a complete list of applying methods for analyzing graphs. Let’s start with recalling the main objects we’ll work with in the given article. Graph Theory, Random Graphs and Webgraphs A graph is an ordered pair G = (V,E) , in which V is a set of vertices (say, websites onA Non-Obvious Feature in the Syntax of Variable Declaration
Written by Maxim Razin
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...
A MIDI Player on Eight Floppy Drives
Written by Vlad_RT
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. No problem with that. It is simple, without unnecessary bells and whistles. The Board It was no problem to make it with the help of the photoresist. Scattered everything in 1o minutes and produced it in an hour. The Code Now, the fun part begins — programming. To save some time, I decided to write in C. But I made the same mistake at the very beginning. It was about controlling floppyReal-time notifications on Django using gevent-socketio and RabbitMQ
Written by eandrawos
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. It provides views to manage incidents and areas of interest, a view to monitor the occurrence of incidents in real-time and a view to report incidents that uses geolocator to detect the user’s location. Whenever an incident is saved (or updated), a message is sent to a RabbitMQ broadcast queue. At this time, the system checks whetherSecrets of the Conditional (ternary) Operator
Written by Alex Kulikov
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's start with a small test. Test Will the following code compile? Explain why. 1. int i; int j; (false ? i: j) = 45; 2. int i; int j; (true ? i: j) = 45; 3. short i; int j; (true ? i: j) = 45; 4. return true ? 0 : 1; 5. true ? return 0 : return 1; 6. What will be the output of the following piece of code? Why? std::coutA Short Course in Computer Graphics. How to Write a Simple OpenGL. Article 2 of 6
Written by Dmitry Sokolov
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's no need to consider a complex case. Reminding you, that this series of articles is designed for your own programming. The time that I provide here is not for reading my code. It’s time for writing your code from scratch. My code is provided here just to compare your (working) code with mine. Any comments and questions are welcome. If you’re following this tutorial and writing your own code, upload it to github.com/code.google.com and other similar websites and provide links in comments. This can help you (other people will give advice), as well as other readers. Drawing aUndefined Behavior and Fermat’s Last Theorem
Written by Tyomitch
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...
Multitasking in the Linux Kernel. Workqueues
Written by Vita Loginova
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. Articles of the Series: Multitasking in the Linux Kernel Interrupts and Tasklets Multitasking in the Linux kernel. Workqueues Workqueue Workqueues are more complex and heavy entities, than tasklets. I will not even try to describe here all the implementation details, but I hope to review the most important things in some detail. Workqueues, just like tasklets, serve for the deferred processing of interrupts (but we can also use them for other purposes), but, unlike tasklets, they are run in theIntroduction to Machine Learning with Python and Scikit-Learn
Written by Alex Krot
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?”. Some time ago, I led the development of Big Data tools for the analysis of media and social networks in one of the institutions of the Government of the Russian Federation. I still have some documentation my team used, and I’d like to share it with you. It is assumed that the reader has a good knowledge of mathematics and machine learning (my team mostly consisted of MIPT (the Moscow InstituteHow to Implement the Deutsch-Jozsa Algorithm in Haskell
Written by Roman V. Dushkin
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: A Few Words About Reversible Computing How to Implement Deutsch’s Algorithm in Haskell Quantum Circuit Design: Methods and Techniques Today you will find out about the way to build an oracle on the basis of the given definition of a binary function. We will build it not manually, like we used to before, but automatically. You will also learn how to understand the function type with the help of the only one oracle call. We will also carryMeteor. How to Build a TODO List
Written by Max Ovcharik
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. I should also warn you that the text is quite long, but the code is twice shorter than the text. I just want to share my experience with Meteor not for creating a simple example, but focus your attention on important things. Therefore, we are going to use plenty of external packages that simplify the process of development. And another warning: I used the following techniques forLock-free Data Structures. The Inside. RCU
Written by Max Khiszinsky
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. Typical examples of such structure are map and set , in which the majority of operations are search ones, i.e. reading data. It is believed that more than 90% of operations for a typical map are searches by key. Therefore, it is important that the search operation is the fastest; search synchronization is not really necessary– when there are no writers, readers can work in parallel. RCU provides the lowest overhead exactly for read-operations.Backdoor in a Public RSA Key
Written by Scratch
Hello, %username%! When I saw how it works, say that I was shocked is to say nothing. It'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. What we need to do? I'm going to use C#, BouncyCastle and Chaos.NaCl (this library implements Curve25519 ). 1). PRNG We need a PRNG which is initialized with a secret value. I'm going to use AES in CTR mode. using System; using System.ComponentModel; using Org.BouncyCastle.Crypto.Engines; using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Crypto.Prng; using Org.BouncyCastle.Security; namespace RsaBackdoor.Backdoor { class SeededGenerator:IRandomGenerator { private readonly AesFastEngine _engine = newQuantum Circuit Design: Methods and Techniques
Written by Roman V. Dushkin
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: Forward analysis . Determine the output state, provided that there is an input state and the definition of a computational process. Backward analysis . Determine the input state, provided that there is an output state and the definition of a computational process. Synthesis . Build the definition of a computational process, provided that there are input and output states. Unfortunately, these questions are not really reflected in the literature about quantum computations. But they are extremely important. That's why I amAutomatic Algorithms Optimization via Fast Matrix Exponentiation
Written by Alexander Borzunov
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. (85 times faster): The thing is that before the program execution Python interpreter compiles all its parts into a special byte-code. Using the method I came across recently, the decorator analyzes the function byte-code and tries to optimize the algorithm applied there. You will see that this optimization can speed up the program not by a factor of n times, but asymptotically . The bigger theQuantum Dead End
Written by Kukuruku Hub
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). People of mechanical intelligence think that the world is a huge machine/computer/mechanical system, in which any event happens according to some law or algorithm. As a rule, an average techie is far from fundamental science. But we are most likely to think that his mechanical ideas are based on the success of the modern science. InDouble-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...
Young 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 forcedCreating 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 ofHow 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 1Reactive 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 theA 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 elementWorking 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 willBead 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’sErlang 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...
2048 in Erlang
Written by peinguin
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. That’s why I decided to create the server part so that there would be rating and my bot could play without a browser. It’s my first project in Erlang. Many programmers are afraid of it. They suppose that it’s difficult to use it. But it’s actually not. I’ll try to highlight some things that are not obvious for Erlang beginners. I’ve hard coded a lot of things for simplicity. But anyway, I’ll be glad to read yourMasking a Class in Boost Graph. Part 1: Let the Interface Be
Written by Vadim Androsov
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. But it’s better than creating it from scratch (then fixing it). I didn’t want to bother with other libraries, while boost has already been used in the project. The following is given: a game field class with the following (significant for this article) interface: class GameField { public: GameField(); bool canPass(int x, int y) const; int getWidth() const; int getHeight() const; }; The field is a regular gridLock-free Data Structures. The Inside. Memory Management Schemes
Written by khizmax
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]. Tagged pointers Tagged pointers is a scheme introduced by IBM for to solve the ABA problem. Perhaps, it’s the most popular algorithm for this problem’s solution. According to this scheme each pointer represents an atomic pair of the memory cell address and its tag (32-bit integer number). templateLightweight HTTP Server in less than 40 Lines on libevent and C++11
Written by NYM
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. Considering some innovations in C++11 the code becomes much more space-efficient and allows for the creation of a basic HTTP server in less than 40 lines. (adsbygoogle = window.adsbygoogle || []).push({}); The information of this post will be useful for those not familiar with libevent and those who want to quickly create an HTTP server. There’s nothing innovative in this post, so you can use it as material for working in the right direction. libevent is better thanTypes Construction in Scala
Written by primetalk
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. But annotations facilities are limited and need reflection use; If the data should be represented not about all object features at once, it’s difficult to use the created classes; It’s also difficult to introduce a change of feature value (delta). We want to implement a framework that will allow creating new “classes” (types, types’ constructors, objects of the new types) incrementally using our own “bricks”. Using our own “bricks” production we can reach theLock-free Data Structures. Memory Model. Part 3.
Written by khizmax
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....
LibreS3: Open Source Amazon S3 Implementation
Written by Kukuruku Hub
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's compatible with Amazon S3 client libraries and built on their basis tools, such as python-boto, s3cmd and...
or