Статья Как собрать простую систему распознавания лиц в режиме реального времени.

01.jpg


Интерес к системам распознавания лиц настолько велик, что принимает масштабы эпидемии планетарного масштаба. Алгоритмы распознавания уже используются не только спецслужбами, но и многими компаниями, которые давно внедрили данную технологию в нашу с вами повседневную жизнь. Сейчас её можно встретить практически везде: в аэропортах и на вокзалах, в банках и торговых центрах, в больницах и школах и даже просто на улицах больших городов.
Китай - мировой лидер по технологиям наблюдения за своими гражданами. К 2020 году там планируется установить 600 миллионов видеокамер. У полицейских есть специальные очки-дисплеи, которые могут выдать информацию о прохожем - достаточно просто на него посмотреть. В апреле 2017 года на востоке Китая задержали находящегося в розыске мужчину. Полиция с помощью видеонаблюдения нашла его на стадионе во время концерта, где было 70 тысяч человек.
Что уж говорить о виртуальном мире социальных сетей, где люди автоматически отмечаются на загруженных фотографиях и мобильных операционных системах, где смартфон узнаёт своего владельца через объектив фронтальной камеры.
В России успешно применяется технология распознавания на базе нейросети, которая позволяет узнать человека по фотографии и идентифицировать его, сравнив изображение с его фотографиями в социальных сетях. В первую очередь, во "ВКонтакте".
Тема эта настолько обширна, что раскрыть её в одной статье при всем желании никак не получится, да и цель у нас другая - так что остановимся на этом и перейдем к практике.

Шаг за шагом вы узнаете, как буквально в домашних условиях собрать простую и недорогую систему распознавания лиц в режиме реального времени. Способ предложил программист из Чили Марсело Ровай.

Для этого нам понадобится следующее оборудование:
Программные компоненты:
  • Python 3

Для распознавания лиц мы будем использовать камеру PiCam и библиотеки Open Source Computer Vision (OpenCV) на Raspberry Pi (Raspbian как ОС) и Python.
OpenCV был разработан для вычислительной эффективности с сильным акцентом на приложениях реального времени. Таким образом, он идеально подходит для распознавания лиц в режиме реального времени с помощью камеры.

Работу разделим на три этапа:

- Обнаружение лица и сбор данных
- Обучение Распознавателя
- Распознавание лица
Приведенная ниже схема иллюстрирует эти этапы:

02.jpg


Установка пакета OpenCV 3

Мы будем использовать Raspberry Pi V3, обновленную до последней версии Raspbian (Stretch).
Пошаговую инструкцию установки OpenCV я подробно описал в предыдущей статье: Установка OpenCV 3 + Python на Raspberry Pi ,
После установки, у вас должна быть готовая виртуальная среда OpenCV.
Давайте перейдем в нашу виртуальную среду и проверим, что OpenCV 3 установлен правильно.
Рекомендуется запускать команду «source» каждый раз, когда вы открываете новый терминал, чтобы убедиться, что системные переменные установлены правильно.

source ~/.profile

Далее давайте войдем в нашу виртуальную среду:

workon cv

Если вы видите текст (cv), предшествующий вашему приглашению, то вы находитесь в виртуальной среде cv :

(cv) pi@raspberry:~$

Обращаю Ваше внимание, что виртуальная среда cv Python полностью независима и отделена от версии Python по умолчанию, включенной в загрузку Raspbian Stretch. Таким образом, любые пакеты Python в глобальном каталоге site-packages не будут доступны для виртуальной среды cv. Аналогично, любые пакеты Python, установленные в пакетах site-cv, не будут доступны для глобальной установки Python.
Теперь введите в ваш интерпретатор Python:

python

и подтвердите, что вы используете версию 3.5 (или выше).
Внутри интерпретатора (появится «>>>») импортируйте библиотеку OpenCV:
import cv2

Если сообщения об ошибках не появляются, OpenCV правильно установлен в вашей виртуальной среде PYTHON.
Вы также можете проверить установленную версию OpenCV:

cv2.__version__
Должна появиться 3.3.0 (или более новая версия).

002.png


На скриншоте выше показаны предыдущие шаги.

Тестирование камеры

После того, как мы установили OpenCV в RPi, давайте проверим, правильно ли работает ваша камера.
Я предполагаю, что у вас уже есть установленная PiCam на вашем Raspberry Pi.
Камера должна быть включена, когда вы начинаете установку, иначе драйверы будут установлены неправильно.
Если вы получили ошибку типа: OpenCV Error: Assertion failed, вы можете попытаться решить проблему, используя команду:

sudo modprobe bcm2835-v4l2

После того, как все драйверы установлены правильно, введите приведенный ниже код Python в вашей IDE:

import numpy as np
import cv2
cap = cv2.VideoCapture(0)
cap.set(3,640) # set Width
cap.set(4,480) # set Height
while(True):
ret, frame = cap.read()
frame = cv2.flip(frame, -1) # Flip camera vertically
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

cv2.imshow('frame', frame)
cv2.imshow('gray', gray)

k = cv2.waitKey(30) & 0xff
if k == 27: # press 'ESC' to quit
break
cap.release()
cv2.destroyAllWindows()


Приведенный выше код будет захватывать видеопоток, который будет генерироваться вашей PiCam, отображая как в цветном режиме BGR, так и в сером.
Обратите внимание, что я повернул камеру вертикально, так как она собрана. Если это не ваш случай, прокомментируйте или удалите командную строку «flip».
Вы также можете скачать код с GitHub: simpleCamTest.py
Для выполнения скрипта введите команду:

python simpleCamTest.py

Чтобы завершить программу, вы должны нажать клавишу [ESC] на клавиатуре. Щелкните мышью в окне видео, прежде чем нажимать [ESC].


Некоторые пользователи сталкивались с проблемой при попытке открыть камеру (сообщения об ошибке «Ошибка подтверждения»). Это может произойти, если камера не была включена во время установки OpenCv и, следовательно, драйверы камеры были установлены неправильно. Чтобы исправить ошибку, используйте команду:

sudo modprobe bcm2835-v4l2

