Pull to refresh

All streams

Show first
Period
Level of difficulty

Dealing with sanctions and the other difficult question

Reading time3 min
Views941

In our last article we covered the anatomy of a presale meeting gone wrong. In that article we posed some questions for everyone to think about. What exactly does an American company wanting to hire a Russian custom software development company, feel about this Russian company? What are they afraid of? What are their concerns?

In the end we came up with five concerns.

1. Is the company a fly by night company, is the company a one-day company?

2. Will they be professional in supporting or developing the software that they've sold to us?

3. Will they have proper data security?

And now the two new ones that are because of the mess the world is in now...

4. Will they be able to complete the project on time? This includes proper internet access an infrastructure to support IT.

5. Where is your team located? Are you still located in Russia?

Now we're going to look at the last 2, number four and five.
However let's look at number 5 first.

Many IT companies today if they want to work with the United States or even Europe they must not have their developers located inside of Russia. Matter of fact it goes so far that if a developer is located in Russia and they're using a VPN and somehow the VPN is breached the credentials are canceled for that developer to work on the project.

It's for this reason that Russian IT companies are opening offices around the world. Let's look at Armenia as an example.

Wait a minute I have to go back for a second...... We must discuss how countries look to America Canada and Western Europe. I basically give them a score based on questions that are brought up in the mind of the American company or European company.

Read more
Total votes 6: ↑4 and ↓2+2
Comments2

2. Information Theory + ML. Mutual Information

Reading time11 min
Views751

In Part 1, we became familiar with the concept of entropy.

In this part, we will delve into the concept of Mutual Information, which opens doors to error-resistant coding, compression algorithms, and offers a fresh perspective on regression and Machine Learning tasks.

It is an essential component that will pave the way, in the next section, for tackling Machine Learning problems as tasks of extracting mutual information between features and the predicted variable.

Here, there will be three interesting and crucial visualizations.

The first one will visualize entropy for two random variables and their mutual information.
The second one will shed light on the very concept of dependency between two random variables, emphasizing that zero correlation does not imply independence.
The third one will demonstrate that the bandwidth of an information channel has a straightforward geometric interpretation through the convexity measure of the entropy function.

In the meantime, we will prove a simplified version of the Shannon-Hartley theorem regarding the maximum bandwidth of a noisy channel. Let's dive in!

Read more
Total votes 2: ↑2 and ↓0+2
Comments0

React + Three.js. Creating your own 3D shooter. Part 1

Level of difficultyMedium
Reading time30 min
Views5.8K

Hello, dear users of the IT world!

In the era of active development of web technologies and interactive applications, 3D-graphics is becoming more and more relevant and in demand. But how to create a 3D application without losing the advantages of web development? In this article, we will look at how to combine the power of Three.js with the flexibility of React to create your own game right in the browser.

This article will introduce you to the React Three Fiber library and teach you how to create interactive 3D games.

Read more
Total votes 4: ↑3 and ↓1+2
Comments0

React Custom Hook: useScript

Level of difficultyMedium
Reading time2 min
Views2.5K

useScript can be used in various scenarios. For instance, you can load external libraries like jQuery, enabling you to harness its powerful functionalities without adding bulk to your bundle. Additionally, you can load analytics scripts, social media widgets, or any other script necessary for your application's dynamic behavior.

Read more
Total votes 4: ↑3 and ↓1+2
Comments1

Russian speaking IT presales and passing interviews to the West

Reading time6 min
Views1.4K

Russian speaking IT presales and passing interviews to the West

I'm Paul Karol an American and I've been living in Russia and working internationally with businesses for the last 10 years. My first client was a Gazprom high level director and we worked on international communication and connections with the West and China.

I am the keynote speaker in many events and also give companywide training for companies that interact with other countries. I have been working deeply with The IT community of Russia for 6 years. My job is to make them pass their project interviews. Also I work with the presales and make sure that the company gets the projects that they want.

I'm the expert on Russia, Chinese and the  Western cultural relations.

First: if your company is just beginning to approach the Western market including America you want to have success in the beginning. If you're successful at passing the first few presale meetings or project interviews your reputation will be established. If you fail a few interviews or presales then you start to develop a reputation.

