Pull to refresh

Development

Show first
Rating limit
Level of difficulty

Automation in mobile QA testing

Level of difficulty Medium
Reading time 7 min
Views 281
Mobile applications testing *Game testing *
Case

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: 

Read more
Rating 0
Comments 2

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

Reading time 3 min
Views 2.8K
PHP *

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
Total votes 9: ↑8 and ↓1 +7
Comments 3

Langton's ant: a mystery cellular automaton

Reading time 4 min
Views 1.1K
Programming *Algorithms *Mathematics *Reading room Popular science

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
Total votes 8: ↑8 and ↓0 +8
Comments 3

Array of weak in Swift

Level of difficulty Medium
Reading time 2 min
Views 610
Development of mobile applications *Swift *

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
Total votes 1: ↑1 and ↓0 +1
Comments 0

GNU radio 802.11 black box optimization

Level of difficulty Medium
Reading time 5 min
Views 675
Wireless technologies *GitHub *Machine learning *
Sandbox

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
Total votes 5: ↑5 and ↓0 +5
Comments 0

The Collatz conjecture is the greatest math trick of all time

Reading time 4 min
Views 1.3K
Entertaining tasks Python *Mathematics *Popular science

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
Total votes 7: ↑7 and ↓0 +7
Comments 2

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

Reading time 61 min
Views 1.3K
Programming *System Programming *
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
Total votes 1: ↑1 and ↓0 +1
Comments 1

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

Level of difficulty Easy
Reading time 8 min
Views 844
IT Infrastructure *Data visualization *IT Terminology IT career Presentations
Digest
Recovery mode
Translation

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?
Total votes 8: ↑4 and ↓4 0
Comments 0

Autofill input fields in Android WebView

Level of difficulty Medium
Reading time 12 min
Views 633
Development for Android *
Recovery mode
Sandbox

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
Rating 0
Comments 0

Writing The Matrix in Python: easy guide

Reading time 6 min
Views 1.5K
Python *Programming *Studying in IT

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
Total votes 11: ↑10 and ↓1 +9
Comments 0

DSL (domain-specific language) implementation with macros

Level of difficulty Medium
Reading time 8 min
Views 779
Abnormal programming *Programming *Perfect code *Compilers *
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 →
Total votes 2: ↑2 and ↓0 +2
Comments 2

Use of Python to write plugins for GIMP

Level of difficulty Medium
Reading time 9 min
Views 653
Python *
Sandbox

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
Total votes 1: ↑1 and ↓0 +1
Comments 0

Will transport planners lose their jobs as AI becomes smarter?

Level of difficulty Medium
Reading time 11 min
Views 566
Programming *Algorithms *
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
Total votes 1: ↑1 and ↓0 +1
Comments 1

How to Create a Color Picker in React Native

Level of difficulty Easy
Reading time 2 min
Views 613
Development of mobile applications *ReactJS *
Tutorial

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
Total votes 1: ↑1 and ↓0 +1
Comments 1

SwiftUI & ChatGPT. The world is changing. Again

Level of difficulty Easy
Reading time 4 min
Views 2K
Development for iOS *Development of mobile applications *Swift *Prototyping *Artificial Intelligence
Tutorial

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
Total votes 5: ↑4 and ↓1 +3
Comments 1

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

Level of difficulty Medium
Reading time 3 min
Views 551
Development for iOS *Development of mobile applications *Swift *
Sandbox

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
Rating 0
Comments 0

State Management for processes flow

Reading time 12 min
Views 678
Programming *System Analysis and Design *C# *
Sandbox

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
Rating 0
Comments 1