Вы также можете добавить bcm2835-v4l2 в последнюю строку файла /etc /modules, чтобы драйвер загружался автоматически при загрузке системы.

Обнаружение лица

Самой основной задачей распознавания лиц, конечно же, является «Обнаружение лица». Прежде всего, вы должны «захватить» лицо (Фаза 1), чтобы распознать его, по сравнению с новым лицом, захваченным в будущем (Фаза 3).
Наиболее распространенный способ обнаружения лица (или любых объектов) - использование « »
Обнаружение объектов с использованием каскадных классификаторов на основе признаков Хаара - это эффективный метод обнаружения объектов, предложенный Полом Виолой и Майклом Джонсом в их статье «Быстрое обнаружение объектов с использованием расширенного каскада простых функций». Это подход, основанный на машинном обучении, где Каскадная функция обучается на множестве положительных и отрицательных изображений. Затем он используется для обнаружения объектов на других изображениях.
Здесь мы будем работать с распознаванием лиц. Изначально алгоритму требуется много положительных изображений (изображений лиц) и отрицательных изображений (изображений без лиц) для обучения классификатора. Затем нам нужно извлечь из него особенности. Удобно то, что OpenCV изначально поставляется с инструктором и детектором.

Если вы хотите обучить свой классификатор для любого объекта, такого как автомобиль, собака и т. д., можете использовать OpenCV для его создания. Его полная информация приведена здесь: .

Если вы не хотите создавать свой собственный классификатор - OpenCV уже содержит множество предварительно обученных классификаторов для лица, глаз, улыбки и т. д. Эти XML-файлы можно загрузить из каталога haarcascades .
Итак, приступим - давайте создадим детектор лица с OpenCV!
Загрузите файл: faceDetection.py из GitHub.

import numpy as np
import cv2
faceCascade = cv2.CascadeClassifier('Cascades/haarcascade_frontalface_default.xml')
cap = cv2.VideoCapture(0)
cap.set(3,640) # set Width
cap.set(4,480) # set Height
while True:
ret, img = cap.read()
img = cv2.flip(img, -1)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.2,
minNeighbors=5,
minSize=(20, 20)
)
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
roi_gray = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w]
cv2.imshow('video',img)
k = cv2.waitKey(30) & 0xff
if k == 27: # press 'ESC' to quit
break
cap.release()
cv2.destroyAllWindows()


Приведенный выше код - это все, что вам нужно для обнаружения лица с использованием Python и OpenCV.
Обратите внимание на строку ниже:

faceCascade = cv2.CascadeClassifier('Cascades/haarcascade_frontalface_default.xml')

Это строка, которая загружает классификатор - classifier (который должен находиться в каталоге с именем «Cascades /», в каталоге вашего проекта).
Затем мы установим нашу камеру и внутри цикла загрузим наше входное видео в режиме градаций серого.
Теперь мы должны вызвать нашу функцию классификатора, передав ей некоторые очень важные параметры, такие как масштабный коэффициент, количество соседей и минимальный размер обнаруженного лица.

faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.2,
minNeighbors=5,
minSize=(20, 20)
)


Где :
gray - это входное изображение в градациях серого.
scaleFactor - это параметр, определяющий, насколько уменьшается размер при каждом масштабе изображения. Используется для создания масштабной пирамиды.
minNeighbors - это параметр, указывающий, сколько соседей должен иметь каждый прямоугольник-кандидат, чтобы сохранить его. Более высокое число дает меньше ложных срабатываний.
minSize - это минимальный размер прямоугольника, который считается лицом.

Функция обнаружит лица на изображении. Далее мы должны «пометить» грани на изображении, используя, например, синий прямоугольник. Это делается с помощью этой части кода:

for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
roi_gray = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w]


Если грани найдены, он возвращает позиции обнаруженных граней в виде прямоугольника с левым верхним углом (x, y) и имеет «w» в качестве своей ширины и «h» в качестве высоты = => (x, y, w, h).

03.jpg



Как только мы получим эти местоположения, мы можем создать «ROI» (нарисованный прямоугольник) с гранями и представить результат с помощью функции imshow () .
Запустите приведенный выше скрипт Python в своей среде Python, используя терминал Rpi:

python faceDetection.py

Получаем:

003.jpg


Вы также можете подключить классификаторы для обнаружения глаз или даже обнаружения улыбки. В этих случаях вы будете включать функцию классификатора и рисование прямоугольника внутри цикла лица, потому что нет смысла обнаруживать глаза или улыбку за пределами лица.
Обратите внимание, что на Pi, имеющем несколько классификаторов в одном и том же коде, будет замедляться обработка - этот метод обнаружения (HaarCascades) использует большое количество вычислительной мощности.

На GitHub есть готовые примеры классификаторов:
faceEyeDetection.py
faceSmileDetection.py
faceSmileEyeDetection.py

Результат будет примерно таким :

04.jpg


Сбор данных

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

05.jpg


Сначала создайте каталог, в котором вы разрабатываете свой проект, например, FacialRecognitionProject:

mkdir FacialRecognitionProject
В этом каталоге, кроме 3-х сценариев Python, которые мы создадим для нашего проекта, мы должны создать Лицевой классификатор. Вы можете скачать его с GitHub:
haarcascade_frontalface_default.xml
Затем создайте подкаталог, в котором мы будем хранить наши образцы лица . Назовем его dataset (набор данных, база данных):

mkdir dataset

Загрузите код из GitHub: 01_face_dataset.py

import cv2
import os
cam = cv2.VideoCapture(0)
cam.set(3, 640) # set video width
cam.set(4, 480) # set video height
face_detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# For each person, enter one numeric face id
face_id = input('\n enter user id end press <return> ==> ')
print("\n [INFO] Initializing face capture. Look the camera and wait ...")
# Initialize individual sampling face count
count = 0
while(True):
ret, img = cam.read()
img = cv2.flip(img, -1) # flip video image vertically
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_detector.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(img, (x,y), (x+w,y+h), (255,0,0), 2)
count += 1
# Save the captured image into the datasets folder
cv2.imwrite("dataset/User." + str(face_id) + '.' + str(count) + ".jpg", gray[y:y+h,x:x+w])
cv2.imshow('image', img)
k = cv2.waitKey(100) & 0xff # Press 'ESC' for exiting video
if k == 27:
break
elif count >= 30: # Take 30 face sample and stop video
break
# Do a bit of cleanup
print("\n [INFO] Exiting Program and cleanup stuff")
cam.release()
cv2.destroyAllWindows()


