Pull to refresh
-2
0

Специалист по тыканью в кнопочки.

Send message

Мат слоном и конём. Циклический метод «Кавказская пленница»

Reading time6 min
Views11K

Разобрав по косточкам два метода мата слоном и конём (TWIX и «делетан») пришлось перелопатить достаточно большое количество партий, где встретилось это окончание. В абсолютном большинстве одинокого короля прибивают «твиксом», в остальных редких случаях применяется нечто делетаноподобное. Да и в Википедии описываются только эти два метода, не упоминая, есть ли вообще другие системные способы заматовать слоном и конём.

Вроде как все точки над ё в этой теме расставлены, но одна партия упорно мне не давала покоя.
Траффик
Total votes 42: ↑41 and ↓1+40
Comments13

«Массаж для твоего мозга»: поговорим об ASMR

Reading time5 min
Views35K
Гиби сидит перед камерой. У нее в руках баночка с витаминами. Вы видите и слышите, как она постукивает по ней подушечками пальцев. Еле заметные звуки от прикосновений сливаются в единый поток. Отложив баночку в сторону, она шепотом заявляет, что собирается сортировать свои витамины, и на протяжении оставшихся тридцати минут видеролика девушка медленно раскладывает таблетки, одну за другой. Она делает это так, словно одно резкое движение или звук нарушит гармонию коробочек, капсул и десятков тысяч прикованных к этому видео зрителей.


Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments30

12 шагов по поиску удаленной работы

Reading time9 min
Views65K
Привет, меня зовут Игорь. Я десять лет работал в офисе, но год назад решился и перешел на удаленную работу. Для начала скажу, что теперь меня палкой не загонишь в офис! Перейти на удаленку было лучшее решение в моей жизни.
... Написание каркаса резюме... Анализ рынка... Анализ конкурентов... Написание резюме...
Total votes 48: ↑39 and ↓9+30
Comments111

Опыт применения GSM модуля в домашней автоматизации

Reading time9 min
Views40K
На даче холодно, и вы хотите за несколько часов до своего приезда туда включить обогреватель, или вас беспокоит возможность аварийного отключения системы отопления загородного дома в ваше отсутствие. Все эти проблемы можно решить с помощью GSM модуля, который умеет отправлять и получать SMS сообщения и реагировать на них, включая и выключая нужную нагрузку. В теории все просто, на практике же на пути реализации подобного устройства есть множество подводных камней.

image
Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments62

Самодельная лазерная установка на парах меди “Lightsaber” – часть 3, заключительная

Reading time6 min
Views17K
Я решил составить краткую шуточную инструкцию для начинающих некромантов, которые захотят поднимать из мертвых лазеры на парах меди. Виктор Франкенштейн «вдыхал жизнь» в мертвецов, а мы проделаем то же самое с мертвой лазерной трубкой.

image
Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments5

Анонимность – иллюзия. По данным из обезличенных датасетов можно идентифицировать реальных людей

Reading time3 min
Views26K


Theguardian.com опубликовал выводы из исследования, сделанного двумя именитыми вузами: Бельгийским университетом UCLouvain и Imperial College London: ученые подтверждают, что существует множество способов связать любые анонимные данные с реальными людьми.
К примеру, данные с 15 демографическими атрибутами «раскроет 99,98 % жителей Массачусетса». А для небольших популяций эта процедура ещё проще: к примеру, если речь идёт о маленьком городке, то «будет не сложно идентифицировать жителей Харвич Порт, Массачусетс, в котором живёт меньше 2000 человек».
Читать дальше →
Total votes 56: ↑52 and ↓4+48
Comments25

Всё, кроме Kotlin: Андрей Бреслав о гендерном балансе в IT, эмоциях и не только

Reading time24 min
Views19K


Андрей Бреслав (abreslav) известен прежде всего как человек, возглавляющий работу над языком Kotlin. Но в последнее время он стал выступать с докладами совсем о другом: весной говорил о важности эмоций при работе в IT, а в августе на TechTrain представит доклад «Это выгодно: почему нам нужно больше женщин-программисток?»

И мы взяли соответствующее интервью: не о Kotlin, а о социальном и эмоциональном. Что волнует Андрея помимо разработки языка? Бывает ли у него синдром самозванца? Чем его доклад о женщинах-программистках будет отличаться от большинства других рассуждений о гендерном перекосе в IT? Почему можешь ощущать себя плохо, когда твой проект собирается публично поддержать Google?

