Pull to refresh

Development

Show first
Rating limit
Level of difficulty

Exploring VALID/READY protocol, pipelines and experimenting with flow control using an HDL training tool

Level of difficultyMedium
Reading time1 min
Views1.1K

Ссылка на русскую версию / link to Russian version

Understanding valid/ready protocol is extremely important for every microarchitect.

Valid/ready is one of the main protocols used to organise flow-control inside a logic block as well as on inter-block (SoC) level.

In the last lesson, we explored FIFO buffer using hdlgadgets - human-in-the-loop HDL training tool.

This time we will take two FIFO buffers (which form a pipeline with valid/ready handshakes) and will experiment with it by changing flow-control logic of the pipeline.

We will show that valid/ready is not only a mechanism for transferring data from one FIFO queue to another, but also a method for organizing various kinds of logical functionality between queues.

If you have not worked with valid/ready protocol before, you will be surprised how easy it is to achieve desired functionality of the design by simply writing couple of lines of Verilog code in the handshaking logic block between two FIFOs.

Read further and watch the video
Total votes 6: ↑6 and ↓0+6
Comments0

Game economy design of Premium games through the example of a 4X strategy on PC

Level of difficultyMedium
Reading time9 min
Views1.1K

How to design an economy for your game? The answer to this question might require a series of lectures or articles. The fundamental difference in the approach is based, first of all, on monetization model: F2P or B2P. The second thing that defines the approach to developing an economy system is game genre. This article reviews the case of designing the game economy for a B2P (premium) game, which doesn’t involve earning on microtransactions.

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

Building an IT website, aimed at America and the West

Reading time3 min
Views897

My last article stirred up some definite comments and even questions about different things in business. I’m going to keep giving you as much information as I can so that you can continue to do business as IT professionals outside of Russia with other countries. 

How do you design a website that will be viewed in the west and appreciated by the people there?

What are the most important elements

for, America and other western markets?

Read more
Total votes 1: ↑1 and ↓0+1
Comments8

Marketing your Mindset

Reading time2 min
Views600

Information shared below is exactly how I work with my IT professionals who are going to be participating in pre-sales to America. I tell them exactly this, and it helps prepare them to successfully sell the the United States companies.

As developers and IT companies, we must sell our software.

What can give you an edge in this very competitive market place?

Please, if you would allow me to let me explain why this is important and how this can make your company more successful. There’s a certain type of thinking that is conducive to working as a software developer. This is a very practical mindset, but it goes beyond that. If you have the mindset of direct thinking.

Here are examples:

I see the target a target and I don’t see obstacles

Вижу цель, не вижу препятствий

This is an example of the practical mindset, how is approaches the problem of development. It makes people who have this mindset, the best developers in the world.

Example of mindset:

Problem……………… find a solution………… No problem.

Notice how this looks exactly like a line of code?

This is well-known around the world in places where you would like to sell your software, the United States, Germany, Belgium, and the Middle East.

Countries where people have this mindset have the best developers.

now let’s talk about your competition:

Americans: during the center process, “find a solution” Americans are overly concerned about responsibility. This slows them down in the decision making process.

Read more
Total votes 1: ↑0 and ↓1-1
Comments2

PostgreSQL 17: Part 2 or Commitfest 2023-09

Reading time11 min
Views1.1K


We continue to follow the news of the PostgreSQL 17 development. Let's find out what the September commitfest brings to the table.


If you missed our July commitfest review, you can check it out here: 2023-07.


Removed the parameter old_snapshot_threshold
New parameter event_triggers
New functions to_bin and to_oct
New system view pg_wait_events
EXPLAIN: a JIT compilation time counter for tuple deforming
Planner: better estimate of the initial cost of the WindowAgg node
pg_constraint: NOT NULL constraints
Normalization of CALL, DEALLOCATE and two-phase commit control commands
unaccent: the target rule expressions now support values in quotation marks
COPY FROM: FORCE_NOT_NULL * and FORCE_NULL *
Audit of connections without authentication
pg_stat_subscription: new column worker_type
The behaviour of pg_promote in case of unsuccessful switchover to a replica
Choosing the disk synchronization method in server utilities
pg_restore: optimization of parallel recovery of a large number of tables
pg_basebackup and pg_receivewal with the parameter dbname
Parameter names for a number of built-in functions
psql: \watch min_rows