Код очень похож на код, который мы видели для распознавания лиц. Мы добавили «команду ввода» для захвата идентификатора пользователя, который должен быть целым числом (1, 2, 3 и т. д.)

face_id = input('\n enter user id end press ==> ')

И для каждого из захваченных кадров мы должны сохранить его в виде файла в каталоге набора данных dataset :

cv2.imwrite("dataset/User." + str(face_id) + '.' + str(count) + ".jpg", gray[y:y+h,x:x+w])


Обратите внимание, что для сохранения вышеуказанного файла вы должны импортировать библиотеку "os". Имя каждого файла будет соответствовать структуре:

User.face_id.count.jpg
Например, для пользователя с face_id = 1, 4-й пример файла в каталоге dataset / будет выглядеть примерно так:
User.1.4.jpg

Как показано на фото:

06.jpg



В коде собрано 30 образцов с каждого идентификатора. Вы можете изменить его на последнем "elif".
Запустите скрипт Python и запишите несколько идентификаторов. Вы должны запускать скрипт каждый раз, когда хотите присоединить нового пользователя или изменить фотографии.

Обучение

На этом этапе мы должны взять все пользовательские данные из нашего набора данных "trainer" OpenCV Recognizer. Это делается напрямую с помощью определенной функции OpenCV. Результатом будет файл .yml, который будет сохранен в каталоге «trainer /».

07.jpg


Итак, приступим к созданию подкаталога, в котором мы будем хранить данные обучения:

mkdir trainer
Загрузите с GitHub второй скрипт на python: 02_face_training.py
import cv2
import numpy as np
from PIL import Image
import os
# Path for face image database
path = 'dataset'
recognizer = cv2.face.LBPHFaceRecognizer_create()
detector = cv2.CascadeClassifier("haarcascade_frontalface_default.xml");
# function to get the images and label data
def getImagesAndLabels(path):
imagePaths = [os.path.join(path,f) for f in os.listdir(path)]
faceSamples=[]
ids = []
for imagePath in imagePaths:
PIL_img = Image.open(imagePath).convert('L') # convert it to grayscale
img_numpy = np.array(PIL_img,'uint8')
id = int(os.path.split(imagePath)[-1].split(".")[1])
faces = detector.detectMultiScale(img_numpy)
for (x,y,w,h) in faces:
faceSamples.append(img_numpy[y:y+h,x:x+w])
ids.append(id)
return faceSamples,ids
print ("\n [INFO] Training faces. It will take a few seconds. Wait ...")
faces,ids = getImagesAndLabels(path)
recognizer.train(faces, np.array(ids))
# Save the model into trainer/trainer.yml
recognizer.write('trainer/trainer.yml') # recognizer.save() worked on Mac, but not on Pi
# Print the numer of faces trained and end program
print("\n [INFO] {0} faces trained. Exiting Program".format(len(np.unique(ids))))


Убедитесь, что на вашем Rpi установлена библиотека PIL. Если нет, выполните следующую команду в Терминале:
pip install pillow

В качестве распознавателя мы будем использовать распознаватель лица LBPH (ГИСТОГРАММЫ ЛОКАЛЬНЫХ ДВОЙНЫХ ШАБЛОНОВ), включенный в пакет OpenCV. Мы делаем это в следующей строке:
recognizer = cv2.face.LBPHFaceRecognizer_create()

Функция «getImagesAndLabels (path)» будет принимать все фотографии в каталоге: "dataset/" , возвращая 2 массива: "Ids" и "faces"(идентификаторы и лица). С этими массивами в качестве входных данных мы будем обучать наш распознаватель:

recognizer.train(faces, ids)

В результате файл с именем «trainer.yml» будет сохранен в каталоге «trainer /», который был ранее нами создан.

Распознавание

Теперь мы достигли финальной фазы нашего проекта. Здесь мы запечатлим новое лицо на нашей камере, и если у этого человека было запечатлено и обучено его лицо, наш распознаватель сделает прогноз, возвращающий его идентификатор и индекс, показывающие, насколько оно вероятно верно.

08.jpg


Давайте загрузим скрипт Python 3-й фазы из GitHub: 03_face_recognition.py .

import cv2
import numpy as np
import os
recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.read('trainer/trainer.yml')
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(cascadePath);
font = cv2.FONT_HERSHEY_SIMPLEX
#iniciate id counter
id = 0
# names related to ids: example ==> Marcelo: id=1, etc
names = ['None', 'Marcelo', 'Paula', 'Ilza', 'Z', 'W']
# Initialize and start realtime video capture
cam = cv2.VideoCapture(0)
cam.set(3, 640) # set video widht
cam.set(4, 480) # set video height
# Define min window size to be recognized as a face
minW = 0.1*cam.get(3)
minH = 0.1*cam.get(4)
while True:
ret, img =cam.read()
img = cv2.flip(img, -1) # Flip vertically
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

faces = faceCascade.detectMultiScale(
gray,
scaleFactor = 1.2,
minNeighbors = 5,
minSize = (int(minW), int(minH)),
)
for(x,y,w,h) in faces:
cv2.rectangle(img, (x,y), (x+w,y+h), (0,255,0), 2)
id, confidence = recognizer.predict(gray[y:y+h,x:x+w])
# Check if confidence is less them 100 ==> "0" is perfect match
if (confidence < 100):
id = names[id]
confidence = " {0}%".format(round(100 - confidence))
else:
id = "unknown"
confidence = " {0}%".format(round(100 - confidence))

cv2.putText(img, str(id), (x+5,y-5), font, 1, (255,255,255), 2)
cv2.putText(img, str(confidence), (x+5,y+h-5), font, 1, (255,255,0), 1)

