Search
Write a publication
Pull to refresh

Development

Show first
Period
Level of difficulty

Queries in PostgreSQL. Sort and merge

Reading time19 min
Views2.2K


In the previous articles, we have covered query execution stages, statistics, sequential and index scan, and two of the three join methods: nested loop and hash join.


This last article of the series will cover the merge algorithm and sorting. I will also demonstrate how the three join methods compare against each other.

Read more →

Let’s Discuss the Lorentz Transforms – Part the Last: The Real Derivation, or The Nail in the Casket

Reading time9 min
Views1K

In this post there are a lot of references to the previous one – it is essential that you read it before getting down to this.

In my previous posts (see the list below below) I tried to express my doubts whether there is a real physical substrate to the Lorentz transforms. The assumptions about the constancy of the speed of light, the homogeneity of space-time, and the principle of relativity do not and cannot lead to the deduction of the Lorentz transforms – Einstein himself, for one, gets quite different transforms, and from those he goes over directly to the Lorentz transforms obviously missing a logical link (see Einstein p. 7, and also Part 1 of this discussion). As for the light-like interval being equal to zero, we saw that it can be attached to such assumptions only in error and cannot in itself be a foundation of a theory. I have to conclude that all that fine, intricately latticed construction of scientifictitious, physics-like arguments with the air of being profound is nothing but a smokescreen creating the appearance of a physical foundation while there is none.

What is then the real foundation of the Lorentz transforms? Let’s start from the rear end, the Minkowski mathematics. Historically, this appeared later than special relativity as a non-contradictory model of the Lorentz mathematical world; previously mentioned Varićak was among those who took part in its creation. Notwithstanding its coming later in history, it can be used as the starting point for derivation of the Lorentz transforms.

Read more

Let’s Discuss the Lorentz Transforms – Intermission: Rapidity, and What it Means

Reading time4 min
Views970

I thought my previous post rather funny, and was surprised seeing it initially receive so few views. I thought the entertainment flopped, but fortunately I was wrong. I therefore feel it my duty before my readers to address the subject of the Landau & Lifschitz proof of the invariance of the interval.

You can find the summary of it in Wikipedia. Making their starting point the light-like interval always being equal to zero, Landau & Lifschitz seem to make a great fuss about it. The Wikipedia article even says: ‘This is the immediate mathematical consequence of the invariance of the speed of light.’ No, it is not.

I beg everyone’s pardon, but the light-like interval always being equal to zero is nothing else but the following statement: ‘The length of a ray of light will always be equal to the length of this ray of light’. Sounds like a cool story, bros and sis, but I cannot see what further inferences can be drawn from it. The ‘proof’ of this truism cannot fail under any circumstances whatever – whether you keep the speed of light invariant, or keep or change the metric of space or time or both – or make both metric and speed of light change – the light-like interval will remain equal to zero. I am okay with anyone wanting to prove it if they feel like it, but you cannot make it an ‘immediate mathematical consequence of the invariance of the speed of light’. Neither is it possible to make the constancy of the speed of light a consequence of the invariance of the light-like interval for the reason already mentioned: this is a truism. It does not prove anything, nor can it be a consequence of anything. When Landau & Lifschitz insist that this is a consequence of the constancy of the speed of light, that is either an error or a downright subterfuge, a means employed to create a spectre of logical connection between two unconnected notions, and charge this ghostly connection with pretended significance. And, since the following proof of invariance of an arbitrary interval hangs on the invariance of the light-like interval, we can altogether dismiss it: the necessity of introduction of such a measure as interval cannot be derived from the statement that a length of something will be equal to itself in whatever frame of reference it is measured.

Read more

How to be an effective engineer?

Reading time6 min
Views3.1K

This question comes up for a lot of us as we trying to advance our career and reach new heights. At the moment when I was challenged by it, I came across a wonderful book by Edmond Lau "Effective Engineer".

As always going through the book, I write new thoughts down. And today I want to share the compilation of things that I have found useful from the book. This is by no means an ad for the book, but I think it has some really interesting approaches for us to explore together.

Read more

Let’s Discuss the Lorentz Transforms – Part 1: Einstein’s 1905 Derivation