@paulkarolgibrelstions4767
Total votes 4: ↑3 and ↓1+2
Comments4

React Custom Hook: useDebugInformation

Level of difficultyMedium
Reading time3 min
Views2.4K

The useDebugInformation hook can be applied in various scenarios. For instance, imagine you're working on a complex form component where certain props trigger updates or affect rendering. By utilizing useDebugInformation, you can easily monitor how these props impact your component's performance and whether unnecessary re-renders are occurring. Additionally, the hook can be invaluable when investigating why a specific component is not updating as expected or when fine-tuning optimizations in a performance-critical application.

Read more
Total votes 4: ↑3 and ↓1+2
Comments0

React Custom Hook: useDarkMode

Level of difficultyMedium
Reading time4 min
Views2.6K

One of the main advantages of "useDarkMode" is its simplicity. With just a few lines of code, you can enable dark mode in your React application. By invoking this hook, you'll receive the current dark mode state and a function to toggle it.

The "useDarkMode" hook dynamically updates the HTML body class to apply the "dark-mode" styling whenever dark mode is enabled. This approach ensures consistency across all components without the need for manual class manipulation.

Read more
Total votes 6: ↑4 and ↓2+2
Comments0

How to make a robot? What is first

Level of difficultyEasy
Reading time3 min
Views5.5K

I develop robots, and I'm often asked, "How to make a robot?" and "Where do you find information and what resources do you use?"

If you don't know where to start and want to create your own robot, this article is for you. In it, I will try to explain the process and also share the first steps you should take.

Read more
Total votes 2: ↑2 and ↓0+2
Comments2

LeetCode 2612 (Hard). Minimum Reverse Operations. Swift. BFS. O(n+k). O(n)

Level of difficultyHard
Reading time3 min
Views1.5K

LeetCode 2612 (Hard). Minimum Reverse Operations.

The algorithm follows a breadth-first search (BFS) approach to determine the minimum number of reverse operations needed to bring the 1 to each position in the array.

To speed up the algorithm, we mark banned positions with -2 instead of using set lookups. This optimization reduces the constant coefficient and improves the speed of the algorithm, but it may still result in a time limit exceeded (TLE) error.

For each visited position, there are potentially O(k) target positions that can be reached through reverse operations. To avoid the multiplicative cost of iterating over all these potential positions, we update the nextNode2s array. This array initially points forward by 2, but we update it dynamically to point beyond all the target positions considered for each visited position. This optimization helps improve the efficiency of the algorithm and avoids unnecessary computations.

Read more
Total votes 2: ↑2 and ↓0+2
Comments0

LeetCode 956 (Hard). Solution of the day. Tallest Billboard. Swift. DP

Level of difficultyHard
Reading time2 min
Views2.3K

Solution of the day.
LeetCode 956 (Hard). Tallest Billboard.

The code uses dynamic programming to solve the problem. It maintains a dictionary dp, where the keys represent the possible height differences between the two billboards, and the values represent the maximum sum of heights achieved for each height difference.

Read more
Total votes 4: ↑3 and ↓1+2
Comments0

Hashing and its C++ applications

Level of difficultyMedium
Reading time6 min
Views4.2K

Hash, salt, SHA-1, SHA-2, std::hash.. To a non-programming person that may come up as some kind of a recipe that just does not seem to add up. In a sense, this is indeed supposed to be a gibberish to any third party and a strong, helpful mechanism for us, programmers. 

At the start of writing this article, I had one clear idea to get across the table: to finally unveil this mystery of hashing in C++ for beginners. I, a beginner myself, also wanted to solidify my knowledge in this area; so let’s get started.

Read more
Total votes 2: ↑2 and ↓0+2
Comments0

Uniform gravity, can it exist?

Level of difficultyMedium
Reading time3 min
Views1K

3.What's an ugly smiling face?

It's the cat from curved space.

V. Komen, I. Tikhonenkov

Here we are discussing in general the majority of metrics for a stationary gravitation fields in one dimension. The only accepted approach so far to apply the equations of field (A. Einstein):