cv2.imshow('camera',img)
k = cv2.waitKey(10) & 0xff # Press 'ESC' for exiting video
if k == 27:
break
# Do a bit of cleanup
print("\n [INFO] Exiting Program and cleanup stuff")
cam.release()
cv2.destroyAllWindows()



Мы включаем сюда новый массив, поэтому будем отображать «имена» вместо нумерованных идентификаторов:

names = ['None', 'Marcelo', 'Paula', 'Ilza', 'Z', 'W']

Так, например: Irina получит user с id = 1; Paul : id = 2 и т.д.
Далее мы обнаружим лицо, то же самое, что мы делали ранее с классификатором haasCascade. Обнаружив лицо, мы можем вызвать самую важную функцию в приведенном выше коде:

id, confidence = recognizer.predict(gray portion of the face)

recognizer.predict () примет в качестве параметра захваченную часть лица, подлежащего анализу, и вернет его вероятного владельца, указав его идентификатор и степень достоверности.
Обратите внимание, что индекс достоверности вернет "zero", если будет достигнут идеальный результат.

И, наконец, если распознаватель может предсказать лицо, мы помещаем текст поверх изображения с вероятным идентификатором и сколько эта вероятность составляет в процентах, что совпадение является правильным («вероятность» = 100 - индекс достоверности). Если нет, то на лицо наносится надпись НЕИЗВЕСТНО.

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

Voron

Green Team
26.02.2019
82
262
BIT
0
Думаю истина как всегда посередине . Несомненно есть и польза от этих систем - террористов и злодеев всяких отлавливать. Но и тотальная слежка конечно раздражает. С этой дилемой на западе столкнулись после 11 сентября - они согласились на некоторое ущемление личных свобод во имя безопасности. Другое дело, что под предлогом заботы о безопасности спецслужбы не только в глаза к вам заглядывают но и в ........ )))
 
Последнее редактирование:

SearcherSlava

Red Team
10.06.2017
943
1 261
BIT
207
Думаю истина как всегда посередине . Несомненно есть и польза от этих систем - террористов и злодеев всяких отлавливать. Но и тотальная слежка конечно раздражает. С этой дилемой на западе столкнулись после 11 сентября - они согласились на некоторое ущемление личных свобод во имя безопасности. Другое дело, что под предлогом заботы о безопасности спецслужбы не только в кошелек к вам заглядывают но и в ........ )))
Здрав будь!
"Тот, кто готов променять свободу на безопасность, не достоин ни свободы, ни безопасности". (Бенджамин Франклин)
Хороший неработающий лозунг на все времена...
 
  • Нравится
Реакции: Rise_S и Voron

Voron

Green Team
26.02.2019
82
262
BIT
0
Вы правы - лозунг действительно неработаюший - опять ведь дилема - если для себя лично я бы выбрал свободу - то для семьи конечно безопасность. Посадить бы того Бенджамина вместе с Франклином да всей его фамилией в самолет с нехорошим чемоданом))))
 
Последнее редактирование:

SearcherSlava

Red Team
10.06.2017
943
1 261
BIT
207
Вы правы - лозунг действительно неработаюший - опять ведь дилема - если для себя лично я бы выбрал свободу - то для семьи конечно безопасность
Свободная безопасность vs безопасная свобода = есть над чем подумать в свете вышеозвученного.
 
  • Нравится
Реакции: Voron

SearcherSlava

Red Team
10.06.2017
943
1 261
BIT
207
Вы правы - лозунг действительно неработаюший - опять ведь дилема - если для себя лично я бы выбрал свободу - то для семьи конечно безопасность. Посадить бы того Бенджамина вместе с Франклином да всей его фамилией в самолет с нехорошим чемоданом))))
Бро, обратись к классику жанра, уж он то понимал, как устроен земной шар, и ты увидишь, что нет ни первого, ни второго, ни третьего, а есть всего лишь стереотипы, работающие во все времена, особенно, в наши, изобилующие Бенджаминами вместе с Франклинами.
 

Вложения

  • Ослон А. Уолтер Липпман о стереотипах..pdf
    750,2 КБ · Просмотры: 3 332
Последнее редактирование:
V

Valkiria

Взаимно, как обычно ))
Я не могу понять смысл вот этой твоей фразы.
Не согласен - критикуй, критикуешь - предлагай, предлагаешь - делай...
... поэтому и пишешь тут свои измышлизмы, будь доволен и радуйся, что пользуешься Вынь и Линь, которые пока еще разрешены
  • Это пустая риторика, как и большинство твоих стихов ?
  • Или она требует от меня ответа ?
Вот тебе мой ответ.
Это не я довёл эту страну до такого состояния, когда нужно радоваться бесплатному пользованию Вынь и Линь.
Это повод для того, чтобы кинуть огромный камень в того, кто сделал страну и всё её население <Вынь & Линь - зависимой> .
Пусть ответственность за это несут извечные "Дураки и дороги", которые находятся на соответствующих руководящих должностях и ДОЛЖНЫ нести за всё произошедшее и происходящее ответственность. Те, кто занял свои должности благодаря тому, что хорошо отсасывает, но ни в коем случае не благодаря профессиональным качествам.
Никто не имеет никакого права упрекнуть меня в бесплатном пользовании <Вынь и Линь>.
Я с огромным удовольствием отдал-бы свою электронно-вычислительную машину в управление отечественной операционной системы.
Меня упрекать в бесплатном пользовании любой ОС - не нужно.
Также как не нужно упрекать в том , что практически уже нет никакой России.
Не сегодня, так завтра, благодаря вышеупомянутым горе-руководителям страна развалится, она уже практически обречена.
За это ты тоже спросишь с меня ?
Также как не нужно упрекать в том, что наш Главный Руководитель по-сути превратился в Китайского вассала.
Во всей этой плохой политической игре, я и миллионы мне подобных, - лишь маленькие пешки.
Пешки, не имеющие доступа к природным ресурсам, судьбу которых привыкли решать.
А когда решения получаются ПЛОХИМИ, то прятаться за наши спины.
По-сути, Я (имеется ввиду народ) и есть - РЕСУРС. Главный ресурс !!
Может быть за то, что в стране нет ни одного руководителя, способного распорядиться этим ГЛАВНЫМ РЕСУРСОМ ты тоже спросишь с меня ?
Об этом нужно думать, разворовывая казну.

