Pull to refresh
65
0
Send message

Гениальный алгоритм создания лабиринтов в игре Entombed, который до сих пор не могут разгадать

Reading time5 min
Views80K


В 2017 двое ученых, канадец John Aycock и британка Tara Copplestone, опубликовали анализ классической игры Entombed для игровой приставки Atari 2600. Механика этой игры, выпущенной в 1982, крайне проста: археолог, управляемый игроком, должен пробраться по прокручивающимся снизу вверх катакомбам, уворачиваясь от зомби.

У Atari 2600 было всего 128 байт ОЗУ; тем не менее, кажущийся бесконечным лабиринт при каждом запуске был новым, т.е. генерировался в памяти. Как же программистам это удалось? Вот комментарий Стивена Сидли — программиста, 38 лет назад создавшего эту игру:
Основную часть генератора лабиринтов написал какой-то уволившийся торчок. Я связался с ним, чтобы выяснить, как его алгоритм работал. Он ответил, что придумал этот алгоритм, когда был вусмерть накурен и вдобавок пьян, что написал его сразу на ассемблере прежде чем вырубился, а потом даже близко не мог вспомнить, в чем его алгоритм состоял.
Читать дальше →
Total votes 88: ↑78 and ↓10+106
Comments72

Как убрать назойливое предупреждение о сертификате для RDP

Reading time2 min
Views22K

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

Все, кто хоть раз пользовался RDP, видели эту надпись.


В руководстве приведены готовые команды для пущего удобства. Скопировал, вставил и заработало.
Читать дальше →
Total votes 23: ↑18 and ↓5+24
Comments33

Как клеить по 13 девушек в час, используя машинное обучение и Tinder

Reading time7 min
Views151K
*Исключительно ради изучения Machine Learning, разумеется. Под немного недовольным взглядом любимой жены.

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

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


Читать дальше →
Total votes 110: ↑102 and ↓8+136
Comments139

Мониторинг через UptimeRobot

Reading time3 min
Views14K

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

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

В большинстве случаев UptimeRobot шлёт HTTP-запросы на указанный адрес и по заголовкам ответа определяет его доступность (2хх — всё ок, 4хх/5хх — в течение 30 секунд обстреливает повторными запросами из других точек, если ответ снова отрицательный, засчитывается downtime).
Читать дальше →
Total votes 25: ↑23 and ↓2+31
Comments7

Пасхалка в ionCube — попытка разработчиков замести мусор под ковер?

Reading time9 min
Views14K

Веб-разработчик знает, что скрипты, созданные в коммерческих целях, могут пойти гулять по сети с затёртыми копирайтами; не исключено, что скрипт начнут перепродавать от чужого имени. Чтобы скрыть исходный код скрипта и препятствовать его изменению, применяются обфускаторы, минификаторы и т.д. Один из самых давних и известных инструментов для шифрования скриптов на PHP — это ionCube. Появившийся в 2002, он продолжает следить за развитием PHP и заявляет о поддержке последних версий платформы. Как я покажу в этой статье, с поддержкой PHP 7 у ionCube далеко не всё в порядке…
Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments8

Лучшие плагины и сервисы для WordPress в 2020

Reading time8 min
Views38K

По версии ресурса W3Techs, под капотом более 62% всех сайтов, построенных на базе CMS, находится Wordpress той или иной версии. Официальный маркетплейс WP содержит огромное количество различных плагинов, модулей и расширений базового функционала и разобраться в этом разнообразии — не самая простая задача. Эта статья призвана ее упростить.

Автор статьи — веб-разработчик с 12-летним стажем работы с WordPress, он подготовил подборку своих любимых инструментов для решения повседневных задач. Большинство приведённых примеров широко известны в WP сообществе, однако, есть и парочка личных открытий.
Читать дальше →
Total votes 39: ↑36 and ↓3+52
Comments25

Что такое Windows PowerShell и с чем его едят? Часть 6: Решение практических задач

Reading time7 min
Views21K


В предыдущих статьях мы разобрались с основами среды и достаточно подробно изучили язык программирования Microsoft PowerShell. Завершая цикл, мы рассмотрим работу с процессами и службами, реестром и журналами событий в распределенной среде, а также разберем некоторые способы администрирования операционной системы, настройки стороннего ПО и просмотра сведений об установленном оборудовании. Для этого в PowerShell активно применяются объекты различных типов, изучению которых были посвящены четвертая и пятая части цикла.
Читать дальше →
Total votes 22: ↑20 and ↓2+36
Comments4

Что такое CDN, и как это вообще работает

Reading time15 min
Views37K

Сайт Texas Internet Consulting. Жив с 1987 года, страница — 7 Килобайт.

