Pull to refresh

All streams

Show first
Period
Level of difficulty

Wi-Fi internet radio from a router with station switching capability

Level of difficultyMedium
Reading time8 min
Views1.4K
Wi-Fi интернет-радиоприёмник.
ChatGPT was not used in writing this article.
The animated image uses the webp file format instead of gif.
In this article, you will find a complete description of how to make a Wi-Fi internet radio receiver from a router that can play mp3 streams from internet radio stations.
It is also possible to switch between two internet radio stations. We will use OpenWRT firmware installed on the router to create a Wi-Fi internet radio. It is possible to complete this project without using a soldering iron. All the components can be placed inside the router to create a finished device — a Wi-Fi internet radio.
To make this, you will need:
Read more →
Total votes 4: ↑4 and ↓0+4
Comments1

Redefining the VOD OTT Experience in 2023: A Glimpse into the Future of Digital Entertainment

Reading time3 min
Views472

In the rapidly evolving landscape of digital entertainment, the year 2023 has witnessed a profound transformation in Video On Demand (VOD) Over-The-Top (OTT) platforms. These platforms have redefined how audiences access and consume content, introducing cutting-edge technologies and innovative features that have revolutionized the entertainment industry.

Embracing Augmented Reality (AR) and Virtual Reality (VR)

In 2023, VOD OTT platforms have embraced AR and VR technologies to provide viewers with immersive and interactive experiences. Users can now step into virtual worlds, interact with characters, and actively participate in the content they are watching, transcending the boundaries of traditional passive viewing.

Imagine exploring an ancient civilization through the eyes of a protagonist, feeling the thrill of an adrenaline-pumping car chase, or even interacting with virtual avatars of celebrities and influencers. The integration of AR and VR into VOD OTT platforms has ushered in a new era of interactive and experiential entertainment.

Personalization: The Heart of the VOD Experience

Powered by advanced artificial intelligence (AI), VOD OTT platforms have taken personalization to new heights. By analyzing user behavior, preferences, and viewing habits, these platforms deliver tailor-made content recommendations, ensuring that viewers find exactly what they love without extensive searching.

This level of personalization ensures that users are presented with content that resonates with their tastes, creating a seamless and enjoyable content discovery experience. By removing the need for extensive searching, VOD OTT platforms have become the go-to destination for viewers seeking highly relevant and engaging content.

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

Review of mini-book «60 terrible tips for a C++ developer»

Level of difficultyEasy
Reading time6 min
Views1.2K

I wrote a small e-book about terrible tips for C++ developers. Actually, it describes bad programming practices and explains why it's better to avoid them. However, every chapter of this mini-book starts with a terrible tip — just for fun.


60 terrible tips for a C++ developer


By the way, these tips may seem artificial but believe me, they are based on the real experience. In other words, the described terrible tips occur in developers' lives — that's why it's worth discussing them. First of all, this book will be useful for junior developers. But more skilled C++ developers can also find interesting and useful tips.


Even though it's a mini-book, it clearly does not fit into the Habr format. Too many words. So, I decided to write here the review. Here is the link to find the full version of the mini-book: 60 terrible tips for a C++ developer.


If you still hesitate whether to read it or not, below you will find a list of terrible tips that will be discussed in the mini-book.


View the terrible tips:

Read more →
Total votes 10: ↑7 and ↓3+4
Comments3

Validation WebHook troubleshooting, how low can you go?

Level of difficultyMedium
Reading time11 min
Views1.3K

I'm Alex Movergan, DevOps team lead at Altenar. I focus on automation in general and on improving troubleshooting skills within my team. In this article, I'll share a captivating tale that revolves around Kubernetes, validation webhooks, kubespray, and Calico.

Join me on this DevOps journey as we explore real-world scenarios unraveling the intricacies of troubleshooting in a Kubernetes environment.

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

Push notifications. How to write push notifications that won't piss you off

Level of difficultyEasy
Reading time11 min
Views1.2K