Да, я смотрю на всё взглядом потребителя. А каким же ещё взглядом я должен на всё это смотреть ?
Радуйся, что взгляд мой - безобиден и равнодушен. Хотя, нет, повода для радости в этом совсем нет. Скорее, это повод для полного отчаяния и ощущения безысходности )

Каких предложений ты от меня тут хочешь услышать ?
Как свернуть с дороги мракобесия, по которой уверенно катится страна и человечество в целом ?
"Дорогой мракобесия" я называю скатывание к < распознаванию лиц, чипизации, биометрии, окутывание планеты электромагнитным полем, генно-модифицированное гAвно, экспериментам на человеком в области генетики и медицины в целом, гей-парады, и так далее ... - потому что никакого другого трезвого названия этим явлениям - НЕТ и быть не может !
Как свернуть с той дороги, по которой ведут нас все эти бездари ?
Всё это - реализация замыслов САТАНЫ.
Как найти выход из того, куда завели измышлизмы лже-учёных, этих "ГОЛЫХ КОРОЛЕЙ", по которым давно уже соскучился костёр средневековья ?
Мне лично ты всё больше напоминаешь представителя лже-науки.
Этакий "диванный учёный", ни к чему кроме построения карьеры за счёт написания тупых диссертаций не стремившийся.
Если я в своих предположениях не ошибаюсь, то в таком случае, имеешь ко всему прямое отношение.
Это ты и тебе подобные должны нести ответственность за весь этот бардак.


Герман Стерлигов - личность эксцентричная. Местами он может показаться неадекватным.
Но в его выступлениях много разумных высказываний.
Пропустите мимо ушей его некоторые мракобесные высказывания. Кстати, если-бы он обернул свои мысли в красивую обёртку, то смотрелся-бы очень красиво.
Я не слежу за ним, но в его выступлениях (которые в изобилии сняты на видео и выложены в YouTube) имеется неплохое решение.
На первый взгляд, это решение вызывает неприятие и отторжение. Но только на первый взгляд.
По мере того, как думающий человек осознаёт весь УЖАС сложившегося положения, это решение вполне приемлемо.
Размер ужасного состояния не только политического, духовного, экономического состояния страны, но и ОКРУЖАЮЩЕЙ ЭКОЛОГИЧЕСКОЙ СРЕДЫ не способны осознать люди, проживающие в мегаполисах. Ведь они - часть этой среды и не способны посмотреть на себя со стороны.
Я не оговорился, УЖАС сложившегося положения.

Жаль, но я сейчас не .
Он предлагает кардинальное решение.
Он предлагает обесточить всю планету, тем самым перезагрузить весь весь научно-технический прогресс.
По его расчётам, вся энергетика планеты не так уж и несокрушима.
Для того , чтобы лишить электричества всю планету, нужно подорвать (уничтожить физически) около четырёх сотен каких-то сооружений.
С этой задачей вполне может справиться внешняя разведка любой уважающей себя страны.
Я не могу с ним не согласиться.
Не торопитесь высмеивать.
 
Последнее редактирование модератором:

SearcherSlava

Red Team
10.06.2017
943
1 261
BIT
207
Взаимно, как обычно ))
Я не могу понять смысл вот этой твоей фразы.

  • Это пустая риторика, как и большинство твоих стихов ?
  • Или она требует от меня ответа ?
Вот тебе мой ответ.
Это не я довёл эту страну до такого состояния, когда нужно радоваться бесплатному пользованию Вынь и Линь.
Это повод для того, чтобы кинуть огромный камень в того, кто сделал страну и всё её население <Вынь & Линь - зависимой> .
Пусть ответственность за это несут извечные "Дураки и дороги", которые находятся на соответствующих руководящих должностях и ДОЛЖНЫ нести за всё произошедшее и происходящее ответственность. Те, кто занял свои должности благодаря тому, что хорошо отсасывает, но ни в коем случае не благодаря профессиональным качествам.
Никто не имеет никакого права упрекнуть меня в бесплатном пользовании <Вынь и Линь>.
Я с огромным удовольствием отдал-бы свою электронно-вычислительную машину в управление отечественной операционной системы.
Меня упрекать в бесплатном пользовании любой ОС - не нужно.
Также как не нужно упрекать в том , что практически уже нет никакой России.
Не сегодня, так завтра, благодаря вышеупомянутым горе-руководителям страна развалится, она уже практически обречена.
За это ты тоже спросишь с меня ?
Также как не нужно упрекать в том, что наш Главный Руководитель по-сути превратился в Китайского вассала.
Во всей этой плохой политической игре, я и миллионы мне подобных, - лишь маленькие пешки.
Пешки, не имеющие доступа к природным ресурсам, судьбу которых привыкли решать.
А когда решения получаются ПЛОХИМИ, то прятаться за наши спины.
По-сути, Я (имеется ввиду народ) и есть - РЕСУРС. Главный ресурс !!
Может быть за то, что в стране нет ни одного руководителя, способного распорядиться этим ГЛАВНЫМ РЕСУРСОМ ты тоже спросишь с меня ?
Об этом нужно думать, разворовывая казну.

Да, я смотрю на всё взглядом потребителя. А каким же ещё взглядом я должен на всё это смотреть ?
Радуйся, что мои взгляд - безобиден и равнодушен. Хотя, нет, повода для радости в этом совсем нет. Скорее, это повод для полного отчаяния и ощущения безысходности )

