This is the first post in a series on Business Process Management (BPM). Having worked as a business analyst and product manager in various companies ranging from middle-sized startups to big corporations, I have observed differences in approaches to business process management - from almost complete disregard to excessive attention. So, I decided to share my views on the topic, why I think BPM is important, especially when a company grows fast and switches from the startup stage to a grown company, and what approach I think might work for a company of average size without involving too much time and resources.
Q1 2023 DDoS Attacks and BGP Incidents
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w780/getpro/habr/upload_files/ddc/a47/644/ddca47644be98925df43979afd2e37ba.jpeg)
Let's take a deeper look at the Q1 2023 DDoS attacks mitigation statistics and observations from Qrator Labs' perspective.
On the difference between regular functions and Lambdas
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w1560/getpro/habr/upload_files/5c3/bd4/d38/5c3bd4d38ca82e4c52b323552672e41d.png)
The point of this article is to explore Lambda functions, their dirrerences from regular functions and how they are implemented, based on C++, Python and Java programming languages.
Throughout this article I will be using godbolt.org to compile code and see machine code or byte code.
An introduction to the world of AI for designers
Every day a new neural network appears and every day more opportunities are opened to designers to simplify their workflow. Someone fundamentally refuses to use them, because “there is no life in machinex and technologies”, and someone is only happy to find a way to reduce the amount of work. Personally, I belong to the second type and want to share the most detailed gait on neurons I have acquired lately.
Networking for Programmers: How to Build Connections and Get Hired
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w1560/getpro/habr/upload_files/5cc/d63/cc0/5ccd63cc0ea8e9ccf4f39b99ebf5bfe0.png)
As a programmer, building connections with industry professionals can help you in advancing your career. Whether you're looking for a new job or want to connect with industry professionals, networking can help you achieve your goals. In this article, we'll examine the importance of networking for programmers and share practical tips and techniques for making strong connections in the programming community.
From attending industry events to exploiting social media for developing soft skills and building a personal brand, we'll cover everything you need to know to network effectively as a programmer. So, whether you're just starting your career or looking to take it to the next level, read on to learn how to build connections and get hired through effective networking.
Google SSO for Kibana straightforward way on basic license
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w1560/getpro/habr/upload_files/206/32d/680/20632d680589ec4be13e7e55ac9469f5.png)
As many times before, I keep writing cheat sheets after the tasks which made me search a lot and glue things together before I found a solution. Long story short, this time I was asked to set up Google SSO for Kibana without switching from a basic license to a paid one. Kibana, by the moment, already had authentication set up and the customer wanted to log in there with the use of Google Workspace user accounts. Along with that, the customer wanted to keep user account which was already there, in Kibana. There was no need for role mapping or other advanced features, just plain SSO and that's all. As you probably know Elastic provides SSO feature only on paid license, so I have had no other way to get it working except for using 3rd party software. But first things first, let's list the steps we should go over:
Automation in mobile QA testing
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w780/getpro/habr/upload_files/34d/046/ec8/34d046ec89bc771703e629fd8451cc6e.jpg)
It takes a lot of time and effort to develop a game. Finding and fixing errors before the release is one of the most crucial stages of the whole process, and the bigger your project is, the more people are usually involved in testing. Even the most uncomplicated games require a proper and thorough examination by QAs. The processes are automated to provide high-level project maintenance by increasing testing speed and reducing the influence of the human factor.
Automated testing is done with the help of specific programs, like Selenoid and Appium (although such frameworks are rarely used in games).
However, the chances of successful automation depend primarily on the genre. Plus, it doesn’t cover all stages. For example, while the analytical issues can be automated, the visual aspect and gameplay are still tested manually (or are they really? We’ll get back to this later). We differentiate the two most popular types of auto testing:
Compiling fast .exe console applications with PHP 8.1, why not?
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w780/webt/2v/ou/15/2vou15gglgraxd4cgz1ofhnele8.jpeg)
With each release, PHP is getting faster, and when JIT (Just-In-Time) compilation is enabled, it reaches almost the same C marks.
Many people at one time probably had a desire to easily write console and window applications. The guys of Runet sometimes wrote irreplaceable applications for solving small tasks and shared them on forums, although some of them contained small bugs.
However, times are changing, and people have begun to realize their mistakes, switching, say, to OOP.
To be nostalgic and demonstrate the new Frankenstein, we will build a full-fledged console exe application in PHP.
Langton's ant: a mystery cellular automaton
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w1560/getpro/habr/upload_files/659/0e6/b84/6590e6b841769eb2e96ebc7e324c8ed1.png)
The life of Langton's Ant seems sad and lonely, but, as we'll soon discover, he is not ready to put up with such an outrageous situation and is trying his best to escape. American scientist Christopher Langton invented his ant back in 1986. Since then, no one has been able to explain the strange behavior of this mysterious model...
Array of weak in Swift
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w1560/getpro/habr/upload_files/6d3/1ec/096/6d31ec096097298bbd54cad2985f1cd0.png)
In Swift, when working with objects, it’s important to manage memory correctly. One way to do this is by using weak references to avoid retaining objects too long and causing memory leaks. In this article, we will discuss how to create an array of weak references in Swift using a generic wrapper.
GNU radio 802.11 black box optimization
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w1560/getpro/habr/upload_files/31a/930/bb1/31a930bb11eba4edc7e0ea8672138ddf.png)
In this post I'll share my experience in adjustment of WiFi physical channel. The channel was implemented on a software defined radio (SDR) platform. WiFi looks like a very complicated thing standardized over hundreds of pages. Could a non-expert with a PC and a couple of 100$ devices (HackRFs) somehow improve it? Here I try to develop a WiFi optimization approach basically agnostic of protocol implementation details. There's some math and Python programming in it.
Not 'Doom' ported
Cruel time. Nothing I can do.
I needed positive emotions. Distract myself, do some useless work.
Coding a game might help.
About «free» #iam, #oidc, #saml, #etc
There is a task to develop a solution that allows:
- Access control to web applications via #oidc/#saml
- Access control to vanilla #Kubernetes
- SSH access control to bare-metal hosts - using SSH certificate technology if possible
- Authorizing users to other server applications such as #Vault, #PostgreSQL, #Kafka, #ClickHouse, #MongoDB
- Being able to connect users from third-party organizations to certain resources based on group membership, etc
- Ensuring that everything described above works, including the bare metal environment
The Collatz conjecture is the greatest math trick of all time
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w1560/getpro/habr/upload_files/1c5/f75/4c4/1c5f754c4d19bb2ea0abe27cf9b97f83.png)
On the Internet and in non-fiction literature you can often find various mathematical tricks. The Collatz conjecture leaves all such tricks behind. At first glance, it may seem like some kind of a trick with a catch. However, there is no catch. You think of a number and repeat one of two arithmetic operations for it several times. Surprisingly, the result of these actions will always be the same. Or, may be not always?
Tutorial. Onchain Analysis basics
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w1560/getpro/habr/upload_files/f9a/5f9/357/f9a5f935761d2fee252b44e84fc73f3c.png)
Last week, I introduced you to the world of onchain analysis and explored some of the ways it can be used to gain insights into the cryptocurrency market.
Today, we're taking things up a notch with a tutorial that will guide you through running your own onchain analysis. By the end of this tutorial, you'll have the skills and knowledge you need to start analyzing blockchain data and making informed decisions about your cryptocurrency investments. So let's dive right in and see what insights we can uncover!
This tutorial is built around the Bitcoin blockchain, but many of the techniques are applicable to any other blockchains as long as they have wallets, balances, and transactions.
Cross-Platform System Programming Guide for UNIX & Windows: Level 1
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w1560/getpro/habr/upload_files/d4b/58e/1b8/d4b58e1b8e208ecf2915b386287a2178.png)
In this tutorial we'll learn how to write cross-platform code in C using the system functions on popular OS (Windows, Linux/Android, macOS & FreeBSD): file management functions and file I/O, console I/O, pipes (unnamed), execution of the new processes. We're going to write our own small helper functions on top of low-level userspace system API and use them so that our main code can run on any OS without modifications. This tutorial is Level 1, the easiest. I split the difficult stuff into parts so the code samples here shouldn't be overwhelming for those who has just started to program in C. We'll discuss the differences between the system API and how to create a cross-platform programming interface that hides all those differences from the user.
Journey to find a headset with a good side talk cancellation mic for calls in an open office
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w1560/getpro/habr/upload_files/b13/b7e/6b4/b13b7e6b49244aefd74afea317065e01.png)
TL;DR: All AI-based noise cancellations suck, only the physical cancellation technique works! And physical cancellation is implemented well only in Jabra devices yet, but other features suck them! All Bluetooth headsets suck too! So, no solution yet, just complaints!
The environment: I work in a pretty talky office room, where sit around 10 people, and all of them have many online conferences every day, including me. So, silence in the room is a rare situation.
The problem: The main problem is that most of the microphones pick up all side talk pretty loud, which makes it very unpleasant for other people to listen to my voice in meetings!
Onchain Analysis in Simple Terms
![](https://webcf.waybackmachine.org/web/20230429193600im_/https://habrastorage.org/r/w1560/getpro/habr/upload_files/d98/af0/e5e/d98af0e5e76dcf40c48b769e12fc1c89.png)
Hey there, my fellow crypto enthusiast! Are you looking to take your trading game to the next level and gain a deeper understanding of the market trends and behavior? If so, then onchain analytics is the perfect tool for you.