Push notifications are similar to promoters. You're peacefully walking down the street, and suddenly promoters approach you, urging you to take their flyers. You take them, but you don't read them and throw them into the nearest trash can.

The same goes for push notifications. You're reading an article, and suddenly a notification pops up with a promo code for free delivery of products. Then another one arrives, informing you about a giveaway. And then another one, offering a discount on all fruits. Notifications can appear on your screen at any time. If there are too many of them, your reaction is either to ignore them or disable them.

In this article, we will talk about how to write push notifications that people will click on and show you how to build a push notification strategy. At the end, we will provide a template for a push notification strategy.

Push Notifications - What is it?

A push notification is a pop-up message on a smartphone screen. To send one, you need to use a delivery service. You can send a notification instantly, schedule it for a specific time, or set up a trigger-based delivery - a chain of notifications that will be triggered by specific user actions.

Triggered push notifications are sent after a specific action is taken. For example, if a person starts adding items to their cart but doesn't complete the purchase, you can send them a notification urging them to complete the transaction after a certain period of time.

Notifications are sent to users who fall into specific segments for targeting. Segments are formed based on specific events. For example, the event "6 hours ago, a product was added to the cart but no purchase was made" will divide users into two segments: those who made a purchase and those who didn't.

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

VERBAL CALCULATION (VC) IN EVIDENCE-BASED DSS AND NLP

Level of difficultyMedium
Reading time14 min
Views101

S.B. Pshenichnikov

The article outlines a new mathematical apparatus for verbal calculations in NLP (natural language processing). Words are embedded not in a real vector space, but in an algebra of extremely sparse matrix units. Calculations become evidence-based and transparent. The example shows forks in calculations that go unnoticed when using traditional approaches, and the result may be unexpected.

 

The use of IT in Natural Language Processing (NLP) requires standardization of texts, for example, tokenization or lemmatization.

After this, you can try to use mathematics, since it is the highest form of standardization and turns the objects under study into ideal ones, for example, data tables into matrices of elements. Only in the language of matrices can one search for general patterns in data (numbers and texts).

If text is turned into numbers, then in NLP these are first natural numbers for numbering words, which are then embedded into real vectors is irreversible ed in a real vector space.

Perhaps we should not rush to do this but come up with a new type of numbers that is more suitable for NLP than numbers for studying physical phenomena. These are matrix hyperbinary numbers. Hyperbinary numbers are one of the types of hypercomplex numbers.

Hyperbinary numbers have their  own  arithmetic,  and  if  you get used to  it,  it  will  seem  more  familiar  and  simpler  than  Pythagorean arithmetic.

In Decision Support Systems (DSS), the texts are value judgments and a numbered verbal rating scale. Next (as in NLP), the numbers are turned into vectors of real numbers and used as sets of weighted arithmetic average coefficients.

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

Possible solution to the problem of references in programming languages

Level of difficultyMedium
Reading time4 min
Views305


Every programmer is familiar with the concept of "reference." This term usually refers to a small object whose main task is to provide access to another object physically located elsewhere. Because of this, references are convenient to use, they are easily copied, and they make it very easy to access the object to which the reference points, allowing access to the same data from different parts of the program.


Unfortunately, manual memory management, or more precisely, manual memory control, is the most common cause of various errors and vulnerabilities in software. All attempts at automatic memory management through various managers are hampered by the need to control the creation and deletion of objects, as well as periodically run garbage collection, which negatively affects application performance.


However, references in one form or another are supported in all programming languages, although the term often implies not completely equivalent terms. For example, the word "reference" can be understood as a reference as an address in memory (as in C++) and a reference as a pointer to an object (as in Python or Java).


Although there are programming languages that try to solve these problems through the concept of "ownership" (Rust, Argentum, or NewLang). The possible solution to these and other existing problems with references will be discussed further.

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

Enabling Cross-Process Dialogue with C# Sockets

Level of difficultyMedium
Reading time4 min
Views278