Название Kotlin в тексте встречается, но не в контексте «когда появится тернарный оператор», а в контексте «эмоции Андрея по Kotlin-поводам». О языках программирования есть уже очень много текстов. А вот о том, что ощущают их создатели — кажется, очень мало.
Читать дальше →
Total votes 45: ↑32 and ↓13+19
Comments75

Как поговорить с микроконтроллером из JS

Reading time11 min
Views16K
Зачем нужен микроконтроллер? Например, чтобы устроить дома пивоварню. Если своего пивного заводика мало, то можно и что-то масштабнее: построить квест-комнату, оформить презентацию, интерактивный фонтан, который рисует картину каплями, или выставочный стенд для большой компании. С микроконтроллером можно сделать что угодно — все зависит от фантазии.

Есть заблуждение, что для создания своих железок требуется знать ассемблер, C/C++, уметь управлять памятью и глубоко понимать электричество. Когда-то так и было, но технологии развиваются и сейчас для полноценной реализации своего проекта достаточно только JS!



Ок, JavaScript мы знаем, а как соединить его с железом? Какое вообще бывает железо и что умеет? Как настроить всю систему? В расшифровке доклада Виктор Накорякова на FrontendConf узнаем: как, с помощью одного лишь JS, управлять сервоприводами, как физически объединить систему с PC, и о вариантах коммуникации приложения на JS. Обсудим пакеты serialport и Firmata, serialport с самописной прошивкой на C++, Espruino и программирование контроллера прямо на JS, Raspberry Pi, HTTP в локальной сети и HTTP и MQTT через облако.
Total votes 43: ↑38 and ↓5+33
Comments11

Математическое расследование, как подделывали выборы губернатора в Приморье 16 сентября 2018 года

Reading time19 min
Views97K
Во втором туре выборов губернатора Приморского края 16 сентября 2018 года встречались действующий и.о. губернатора Андрей Тарасенко и занявший второе место в первом туре коммунист Андрей Ищенко. В ходе подсчета голосов на сайте ЦИК РФ отображалась информационная панель с растущим числом обработанных протоколов и голосов за кандидатов.

Публикация подробных данных по участкам на официальном сайте ЦИК www.izbirkom.ru замерла после ввода 1484 (95.74%) протоколов и не возобновлялась до самого конца. Поэтому когда в трансляции лидер голосования вдруг поменялся с Ищенко на Тарасенко, было неясно, как именно это могло произойти. В СМИ просто писали «после обработки 99,03% протоколов лидер сменился».

Однако, располагая промежуточными суммарными данными из информационной панели, с помощью простой математики и программирования можно подробно установить, что именно происходило с протоколами в ночь после выборов. Используем Python, Colab от Google и Z3 theorem prover от Microsoft Research. Ну и добьём всё обычной дедукцией.


И что же там можно расследовать?
Total votes 394: ↑388 and ↓6+382
Comments392

Онлайн игра с реальными RC роботами в Чернобыле. Часть 2

Reading time9 min
Views62K
Это продолжение статьи «Как мы запустили роботов в маленький Чернобыль» про игровую концепцию Remote Reality.

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

Выход на Kickstarter


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

image

За неделю до начала кампании мы запустили рекламу на фейсбуке, сделали рассылку анонса «по друзьям». В общем, сделали все, как советовали статьи в Интернете. Также, мы «вычитали», что первый и второй день на «кикстартере» приносят максимальный результат. Первый день нам не принес… ничего, второй… тоже ничего и к концу недели мы так и не собрали ни одного доллара. Аналитика показывала, что причина банальна — к нам на страницу просто никто не заходит. Позже мы узнали, что для успешной кампании нужны солидные расходы на маркетинг, рассылки по базам бэкеров итд.
Читать дальше →
Total votes 260: ↑254 and ↓6+248
Comments283

Риски и угрозы в Интернете вещей

Reading time9 min
Views5.8K
С 2016 года мы ловили их, собирали статистику и вот, что получилось в итоге. Мы не даем прогнозов, а лишь констатируем насколько выросли риски в этой среде.

Наши аналитики подготовили обзорное исследование, в котором представлены распространенные угрозы для умных устройств и Интернета вещей (IoT) в целом. Во всемирной сети ежедневно регистрируется огромное количество устройств, таких как смарт-телевизоры, камеры видеонаблюдения, «умные» часы и игрушки, холодильники, автомобили, фитнес-трекеры, видеорегистраторы. Большинство из них плохо защищены от атак, а то и вовсе уязвимы.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments1