Помните время, когда главная больше 90 Килобайт считалась расточительством? С тех пор Интернет стал жирным. И понадобились инструменты, чтобы правильно раздавать трафик сразу с нескольких узлов. Например, во время очередного обновления Fortnite CDN от Akamai сумел переварить трафик мощностью в 106 Терабит в секунду. Давайте пробежимся по основным принципам этой технологии и потенциальным проблемам.

И о том, почему Minecraft в Казани тормозит, если не развернуть сервер в черте города.
Читать дальше →
Total votes 50: ↑48 and ↓2+74
Comments30

Как запустить стартап, выйти на рынок Китая и получить 15 млн инвестиций

Reading time11 min
Views10K


11 мая в нашем инстаграм-аккаунте прошел прямой эфир с Александром Калошиным. Делимся записью эфира и расшифровкой интервью.

Добрый день. Я – основатель и генеральный директор компании LastBackend, мы разрабатываем технологии оркестровки контейнеризированных приложений. Пару лет назад мы запустили аналог популярной технологии Kubernetes, на базе которой строится современный интернет. Мы прошли довольно долгий путь – начали в 2014 году, когда версия Docker была 0.2, и про контейнеризацию мало кто знал. На российском рынке мы практически неизвестны.

Не так давно мы запустили сервис DevOps As a Service – сейчас мы не просто создаем технологию и продукт по управлению контейнеризированной инфраструктурой, но и оказываем полный сервис. Мы создаем инфраструктуру для продуктов компаний: подготавливаем, берем облака, пишем скрипты развертывания, используем в качестве основы системы нашу систему оркестровки (либо Kubernetes), подключаем мониторинг – выдаем клиенту всё полностью готовое, с CI/CD, с доставкой. Клиент получает готовую инфраструктуру, готовую к использованию; затем она – нашими же силами – мониторится, и мы следим за отказоустойчивостью. Сейчас мы сотрудничаем с крупными хостинг-провайдерами, агрегаторами, интеграторами, Microsoft, Amazon.

Можно сказать, что у меня был интересный опыт. Сначала я был разработчиком, потом мы придумали собственную идею и попали в акселератор – Фонд развития интернет-инициатив. Мы были в тестовом наборе между четвертым и пятым основными наборами, ФРИИ с Microsoft на нас обкатывали методику прокачки IT-стартапов с новыми технологиями. Правда, подобных технологических стартапов было мало – мы встретили только одну другую команду, которая занималась бэкапами, аналогом Acronis; сейчас они работают в Nginx, кажется. После акселератора мы стали развиваться и пошли на китайский рынок.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments8

Как перенести файлы с одного облака на другое минуя свой ПК

Reading time6 min
Views42K

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