Каких предложений ты от меня тут хочешь услышать ?
Как свернуть с дороги мракобесия, по которой уверенно катится страна и человечество в целом ?
"Дорогой мракобесия" я называю скатывание к < распознаванию лиц, чипизации, биометрии, окутывание планеты электромагнитным полем, генно-модифицированное гAвно, экспериментам на человеком в области генетики и медицины в целом, гей-парады, и так далее ... - потому что никакого другого трезвого названия этим явлениям - НЕТ и быть не может !
Как свернуть с той дороги, по которой ведут нас все эти бездари ?
Всё это - реализация замыслов САТАНЫ.
Как найти выход из того, куда завели измышлизмы лже-учёных, этих "ГОЛЫХ КОРОЛЕЙ", по которым давно уже соскучился костёр средневековья ?
Мне лично ты всё больше напоминаешь представителя лже-науки.
Этакий "диванный учёный", ни к чему кроме построения карьеры за счёт написания тупых диссертаций не стремившийся.
Если я в своих предположениях не ошибаюсь, то в таком случае, имеешь ко всему прямое отношение.
Это ты и тебе подобные должны нести ответственность за весь этот бардак.


Герман Стерлигов - личность эксцентричная. Местами он может показаться неадекватным.
Но в его выступлениях много разумных высказываний.
Пропустите мимо ушей его некоторые мракобесные высказывания. Кстати, если-бы он обернул свои мысли в красивую обёртку, то смотрелся-бы очень красиво.
Я не слежу за ним, но в его выступлениях (которые в изобилии сняты на видео и выложены в YouTube) имеется неплохое решение.
На первый взгляд, это решение вызывает неприятие и отторжение. Но только на первый взгляд.
По мере того, как думающий человек осознаёт весь УЖАС сложившегося положения, это решение вполне приемлемо.
Размер ужасного состояния не только политического, духовного, экономического состояния страны, но и ОКРУЖАЮЩЕЙ ЭКОЛОГИЧЕСКОЙ СРЕДЫ не способны осознать люди, проживающие в мегаполисах. Ведь они - часть этой среды и не способны посмотреть на себя со стороны.
Я не оговорился, УЖАС сложившегося положения.

Жаль, но я сейчас не нашла ролик, где он озвучил это своё решение.
Поэтому, ссылку дать не могу.
Он предлагает кардинальное решение.
Он предлагает обесточить всю планету, тем самым перезагрузить весь весь научно-технический прогресс.
По его расчётам, вся энергетика планеты не так уж и несокрушима.
Для того , чтобы лишить электричества всю планету, нужно подорвать около четырёх сотен каких-то сооружений.
С этой задачей вполне может справиться внешняя разведка любой уважающей себя страны.
Я не могу с ним не согласиться.
Не торопитесь высмеивать.

Звиняйте, тов. Валькирия, что не сразу ответил, жара, да и дел много, день расписан поминутно. Смысл фразы очень простой, и заключается он в том, что лучше быть богатым и здоровым, чем бедным и больным, а дальше каждый сам пусть ищет собственные смыслы. Ответом твоим целиком и полностью удовлетворен, конструктивно критиковать не буду, предоставляю бенефициарное право на это форумчанам, над которыми ты стебался и пока еще не успел, но думаешь об этом. Содержание твоего поста, безусловно, интересно для дальнейшего ресёча многомерного массива данных и извлечения знаний из оного, однако, этим я займусь позже. Столько пунктов обвинения, что я гребу и плачу, и чем дольше гребу, чем больше плачу.

Герман Стерлигов - умнейший человек, виртуозно разводящий пожиже жирных котиков и еже с ними еще со времен 90-х, когда он создал Алису - первую товарную площадку, посмотри, если так за него топишь, на каких, точнее, чьих принципах она была создана, да на принципах Уолл-стрит, а что лежит в одной из основ Уолл-стрит, в одной из её основ лежит Бостонская торговая матрица, далее - М.Портер с его пятью стратегиями конкурентноспособности, и где там хоть слово о человечности, там бизнес, только бизнес, и ничего кроме бизнеса, потому что все просто так, кроме денег, соотв, Г.С. очень умело встроился в ту самую систему (другой то нет и быть не может), которую ты так сильно полюбляешь, какие выводы в сухом остатке: ничто не ново под Луной и круг Сансары бесконечен...

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

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

Тебя никто не высмеивает, наоборот, тебе все присутствующие желают успехов во всех твоих делах и начинаниях.
Я же, в свою очередь, от всей души желаю всем присутствующим и тебе лично бобра, добра и хорошего настроения!
 
Последнее редактирование:
  • Нравится
Реакции: Voron и Valkiria
V

Valkiria

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

Но, несмотря на это не упущу случая постебаться, тем более что первый кандидат уже наметился, и мой стёб предсказуем.

Мне безразличен Герман Стерлигов и его "Алиса", мне наплевать на Бостонскую торговую матрицу и прочую ересь, что описал выше.
Для меня всё это - лишь источник развлекательных роликов на YouTube.
В моей жизни, как в жизни 90 процентов населения планеты - это пустые звуки.
Это лохотрон, которым нас зомбируют.
Судя по всему, ты зомбирован окончательно.
Ведь ты даже не способен отличить главную мысль от второстепенной в моих высказываниях.
Ты не способен слышать и понимать окружающих.
Фактически, ты олицетворяешь толпу бездарей, от которых зависит будущее.

Внешняя разведка, или как там у нас и что называется - ахаха ))
Может быть, в твоих глазах это какие-то крутые парняги. Но в моих глазах - это КЛОУНЫ, с которых потешается весь мир после ликвидации бывших предателей и интервью Симоньян.
Максимум на что они способны - привлекать к ответственности таких как я простых граждан за экстремизм.
Ахахах )) Это действительно круто, это заслуживает высших похвал !!! Я иронизирую, если кто-то не понимает !!!

Наверное, ты сейчас начнёшь убеждать меня в некомпетентности, в медиазависимости.
Не утруждай себя этими обвинениями.
Кроме медиазависимости и некомпетентности, я являюсь представителем тех, кто на собственной жизни ощущает плоды того, чем они занимаются.
и без тебя, и без нас и т.д, разберутся, на каком правовом поле им играть, что делать, чем заниматься.
Что-то совсем хреново они в этом разбираются.
Кому, как не таким как я в этом разбираться ?
Ах-ах )) Шутка юмора.
 