Создание минимального Docker-контейнера для Go-приложений

Reading time4 min
Views49K
Привет, Хабр! Предлагаю вашему вниманию перевод статьи основателя сервиса Meetspaceapp Nick Gauthier «Building Minimal Docker Containers for Go Applications».

Время чтения: 6 минут

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

Часть 1: Наше «приложение»


Для тестирования нам потребуется какое-нибудь маленькое приложение. Давайте будем фетчить google.com и выводить размер HTML.

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "os"
)

func main() {
    resp, err := http.Get("https://google.com")
    check(err)
    body, err := ioutil.ReadAll(resp.Body)
    check(err)
    fmt.Println(len(body))
}

func check(err error) {
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }
}

Если мы запустимся, то получим только какое-то число. У меня вышло около 17К. Я целенаправленно решил использовать SSL, но причину объясню позднее.
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments10

Белый шум рисует черный квадрат

Reading time3 min
Views11K
Любой аналитик, в начале своей работы, проходит ненавистный этап определения идентификации параметров распределения. Потом, с наработкой опыта, для него согласование полученных остаточных разбросов означает, что какой-то этап, в анализе Big Data, пройден и можно двигаться дальше. Уже нет необходимости проверять сотни моделей на соответствие различным уравнениям регрессии, искать отрезки с переходными процессами, составлять композицию моделей. Терзать себя сомнениями: «Может есть, еще какая-нибудь модель, которая больше подходит?»

Подумал: «А что, если пойти от противного. Посмотреть, что может сделать белый шум. Может ли белый шум создать, что-то, что наше внимание сопоставит со значимым объектом из нашего опыта?»


Рис. Белый шум (файл взят из сети, размер 448х235).

По этому вопросу рассуждал так:

  1. Какова вероятность, что появится горизонтальные и вертикальные линии, заметной длины?
  2. Если они могут появиться, то какова вероятность, что они совпадут своим началом по одной из координат и составят прямоугольную фигуру?

Дальше по тексту, объясню, как эти задачи связались с анализом Big Data.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments22

Оптическая нейросеть

Reading time3 min
Views22K

Обученная многослойная фазовая маска (классификатор рукописных символов). Справа показана физическая модель оптической нейросети D²NN, напечатанная на 3D-принтере: слои 8×8 см с расстоянием 3 см друг между другом

Группа исследователей из Калифорнийского университета в Лос-Анджелесе разработала новый тип нейронной сети, которая в работе использует свет вместо электричества. В журнале Science опубликована статья с описанием идеи, рабочего устройства, его производительности и типов приложений, которые, по мнению авторов, хорошо вычислять в нейросети нового типа.

Полностью оптический фреймворк глубокого обучения Diffractive Deep Neural Network (D²NN), который физически сформирован из множества отражающих или прозрачных поверхностей. Эти поверхности работают сообща, выполняя произвольную функцию, усвоенную в результате обучения. В то время как получение результата и прогнозирование в физической сети организовано полностью оптически, обучающая часть с проектированием структуры отражающих поверхностей рассчитывается на компьютере.
Читать дальше →
Total votes 46: ↑45 and ↓1+44
Comments33

Нейросеть в стекле. Не требует электропитания, распознаёт цифры

Reading time2 min
Views39K
image

Все мы знакомы с такой способностью нейронных сетей, как распознавание рукописного текста. Основы этой технологии существуют уже много лет, но, лишь относительно недавно, скачок в области компьютерных мощностей и параллельной обработки данных позволили сделать из этой технологии очень практичное решение. Тем не менее, это практичное решение, в основе своей, будет представлено в виде цифрового компьютера многократно изменяющего биты, точно так же, как и при выполнении любой другой программы. Но в случае с нейронной сетью, разработанной исследователями из университетов Wisconsin, MIT, и Columbia, дело обстоит по-другому. Они создали стеклянную панель, не требующую собственного электропитания, но при этом способную распознавать рукописные цифры.
Читать дальше →
Total votes 121: ↑119 and ↓2+117
Comments99

MotionLayout: анимации лучше, кода — меньше

Reading time10 min
Views35K

Google продолжает улучшать нашу жизнь, выпуская новые удобные библиотеки и API. Среди которых оказался и новый MotionLayout. Учитывая обилие анимаций в наших приложениях, мой коллега Cedric Holtz сразу же реализовал важнейшую анимацию нашего приложения — голосование в знакомствах — с использованием нового API, сэкономив при этом огромное количество кода. Делюсь переводом его статьи. 