Reading time6 min
Views1.2K

Even as I am posting this, I can see that my previous post received a hundred and twenty plus views, but no comments yet. I am saying again that my pursuit is not to give an answer, but to ask a question. I only wonder if there is in fact no answer to the questions I am asking – but anyway, I will continue asking them. If you know how to deal with the problems I am setting – or happen to understand they are not problems at all, I will be most grateful for a constructive input in the comments section. I am sorry to say I was unable to make this post sound as light and unpretentious as the previous one. This one deals with harder questions, is a little wordy, and requires at least elementary knowledge of calculus to be read properly.

In my previous post we discussed the ‘Galilean’ velocity composition used for introduction or substantiation of relative simultaneity. It is not the only point where Einstein resorts to sums c + v or c – v: he does that actually to deduce the Lorentz transforms, notwithstanding the fact that a corollary of the Lorentz transforms is a different velocity composition which makes the above sums null and void. It looks like the conclusions of this deduction negate its premises – but this is not the only strange thing about Einstein’s deduction of the Lorentz transforms undertaken by him in his famous 1905 article.

In Paragraph 3 of that paper Einstein is considering the linear function τ (the time of the reference frame in motion) of the four variables x′ = x – vt, y, z, and t (the three spatial coordinates and time of the frame of reference at rest) and eventually derives a relation between the coefficients of this linear function.

Read more

Modern Micro-Service Architecture: Key Challenges for System Analysts

Reading time9 min
Views1.8K

We're continuing to explore micro service architecture. In today's blog Alexander Solyar, Lead system architect at Innotech, describes the main challenges analysts are facing while working with micro services. He also shares a number of effective solutions and recommendations.

Read more

Modern Microservice Architecture: Design Principles

Reading time7 min
Views4K

First mentions of micro service architecture application go back to the previous decade. Today this approach became the industry standard. Alexander Solyar, Lead software architect at Innotech, dives into details, shares professional insights and practical rules for working with micro services .

Read more

20 years of payment processing problems

Reading time12 min
Views2.4K

Thanks to yarbabin for the logo

Electronic payment systems have existed on the Internet for a long time, and some bugs in them are twenty years old. We've found critical vulnerabilities allowing us to steal money and drive up the balance. Today we will analyze typical implementations of payment processing and related security issues.

Read more →

Detecting attempts of mass influencing via social networks using NLP. Part 2

Reading time3 min
Views1.2K

In Part 1 of this article, I built and compared two classifiers to detect trolls on Twitter. You can check it out here.

Now, time has come to look more deeply into the datasets to find some patterns using exploratory data analysis and topic modelling.

EDA

To do just that, I first created a word cloud of the most common words, which you can see below.

Read more

Detecting attempts of mass influencing via social networks using NLP. Part 1

Reading time5 min
Views1.6K

During the last decades, the world’s population has been developing as an information society, which means that information started to play a substantial end-to-end role in all life aspects and processes. In view of the growing demand for a free flow of information, social networks have become a force to be reckoned with. The ways of war-waging have also changed: instead of conventional weapons, governments now use political warfare, including fake news, a type of propaganda aimed at deliberate disinformation or hoaxes. And the lack of content control mechanisms makes it easy to spread any information as long as people believe in it.  

Based on this premise, I’ve decided to experiment with different NLP approaches and build a classifier that could be used to detect either bots or fake content generated by trolls on Twitter in order to influence people. 

In this first part of the article, I will cover the data collection process, preprocessing, feature extraction, classification itself and the evaluation of the models’ performance. In Part 2, I will dive deeper into the troll problem, conduct exploratory analysis to find patterns in the trolls’ behaviour and define the topics that seemed of great interest to them back in 2016.

Features for analysis

From all possible data to use (like hashtags, account language, tweet text, URLs, external links or references, tweet date and time), I settled upon English tweet text, Russian tweet text and hashtags. Tweet text is the main feature for analysis because it contains almost all essential characteristics that are typical for trolling activities in general, such as abuse, rudeness, external resources references, provocations and bullying. Hashtags were chosen as another source of textual information as they represent the central message of a tweet in one or two words. 

Read more

IDS Bypass at Positive Hack Days 11: writeup and solutions