In the ever-evolving landscape of software development, communication between processes has been a fundamental requirement since the inception of computer networking. As technology advanced, the need for efficient and reliable inter-process communication (IPC) mechanisms became increasingly crucial. One such mechanism that has stood the test of time is the socket.
Sockets trace their origins back to the early days of computer networking in the 1970s. The concept was first introduced in the Unix operating system by researchers at the University of California, Berkeley, as part of their work on the ARPANET project, which eventually evolved into the modern internet. Sockets were designed to provide a standardized interface for network communication, allowing processes to exchange data across different machines and networks.
Initially, sockets were primarily used for network programming tasks, such as building client-server applications and facilitating communication between distributed systems. However, their versatility soon became apparent, and sockets found their way into various domains, including inter-process communication (IPC) within a single machine.
Over the years, sockets have undergone numerous enhancements and standardizations, with the Berkeley Software Distribution (BSD) sockets becoming the de facto standard for network programming. This standard was later adopted by other operating systems, including Microsoft Windows, ensuring cross-platform compatibility and enabling widespread adoption.
In the world of software development, communication between processes is a common requirement, whether it’s a client-server architecture, distributed systems, or inter-process communication (IPC). Sockets provide a powerful mechanism for processes to exchange data efficiently and reliably. This article explores a simple implementation of a TCP client-server communication using sockets in C#, showcasing the versatility and robustness of this time-tested technology.

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

Unlocking Selenium Testing for Flutter's Web Apps

Level of difficultyMedium
Reading time3 min
Views240

Navigating the intricacies of UI testing in the world of Flutter web applications can be a daunting task. If you've ever found yourself scratching your head, wondering how to apply your Selenium expertise to a Flutter-rendered interface, this article is for you. We're going to explore a method that bridges the gap between Flutter's unique rendering process and the robust testing capabilities of Selenium. Whether you're a seasoned tester or just starting out, the insights shared here will equip you with the knowledge to streamline your testing process and enhance the quality of your Flutter web apps. So, grab a cup of coffee, settle in, and let's unravel the mysteries of UI testing for Flutter web applications together.

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

Copy Trading: A Viable Earning Strategy or Just Another Broker Scam?

Reading time11 min
Views446

Hello everyone!

A year ago, I became curious about whether it was possible to earn money in crypto by copying the trades of other traders. Instead of investing money right away, I decided to thoroughly explore this by writing a parser that monitored about 2,000 portfolios in real-time over the course of a year.

Initially, I parsed the Traderwagon site, which unfortunately shut down. I then switched to Binance's copy trading, which was just starting out at the time.

The number of portfolios available for investment on Binance is continually growing; currently, there are over 10,000. My script only parsed a portion of these to maintain about 2,000 consistent portfolios. This was necessary to track changes in traders' positions at least every 20 minutes with the server resources I had allocated for the project.

There are several peculiarities in how my parser operates. For example, when a trader hides their positions, my script also closes them since it can't monitor hidden trades. When a trader significantly adjusts their position, such as a complete turnaround, the script exits the trade. I chose to save time on developing a more complex follow-algorithm and planned to refine it later if the testing stage proved successful. I also limited the time a trader could stay in a deal to a few days and forcibly closed positions if this period was exceeded. I observed that staying in a trade longer slightly increased the average profit/loss, whereas reducing the time allowed for reinvesting the same funds into a greater number of traders and their deals.

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

The new code as the side effect

Level of difficultyMedium
Reading time4 min
Views879

The new code as the side effect

If we use the reducer function for form data handling It has an infinite list of returned values, which expands when the next development iteration updates the interface defining the form and implements a new field. So the reducer pattern is procedure code, not a functional

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

Unveiling the Technological Odyssey: Evolution of Weather Forecasting

Level of difficultyEasy
Reading time3 min
Views136

Weather forecasting has come a long way from the days of observing the sky and relying on folklore to predict upcoming conditions. Advancements in technology have revolutionized how we perceive, understand, and forecast weather patterns. From the early barometers to modern satellites and supercomputers, each innovation has significantly enhanced our ability to predict weather accurately. Let's take a journey through the evolution of weather forecasting technology and explore how it has transformed over the years.

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