Недавно закончилась конференция Google I/O 2019, на которой анонсировали обновления и самые свежие улучшения нашего любимого SDK. Лично мне особенно интересна была презентация Николаса Роарда и Джона Хофорда о будущей функциональности ConstraintLayout. А точнее, о его расширении в виде MotionLayout. 

После выпуска бета-версии мне захотелось реализовать анимацию знакомств на основе этой библиотеки.
Читать дальше →
Total votes 37: ↑32 and ↓5+27
Comments6

Генерируем тайловые уровни и прячем квадраты от игрока

Reading time8 min
Views18K

Генерация уровней в Unexplored 2


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

Нам не пришлось заново изобретать велосипед. В Unexplored 1 мы уже создали техники, которые сильно повлияли на успех первой игры. Unexplored 2 просто продолжила начатое. Фундамент нашей технологии состоит из двух частей: мы применяем многоэтапную генерацию, которая почти имитирует процесс, очень похожий на работу живого дизайнера уровней. Поверх него мы используем технику под названием "циклическая генерация подземелий", которая гораздо лучше справляется с генерацией естественно выглядящих уровней, чем большинство стандартных приложений генеративного создания контента. В этом посте я расскажу о первом аспекте. Адаптация циклической генерации подземелий к Unexplored 2 будет темой будущего поста.

Имитация «человеческого» дизайна уровней


Генератор уровней разбивает процесс генерации уровня на целое множество управляемых этапов. Он проходит путь от высокоуровневого планирования до низкоуровневой детальной карты уровня. По сути, он сначала создаёт набросок уровня, а затем начинает добавлять детали, пока уровень не станет завершённым и заполненным.
Читать дальше →
Total votes 50: ↑50 and ↓0+50
Comments7

Про антилопу в противогазе и розовые солёные озёра

Reading time9 min
Views30K


Это сага, то есть солёное озеро. Розовый цвет у него из-за маленьких ракообразных Artemia salina. Это те самые черти, которых едят фламинго, и от этого розовеют. А здесь порозовела вся сага. Потому что в такой дикой концентрации соли не выживает никто кроме бактерий и, собственно, артемий.

Этим пользуются сайгаки. Им и так по жизни не хватает соли в организме, поэтому они приходят на солончаки её лизать. А потом понимают, что над этими озёрами нет насекомых, и остаются спать. Потому что по жаре +41 там прохладно, да ещё и никто не кусает.



Собственно, я хочу рассказать вам про сайгаков и то, где эти забавные зверьки обитают. Но начнём мы с матмодели парадокса о том, почему сайгаков становится меньше, если начать уничтожать их естественных врагов — волков.
Total votes 133: ↑130 and ↓3+127
Comments39

Индульгенция — как избавиться от долгов по задачам

Reading time10 min
Views11K
У любого сотрудника есть долги. Как правило, чем выше должность, тем больше этот багаж. Речь, конечно, не о долгах по кредитам, а о невыполненных задачах, обязательствах, проектах, обещаниях и т.д.

Некоторые даже считают, что чем выше долги, тем лучше. Как-то встречал в вакансии Студии Артемия Лебедева такую фразу (не дословно) – не стоит к нам приходить, если вы можете передать дела на старом месте меньше, чем за полгода. Вроде как, большие долги – это повод для гордости.

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

Несколько лет испытывал методы сам, и наблюдал, как подобную практику нарабатывают другие – осознанно, или неосознанно. Общее название – Индульгенция.
Читать дальше →
Total votes 38: ↑24 and ↓14+10
Comments13

Микробиота. Как работает тестирование

Reading time7 min
Views11K
Мы завершаем цикл статей о микробиоте. Первая была о том, как работает микробиота, а последняя — о влиянии лекарств на бактерии кишечника. В этом материале мы расскажем, как проводится тест «Генетика микробиоты» от Атласа, почему для него нужен именно образец стула, а также что получит пользователь по итогам теста. Для наших преданных читателей мы приготовили подарок в конце статьи!


Автор иллюстраций Rentonorama
Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments6

Information

Rating
Does not participate
Location
Канада
Registered
Activity

Specialization

Fullstack Developer, Pentester
Senior
Python
SQL
MySQL
Java
Hibernate
Java Spring Framework
Restful WebServices
Database
Git
Linux