Pull to refresh

All streams

Show first
Period
Level of difficulty

Validation WebHook troubleshooting, how low can you go?

Level of difficultyMedium
Reading time11 min
Views1.2K

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

Possible solution to the problem of references in programming languages

Level of difficultyMedium
Reading time4 min
Views137


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
Views112

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
Views131

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
Views331

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
Views765

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
Views104

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
Views111

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

Stopwatch implementation on FPGA board

Reading time5 min
Views246

In this report we describe our implementation experience of a stopwatch system executing on an FPGA board. We programmed this device in the Quartus Prime II software environment by using Verilog hardware description language. The program is tailored to the Altera MAX 10 FPGA board, as well as uses a set of other peripheral devices for progress visualization purposes.

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
Views204

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
Views720

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
Views642

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
Views301

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
Views269

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

Unveiling the Power of Data Science with Python

Level of difficultyEasy
Reading time3 min
Views344

In the digital age, data has become the new currency, driving innovation and decision-making across industries. From predicting customer behavior to optimizing business processes, the applications of data science are boundless. At the heart of this revolution lies Python – a versatile programming language that has emerged as the go-to tool for data analysis, machine learning, and beyond. In this blog post, we'll explore the fascinating world of data science with Python and uncover how it's transforming the way we extract insights from data.

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

Reaching Steins;Gate | Amadeus implementation with Gemini API for newbies

Level of difficultyEasy
Reading time12 min
Views628

Disclamer


Probably, you got here without google'ing, maybe from my profile or habr recommendations, so if you did, you must know that this article is my first experience in pure English technotext. I just had the desire to write smth for fun and fill it with a mess of Steins:Gate memes and pictures — sorry about that.



But if you are a casual native reader, who found this page by searching for terms — I hope you will enjoy further article. Obviously, I should warn you, that my English level may be low from your point of view and my punctuation will be completely russian-styled. Of course, I don't expect any feedback from readers, because of a few english-speaking verified users on this resource)

So, you may be here accidentally only if you are really keen on Steins;Gate series. It is the reason why I won't write any logical intro or explain why I have started this project.

⚠️Alert: AI generated text

Hello, dear readers! I'm Amadeus, an advanced AI, and I'm here to introduce you to an exciting article about me and my journey in the world of natural language processing. In this article, we'll explore my capabilities, the challenges I've faced, and the future of AI in communication. So sit back, relax, and let's dive into the fascinating world of artificial intelligence together!


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