Symphony of Clouds: Interpreting Nature's Weather Signals

Level of difficultyEasy
Reading time3 min
Views144

In the vast expanse of the sky, clouds weave an intricate tapestry that holds invaluable insights into the workings of our atmosphere. Far from being mere adornments adrift on the winds, clouds are dynamic entities that serve as indispensable harbingers of weather patterns. Their varied forms and movements offer a window into the ever-changing conditions of our atmosphere, allowing meteorologists to unravel the mysteries of weather forecasting with increasing precision.

Clouds, in their multitude of shapes and sizes, provide vital clues about atmospheric conditions, from temperature and humidity to air pressure and wind patterns. By understanding the different types of clouds and their characteristics, meteorologists can decipher the language of the skies, predicting everything from clear skies to impending storms.

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

Exploring Oslo A Fusion of Culture, Innovation, Nature, and Weather

Level of difficultyEasy
Reading time3 min
Views270

Nestled amongst the serene fjords and picturesque landscapes of Norway, Oslo stands as a testament to the harmonious blend of modernity and tradition. This vibrant capital city, with its rich history dating back over a thousand years, offers visitors an unparalleled experience that seamlessly integrates culture, innovation, and the breathtaking beauty of nature, all under the ever-changing skies of its varied weather.

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

Best hosting for applications on Python, Java, Node. js, Go, Dotnet, PHP and Ruby

Level of difficultyEasy
Reading time2 min
Views763

The following types of hosting and clouds can be distinguished for application deployment:

- VPS

- Serverless

- GitOps application engines

In this article we will not consider VPS hosting, since there are many detailed materials about this.

Let's look at application engines and serverless.

There are a number of clouds that allow you to deploy an application simply by pushing it to a dedicated Git repository.

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

The results of 7 Verilog meetups + the goals and the steps going forward

Reading time5 min
Views668

Since the New Year we had 7 Verilog meetups at HackerDojo. We discussed the modern way of designing digital circuits using hardware description languages, the exercises on FPGA boards and the topic of microarchitecture. For the last two sessions we went over the most basic CPU core that can be used as a baseline for further exercises.

Now, in order to make progress toward the goal of creating new educational materials, it is essential for the regular participants to solve all the homework exercises (see the details in the post below) in parallel with studying the recommended materials.

The next steps are:

1) We are going to do weekly Zoom calls on Sundays, starting March 24, 2024 at 11 am California time (summer time). The link. During this call we are going to discuss the SystemVerilog Homework and the individual projects.

2) Once we develop more materials, we are going to organize a Show-and-Tell session in Hacker Dojo, for a wider audience. During the session several participants from the core team will present demos on various FPGA boards and explain to the curious how FPGA and ASIC work.

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

Chasing a dream: How to become Adventure Builder and make giant spider robot with your own hands

Level of difficultyEasy
Reading time12 min
Views308

Have you ever wondered how difficult it is to turn something you have in mind into a real product? For example, would you be surprised to see someone controlling a huge iron robot spider that can turn on the spot and walk obediently to his pilot's directions?

To realize his idea, this persistent designer overcame many obstacles: he invented the mechanism himself, mastered the skills of aluminum welding, laser cutting, 3D printing, created a reduced prototype and built one. His project stands out even among the most interesting self-made devices you've read about.

Please sit back and relax while reading this rather lengthy article. During the scrolling through, you will learn about some remarkable inventor and his resourcefulness, irrepressible life energy and practical advice to help you realize your dreams, and someone, perhaps, will be pushed to tell about his own project.

Become the adventure builder
Total votes 3: ↑3 and ↓0+3
Comments0

Decoding the Science Behind Weather Prediction

Reading time3 min
Views292

Weather, a perennial topic of conversation, influences our daily lives in myriad ways. From planning outdoor activities to safeguarding against natural disasters, understanding weather patterns is crucial. But have you ever wondered how meteorologists predict the weather with such accuracy? Let's delve into the fascinating world of weather prediction and uncover the science behind it.

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