Reading time10 min
Views2K

The IDS Bypass contest was held at the Positive Hack Days conference for the third time (for retrospective, here's . This year we created six game hosts, each with a flag. To get the flag, participants had either to exploit a vulnerability on the server or to fulfill another condition, for example, to enumerate lists of domain users.

The tasks and vulnerabilities themselves were quite straightforward. The difficulty laid in bypassing the IDS: the system inspected network traffic from participants using special rules that look for attacks. If such a rule was triggered, the participant's network request was blocked, and the bot sent them the text of the triggered rule in Telegram.

And yes, this year we tried to move away from the usual CTFd and IDS logs towards a more convenient Telegram bot. All that was needed to take part was to message the bot and pick a username. The bot then sent an OVPN file to connect to the game network, after which all interaction (viewing tasks and the game dashboard, delivering flags) took place solely through the bot. This approach paid off 100%!

Подробнее

Does GPS transmit different data into LNAV and CNAV messages?

Reading time2 min
Views2.8K

Different navigation message protocols are used for different navigation signal type. This is true even for a single system like NAVSTAR GPS. For example, L1C/A signals have a LNAV protocol, while L2C and L5 signals utilize a CNAV protocol. The newest L1C signal will use CNAV-2. 

The protocol defines a data distribution into frames, subframes, the subframes structure, transmission intervals, data resolution and so on. 

A navigation receiver use the navigation message data flow for several purposes:

1. The data flow allows to resolve a code ambiguity and set the signal time.

2. Ephemeris and clock values are used for the satellite position calculation, pseudorange corrections and coordinates computation.

3. The received data flow and navigation message data can be used for navigation symbols prediction. As result, we can use the wipe-off technique, expand discriminators and significantly increase tracking sensitivity:

Read more

Working with digital infrared passive motion sensor PYD 1588

Reading time10 min
Views3K

In this article, there is the work with the PYD 1588 digital Infrared passive motion sensor introduced. The PYD 1588 is a serial opposed format, two element detector based on pyroceramic produced by the Excelitas Technologies. This sensor represents a low-power (3.0 uA with 1.8 V source voltage as in the documentation said) passive component with two sensible elements, which measure the thermal infrared radiation stream.

The signal is converted to a digital value using Sigma-Delta and DSP techniques. A configurable motion detection unit is implemented, which can generate an interrupt recognized by the external microcontroller (MCU) in case motion is detected. The motion detection unit contributes to significant device energy efficiency increasing via putting the MCU to a low-power sleep mode with no periodic raw data request and its analyzing necessity.

Read more

Electron + web camera (cpp-ffmpeg)

Reading time8 min
Views4.4K

An example of using Electron + React JS and a native ffmpeg addon to access a webcamera

This guide may be helpful to someone who is trying to find a way
to work with Electron if they need to use a c++ library or code

I was looking for a more realistic example than a simple 'hello world' and i didn't succeed

Here are the links in advance:

- electron - https://github.com/khomin/electron_camera_ffmpeg

- addon - https://github.com/khomin/electron_ffmpeg_addon_camera

So let me share my experience...

Read more

Queries in PostgreSQL. Sequential Scan

Reading time15 min
Views2.6K

Queries in PostgreSQL. Sequential scan


In previous articles we discussed how the system plans a query execution and how it collects statistics to select the best plan. The following articles, starting with this one, will focus on what a plan actually is, what it consists of, and how it is executed.


In this article, I will demonstrate how the planner calculates execution costs. I will also discuss access methods and how they affect these costs, and use the sequential scan method as an illustration. Lastly, I will talk about parallel execution in PostgreSQL, how it works, and when to use it.


I will use several seemingly complicated math formulas later in the article. You don't have to memorize any of them to get to the bottom of how the planner works; they are merely there to show where I get my numbers from.

Read more →

Why does my app send network requests when I open an SVG file?

Reading time8 min
Views2.3K

0923_SVG_XXE_ru/image1.png


You decided to make an app that works with SVG. Encouraged by the enthusiasm, you collected libraries and successfully made the application. But suddenly you find that the app is sending strange network requests. And data is leaking from the host-machine. How so?

Read more →