10
Total votes 4: ↑3 and ↓1+2
Comments0

Alpha Go && Alpha Go Zero

Reading time3 min
Views1.6K

Today I would like to discuss the games Chess and Go, the world's champions, algorithms and Al.

In 1997, a computer program developed by IBM Deep Blue defeated the world Chess champion Garry Kasparov. Go remained the last board game in which humans were still better than machines.

Why is that?

Chess is primarily distinguished from Go by the number of variations for each move. Chess, the game is more predictable with more structured rules: we have value for each figure (e.g bishop = 3 pawns, rook = 5 pawns -> rook > bishop), some kind of openings and strategies. Go, in turn, has incredibly simple rules, which creates the complexity of the game for the machine. Go is one of the oldest board games. Until recently, it was assumed that a machine was not capable of playing on an equal footing with a professional player due to the high level of abstraction and the inability to sort through all possible scenarios - exactly as many valid combinations in a game on a standard 19×19 go-ban are 10180 (greater than the number of atoms in the visible universe).

However, almost 20 years later, in 2015, there was a breakthrough. Google's Deep Mind company enhanced AlphaGo, which was the last step for the computer to defeat the world champions in board games. The AlphaGo program defeated the European champion and then, in March 2016 demonstrated a high level of play by defeating Lee Sedol, one of the strongest go players in the world, with a score of 4:1 in favour of the machine. A year later, Google introduced to the world a new version of AlphaGo - AlphaGoZero.

Read more
Total votes 2: ↑2 and ↓0+2
Comments1

Affordable as a Bus, Comfortable as a Taxi: A Promising Type of Public Transport for Large and Medium-Sized Cities.Part3

Level of difficultyMedium
Reading time32 min
Views1.3K


Translation provided by ChatGPT, link to the original article in Russian

Link to Part 1: «Preliminary Analysis» (ру / eng )
Link to Part 2: «Experiments on a Torus» (ру / eng )
Link to Part 3: «Practically Significant Solutions» (ру / eng )
Link to «Summary» (ру / eng )

1 Playing Diplomacy


1.1 What this work is about


You're reading the third and final article in a series dedicated to minibus route schemes that would allow you to travel reasonably quickly, inexpensively, and most importantly, without any transfers, from any intersection to any other within a large city. You'll see many graphs, formulas, and figures below, but before we get to the technical part, I'd like to discuss the challenge of implementing this idea and invite you to participate in solving it.

1.2 A puzzle for the talented and brave (Eccentrics are welcome: 🎶)


I propose an adventure,
I propose a game,
I propose that you become part of a positive change in the lifestyle of almost a billion people around the planet,
I can't do this alone.
To start, I need your help with the following:
Read more →
Total votes 4: ↑3 and ↓1+2
Comments4

Uniform gravity, can it exist?

Level of difficultyMedium
Reading time3 min
Views948

Uniform gravity, can it exist?

1. The motion of a free particle-like cat

V. Komen, I. Tikhonenkov

Good morning! You've woke up. Having prepared coffee and toasts of bread you are drifting from a kitchen to a table before a large wall TV. The left hand keeps a small plate with toasts and the right one controls coffee level within your beloved mug. The life is plotted out for ten seconds to come. But Ervin is already worried that you, as usual, made conspiracy and decided not to share your breakfast with him. So the damned cat thrusts himself across you pass, hits your legs. By the next moment the plate, toasts and the mug are falling. And – yes! All those precious things reached a floor level by the same time. Physics...It's how it shows up, unexpected. And we used to identify ourselves as physicists. The unexpected thing is that we still do. It's whence our motivation originates. We cannot pass by any falling objects quietly.

15
Total votes 2: ↑2 and ↓0+2
Comments0

Technical Game Design. Configs, balance and content in the example of PC strategy

Level of difficultyMedium
Reading time13 min
Views1.2K

One of the common tasks that both beginners and experienced game designers face is describing a large amount of content to pass its parameters to the engine. This is not an easy task, given that it is very difficult to find materials on the technical aspects of game design. Well, let’s figure out how to transfer data to the engine.

Read more
Total votes 2: ↑2 and ↓0+2
Comments1