Pull to refresh

All streams

Show first
Period
Level of difficulty

Bootstrapping Azerbaijan as a new center of ASIC design + Verilog Meetup #6 in Silicon Valley

Reading time11 min
Views2K

Last week I was doing a seminar on SystemVerilog, ASIC and FPGA at ADA University in Baku, Azerbaijan. I will replicate the last two sessions of this seminar, on RISC-V CPU simulation and synthesis, at the Verilog Meetups on March 3 and March 10 at Hacker Dojo, Mountain View, California. For this reason I am combining the information about Azerbaijan and California seminars in a single post.

First, let's talk about ADA University.

Read more

New plasma rocket engine: A promising experiment harnessing a hybrid of chemical and ion technology

Level of difficultyHard
Reading time37 min
Views2.2K

 Gleb Kulev, Candidate of Technical Sciences

The rapid exploration of outer space has faced a problem related to the insufficient efficiency of modern rocket engines. As a solution to this problem, the concept of a jet engine based on new operating principles is proposed, using a combination of known physical laws and having advantages over known types of jet engines.The article presents the results of testing three modifications of jet engines based on new operating principles and their analysis. The article discusses the physical principles of operation of a jet engine based on new principles, its advantages and problems arising during its creation.

Read more

Toward the January meetup on portable SystemVerilog examples in Silicon Valley

Reading time4 min
Views1.2K

The team developing a set of portable SystemVerilog examples decided to organize the first event in Silicon Valley on Sunday, January 14 from 2PM till 5PM at Hacker Dojo in Mountain View, CA. If the first event is successful we are going to make it recurrent. You can register for the event on Meetup or LinkedIn.

The current directions of the group:

Read more

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

Level of difficultyMedium
Reading time1 min
Views1.8K

Ссылка на русскую версию / 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

«Promising Public Transportation for Large and Medium-Sized Cities» — the main idea in a brief summary

Level of difficultyEasy
Reading time9 min
Views1.6K

(source)

Translation provided by ChatGPT, link to the original article.

I recently published a series of articles titled 'As Cheap as a Bus, as Convenient as a Taxi...':

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

dedicated to making public transportation in large cities completely seamless, without the need for transfers. In the last article of the series, I extensively described a microbus movement scheme that allows them to operate almost like taxis while accommodating 5-10 passengers at once. Such a transportation system would enable city residents to travel from any intersection to another without any transfers, comparable in time to a personal car journey, and at a cost similar to a regular city bus ticket. However, the feedback from readers indicated that I chose an extremely ineffective way to convey the information, resulting in a failure to effectively communicate the essence of the matter.

I must admit that the previous three articles were written in a way that allowed readers to apply the acquired knowledge in practice or continue the research I started on their own. Unfortunately, my desire to 'teach' resulted in nearly 100 pages of complex mathematical text, which is clearly excessive for readers who simply wanted to familiarize themselves with the idea. Here, I will attempt to rectify this mistake and briefly, yet simply, explain the bus taxi technology.
Read more →

Monitoring CPU/RAM/disk metrics with OpenTelemetry and Uptrace

Level of difficultyEasy
Reading time4 min
Views12K

OpenTeleletry Collector is an open source data collection pipeline that allows you to monitor CPU, RAM, disk, network metrics, and many more.

Collector itself does not include built-in storage or analysis capabilities, but you can export the data to Uptrace and ClickHouse, using them as a replacement for Grafana and Prometheus.

When compared to Prometheus, ClickHouse can offer small on-disk data size and better query performance when analyzing millions of timeseries.

Read more

Proof's by induction using Rust's type-system

Reading time5 min
Views2.2K

Rust's type system is quite powerful as it allows to encode complex relationships between user-defined types using recursive rules that are automatically applied by the compiler. Idea behind this post is to use some of those rules to encode properties of our domain. Here we take a look at Peano axioms defined for natural numbers and try to derive some of them using traits, trait bounds and recursive impl blocks. We want to make the compiler work for us by verifying facts about our domain, so that we could invoke the compiler to check whether a particular statement holds or not. Our end goal is to encode natural numbers as types and their relationships as traits such that only valid relationships would compile. (e.g. in case we define types for 1 and 3 and relationship of less than, 1 < 3 should compile but 3 < 1 shouldn't, that all would be encoded using Rust's language syntax of course)

Let's define some natural numbers on the type level first.

Read more

I trained a neural network on my drawings and give the model for free (and teach you to create your own)

Reading time2 min
Views3.5K

Great for seamless patterns, abstract drawings, and watercolor-styled images. How to use it and train a neural network on your own pictures?

