Pull to refresh

How to become an author

Open Source Java library with stacktrace filtering, Silent String parsing and Version comparison

Reading time 9 min
Over some time in different jobs, I came across a need for several utilities that I couldn't find available at the time. And I saw that I needed them several times over and over again. So I wrote my own small library that I found very useful. So I just published it as an open-source java library.

Here is the Github link

Javadoc online is available here

Also, this library is available on Maven Central. Here are the Maven artifacts (the version 1.5.1.2 is the latest at the time of writing of this article but might change in the future. To check for the latest version search for artifact «MgntUtils» at http://search.maven.org/):

<dependency>
     <groupId>com.github.michaelgantman</groupId>
     <artifactId>MgntUtils</artifactId>
     <version>1.5.1.2</version>
</dependency>

 <dependency>
     <groupId>com.github.michaelgantman</groupId>
     <artifactId>MgntUtils</artifactId>
     <version>1.5.1.2</version>
     <classifier>javadoc</classifier>
</dependency>

<dependency>
     <groupId>com.github.michaelgantman</groupId>
     <artifactId>MgntUtils</artifactId>
     <version>1.5.1.2</version>
     <classifier>sources</classifier>
</dependency>

Below is just a short explanation of what is there. The library comes with a nicely written (I hope) JavaDoc with a detailed description. So here is the list of features:
Read more →
Total votes 6: ↑6 and ↓0 +6
Comments 0

Quick reference of C++ value categories: Part 1

Reading time 13 min

image

The goal of this quick reference is to collect in one place and organize information about value categories in C++, assignment, parameter passing and returning from functions. I tried to make this quick reference convenient to quickly compare and select one of solutions possible, this is why I made several tables here.


For introduction to the topic, please use the following links:


C++ rvalue references and move semantics for beginners
Rvalues redefined
C++ moves for people who don’t know or care what rvalues are
Scott Meyers. Effective Modern C++. 2015
Understanding Move Semantics and Perfect Forwarding: Part 1
Understanding Move Semantics and Perfect Forwarding: Part 2
Understanding Move Semantics and Perfect Forwarding: Part 3
Do we need move and copy assignment

Read more →
Total votes 14: ↑12 and ↓2 +10
Comments 0

The Future of Artificial Intelligence in the Education System: Everything One Should Know

Reading time 4 min
image


Artificial Intelligence refers to the theory of computer systems or human-made robots programmed with performing tasks as humans, such as learning, generalization, and reasoning. With this ability, AI has become a significant part of human lives. Similarly, AI and the education & tutoring web solutions are inseparable from being observed by the astounding inventions enabling machines to mimic human roles.
Read more →
Rating 0
Comments 0

Use AI in marketing: Let’s get into the customers' mind

Reading time 4 min
“Instead of using technology to automate processes, think about using technology to enhance human interaction.” ~ Tony Zambito, Lead authority in Buyer Personas.

Do you know ~ according to research, 93% of customers make purchase decisions based on visual appearance. Visual elements of your brand are the key deciding factors for a majority of potential customers.

Your logo, website colors, chatbot texts, etc all have an impact on the psychology of people who come across them. Some colors or features attract them and some make them leave your website instantly.

In this era, interactive features with the help of technologies like Artificial intelligence are enhancing such effects. AI has the power to add interactive elements to your presentation. This creates a connection between your company and its customers.
Read more →
Total votes 4: ↑3 and ↓1 +2
Comments 0

Install Powershell Module from Github Repository

Reading time 2 min
Hi there!

The latest years Powershell started expansion to other platforms and now works on Windows, Linux, and MacOS (I even managed to start it on raspberry Pi Debian distro).

And nowadays the main way for installing modules is PowerShell Gallery but in some situations, it still convenient to install modules directly from the source (the main reason — the main PowerShell modules repo configured to MyGet or NugetServer).

And it can be painful to install Module from GitHub — you should download archive, find modules folder extract archive content and then copy module folder to the Powershell Profile directory.

Moreover — people like me don't want to create a separate repository for each module (yes, I like the Release-Flow approach) so download and extract only the modules you are like -it even more difficult.
Read more →
Total votes 11: ↑11 and ↓0 +11
Comments 0

How to Choose the Right 3D Printing Filament?

Reading time 4 min
image

Are you ready to get started with 3D printing but just aren’t sure about what filament you’re using? You’re definitely not alone because with the multitude of different filaments out there it can really get complicated. You find yourself overwhelmed while you’re trying to research because it seems like everyone has a different idea of what the best option is and it can easily seem like you’re being pulled in different directions. So, let’s take a closer look at how you can make the right decision.
Read more →
Total votes 13: ↑10 and ↓3 +7
Comments 1

How to Implement Tinder Swipe Cards in SwiftUI

Reading time 7 min
In June, we heard about SwiftUI for the first time — a totally new way of creating and working with UI elements in iOS and macOS (also iPadOS) apps. It felt like Christmas in the summer. It's new, it's declarative, it's sexy! And now, just a few weeks after iOS 13 has been released, we can start to use SwiftUI in all our projects. Let's learn how to use this amazing tool that Apple gave us, to create the classic Tinder-esque Swipe Cards.

In this article, I would like to show you how to achieve a Tinder-like card view and behavior (swipe to action), with just a few lines of code.

To achieve this, we need to do the following things, in order:

  • Create UserView
  • Create NavigationView
  • Create BottomBarView
  • Create SwipeView
  • Put all this together inside ContentView

So let's get started.
Read more →
Total votes 7: ↑6 and ↓1 +5
Comments 0

AHURATUS Smart Home Voice Assistant

Reading time 7 min

N|Solid


N|Solid


AHURATUS Smart Home Voice Assistant


Developed by Ehsan Shaghaei
Innopolis University
AHURATUS Scientific Club.

STM32F103ZET6 UNIVERSAL BOARD


Introduction


AHURATUS Smart Home Voice Assistant is an IOT device developed in order to control other home devices by voice detection. Note: This device is made ONLY for academic purposes.


Approach


Description


"AHURATUS Smart Home Voice Assistant" uses an ARM Cortex-M3 process for running the instructions as well as several peripheral devices in order to decrease the complexity of data bus and RF-Circuit calculations.


Bill of Materials


# Component Name Role Technical Document links
1 STM32F103ZET6 Process and Control Datasheet
2 HC-05 Bluetooth Module Bluetooth Radio Connection Datasheet
3 220-5V AC-DC Adapter Powering the circuit Datasheet
4 LED or Mosfets or Relays To System Output Datasheet
Read more →
Total votes 14: ↑14 and ↓0 +14
Comments 1

How did the test task become a production library

Reading time 5 min
Hello everyone!

Today I'm going to tell about how is test task to job interview became the library Image Comparison. It's an open-source library, which is hosting on GitHub.

logo

Before I start, let me introduce myself. My name is Roman. I'm a husband and father. I'm a software engineer in Epam Systems with 4 years of experience in IT.

The main idea of this topic is to tell, that creating an open-source product it's not wasting time, no! It's an amazing experience, which is going from all the open-source community. It's a time when you're a developer, project manager, product manager in one head.

While this library is growing I have been working with people from more than 10(!!) countries, such as the USA, Germany, Chine, India, Russia, Ukraine, etc.

Let's move on from the start of this story…
Read more →
Total votes 5: ↑5 and ↓0 +5
Comments 0

Vue.js Is Good, But Is It Better Than Angular or React?

Reading time 3 min
Vue.js is a JavaScript library for building web interfaces. Combining with some other tools It also becomes a “framework”. Now, from our last blog, you already know that Vue.js is one of the top JavaScript frameworks and it is replacing Angular and React in many cases. This brings in the topic of this blog ‘Vue.js is good, but is it better than Angular or React?


In case you’ve never heard or used Vue.js before, you are probably thinking: Come on! yet another JavaScript framework! We get it. However, Vue.js is not new in the custom software development domain. It was first released in 2013 and now it has 130549 stars on Github and downloaded a number of times this year.
Total votes 22: ↑19 and ↓3 +16
Comments 6

Python vs JavaScript: Which One Can Benefit You The Most?

Reading time 10 min


The web development arena is moving at a fast pace and has reached an advanced stage today. Python and Javascript making some significant contributions for almost three decades. Now, being a developer or a business if you are planning to pick one of these, then it’s going to be tough just because both are too good to avoid. Hence, this brings up the topic ‘Python vs JavaScript: Which One Can Benefit You The Most?’

These two languages are supported by various trending web frameworks and libraries which are the real game-changers. The introduction of these frameworks and libraries to the web ecosystem has brought new paradigms, traditional notions, and standards of software development.
Read more →
Total votes 12: ↑10 and ↓2 +8
Comments 3

How to Write a Smart Contract with Python on Ontology? Part 1: the Blockchain & Block API

Reading time 5 min
image

This is an official tutorial published earlier on Ontology Medium blog
Excited to publish it for Habr readers. Feel free to ask any related questions and suggest a better format for tutorial materials

Foreword


In this article, we will begin to introduce the smart contract API of Ontology. The Ontology’s smart contract API is divided into 7 modules:


In this article, we will introduce the Blockchain & Block API, which is the most basic part of the Ontology smart contract system. The Blockchain API supports basic blockchain query operations, such as obtaining the current block height, whereas the Block API supports basic block query operations, such as querying the number of transactions for a given block.

Let’s get started!

First, create a new contract in SmartX and then follow the instructions below.

1. How to Use Blockchain API


References to smart contract functions are identical to Python’s references. Developers can introduce the appropriate functions as needed. For example, the following statement introduces GetHeight, the function to get the current block height, and GetHeader, the function to get the block header.
Read more →
Total votes 20: ↑18 and ↓2 +16
Comments 0

Learn Bootstrap Fast With These 10 Helpful Tips

Reading time 5 min
If you want to start your career in web development then learning Bootstrap is the way to go. Bootstrap is basically a framework used for front-end development of web apps. Its front-end component library is widely used to create interactive and responsive web apps and websites that we are used to today.

If you don’t already know, you must be wondering what responsive websites are? In simple terms, the responsiveness of a website means that when the size of the screen on which the website is being seen changes, the layout of the website responds to that and change. This makes the websites look good no matter what screen size it is being viewed on.

How does Bootstrap work?


There are two ways you can use Bootstrap. You can either import the Bootstrap into your code or you can download a sample Bootstrap project and build your website on that.

Bootstrap uses a 12-column model for website display, which is called a Bootstrap grid. On this grid, you can define different breakpoints to layout different components like headings, paragraphs, and buttons to make your website look visually appealing. When the screen size scales down, the components on the grid change layout to fit the smaller screen. This means that viewing the same website looks great on a normal size screen of your laptop and a smaller screen of your smartphone.

Bootstrap has become one of the most popular front-end development frameworks today. If you are a beginner who wants to start learning Bootstrap then you are on the right blog. Because here are the top 10 tips to learn and master Bootstrap!
Read more →
Total votes 18: ↑16 and ↓2 +14
Comments 0

Suspending over blocking

Reading time 9 min

This article aims to show how to use Kotlin Coroutines and remove Reaxtive eXtensions (Rx).


Benefits


To start let's consider four benefits of Coroutines over Rx:


Suspending over Blocking


To run non-blocking code using Rx you'd write something like this:


Observable.interval(1, TimeUnit.SECONDS)
    .subscribe {
        textView.text = "$it seconds have passed"
    }

Which is effectively creating a new thread. Threads are heavy objects in terms of memory and performance.


Both are critical in the mobile development world.


You can achieve the same behavior using the following snippet:


launch {
    var i = 0
    while (true){
        textView.text = "${it++} seconds have passed"
        delay(1000)
    }
}

Essentially, Coroutines are light-weight threads but we don't create any real thread.
Here we are using non-blocking delay() function, which is a special suspending function that does not block a thread but suspends the Coroutine.

Read more →
Total votes 7: ↑6 and ↓1 +5
Comments 3

Vue.js Best Practices For Web Development

Reading time 5 min

I am a full-stack developer at Syncrasy Tech (IT solutions company). I love writing React codes. But why I am telling you this as we are here to discuss the Vue.js best practices for web development. I am telling you this so that you can understand my background and why I’m discussing here the Vue.js.


I love working on React codes, but I hate reading them. This is the reason where I fail to code. Even with the best code review practices, I can’t figure out the nesting of React components that simply helps to create more complex UI structures in web apps.


The solution to this problem is Vue that is now not so new in the block of web app development. I have heard a lot about Vue async components, server-side rendering, tools, and libraries. Perhaps you find this myriad of terms to be confusing. Believe me, you’re not alone in that, many developers of all levels feel the same way when they don’t know the Vue best practices.


A few days later, I finally decided to get my codes into it. What I am sharing here are the numerous best practices that I have learned through my experience with Vue. I’m ready to share what I’d find.

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

Tips And Tricks For Conducting A Successful Mobile App A/B Test

Reading time 4 min


As per the latest stats reveal, there are more than 2.7 billion smartphone users globally and over 2.8 million apps on Google Play Store.


Now, it's a fact that the number of mobile users is increasing at outstanding speed, and so is the name of apps on Google Play Store.


But does all the apps success to make a difference? No, but just a handful of having stood out and gain popularity.


For instance, there are several games on the Play Store, but why only Candy Crush, Subway Surfers and Angry Birds topped the charts while the other games struggle for even ten downloads.


The trick is to provide the players with what they want, and in turn, the response for such apps is tremendous.


However, at this point, when the competition is very high, it's challenging to come up with something new that can stand out from the crowd.


It's crucial to create a brand name so that people can talk about it.

Read more →
Total votes 9: ↑9 and ↓0 +9
Comments 0

Modern Environment for React Native Applications

Reading time 4 min
In this article, we will consider the process of setting up a React Native environment using expo-cli, Typescript, and Jest.
Typescript will help us avoid development mistakes and write a more efficient mobile application.

Modern tools allow integrating Typescript into the development environment. We can also use VS Code that supports Typescript.

Integration with React Native will give us the opportunity to use the auto-completion service, code navigation, and refactoring.

Expo is a toolkit that simplifies the creation of native React applications. This tutorial will give you an idea of how you can quickly create native React applications using Expo.


Read more →
Total votes 7: ↑6 and ↓1 +5
Comments 0

Winning PHDays 9 The Standoff: The chronicle by the True0xA3 team

Reading time 16 min
This is an English-language summary of two absolutely outstanding articles written by Vitaliy Malkin from «Informzashita» whose team, True0xA3, became the winners of the prestigious black hat competition The Standoff during Positive Hack Days 9 in May of 2019.

Vitaliy has published three detailed articles on Habr, two of which were dedicated to the description of the strategies that True0xA3 team used before and during the competition to secure this team the title of the winners. I felt that the only thing that those two articles were lacking was a summary in English so that a wider audience of readers could enjoy them. So, below is the summary of two articles by Vitaliy Malkin, together with images Vitaliy published to clarify his points. Vitaliy has OKed me doing the translation and publishing it.
Read more →
Total votes 8: ↑8 and ↓0 +8
Comments 0

PHP microservices framework — Swoft 2.0.3 published

Reading time 4 min

image


What is Swoft?


Swoft is a PHP microservices coroutine framework based on the Swoole extension. Like Go, Swoft has a built-in coroutine web server and a common coroutine client and is resident in memory, independent of traditional PHP-FPM. There are similar Go language operations, similar to the Spring Cloud framework flexible annotations, powerful global dependency injection container, comprehensive service governance, flexible and powerful AOP, standard PSR specification implementation and so on.


Through three years of accumulation and direction exploration, Swoft has made Swoft the Spring Cloud in the PHP world, which is the best choice for PHP's high-performance framework and microservices management.


Elegant service governance


Swoft officially recommends that developers use service mesh patterns, such as the Istio/Envoy framework, to separate business and service governance, but Swoft also provides a set of microservices components for small and medium-sized businesses to quickly build microservices.

Read more →
Total votes 20: ↑18 and ↓2 +16
Comments 0

Microservices architecture & implementation Step-by-Step Part 1

Reading time 2 min
Hi All,

I’m in the process of implementing a new simple microservices-based project as an example of a step-by-step guide for those who had a hard time with a microservices architecture and are still looking for “another” good reference. Also, I would really appreciate thought through feedback and proposal to make this project a high-quality chunk of work.

There are tons of articles and source code examples. But, unfortunately, I could not find any reference with simple step-by-step instructions, without doing a deep dive into Docker, Event Store, a multitude of configurations, cloud deployment stuff, etc. I cloned several projects and tried to start playing with them, but you know, only God knows how to start them, which dependencies are missing and why all those scripts are failing with thousands of ERRORS.

For example, this eShop project from Microsoft contains all we need, but it is not so simple to figure out what is going on there, SQL database connection strings, Docker scripts fail, no How-Tos and I’m not sure it is super-simple architecture you need to start with.

image
Read more →
Total votes 17: ↑14 and ↓3 +11
Comments 0