Последнее редактирование модератором:
V

Valkiria

Извини, если обидел чем-то.
По-другому писать не получается.
 

SearcherSlava

Red Team
10.06.2017
943
1 261
BIT
207
Спасибо, я заметила и благодарна ))

Но, несмотря на это не упущу случая постебаться, тем более что первый кандидат уже наметился, и мой стёб предсказуем.

Мне совершенно наплевать на Германа Стерлигова, его "Алисы", Бостонскую торговую матрицу и прочую ересь, что описал выше.
Для меня всё это - лишь источник развлекательных роликов на YouTube.
В моей жизни, как в жизни 90 процентов населения планеты - это пустые звуки.
Это лохотрон, которым нас зомбируют.
Судя по всему, ты зомбирован окончательно.
Ведь ты даже не способен отличить главную мысль от второстепенной в моих высказываниях.
Ты не способен слышать и понимать окружающих.
Фактически, ты олицетворяешь толпу бездарей, от которых зависит будущее.

Внешняя разведка, или как там у нас и что называется - ахаха ))
Может быть, в твоих глазах это какие-то крутые парняги. Но в моих глазах - это КЛОУНЫ, с которых потешается весь мир после ликвидации бывших предателей и интервью Симоньян.
Максимум на что они способны - привлекать к ответственности таких как простых граждан я за экстремизм.
Ахахах )) Это действительно круто, это заслуживает высших похвал !!! Я иронизирую, если кто-то не понимает !!!

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

Что-то совсем хреново они в этом разбираются.
Кому, как не таким как я в этом разбираться ?
Ах-ах )) Шутка юмора.

А что обижаться, стебун он и есть стебун.
О.Хайям кое-что говорил о предсказуемости. Возможно, это касается и стебущихся?
Бойся зомби, они уже идут за тобой, причем все и сразу...
Пошутил над людьми из внешней разведки и вовремя одумался?
Хорошо, может быть, простят на первый раз по жизни, хотя, если вдруг что, то Марго вряд-ли пригласит тебя на интервью, твоими интервьюерами будут совсем другие люди, они захотят узнать, возможно, ты особо значим, возможно, ты гениальный аналитик, которому нет равных как в России, так и во всем мире, жизнь покажет, как карта ляжет.
 
V

Valkiria

Если-бы я пошутил и вовремя одумался, то не писал бы.
В отличие от некоторых, я предпочитаю выкладывать свои цитаты, а не казаться умным за счёт О.Хайяма, Б. Франклина, Википедии и так далее.
Умное выражение лица - не признак ума.
Это камень в твой огород.

Мне искренне жаль, что мы скатились до взаимных оскорблений.
Я этого не хочу.
Я прекращаю диалог.
 

SearcherSlava

Red Team
10.06.2017
943
1 261
BIT
207
Если-бы я пошутил и вовремя одумался, то не писал бы.
В отличие от некоторых, я предпочитаю выкладывать свои цитаты, а не казаться умным за счёт О.Хайяма, Б. Франклина, Википедии и так далее.
Умное выражение лица - не признак ума.
Это камень в твой огород.

Мне искренне жаль, что мы скатились до взаимных оскорблений.
Я этого не хочу.
Я прекращаю диалог.
Оно давно к этому шло. Прекращение диалогов с твоей стороны на форуме многократно, так что будь здоров, пей томатный сок, будешь строен и высок!
 
V

Valkiria

Не знаю, за что зацепиться, чтобы продолжить диалог.
Выше ты упрекнул меня, в том, что я смотрю на всё взглядом обывателя.
А каким взглядом смотришь на все эти <распознавания лиц, чипизацию> и прочую ересь ТЫ ?
От тебя что-то зависит ?

Знаешь, я второй день не могу жить спокойно.
Я спать не могу и вот сейчас встал c кровати, чтобы написать этот пост.
Если на предыдущий вопрос - ответ положительный, то жажду твой крови.
Всё моё тело проникнуто дрожью от гнева.
Ты разбудил во мне зверя и я уже не могу жить спокойно.
Я сейчас размажу тебя, умник, расчитывающий массивы.
 

SearcherSlava

Red Team
10.06.2017
943
1 261
BIT
207
Не знаю, за что зацепиться, чтобы продолжить диалог.
Выше ты упрекнул меня, в том, что я смотрю на всё взглядом обывателя.
А каким взглядом смотришь на все эти <распознавания лиц, чипизацию> и прочую ересь ТЫ ?
От тебя что-то зависит ?

Знаешь, я второй день не могу жить спокойно.
Я спать не могу и вот сейчас встал c кровати, чтобы написать этот пост.
Если на предыдущий вопрос - ответ положительный, то жажду твой крови.
Всё моё тело проникнуто дрожью от гнева.
Ты разбудил во мне зверя и я уже не могу жить спокойно.
Я сейчас размажу тебя, умник, расчитывающий массивы.

Учитывая твой глобальный уровень компетенций, можешь смотреть на все это взглядом профессионала, но от этого вряд ли что-нибудь изменится, я же вообще никак на это не смотрю и об этом не думаю, потому как считаю это дело бесперспективным, занимаюсь своей жизнью, помятуя о словах одного человека, который говорил "через свою жизнь сделай мир лучше".

Нет, не знал о том, что ты второй день не можешь жить спокойно, только сейчас узнал, как вариант выхода из состояния сделай стойку на одном пальце, после обернись простыней, сядь в позу лотоса, сделай пассы руками до получения голограмм с прекрасной принцессой и все пройдет, вот увидишь. По поводу крови и гнева есть статья 119 УК РФ, ознакомься на досуге с ее правоприменением, так что пиши, пиши, бумага все стерпит...

Открою тебе большой секрет, который, очевидно, не дает тебе покоя, дословно фразу "многомерный массив данных" я услышал много лет назад от человека, который имеет весьма отдаленное отношение к IT, он, в отличие от тебя, тихий "Гриша Перельман", также чрезвычайно эрудирован, копается в своих темах, живет на зарплату, как и все обычные люди, и доволен жизнью, она - им, а они - друг другом.

