• Lisp: Write Programs that Write Programs for You

    Artificial Intelligence is a very big industry today and we hear about it in every product we use. However, to date, AI typically refers to «machine learning» models that use probability theory to determine what to do. For example, if you buy books on mathematics, Amazon may have calculated that your chance of buying a physics book is 70% and a biology book is 20%. Hence, it will show you physics books in your feed, as it gives them a higher change to making a sale.
    Read more →
  • No-Code MVP — Build Your Idea Without Coding

    Is it possible to be an entrepreneur and NOT know how to code?

    You have a great idea for a product / platform / app / startup that you cannot wait to launch and sell. But before you do that, you’d have to test your idea through the minimum viable version of your product.

    And to build your MVP (minimum viable product), you’d need to code, right? Wrong!

    You don’t need coding chops to build your MVP. And neither do you need to beg engineers to become technical co-founders.

    With a no-code MVP, you can validate your idea sooner and test if it has the potential to succeed. Let’s explore how you can convert your business idea into MVP without writing a single line of code.

    But first, what exactly is an MVP?

    MVP or minimum viable product is the first version of the product for your target audience. It essentially means the most basic version of your product you can get out for the audience.

    The idea here is to focus only on enough features with which you can test your concept’s workability and then work on its continuous development based on user feedback.

    Read more →
  • Why do Design Teams have Trouble with Project Management and how to Solve those Issues?

    From a distance, it seems like the designers of the IT industry have it all. The infinite learning curve, an outlet for innovation, socializing with copywriters, developers and marketers, and always being part of a creative team. It truly is a great time for all designers out there.

    However, the work process can often become mundane and progress becomes hard to track over time. People from different job profiles seem to be speaking a different language than you and things seem harder than ever. Well in this article all your problems will be addressed and I will try to present to you the solutions that are suitable for your design team.
    Read more →
  • Как я написал библиотеку для многопользовательских игр на nodejs

    Всем привет! Меня зовут Дамир. Я хотел бы рассказать о своем опыте использования библиотеки colyseus.io и что побудило меня к созданию своих собственных библиотек. Не так давно я опубликовал mosx и magx на github.

    Все началось с банальной идеи написать свою онлайн игру. Так как игру планировал сделать многопользовательской, то я решил реализовать всю логику на сервере, а на клиент передавать только данные, необходимые для отображения состояния.

    Поэтому мои первые шаги были в написании игровой логики и сервера. В качестве технологического стека я выбрал nodejs + express + socket.io. Достаточно быстро я понял, что вся логика должна строиться от данных (т.е. от состояния игры) и необходим механизм синхронизации этого состояния с клиентами. Тогда я открыл для себя colyseus.io — фреймворк, который как мне казалось, решал мою задачу на 100%. В нем можно было описать состояние игры, и в нем уже реализована синхронизация состояния с клиентами.

    Во время разработки сервера на colyseus я осознал, что реализация меня не очень устраивает:

    1. На тот момент не было лобби комнаты (в текущей версии она появилась), и список доступных комнат приходилось получать, непрерывно опрашивая сервер.
    2. Описывая состояние, можно было указать, какие данные должны синхронизироваться со всеми клиентами, а какие не должны синхронизироваться вообще. При этом не было возможности описать приватные данные, которые должны синхронизироваться только с одним клиентом. Их нужно было передавать сообщением каждому клиенту. В текущей версии появились фильтры, но разработчик не рекомендует ими пользоваться, т.к. они сильно снижают производительность сервера.
    3. Синхронизация не работала с вычисляемыми данными состояния, только со статическими.
    4. Не поддерживалось динамическое изменение схемы состояния — добавление или удаление какого-либо свойства.
    Read more →
  • Javascript Fun: Hacking Google Chrome’s T-rex Game


    All of us like to have an extra edge while playing games (i mean cheat codes :P ). Most games have such codes that allow you to alter the gaming experience while many other games find it illegal to use such hacks.

    But, have you thought about how all this works?

    Let us understand it by actually ‘HACKING’ one of the simplest games out there — the T-rex runner.

    For those who do not know, it is a side scrolling runner game that appears on the ‘No Internet’ screen of Google Chrome.

    This 8-bit-type game features a tiny t-rex which runs through a desert. You have to avoid the t-rex from hitting the obstacles like cacti etc. Believe me, it is simple but addictive.

    We will be using simple Javascript commands to tweak the game for fun!

    Sounds cool? Let's do it.

    1. Getting into the game’s console

    First, disconnect your device from the internet and open Google Chrome. Enter any url and you will see the no internet screen with a t-rex dino.

    If you want to stay online for some reason, simply enter ‘chrome://dino’ in the address bar.

    Now, right click inside the window and click the Inspect option from the menu. Alternatively, you can use the shortcut key combination — Ctrl+Shift+I.

    In the side panel which opens, you will be able to see the source code of the game. Next, click the console tab. This is the place where we will run our simple Javascript code to alter the game.
    Read more →
  • Как добавлять и читать формулы Excel на Java

    В последнее время, чтобы повысить эффективность работы при обработке данных в таблицах Excel, я часто использую для расчетов различные формулы функций Excel. В этой статье я расскажу, как использовать Free Spire.XLS для Java для добавления формул в ячейки Excel и чтения формул в ячейках.

    Конфигурация среды

    Установите пакет jar через репозиторий Maven, и код для настройки файла pom.xml выглядит следующим образом:


    Read more →
  • Making Simple Mouse Clicking Game: HTML5 & JS (Beginners)

    The best of learning something is by implementing it especially when you are a beginner. In this post, I am sharing how I made a simple mouse clicking game using HTML5 and JS. It will help you understand the basic concepts of Javascript such as event handling and counters.

    Before I start anything, let me be very clear about the fact that this post has almost nothing for the people who already know the basics of Javascript. I am writing this out just from the beginner’s point of view.

    So let's get started!

    The Aim

    In a really simple sense, we are going to make a game which counts the number of clicks you do in a set time interval and calculates your clicking speed. We will show the clicking speed and total clicks at the end of the game.

    The UI will be absolutely basic. There are no shimmering graphics; its just one button and the counters.

    Here's the first look.


    The Logic

    As mentioned, we need to count the number of clicks made by the user. So, we will add an Event Listener using Javascript to check if the mouse button is clicked inside the button area.

    And, to save the count, we will use a counter whose value increases on every mouse click event. There will be another counter for time. The default time period will be 10s.

    The final score will be calculated using the total number of clicks divided by the time and we will display it at the end of the game.

    Before we move the actual code, I want to give a small acknowledgement to a tool called Click Test which inspired this simple game I made for learning purpose.

    Creating the Interface

    Let us begin by creating a simple page with a headline, a box for counters and a button inside it for clicking. I have used the basic red color for everything but you are free to show your CSS skills and make it fancier.

    Next, we need to implement the counter for clicks on the button. A simple JS snippet provided does the magic for this.
    Read more →
  • A Comprehensive Overview of Web Scraping Legality: Frequent Issues, Major Laws, Notable Cases

    Table of Contents

    Is It Legal to Scrape a Web Page and Use Its Data?

    1. Types of Data You Are Scraping
    1.1. Public Data
    1.2. Personal Data
    1.3. Copyrighted Data
    2. Frequent Web Scraping Legal Issues
    2.1. Copyright Infringement
    2.2. CFAA Violation
    2.3. Trespass to Site Security
    3. Existing Legislation
    3.1. GDPR
    3.2. US Privacy Act
    3.3. EU versus US Laws Comparison
    4. Precedent Cases
    4.1. eBay v. Bidder’s Edge
    4.2. The FTC v. Facebook
    4.3. hiQ Labs v. LinkedIn

    Closing Thoughts


    Being as old as the internet, web scraping technology is today the backbone of many marketing and lead-generation strategies. But the question of its legality arises more and more often, especially in relation to some high-impact cases.
    Read more →
  • Floating — point issue and one of the solutions in Python

    They say: ‘Brevity is the soul of wit’, so let’s get started.


    When I began to learn Python I came across a very curious subject, namely Real Numbers. It was about the mantissa, the exponent, and other details like the storage of bits in computers.

    It turns out that computers operate integer numbers easily, but real numbers are more complicated.

    Nature of the problem

    Because of the essence of the floating — point numbers their processing has no absolute accuracy. It seemed to me nonsense that computers can’t compute precise values of ordinary two real numbers at least. How’s this possible? Yeah, actually, a computer programme isn’t able to add just two numbers without discrepancy.

    x = 0.1
    y = 0.2
    print(x + y)  # 0.30000000000000004 

    Well, close enough you might say. Who cares about 17th decimal sign. But imagine you need to compute twenty numbers not two as in the example. Think about the error rises exponentially.
    Tell me about libraries like a NumPy. They don’t solve the problem as well.
    Read more →
  • Short History and Evolution of Online Sextortion

    Online frauds are quickly gaining traction among cybercriminals. The primary reason is that manipulating humans is much easier than exploiting software or hardware flaws. Although the success rate of Internet scams is low compared to the efficiency of sure-shot attacks relying on zero-day vulnerabilities, the simplicity of pulling them off is a lure that eclipses all the drawbacks.

    A hoax dubbed sextortion (sex + extortion) is a dynamically growing vector of this abuse. Having debuted in 2018, it acts upon a victim’s natural commitment to avoiding embarrassment.

    This technique mostly involves an email saying that a hacker has infiltrated the recipient’s device and captured a webcam video of the person watching adult videos. The bluffer threatens to upload this footage to a publicly accessible site. To prevent this from happening, the user is instructed to pay a ransom.

    There are several mainstream techniques in sextortion scammers’ portfolios. Whereas they all follow basically the same logic, the themes of these fraudulent messages vary. Here is a summary of all these tricks known to date.
    Read more →
  • Подсчет LT и график Rolling Retention

    Всем привет.

    Мне понадобилось на работе подсчитать LT и построить график Rolling Retention. После небольшого исследования, я поняла, что тема является насущной и неплохо было бы написать обо всех шагах, дабы кому-то это обязательно пригодится.

    В основном, я опиралась на пример от Марии Мансуровой и библиотеку, написанную Darshil Desai и добавила кое-что свое.

    Теория по подсчету LT хорошо написана здесь и здесь.

    Итак, я выбрала следующие пути:

    1. Я взяла когорты пользователей — зарегистрировавшихся с 1 Января по 31 Января 2020, c 1 Февраля по 29 Февраля и т.д. вплоть до Апреля. Посчитала LT в месяцах, предварительно выкинув пользователей 'проживших' один день. То есть внесших депозит и больше не появляющихся в какой-либо день за полгода.
    2. Я брала всех пользователей, даже тех кто прожил 1 день и рассчитывала когорты по неделям среди всех, зарегистрировавшихся с 1 января по 29 февраля 2020 года.

    Я строила Rolling Retention. Его основное отличие от классического Retention в том, что в данном случае, смотрится первая дата активности и последняя, и считается, что пользователь заходил на сайт каждый месяц/неделю/день.

    Итак, 1-ый способ

    Для начала введем код в ячейку в Jupyter Notebook и установим следующую библиотеку:
    Read more →
  • How To Hire Best Mobile App Developers

    Having a brilliant mobile app idea doesn’t mean that you will become successful tomorrow. The major component of its success is in the hands of mobile app developers. So it’s crucial to find a skilled team of engineers who will understand your plan and find the best way to bring it to life. If you are lost in a ton of mobile app development companies, this guide will help you avoid common pitfalls during the process of finding developers.

    Selection Criteria


    Look at the company’s portfolio, it is usually placed on their website. If there is no portfolio, the company is probably not trustworthy. While browsing the portfolio, find out if the company has expertise in technologies and industries similar to those you plan to go with. You are lucky if you also find a step-by-step description of their development process.

    Client reviews

    Analyze clients’ reviews and the company’s reaction to them. Reviews may be found by searching for “company_name reviews” or visiting popular review websites such

    Read more →
  • Top 10 Programming Language You Must Know

    Are you looking for the top programming languages?

    If yes, then your search ends here. If you are aspiring to become a programmer, then you must know some programming languages to stay ahead of the competition.

    Various new programming languages are coming up with each passing year. Every beginner is puzzled up and looking at which programming languages they should learn.

    As the software industry is changing, with every new release, it is a bit difficult to find the best programming language. You have to be careful while selecting programming languages, ​​as this will affect your career and job types.

    So, here I have listed the top 10 Programming Languages you must know for future perspective.

    Read more →
  • Tutorial to create a login system using HTML, PHP, and MySQL

    This is a tutorial for creating a login system with the help of HTML, PHP, and MySQL. Your website needs to be dynamic and your visitors need to have instant access to it. Therefore, they want to log in as many times as possible. The login authentication system is very common for any web application. It allows registered users to access the website and members-only features. It is also helpful when we want to store information for users. It covers everything from shopping sites, educational sites, and membership sites, etc.

    This tutorial is covered in 4 parts.

    Table of Contents

    1. Signup System
    2. Login System
    3. Welcome Page
    4. Logout Script

    1) Building a Signup system

    In this part, We will create a signup system that allows users to create a new account to the system. Our first step is to create a HTML registration form. The form is pretty simple to create. It only asks for a name, email, password, and confirm password. Email addresses will be unique for every user. Multiple accounts for the same email address are not allowed. It will show an error message to the users who try to create multiple accounts with the same email address.

    Read more →
  • Строчки, точки и JavaScript

    На своих проектах мы часто сталкиваемся с простыми, но интересными задачами. Мы их складируем и даем джунам/стажерам для ускорения обучения. Одной из таких задач стала задача с размещением одной или более точек между букв внутри слова всеми возможными способами.

    Например программа на вход получает 'abc'

    > abc
    ['abc', 'a.bc', 'ab.c', 'a.b.c']

    Ее можно решить несколькими способами, но разобрать я хочу 2 из них.

    Вы могли заметить, что размещение точек очень напоминает бинарные числа


    Read more →
  • Python List Comprehension

    In Python, List comprehension is a technique of creating a new list using other iterables and in fewer lines of codes. The iterable object which can be used in this technique can be any data structure like list, tuple, set, string, and dictionary, etc. An iterable created by using range() function can also be used here.

    The syntax used in list comprehension generally contains three segments:

    • iterable: iterable object like list, tuple, set, string, dictionary, etc.
    • transformation function: a transformation function that needs to be applied to the iterable.
    • filters: filters/conditions which are required to apply on iterable.


    #list comprehension syntax
    list = [tranform_func(i) for i in iterable if filters]
    #which is equivalent to...
    for i in iterator:
      if filters:

    Read more →
  • EDI VANs vs. EDI Software

    Throughout the world, companies large and small alike are increasingly adding, expanding, and modernizing their electronic data interchange (EDI) communications. If you need to meet partner EDI mandates or wish to capture the many benefits afforded by EDI connectivity with more of your partners, you can take several approaches to EDI. Two of the most popular include value-added networks (VANs) and direct EDI (typically via AS2).

    If you're new to EDI, you may be wondering what these options entail and which is right for your business. If you've been operating EDI for some time, you may be considering whether now is the time to switch. Let's dive in and explore the advantages and disadvantages of direct EDI with AS2 vs. VANs.

    Read more →
  • Top group chat software for teams working remotely during the Corona Virus Pandemic

    Team chat applications are a vital part of a company. They keep the workers connected and ensure that everyone is on the same page. However, there never been a time when a good team collaboration software was as crucial as now. We are referring to the ongoing COVID-19 pandemic and its resulting reality. The pandemic has impacted many companies and forced the workers to work remotely. Let’s look at the top team collaboration software options that will help your company remain productive during this challenging period.

    Microsoft Teams


    • Good integration with Office 365
    • Thread focused chat model
    • Document collaboration

    Teams by Microsoft is a great team collaboration software available on the market. Its integration with Microsoft services and Office 365 helps your work be available to other people in your team. Moreover, the document collaboration feature facilitates keeping your projects up to date. Its thread focused chat model that helps organize chats within a channel.

    The freemium version of MS Teams offers functionality, such as unlimited messages and audio/video calls for teams up to 300 people. Paid plans start from $5 per user per month and give you scheduled meetings, meeting recordings, phone calls, audio conferencing, and more.



    • Unified AI driven feed
    • Searchable history
    • Multiple conversations per post
    • Audio, Video Calls & Screensharing

    Read more →
  • The chinese cure against spreading of the COVID19 virus

    Chinese medicine against the spread of the virus.

    I've been in a Chinese city since the beginning of this year, and from the standpoint of an eyewitness I can tell you how the evolution is gradually taking place, from «somewhere in a galaxy far away there's another sickness» to «whether there's enough food for everyone». Everybody goes this way with different speed, but there is one point that is not worth reaching — panic mood among those who realized the scale of the problem last of all.


    The Chinese people, based on the experience of the SARS epidemic in 2003, were able to immediately conclude that it is much more correct to put restriction on healthy population than to wait and quarantine sick people. Entire country of one and a half billion people got a sudden vacation extention. This happened in early February, was an unprecedented and very expensive economic decision, but it paid off, there was almost no panic in the people and the growth of the number of people who got sick practically stopped. Healthy people are much easier to manage than the sick, and when you have a billion and a half, it is a matter of life and death.

    For our hundred and fifty million population, the window of opportunity is still open. If number of cases is on thee rise, we must immediately understand that this will not pass by itself, we must fight it, minimizing the number of diseases until a vaccine is available.

    How and when it is time for treatment if you feel that you may have picked up the virus, let the real doctors tell you, and I will tell you in this post a little bit about how to prevent its spread. Based on real events that happened around me lately in Shenzhen, China.

    Read more →