Download the model here: https://huggingface.co/netsvetaev/netsvetaev-free

I wanna know!

Designing Converting Landing Pages

Reading time6 min
Views4K

It feels like everything about LPs has already been said, however, I still keep seeing the same mistakes being made over and over again both by start-ups and established companies. Here are some tips, backed up by my 10-year experience as a UX/UI Director in agencies and product-led companies. These alone will give a nice increase in your conversion rate, I guarantee. 

Use a descriptive, not a salesy hero header 

Answer the questions “What?” and “For whom?” as early on the page as possible. A very common pattern is the largest copy being an inspirational abstract slogan and below it in smaller font the actual statement about what the product is and what it does. 

Get More Tips

Machining centers and CNC machines to improve quality of diesel engines

Reading time2 min
Views341

Once again, we are going to talk not about familiar desktop CNC machines such as the Flux BeamBox 40W but about large industrial equipment.

The Kolomna Locomotive Works of Transmashholding put into operation a line for the manufacture of diesel engine fuel equipment. The machining centers and CNC machines of the new line will increase the production of parts by 40% and improve the quality of products. Precision fuel equipment is the most complex component of a diesel engine, which directly affects fuel consumption, environmental friendliness, and performance of the machine, as well as its service life.

The new equipment will increase processing accuracy and speed, reduce the number of finishing operations, and increase labor productivity. The production line consists of 24 units of high-precision equipment: machining centers and versatile CNC machines. The costs amounted to 2 billion rubles (about $26,280,000).

The program for the production modernization and the introduction of new equipment was developed by the engine-building center of Transmashholding.

The total volume of the investment program for 2018–2022 is about 12 billion rubles (~$157,720,000). Its implementation should ensure an increase in the quality of existing products, a decrease in production costs, and the creation of new competitive products.

Dmitry Mirny, CEO of the Kolomna Locomotive Works, stated, “We have purchased modern high-tech equipment that will allow the factory to accelerate the process of production modernization, increase production volumes, and speed up diesel engine repairs.”

Read more

Structured Logging and Interpolated Strings in C# 10

Level of difficultyMedium
Reading time10 min
Views47K

Structured logging is gaining more and more popularity in the developers' community. In this article I'd like to demonstrate how we can use structured logging with the Microsoft.Extensions.Logging package and show the idea how we can extend it using the new features of C# 10.

Read more

Grinding in video games and real life

Reading time9 min
Views4.1K

Grind is a process of slowly getting valuable resources (be it experience points or loot) by repetitive and often simple tasks in video games. It has been present from the beginning of gaming but has become more widespread with the popularization of online RPG games because of their leveling systems and competitive elements. 

It is highly criticized by gamers around the world for making games boring and work-like, yet many people specifically choose to play grind-heavy games. The reason might be because they find simple repetitive tasks relaxing and distracting from real-life problems, as a form of escapism.

However, there is also a gameplay reason for grinding: getting valuable resources early can make a game easier later. Some popular games like Diablo are even centered around grind. Thus, everyone will have to grind at some point to prevent gameplay from getting too difficult, which quickly becomes an inescapable habit. Later, gamers might apply grinding even to games that do not require it. Interestingly enough, grinding early on can also make the late-game boring because it is going to be too easy if the game was not designed for grinding. For example, in Subnautica, getting a lot of resources early on will make some of the late-game tools useless because all the resources that could have been gained with them have already been gained.

From the example above, we can see that grind does not always improve the gameplay. We can also see that it is not always a necessary process and can be either minimized or avoided entirely: sometimes, the need for it exists only in our mind, forcing us to diminish the fun of actually playing the game. Is it just a question of habit or is there any other reason for us to grind?

Читать далее

Active Termination Drivers

Reading time9 min
Views4K


The easiest way to build a driver with specified output impedance is to use an amplifier with high load compatibility and add a resistor to its output. The penalty is a voltage drop across this resistor, so there is power loss and we need a higher supply voltage. If our driver is able to deliver the same voltage and current to the same load, but the extra resistor will have a lower value, our device will be able to deliver the same output power at a lower supply voltage. Less power losses, less heat, and longer working time when a battery is used.
There is an idea how to solve this problem: active termination. We can synthesize the output impedance!

Now when we know what we want, go to design our drivers!
Read more →

Why Should You Analyze Your Competitors When Planning an SEO Campaign?

Reading time5 min
Views1.3K


Before offering any options of cooperation to our new client, we conducted a free preliminary analysis of competitors' strategies, as well as a review of search demand. We managed to surprise the client already at this stage.

Real Competitors’ Websites Analysis Case

Read more →