Read more →
Total votes 3: ↑3 and ↓0+3
Comments2

How to Use Throw and Throws in Java

Level of difficultyEasy
Reading time2 min
Views1.2K

Exception handling in Java is the most effective way to handle runtime errors occurring in the application. This is used to protect the abnormal flow of the execution of the application and continue the application in normal flow. This is the process of handling runtime errors such as ClassNotFoundException, IOException, etc. The throw and throws keywords are used to handle exceptions in Java.
In this topic, we will learn how to use throw and throws keywords in Java with examples.

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

The key to Sales Conversion of an American CEO or CFO

Reading time1 min
Views694

i’m writing this series articles to spearhead the new marketing campaign for into the American market. I will be covering a wide range of topics that will allow us to position the company in the proper way so that is excepted as a provider of High-quality software in America.


The key to converting an American CEO or CFO is the trigger point for the American business culture. The trigger point for America is responsibility.   This means in business you must be responsible. You also look for business partners that are responsible.  


But let’s take this into the newest more powerful view that we need to have now.  

The scene from the point of you of the CFO sitting at the head of the financial controls of a large hospital conglomerate. Put yourself in the mind of the CFO. What are they concerned about?  


As an American CFO they will be very concerned about whether they are being responsible in their job and responsible to the hospital, staff, shareholders, patients and the management above them. 


And this is how we get our foot in the door in this American niche market. If we present ourselves as offering something that “May” give an answer to specific problems that they know that they have, they must give us a chance to present a Presale. The reason is because they are responsible, and if there is a solution as an American Director you must explore that solution.


It would be irresponsible to not explore a potential solution.



Then it’s a simple case to actually give value in the presale meeting and convince them that we can deliver some thing that will benefit their business and profits.

Read more
Total votes 6: ↑0 and ↓6-6
Comments2

Spring Boot Mapping

Level of difficultyEasy
Reading time1 min
Views1.8K

The platform is designed for those who want to enhance their knowledge with simplicity. Programming tutorials and examples written in simple, understandable language for beginners and experienced. Spring Java tutorials provides well contents to learn java, spring framework and also the architecture of spring technology for professionals.

Read more
Rating0
Comments0

Top 10 Best Free Partition Manager Software for Windows PC/Laptop

Level of difficultyMedium
Reading time12 min
Views9K

If you are searching for free partition manager software for your Windows PC, then Download the Top and best Partition Manager Software on Windows PC/Laptop.

It is a software program that lets us create, delete, shrink, expand, split, or merge partitions on our hard drives or other storage devices. Without extra software, a hard drive will be partitioned into Windows. But we can’t resize or combine them without any extra help.

The important aspect of owning a PC is to manage your hard-drive partitions very effectively. Based on categories, it divides data to allow people. For example, you can keep your multimedia files, work folders, and your programs in different partitions and install them on your system drive.

If you use your PC to double or triple-boot into various operating systems as a power user. Your SSD or HDD must be divided into smaller partitions; otherwise, it is impossible.

In 2020, in managing software partitions effectively. We help you with Windows and Linux by compiling a list of the best free partition software. So let’s read more to get the free partition manager Windows 10/8/7.

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

List in Java | Interface, Methods, Example

Level of difficultyEasy
Reading time4 min
Views1.1K

In this topic, we will learn about what is a List in Java. How to create a List in Java? What are the methods of List in Java? The List is an interface in Java. It is extending the Collection interface in Java. This List interface is present in the java.util package in Java. A list represents a group of individual objects as a single entity where duplicates are allowed and insertion order is preserved.

Read more
Rating0
Comments1

Anonymous identification for groups

Level of difficultyHard
Reading time13 min
Views578

