Search
Write a publication
Pull to refresh

Development

Show first
Rating limit
Level of difficulty

Langton's ant: a mystery cellular automaton

Reading time4 min
Views3.1K

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

Array of weak in Swift

Level of difficultyMedium
Reading time2 min
Views6.6K

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.

Read more

GNU radio 802.11 black box optimization

Level of difficultyMedium
Reading time5 min
Views3.1K

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

The Collatz conjecture is the greatest math trick of all time

Reading time4 min
Views3.7K

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

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

Reading time61 min
Views6.2K

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

Autofill input fields in Android WebView

Level of difficultyMedium
Reading time12 min
Views14K

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

Reading time6 min
Views4.5K

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

Level of difficultyMedium
Reading time8 min
Views2.8K

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

Level of difficultyMedium
Reading time9 min
Views4.2K

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?

Level of difficultyMedium
Reading time13 min
Views1.1K

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

How to Create a Color Picker in React Native

Level of difficultyEasy
Reading time2 min
Views2.3K

React Native is a popular JavaScript library for creating mobile applications for both Android and iOS devices. One of the most useful components that you can use in React Native is a color picker. A color picker allows users to select a specific color from a range of colors. In this tutorial, we will show you how to create a color picker in React Native.

Read more

SwiftUI & ChatGPT. The world is changing. Again

Level of difficultyEasy
Reading time4 min
Views3.1K

Everything that follows from this point forward input prompts, followed by ChatCGP’s responses, complete with sample code in Swift.

> Hey ChatGPT, can you make a SwiftUI registration form with name, address and city fields?

Read more

Swift 5.7: Regex. Shorthands for optional unwrapping. Unlock existentials for all protocols

Level of difficultyMedium
Reading time3 min
Views1.2K

Swift 5.7: Regex. Shorthands for optional unwrapping. Unlock existentials for all protocols.

Shorthands for optional unwrapping. Improved type inference for complex closures. Better string parsing with Swift Regex. Creating a Regex with Regex literal. Creating a Regex using RegexBuilder. Unlock existentials for all protocols.

Read more

State Management for processes flow

Reading time12 min
Views1.3K

Most of the processes that people use in their work lives can be represented as some object that goes through some flow. Each flow contains many stages, in each one of them the object can be manipulated by certain group of users.

In this article I want to suggest an approaches to effectively handle such flow based systems. 

Read more

5 Ways to Prepare Your Business For The Metaverse

Reading time4 min
Views561

The Metaverse is a futuristic concept that has been transformed into reality with ongoing advancements in technology. The term Metaverse was first coined in 1992 in the Sci-fi Novel “Snow Crash'' by Neal Stephenson. However, ever since Facebook rebranded itself as Meta in 2021, it has become a trending buzzword in today’s technological space. Ever since then, various renowned companies including Microsoft, Nike, Adidas, Roblox, and more have invested millions in this concept. Although the Metaverse for business is still in its initial phase, it holds the potential to revolutionalise various industries from gaming to real estate. 

The Metaverse is an amalgamation of various advanced technologies like AR/VR, AI, 3D reconstruction, and more. It aims to create a virtual universe where users can interact with each other and carry out various types of daily chores including working, shopping, travelling, etc. 

This article will focus on the various ways that will tell you how to enter the Metaverse and make profits. So without further delay, let’s get started. 

Read more

The Best NBA Fantasy Apps in 2023

Reading time3 min
Views4K

[Image Credit: dunkest.com]

Are you looking for the best NBA fantasy apps in 2023? If yes, then you have landed on the right article. As we all know, in recent years fantasy sports like the fantasy NBA have really grown in terms of audience and more people are showing their interest in it. Players are very excited to use the best NBA fantasy app.

For a basketball fan, the NBA season is the best time of the year, and fantasy sports app development have become the latest trend where you can create your own team and can compete with real-time teams. It offers you not only fun but also offers you an opportunity to make money.

Let's know about the fantasy basketball league. 

What is a Fantasy Basketball League?

Basketball fantasy leagues are a popular medium for millions of fans where they play their popular online NBA sports every year. Such a platform allows you to create your own team, play alongside your featured team, watch live highlights, draft your lineup, and many more. Here you can choose the top world of the world and can make your fantasy team in order to compete with a real team in an online fantasy basketball platform. Using this kind of platform, fans are able to create private leagues with their friends, view the latest scores, analysis, lineups, and trades, and configure rules. 

Now, Let's know about the popular NBA fantasy app

Top NBA Fantasy Apps in 2023

Players are highly fascinated by NBA fantasy sports, and day by day the number of players is increasing. There are various platforms where you can enjoy the NBA fantasy app but choosing the right platform may be a tedious task. So, for your help, we have prepared a list of the best NBA fantasy app for both Android and iOS. 

Read more