Умеешь рассчитывать массивы? Осваивай форсайты и предикативы! Это НАДуровневая тематика, если сумеешь найти жирного котика и создать необходимость взаимодействия, то результат превзойдет все ожидания!
 
Последнее редактирование:

Voron

Green Team
26.02.2019
82
262
BIT
0
Могу ошибаться - кажется ведь это он не поехал получать премию по математике - денег на еду не было, не то что на билет. Да и занят был делами поважнее. Во блин люди у нас - я почему то горжусь.
 
Последнее редактирование:

SearcherSlava

Red Team
10.06.2017
943
1 261
BIT
207
Могу ошибаться - кажется ведь это он не поехал получать премию по математике - были дела поважнее
Он самый. А ведь мог бы ее получить, инвестировать в себя, и, спокойно работая в математическом институте Клэя, плодить благодарных диссертантов и греться в лучах мировой славы, однако, выбрал другой образ жизни, вот это, действительно, сверхпоступок, за что респект и уважуха.
 
  • Нравится
Реакции: Manul, Глюк и Voron
V

Valkiria

М-да ))
Передумал-А я тебя размазывать.
Ведь ты уже по-сути жертва.
Ты и тебе подобные обречены жить с распознанными лицами с чипом в жопе (или куда там тебе решат вживить будущие хозяева твоей жизни) и со снятыми мерками.
Ты будешь бесконечно утешать себя мыслями о том, что от системы можно куда-то укрыться и будешь вскармивать эту ложь окружающим.
Тебе так удобно, это твой мирок, покинуть который ты боишься.
Вне этого мирка ты попросту здохнешь.
Ты боишься расширить свои мир - лишь бы дали прожить более-менее спокойно в том, которым тебя зомбируют.
Который создадут для тебя и для тебя подобных рабов будущие хозяева твоей жизни.
Может быть ты надеешься заполучить какую-то должность в этом мирке ?
Может быть по -своей наивности ты решил, что акуенно разбираешься в массивах и эти знания гарантируют тебе какие-то привилегии.
Глупец. Всё в этом мире временно.
А в новом, с распознанными лицами и чипом в заднице вообще нет ничего постоянного.

но от этого вряд ли что-нибудь изменится, я же вообще никак на это не смотрю и об этом не думаю, потому как считаю это дело бесперспективным
Изволь не беспокоиться.
Для того, чтобы что-то изменить нужны крылья.
У тебя их нет.
Ты рождён ползать и отсасывать.
 

Глюк

Red Team
03.01.2018
1 185
1 879
BIT
177
М-да ))
Передумал-А я тебя размазывать.
Ведь ты уже по-сути жертва.
Ты и тебе подобные обречены жить с распознанными лицами с чипом в жопе (или куда там тебе решат вживить будущие хозяева твоей жизни) и со снятыми мерками.
Ты будешь бесконечно утешать себя мыслями о том, что от системы можно куда-то укрыться и будешь вскармивать эту ложь окружающим.
Тебе так удобно, это твой мирок, покинуть который ты боишься.
Вне этого мирка ты попросту здохнешь.
Ты боишься расширить свои мир - лишь бы дали прожить более-менее спокойно в том, которым тебя зомбируют.
Который создадут для тебя и для тебя подобных рабов будущие хозяева твоей жизни.
Может быть ты надеешься заполучить какую-то должность в этом мирке ?
Может быть по -своей наивности ты решил, что акуенно разбираешься в массивах и эти знания гарантируют тебе какие-то привилегии.
Глупец. Всё в этом мире временно.
А в новом, с распознанными лицами и чипом в заднице вообще нет ничего постоянного.


Изволь не беспокоиться.
Для того, чтобы что-то изменить нужны крылья.
У тебя их нет.
Ты рождён ползать и отсасывать.
м-да... как не шифруйся а правда всегда выйдет на свет божий... )))))
 
  • Нравится
Реакции: Valkiria

SearcherSlava

Red Team
10.06.2017
943
1 261
BIT
207
М-да ))
Передумал-А я тебя размазывать.
Ведь ты уже по-сути жертва.
Ты и тебе подобные обречены жить с распознанными лицами с чипом в жопе (или куда там тебе решат вживить будущие хозяева твоей жизни) и со снятыми мерками.
Ты будешь бесконечно утешать себя мыслями о том, что от системы можно куда-то укрыться и будешь вскармивать эту ложь окружающим.
Тебе так удобно, это твой мирок, покинуть который ты боишься.
Вне этого мирка ты попросту здохнешь.
Ты боишься расширить свои мир - лишь бы дали прожить более-менее спокойно в том, которым тебя зомбируют.
Который создадут для тебя и для тебя подобных рабов будущие хозяева твоей жизни.
Может быть ты надеешься заполучить какую-то должность в этом мирке ?
Может быть по -своей наивности ты решил, что акуенно разбираешься в массивах и эти знания гарантируют тебе какие-то привилегии.
Глупец. Всё в этом мире временно.
А в новом, с распознанными лицами и чипом в заднице вообще нет ничего постоянного.

Изволь не беспокоиться.
Для того, чтобы что-то изменить нужны крылья.
У тебя их нет.
Ты рождён ползать и отсасывать.
Здрав будь, психоактивный! Подскажи, в каком мире живешь ты, может запилишь видосик, расскажешь, что к чему и почему, поделишься большим знанием, а мы посмотрим, кто ты что ты и никому не скажем, ок?

м-да... как не шифруйся а правда всегда выйдет на свет божий... )))))
Глюк, здрав будь!

Но трудно разобраться
Где ясно, где туман
В потоке информации
С поправкой на обман.
Поверив, оказаться
Обманутым опять,
Чтоб после не сорваться
И тоже не соврать.
 
Последнее редактирование:
  • Нравится
Реакции: Valkiria
V

Valkiria

Подскажи, в каком мире живешь ты,
Судя по всему, в том, который выстроили такие как ты.

Плохие строители.
Руки по отрывать-бы таким строителям с корнями, чтобы не отрастали.
Чтоб возможности строить лишить навсегда.
 
Последнее редактирование модератором:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!