• Compiling fast .exe console applications with PHP 8.1, why not?

    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.

    Read more
  • Langton's ant: a mystery cellular automaton

    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...

    Read more
  • GNU radio 802.11 black box optimization

    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.

    Read more
  • About «free» #iam, #oidc, #saml, #etc

    • Review

    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

    Read more
  • The Collatz conjecture is the greatest math trick of all time

    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?

    Read more
  • Tutorial. Onchain Analysis basics

    • Tutorial

    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.

    Read more
  • Cross-Platform System Programming Guide for UNIX & Windows: Level 1

    • Tutorial

    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.

    Read more
  • Journey to find a headset with a good side talk cancellation mic for calls in an open office

    • Review

    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!

    Read more
  • What is Information Technologies? Hard to gets in? Choosing a direction/profession and your first programming language

    People-professionals are working in IT, not robots

    In fact the average competition for one workplace in IT is about 500 people – the market lacks specialists! You can find and read more. It's not hard to find on the internet

    Need specialists who know their business!
    For this reason, I wrote about how to become one and what you should pay attention to at the beginning of your journey. Even have my presentation with IT-directions! Also I understand something in Game Development..

    Flew!🐌

    Would you like to know more?
  • Autofill input fields in Android WebView

    In this article, we will learn about autofill methods for input fields/forms in WebView used inside of an android app. I’d like to stress that the main topic is the autofill in WebView, because, when filling standard EditText views in the app - no issues arise. But when we display content owned by other parties, we can’t fill the form with our data in a simple way.

    Read more
  • Writing The Matrix in Python: easy guide

    Programming textbooks usually do not indulge us with variety of examples. In most manuals, exercises are similar to each other and not particularly interesting: create another address book, draw a circle using turtle, develop a website for a store selling some kind of "necessary" advertising nonsense. Too far from the authentic imitation of "The Matrix". Although…

    How about taking over the control and starting to invent exercises yourself?

    Would you like to write your own personal little "Matrix"? Of course, not the one with skyscrapers, stylish phones of the time, and the ubiquitous invincible Agent Smiths. We will need a couple of more months of learning for that. But any beginner programmer can write a model of the cult splash screensaver with the green streams of digits flowing down the screen. Let's try to creat it in the "great and mighty" Python.

    Read more
  • DSL (domain-specific language) implementation with macros

    • Opinion

    image
    This is a translation of my own article


    The release of NewLang language with a brand new "feature" is coming, a remodeled version of the preprocessor that allows you to extend the language syntax to create different DSL dialects using macros.


    What is it about?


    DSL (Subject Oriented Language) is a programming language specialized for a specific application area. It is believed that the use of DSL significantly increases the level of abstractness of the code, and this allows to develop more quickly and efficiently and greatly simplifies the solution of many problems.

    Conditionally, we can distinguish two approaches to DSL implementation:


    • Development of independent syntax translators using lexer and parser generators to define the grammar of the target language through BNF (Backus–Naur form) and regular expressions (Lex, Yacc, ANTLR, etc.) and then compiling the resulting grammar into machine code.
    • Development or integration of the DSL dialect into a general-purpose language (metalanguage), including the use of various libraries or special parsers / preprocessors.

    We will talk about the second option, namely the implementation of DSL on the basis of general-purpose languages (metalanguages) and the new implementation of macros in NewLang as the basis for DSL development.

    Read more →
  • Use of Python to write plugins for GIMP

    GIMP (GNU Image Manipulation Program) is a free and open-source image editing software that provides users with a wide range of tools for editing and manipulating digital images. Python is a high-level programming language that is often used for scripting and automation tasks. The combination of GIMP and Python provides a powerful platform for users to create custom image editing plugins that can automate repetitive tasks, extend the functionality of GIMP, and customize the software to suit their specific needs.

    Python provides a flexible and easy-to-learn language for writing GIMP plugins. GIMP provides an API (Application Programming Interface) that allows Python scripts to interact with the image editing program Python plugins for GIMP can be used for a wide range of tasks, including automating repetitive tasks, enhancing the functionality of GIMP, and customizing the software to suit specific needs. Some examples of tasks that can be automated using Python plugins include batch processing of images, resizing and cropping of images, and converting file formats.

    Plugins can also add new features to GIMP, such as custom brushes, filters, and effects. Additionally, plugins can be used to create custom user interfaces that enable users to interact with GIMP in new and unique ways.

    Read more
  • Will transport planners lose their jobs as AI becomes smarter?

    • Opinion

    As a Product Manager who has worked on the development of delivery route optimisation software for 10+ years, I see that modern technologies can significantly improve the optimisation process and deliver better solutions. AI, machine learning, and other modern technologies have the potential to revolutionise the way delivery routes are optimised in the future.

    With the increasing availability of data and the advancement of AI and machine learning algorithms, it is becoming possible to develop more sophisticated prediction models that can be integrated into optimisation algorithms to make more accurate and informed decisions about route planning and scheduling. Machine learning algorithms can be trained to predict customer demand based on historical sales data and other market trends, allowing businesses to optimise their delivery schedules and routes accordingly. AI can also be used to optimise delivery schedules based on customer preferences and other relevant factors.

    Blockchain technology could be used to create a secure, decentralised database of information about deliveries, including information about the products being shipped, the route they are taking, and the status of the delivery. This could help increase transparency and accountability in the delivery process as well as reduce the risk of fraud and theft.

    Internet of Things (IoT) devices, such as sensors and GPS trackers, may collect real-time data about delivery vehicles and their surroundings. This data could be analysed and used to optimise delivery routes in real time, as well as to track the location of deliveries and monitor the condition of the products being shipped.

    Read more
  • Listicles — a simple technique for benchmarking your value proposition against alternatives

    I believe listicles have a huge potential for testing demand hypotheses. Have you tried using listicles for your demand validation? If so - let us know in the comments how this worked for you.

    Do you know these "Top N something something" kind of articles? Like:
    - 5 best GPS vehicle trackers
    - The 14 hair growth products that actually work
    - Top 10 Best CRM Software Tools in 2023
    They are often referred to as "listicles" - articles presented in the form of a list.

    I love them - they make picking a new phone, a movie to watch, an app to install much easier. I also use them at work all the time while looking for solutions to everyday challenges.

    So what if we use one of them to benchmark our product against the best available alternatives?

    Read more