— Андрюх, я из дома ухожу, помоги с переездом, ко мне всё не влезет:(
— Хорошо, а много там?
— Тонн* 7-8…
*Тонна (жарг.) — Терабайт.


Недавно, в процессе интернет-сёрфинга, я обратил внимание на то, что несмотря на доступность на Хабре и на аналогичных ему ресурсах множества материалов о способах и моделях миграции различных типов данных, в сети всё ещё появляются вопросы по этой теме. Которые, почему-то, не всегда удостаиваются обстоятельных ответов. Этот факт и сподвиг меня однажды собрать заметки о реализации похожего решения и оформить их в виде отдельного поста.
Читать дальше →
Total votes 27: ↑25 and ↓2+44
Comments16

Делаем поддержку дешевле, стараясь не растерять качество

Reading time9 min
Views6.6K
Аварийный режим (также упоминается как IPKVM), позволяющий подключаться к VPS без RDP прямо с уровня гипервизора, экономит 15–20 минут в неделю.

Первое и главное — не бесить людей. Во всём мире поддержка разделена на линии, и сотрудник первой должен попробовать типичные способы решения. Если задача выбивается за их пределы — передать второй линии. Так вот, среди администраторов VDS достаточно часто попадаются люди, которые умеют думать. В отличие от многих других поддержек. Ну, по крайней мере, существенно чаще. И они хорошо структурируют тикет, сразу описывая всё что нужно. Если у первой линии «глаз замылится» и они случайно в ответ на такое попросят включить и выключить — это фиаско.

Задача стоит очень простая: сделать поддержку нашего VDS-хостинга адекватной при минимуме затрат. Потому что мы фастфуд мира хостинг-провайдеров: никакого особого «облизывания», низкие цены, нормальное качество. Ранее уже был рассказ про то, что с появлением инстаграм-няшек, пытающихся автоматизировать ведение аккаунта и владельцев малого бизнеса с удалённой бухгалтерией и остальных не слишком прокачанных в технологиях людей, общение «как админ с админом» прокатывать перестало. Пришлось менять язык общения.

Теперь расскажу о процессах чуть больше — и о неминуемых косяках с ними.
Читать дальше →
Total votes 32: ↑31 and ↓1+48
Comments21

Удаленная бухгалтерия — как выгода для бизнеса

Reading time6 min
Views25K
Введение в условиях пандемии режима самоизоляции, нерабочих дней, самоизоляции и иных ограничительных мер подтолкнули еще большее число работодателей перевести сотрудников на удаленную работу из дома. Бухгалтерия – та деятельность, которую вполне можно осуществлять дистанционно. Главное – организовать рабочий процесс должным образом и при этом не нарушить нормативные требования.

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


Что же такое удаленная бухгалтерия? Бухгалтерский и налоговый учет компании может взять на себя аутсорсер — специализирующаяся на этом сторонняя организация или фрилансер, то есть работающий удаленно по договору бухгалтер. Его задача — учет всех финансовых операций заказчика и их документирование, составление отчетов, выписки, подготовка платежных документов, учет основных средств, расчеты с поставщиками, учет продаж и пр., поэтому он должен хорошо разбираться в бизнесе клиента, понимать, какие именно операции стоят за конкретными документами.
Читать дальше →
Total votes 16: ↑14 and ↓2+27
Comments15

Как не пополнить ряды стремных специалистов, если ты Data Scientist

Reading time18 min
Views23K

Хабра-сообщество провело еще одно интервью в нашем образовательном проекте: прямых эфирах c ребятами из IT, которые отвечают на ваши вопросы в формате живого общения.

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

В начале недели наши вопросы отвечал Борис Янгель — ML-инженер Яндекса, который участвовал в создании мозгов «Алисы», а теперь делает беспилотные автомобили. 

Боря рассказал о том, как стать крутым Data-Scientist, как парашютный спорт помогает ему в работе, почему конференции по ML бесполезны и ответил на недавний пост разгневанного отца про то, как Алиса рекомендовала видео с историями убийств ребенку.
Total votes 32: ↑27 and ↓5+44
Comments4

Ликбез про VPS: как настроить удалённый рабочий стол, если вы Win-пользователь

Reading time10 min
Views51K

Привет! Это ликбез про то, как, имея обычные навыки Win-пользователя, создать удалённый рабочий стол на Windows. Сразу скажу, что большей части аудитории Хабра это покажется детским садом, но, как мы знаем по первой линии нашей поддержки, этот навык очень востребован. Ну и теперь будет ссылка, которую можно отправить вместо объяснений.

Мы часто сталкиваемся с мифом, что для поднятия собственного виртуального сервера нужно быть гуру технологий и знать тайны Linux. Сегодня всё уже давно не так и можно создать виртуальную машину на Windows за 15 минут, четыре-семь из которых вы будете ждать, пока она, собственно, создастся. Это просто, быстро, дёшево и не требует решительно никаких специальных навыков. Поэтому ликбез.

— Зачем это нужно?

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

Ещё это пригодится для создания игровых серверов, торговли на бирже, торрентов, разных повторяющихся процессов, программ для автоматизации соцсетей (и накрутчиков лайков, чего уж там), SEO-утилит, подготовки к сдаче белой бухгалтерии, путешествий (особенно, когда вы не хотите возить свой домашний компьютер куда-то в соседний город на месяц) и так далее. Ещё часто VPS используется для безопасности банк-клиента компании.
Total votes 31: ↑29 and ↓2+44
Comments18

Как мы переучивали поддержку разговаривать по-человечески, и что получилось

Reading time9 min
Views29K


Поддержка разговаривала с пользователями сухо, коротко и официально. Пользователи обижались. Например, вот:
Клиент: Привет, как поднять VPN на сервере?
Поддержка: Ваш сервер в порядке, мы не занимаемся серверным администрированием [закрывает тикет].

Поддержка права? Права. Но клиент обиделся. Потому что можно было то же самое написать нормально:
Клиент: Привет, как поднять VPN на сервере?
Поддержка: Добрый день! Я не могу помочь вам настроить VPN, потому что мы оказываем поддержку только в случае, если что-то не работает на нашей стороне. Но у нас есть статья в базе знаний, как просто поднять VPN. Спасибо за обращение [закрывает тикет].

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

Мы стараемся давать максимум технических вещей за минимум денег, и поддержка традиционно оставалась за бортом: она дорогая в расчёте на стоимость месячного тарифа VDS. Но оказалось, что можно поменять многое довольно дёшево. Мы и поменяли. И протестировали. Ниже — несколько основных вещей:

  • Как вежливо ответить, если помогать не будем.
  • Как убрать бюрократизм из ответов.
  • Нужно не забывать извиняться, если проблема была на нашей стороне.
  • Как отвечать по делу, а не «вы находитесь на воздушном шаре».
  • Почему уважение — это не слово «уважаемый» в начале.
  • Почему надо говорить о своих действиях в процессе.
  • Почему вообще надо писать по-человечески.
Читать дальше →
Total votes 95: ↑95 and ↓0+95
Comments90

Нападение на удаленку

Reading time8 min
Views20K

В последние дни российские новостные СМИ пестрят сообщениями о том, что эксперты отмечают рост кибератак на фоне перехода людей на удаленку. Как говорится, кому война, а кому мать родна. Также разные компании, специализирующиеся на информационной безопасности, сходятся во мнении, что характер нападений в 2020-м изменился. Давайте посмотрим, насколько выросло количество хакерских атак с того момента, как люди стали массово работать из дома, какие типы атак на виртуальные серверы и персональные компьютеры вышли в топ и как от них защититься.
Читать дальше →
Total votes 26: ↑24 and ↓2+40
Comments5

Как не дать бухгалтеру себя кинуть или Переводим 1С в облако. Пошаговая инструкция

Reading time9 min
Views31K
Как сейчас в компаниях ведется учет? Обычно это установленный на локальном компе бухгалтера пакет 1С, в котором работает штатный бухгалтер или специалист на аутсорсе. Аутсорсер может вести одновременно несколько таких компаний-клиентов, иногда даже конкурирующих.

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

Что это значит? Что все в руках бухгалтера и если он решит подставить владельца бизнеса, то он сделает это на раз-два.

х/ф «RocknRolla» (2008)

В этой статье мы расскажем, как надежно запереть все сервисы, включая 1С в одном облаке, чтобы у вас была возможность отрубить все сервисы одной кнопкой, даже если бухгалтер улетел на сказочное Бали.
Читать дальше →
Total votes 20: ↑17 and ↓3+31
Comments20

Как я сделал систему приема платежей в Minecraft на чистом PowerShell

Reading time10 min
Views12K

В этой статье мы прикрутим богомерзкий донат к ванильному серверу Minecraft с помощью Powershell. Преимущество метода в том, что майнкрафт это лишь частный случай реализации автоматических платежей с помощью консольных команд. Мы лишь слушаем, что нам присылает платежная система и заворачиваем это в команду. И главное – никаких плагинов.
А принимать платежи мы будем через PayPal. Самое главное, для того чтобы начать принимать платежи не нужно изменять код, PayPal отправит нам все что нужно. На сайте будем использовать через кнопки, так что на сайте можно обойтись чистым HTML. Абстрагируемся от тонкостей самой платежной системы и сконцентрируемся только на основных моментах в коде.
Читать дальше →
Total votes 18: ↑17 and ↓1+32
Comments10

Как убивать зомби эффективнее с ZeroTier

Reading time8 min
Views13K


У вас есть сервер под кроватью, умный дом на даче, а еще IP-камера в гараже. Как их всех объединить в одну сеть чтобы иметь доступ ко всем устройствам? В таких ситуациях принято использовать VPN, но есть решение эффективнее — ZeroTier. Он создает одноранговую (P2P) сеть между устройствами при этом настраивается сильно проще, чем VPN.

У нас уже выходил цикл статей про организацию P2P сети для удаленной поддержки пользователей. В ней мы рассматривали вариант построение децентрализированной виртуальной сети при помощи ZeroTier. В отличии от традиционных решений VPN в ZeroTier отсутствует центральный управляющий сервер и соединение устанавливается напрямую между устройствами.

Я часто использую ZeroTier для двух кейсов: подключаться к устройствам клиентов, чтобы оказать поддержку и убивать зомби в шутерах. Мне стало интересно сравнить альтернативные способы подключения по локальной сети.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments7

Борьба за миллисекунды. Как выбрать сервер с наименьшим пингом

Reading time5 min
Views42K
Для многих задач задержки между клиентом и сервером критически важны, например в онлайн играх, видео/голосовых конференциях, IP телефонии, VPN и т.д. Если сервер будет слишком удален от клиента на уровне IP-сети, то задержки (в народе «пинг», «лаг») будут мешать работе.

Географическая близость сервера не всегда равна близости на уровне IP маршрутизации. Так, например, сервер в другой стране может быть «ближе» к вам, чем сервер в вашем городе. Все из-за особенностей маршрутизации и построения сетей.



Как выбрать сервер максимально близкий ко всем потенциальным клиентам? Что такое связность IP-сетей? Как направить клиента на ближайший сервер? Разберемся в статье.
Читать дальше →
Total votes 24: ↑23 and ↓1+43
Comments13

Information

Rating
Does not participate
Works in
Registered
Activity