• Уходим от VPN к SSH-туннелям. RDP через SSH на Mikrotik

    Появилась задача сделать удаленный доступ клиентам к их RDP серверу и упростить доступ до одного клика.

    Скрипты с VPNами не подошли по причине зоопарка домашних компьютеров клиента от Windows XP до Windows 10.

    ОК, делаем на SSH-туннелях и защищаем их RSA-ключом.

    Первое, что надо сделать админу, это скачать и установить Putty (если вдруг еще не установлен).

    Приступаем к выпуску ключей через PuTTYgen.

    Читать далее
  • Биткоин – финансовая пирамида нашего времени

    Новые технологии, доступные только высоколобым, криптовалюта, блокчейн, биткоин, хэшфункция. Природа так и шепчет «будет только дороже», да еще можно приобщиться к самому таинству создания цифровой ценности – майнингу!

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

    Ну, скажите, кому в здравом уме придет создать партию, ратующую за использование людьми денег!  «Люди! Купите за свои деньги нужные товары! Продайте свои товары за деньги! Копите деньги, тратьте деньги, пользуйтесь деньгами!!!» А на первых порах жизни криптотехнологий это выглядело именно так.

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

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

    Сделаем попытку разобраться в чем же суть добычи «цифрового золота». Не будем распыляться на все виды существующих сегодня криптовалют – достаточно рассмотреть самый популярную из них – биткоин.

    Читать далее
  • Как разозлить разработчика?

    • Перевод

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

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

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

    Читать далее
  • Интерпретация Python. Выполнение условного кода

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

    Условные выражения реализуются с помощью так называемого if утверждения. Утверждение if позволяет определить строку кода или блок кода, который выполняется только при выполнении определенного условия.

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

    Утверждение if в Python читается почти так же, как и в английском языке. Вы вводите ключевое слово if и после определяете то, что мы называем “condition” (условие). Condition - это просто утверждение, которое оценивается как истинное (true) или ложное (false).

    Если условие оценивается как true, то будет выполнен весь код, находящийся под if. Если условие оценивается как false, то код будет искать дополнительный (необязательный) элемент else. И если он его найдет, то запустит код, находящийся под ним.

    Читать далее
  • Установка ОС без IP-KVM из Rescue

    Упершись по ограничениям в облаке было принято решение о переезде на выделенный сервер. Всеми "любимое" ограничение по территории размещению быстро ограничило выбор до провайдера Se-el и линейку серверов Chipcore.

    Но тут появилась незадача, в новой линейке убрали или не добавили установку Centos 7, который активно используется, в нашем случае для bitrix окружения. Пообщавшись в тех. поддержкой в форме на сайте, я решил, что проблема решена и стал ждать окончательного решения переезда выделенный сервер.

    Читать далее
  • История одного приложения для VK Mini Apps

    У «Печеньки» до 440 000 посещений в день, около 1,5-2 миллионов уникальных пользователей каждый месяц. Такая статистика держится у нашего приложения уже несколько лет. И в ближайшем будущем мы рассчитываем выйти на новый уровень.

    Читать далее
  • Как я намучился с подключением проектора и нашёл целых 7 способов

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

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

    Читать далее
  • Как ВКонтакте нарушает 152-Ф3

    Как все знают, в нашей прекрасной стране существует интересный федеральный закон «О персональных данных» он же 152-Ф3 (можно ознакомиться с ним, например, тут), но суть немного не о нём, а о том как главная социальная сеть ВКонтакте нарушает данное законодательство.

    Читать далее
  • Настройка Sendmail для отправки почты без попадания в Спам

    Столкнулся с проблемой: на правильно настроенном сервере Apache с установленными модулями и настроенными доменными записями у провайдера — письма отправленные через функцию mail из скриптов php попадали в спам или не доставлялись вовсе.

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

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

    Система: Ubuntu 20.06
    Почтовый сервис: Яндекс
    Читать дальше →
  • Генерация уровней для пазл игры

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

    Хочу поделиться своим опытом решения данной задачи.

    Определим, в чем заключается наша игра:

    Читать далее
  • Garuda Linux — 2 часа радовался как младенец, но…

    Привет, друзья! Хочу поделиться опытом знакомства с Garuda Linux, так как в последнее время являюсь поклонником Arch-подобных KDE, для установки на свой довольно мощный ноутбук Dell G7-7790 (i9 2080RTX Max-Q 64GB RAM) выбирал на сайте одну из 2-х версий: Dragonized Gaming Edition и Dragonized BlackArch Edition.

    Хороший маркетинговый ход! Согласитесь, и одна и вторая сборка звучит очень заманчиво, Linux Gaming - прямо таки манит игроманов, которые всю жизнь сидят на Windows. Да и сам признаюсь, дядька я уже взрослый, но бывает Калду вечерок другой скоротаю с друзьями. Но как то для этих целей все еще Windows больше использую, но Linux уже почти догоняет в плане игр, спасибо Steam.

    А как вам сборка Dragonized BlackArch? Не нужно мучительно долго устанавливать BlackArch из командной строки, размечать диск, ставить графический интерфейс, сама мысль об этом отпугивает юных хакеров. А тут, прям из коробки - вот это клад! Мне захотелось побыстрее попробовать все и сразу, а лучше 2 в 1.

    Для этого решил задать вопрос на Garuda-форуме, мне там ответили, что лучше ставить BlackArch Edition, а игровые приложения и игры можно потом установить через фирменное приложение. Далее в ветку налетели какие то умники, типа зачем тебе совмещать эти 2 сборки не хакерское это дело, игры могут порты открытыми оставить.

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

    Читать далее
  • Установка Ispconfig3 на ubuntu 20.04 (nginx+php-fpm+mysql)

    ISPConfig - бесплатная панель управления хостингом с открытым исходным кодом c возможностью управлять несколькими серверами из одной панели управления. Это один из лучших вариантов для веб-студий, хостинг-компаний, а так же для всех, кто ищет бесплатную панель управления хостингом с широким функционалом. В данной статье мы рассмотрим как выполнить установку Ispconfig3 с nginx, php-fpm и mysql на ubuntu 20.04.

    Читать далее
  • Лайфхаки по продвижению для нишевого бизнеса

    Лайфхаки по продвижению для нишевого бизнеса

    Когда пора начинать играть не по правилам?

    Заниматься продвижением популярных сфер бывает сложно, что уж говорить о маркетинге узкого нишевого бизнеса, продукция и услуги которого могут заинтересовать/подойти небольшому количеству людей. Например, десерты для аллергиков в кондитерском магазине или авторские вязаные куклы амигуруми. Безусловно, плюсами нишевого бизнеса является низкая конкуренция, а минусами то, что привычные методы маркетинга, могут не работать. Если компания выбрала для себя микронишу, она может быть изначально обречена на провал и банкротство, так как товары и услуги могут и вовсе не найти своего потребителя. Мы же в данной статье подскажем лайфхаки по продвижению для компаний, имеющих небольшую целевую аудиторию. И первым шагом к успешным рекламным компаниям, как бы это банально не звучало, будет её точное определение.

    Читать далее
  • Модульные ИБП в современных реалиях

    Необходимость глобального сокращения негативных последствий от перерывов в электроснабжении вынуждают применять различные методы для решения проблемы надежности электроснабжения потребителей, реализованные на базе систем бесперебойного питания. Использование источников бесперебойного питания обусловлено обеспечением защиты крайне важного электрооборудования от всех нарушений электропитания, от его пропадания до радиочастотных помех и нелинейных искажений. На сегодняшний день максимальную защиту критичной нагрузки способны обеспечить источники бесперебойного питания класса «on-line» с модульной архитектурой. Модульные системы выделены в отдельный сегмент на электротехническом рынке. Сравним «ABB» и «Riello».

    В чём главные отличия...
  • Наша служба и опасна, и трудна, и на первый взгляд, как будто не видна…

    Очень много статей на тему "Manjaro - альтернатива Windows 10" появляется в интернете. В одном из ответов опубликованных на такие публикации, ничего не рассказано о истории Linux, предлагаю разобраться в истории и понять, почему с Linux связывать свое будущее не стоит и Windows 10 - единственная операционная система на сегодняшний день, не считая MacOS.

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

    2003 год. RedHat принимает решение о закрытии RedHat Linux и разделении дистрибутива на две версии: Fedora, которая поддерживается сообществом, и Red Hat Enterprise Linux, который имеет закрытую платную поддержку. Казалось бы, какое дело кому до тех событий? В те далекие времена поддержка Linux сторонним программистом, у которого еще недостаточно денег на капризы сообщества Linux, еще как-то была возможна. Программист мог спокойно собрать одну RPM-ку, одну DEB-ку, один пакет для Arch Linux, один для Слакваря. И на этом его работа заканчивалась. Состав дистрибутивов был весьма однородным. Но наступил 2003 год, и в итоге те, кто разрабатывал дистрибутивы на основе Red Hat, вынуждены были с ноля создавать свою структуру. В результате чего мы имеем Alt Linux, Mageia, Rosa, Opensuse, в которых состав дистрибутива в каждом релизе - свой. В итоге нужно 4 раза непонятно для чего адаптировать свою программу под состав каждого дистрибутива. Посмотрим на ситуацию глазами программиста, который только вышел из ВУЗа и у которого в столе есть только сбережения бабушки. Станет ли он вкладываться в платформу с такими капризами, которые непонятно как монетизировать? Вряд ли... А ведь основа Windows - это стабильный Win32 API, который может использоваться для разработки различного уровня программных продуктов, как крупного ПО, вроде Microsoft Office, Adobe Photoshop, так и малого ПО, вроде казуальных игр. Но политигрища для сообщества Linux оказались важнее, чем появление для начала хотя бы малого по в Linux.

    Читать далее
  • Свежие идеи в математике: неклассические арифметики и разнообразия

    Каким может быть график, скажем, линейной функции вещественного аргумента f(x) = x + c, c – константа, если операцию сложения определить иначе, нежели обычно? А каким будет множество решений уравнения x + c = d с неизвестным x в таком случае?

    Читать далее
  • Портрет предпринимателей России

    По данным GEM 2019-2020гг.

    Социально-демографические характеристики предпринимателей. По данным опроса сделанным под финансированием Сбербанка были выявлены такие значения предпринимателей как пол, возраст, образование, населённый пункт, мотивы и влияние пандемии.

    Читать далее
  • Оптимизация хранения больших данных для быстрого поиска

    В этой статье я хочу представить мой алгоритм оптимизации суммирования ряда чисел в массиве (на примере контейнера map). 

    Итак, дано задание

    Есть некая электронная книга, которую одновременно читает неограниченное количество читателей. Нужно сделать так, чтобы любой читатель в любой момент мог проверить, сколько еще читателей читают ту же страницу, что и он. Предложена наивное решение хранить в map<int,int> в качестве ключа номера страниц, в качестве значения- количество прочитавших их пользователей. Конечно, при таком подходе программа медленно работает с большими тестами потому, что количество итераций по контейнеру map равняется числу прочитанных пользователем страниц. То есть, если пользователь прочел 1000 страниц из 1000 возможных, то в цикле нужно будет сделать 1000 итераций, и это сильно замедляет программу.  

    Чтобы уменьшить время работы программы, нужно упростить алгоритм подсчета пользователей. В этом алгоритме я отдельно считаю, сколько пользователей прочли столько же полных сотен страниц, как и искомый читатель, и затем уже постранично суммирую всех, кто прочел столько же страниц из той сотни, на которой сейчас находится читатель. Такой алгоритм позволяет вместо 999 итераций (если пользователь читает 999-ю страницу) сделать всего 108 (9 итераций сотням и 99 по единичным страницам). 

     Это вкратце, теперь перейдем к подробному описанию и для начала приведу код.

    больше информации