Blog
What blockchain is?
Block (a chain of blocks) is a distributed database, in which storage devices are not connected to a shared server. This database stores an ever-growing list of ordered records, called blocks. Each block contains a timestamp and a link to the previous block. The use of encryption ensures that users can only change parts of the chain of blocks that they "own" in the sense that they have private keys, without which writing to the file is impossible. In addition, encryption provides synchronization of copies of the distributed chain of blocks for all users.
Security in blockchain technology is provided through a decentralized server that places timestamps and peer-to-peer network connections. As a result, a decentralized database is formed, which is managed autonomously, without a single center. This makes the blockchain very convenient for registering events (for example, making medical records) and data operations, identity management and authentication of the source.
How does blockchain technology work?
Electronics Manufacturing Services
Are you tired of fighting manufacturing defects?
Do returns kill your business and your reputation?
Poorly assembled electronic part of the product and poorly tested before shipping to the customer result of a breakdown of the device during the warranty period and a huge bill for the replacement of a non-working device with another one, which can also fail. These losses are usually much greater than all your earnings on the device! At least they can be counted… However, how to measure the loss of reputation of your company for customers? How to get the customer to believe in your reliability again? With these questions, our customers come to us first.
Many companies trust us to take care of the electronic manufacturing part of their products. Why? Because it is better to entrust the professionals in such sophisticated field as electronics design.
The process of manufacturing itself requires control that is even more careful. No batch will go into production until we perform a random test of the purchased components. We select components from different parts of the lot bought for production, we collect a small test lot - and we carry out a comprehensive check of the collected prototypes. Only after receiving the approval of our engineers, we start the production of a batch. If a defect is found, it will be corrected before the whole batch is assembled.
During the preparation of production, our engineers prepare test benches, which will allow to check hundreds of devices at the same time. We conduct an engineering test of each device from the lot before sending it to the customer. The engineering test includes testing of all operating modes of every single device. All sensitive characteristics are tested. The operation in declared ranges of input voltage, temperature conditions, working characteristics are controlled. The working test lasts no less than an hour for each device, after which the devices are visually inspected for defects.
Poor packaging and delivery is a way to damage even an admittedly working batch of devices. We carry out professional packaging of products, and cooperate only with reliable delivery services. Large quantities of shipments allow us to have the maximum discount on the delivery of products.
And the last thing after reading this - you will have a though – “I can not afford it”.
So that's it. YOU CAN AFFORD IT! YOU CAN MAKE IT POSSIBLE TO YOURSELF!
How? Because our main office is in Europe, where the salaries of highly qualified
Contact us! We are waiting for you, in the friendly family of our satisfied customers!
{jcomments off}
Using C# Mutexes for interprocess synchronization
Mutexes are used in multithreaded (multiprocess) environment for organizing a mutually exclusive access to some shared resource. While usually not required for simple applications, these syncronization primitives are crucial once you advance to mutli-threaded world. Consider you have some resource, which can only be accessed from a single process or thread for consistency. Say, you have a connection to some remote server that can process only one operation at a time. Multiple requests are dropped. But you need to write two programs that do some data processing and query the server periodically. Of course, you can run them in chain one after another. Run first program, wait until it finishes, then run second program. But what if you want your programs to do background work simultaneously and only block on server requests? This will be much more effective considering you have enough CPU power at your server. There are many other similar examples like sharing the same serial port when communicating with some peripheral, etc.
In this example we will discuss how to create and correctly use a named mutex object.
Change the Remote Desktop Connection port on Windows Server
This manual apply to Windows Server 2012, 2008 R2, 2008, 2003
The latest attacks of ransomware viruses exploit poorly protected Remote Desktop access to connect to Windows servers, then crack weak passwords and encrypt sensitive data. Hundreds of hackers continously scan the Internet to find poorly protected servers. Once you install Windows Server, it gets to the scope of hackers rather quickly - in a couple of weeks of so.
Of course, the first countermeasure to avoid accidental hacker attack is to use secure password. Never use simple or easily guessed passwords, use at least 20 character passwords with different letter casing, numbers, special symbols.
One additional countermeasure to fight automated hacker attacks is to move RDP port from default 3389 to different number, which is known only to you. This will get your server off automated port scann alorithms used by hackers and viruses.
As we said before, default Windows servers' Remote Desktop is listening on TCP port 3389. You can change the port to different number in range 1024-65535.
Do not use lower port number since it is reserved by system.
IMPORTANT: Make sure that remote access to your server through the new port is authorized in your Windows firewall before executing the next steps.