The identification protocol based on the pairing function, resistant to impersonation and compatible with the instant digital signature (IDS) mode, was studied in this article. This protocol uses prover's and verifier's public keys. As a result, there is no anonymity, since certificates including personal data of their owners are issued for the mentioned keys. This article contains a description and analysis of new anonymous identification protocols for groups.

Read more
Rating0
Comments0

UX Designer Job Interview: 10 questions to answer, 5 questions to ask

Level of difficultyEasy
Reading time6 min
Views664

No matter how many degrees you have or how high your experience level is, your recruiters need to evaluate your knowledge of UX design as a whole. But keep in mind that a job interview is not an exam, so here you are expected not to recite the textbook definitions learned by heart, but rather share your personal understanding of UX and your role as a designer in general. Consider talking about how you define UX, what creates value in the design, what are the necessary parts of a UX design process, what are the current trends in UX. You might also be asked to explain the difference between UI and UX to see how you understand the role of each in the development process.

Read more
Rating0
Comments0

React — Higher Order Components (HOC)

Level of difficultyMedium
Reading time5 min
Views2.3K

In the ever-evolving realm of web development, mastering advanced concepts is essential for creating robust and flexible applications. In this article, we'll delve into one of these foundational React concepts: Higher-Order Components, commonly known as HOCs. 

Whether you're a seasoned developer seeking advanced techniques or a curious beginner eager to learn, we'll walk through the creation and application of HOCs step by step. Get ready to enrich your development toolkit with this powerful approach while discovering how to enhance the readability, reusability, and maintainability of your code.

Learn it
Rating0
Comments0

High-performance network library using C++20 coroutines

Level of difficultyMedium
Reading time17 min
Views17K

Asynchronous programming is commonly employed for efficient implementation of network interactions in C++. The essence of this approach lies in the fact that the results of socket read/write functions are not immediately available but become accessible after some time. This approach allows for loading the processor with useful work during the wait for data. Various implementations of this approach exist, such as callbacks, actors, future/promise, coroutines. In C++, these implementations are available as libraries from third-party developers or can be implemented independently.

Coroutines are the most challenging to implement as they require writing platform-dependent code. However, the recent version of the C++ 20 language standard introduces support for coroutines at the compiler and standard library levels. Coroutines are functions that can suspend their execution, preserving their state, and later return to that state to resume the function's work. The compiler automatically creates a checkpoint with the coroutine's state.

For a comprehensive understanding of C++ 20 coroutines, refer to this article. Below, we examine a code example using coroutines and describe important points applied during implementation.

Read more
Total votes 5: ↑3 and ↓2+2
Comments14

How sqlalchemy uses greenlet to call an async Python function from a normal function

Reading time5 min
Views2.1K

The Python language has two kind of functions — normal functions that you would use in most cases, and async functions. The latter functions are used when performing network IO in an asynchronous manner. The problem with this division is that async functions can only be called from other async functions. Normal functions, on the other hand, can be called from any functions — however, if you call a normal function that does a blocking operation from an async function, it will block the whole event loop and all your coroutines. These limitations usually mean that when writing an using Python`s asyncio, you can`t use any of the IO libraries that you use when writing a synchronous application, and vice versa, unless a library supports usage both in sync and async applications.

Now, the question is, in case you are developing a large and complex library, that, say, allows users to interact with relational databases, abstracting away (some of) the differences between the SQL syntax and other aspects of these databases, and abstracting away the differences between the drivers for that database, how do you support both sync and async usage of your library without duplicating the code of your library? The way sqlalchemy is organized is that regardless of what database and driver for it you are using, you will be calling functions and methods related to Engine, Connection, etc classes, which will do some general work independent of database, then apply the logic specific to your database and finally, call the functions of your database driver to actually communicate with the database. If you are using Python`s asyncio, the database driver will expose async functions and methods, but the rest of the library that is driver‑independent would ideally remain the same. However, the issue is that that you can`t call the async functions of the driver from the normal functions of the core of the library.

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