Как стать автором
Обновить
2
0
Михаил @sibidor

руководитель веб студии

Отправить сообщение

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

Время на прочтение7 мин
Количество просмотров152K
*Исключительно ради изучения Machine Learning, разумеется. Под немного недовольным взглядом любимой жены.

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

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


Читать дальше →
Всего голосов 110: ↑102 и ↓8+136
Комментарии139

«Бесполезное» представление, преобразовавшее математику

Время на прочтение7 мин
Количество просмотров19K

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




Когда в конце XIX века впервые появилась теория представлений, многие математики сомневались в ценности этого подхода. В 1897 году английский математик Уильям Бёрнсайд писал, что сомневается в том, что эта необычная перспектива даст какие-то полезные результаты.

«Бёрнсайд, по сути, говорил о том, что теория представлений бесполезна», — сказал Джорди Уильямсон из Сиднейского университета в лекции 2015 года.

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

«Не сразу становится понятно, что её стоит изучать», — сказала Эмили Нортон из Кайзерслаутернского технического университета в Германии.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+18
Комментарии10

Об оценках сроков в разработке ПО

Время на прочтение8 мин
Количество просмотров43K
В течение всей истории разработки ПО мы искали надежные способы оценки времени на реализацию задач и проектов. Но и спустя более чем 60 лет существования отрасли наши прогнозы все еще оставляют желать лучшего. Может быть, дело не в том, как именно мы пытаемся оценивать, а в том, что мы вообще опираемся на оценки?

К примеру, возьмите методологию Scrum, по которой сегодня работают многие компании. Центральная идея Scrum — брать в спринт не больше задач, чем ваша команда способна за это время выполнить. На первый взгляд, звучит разумно. К сожалению, слишком часто на практике этот подход приводит к замедлению работы команды в обмен на иллюзию планирования. Позвольте объяснить, почему.
Читать дальше →
Всего голосов 66: ↑64 и ↓2+85
Комментарии78

Лучшие GitHub-репозитории для веб-разработчиков

Время на прочтение5 мин
Количество просмотров28K
Программист тратит многие часы на разработку некоего функционала и на то, чтобы код соответствовал передовым практическим приёмам, принятым в той или иной среде. В эти часы не должно входить регулярное написание шаблонных конструкций. Программист может сильно помочь себе в деле правильной организации работы, избавив себя от ненужных дел и вложив время в изучение правильных инструментов. Хорошим подспорьем может оказаться и знание о ценных ресурсах, список которых всегда полезно держать под рукой.



Автор материала, перевод которого мы публикуем сегодня, предлагает рассмотреть несколько GitHub-репозиториев, которые, если иногда в них заглядывать, позволят веб-разработчикам улучшить свои знания и навыки, окажут содействие в написании более качественного кода, помогут работать быстрее.
Читать дальше →
Всего голосов 33: ↑28 и ↓5+41
Комментарии5

Шестерни войны: когда механические аналоговые компьютеры правили на море

Время на прочтение15 мин
Количество просмотров21K

Advanced Gun System (слева) создана как замена 16-дюймовых орудий линкоров (справа). Если не считать управляемых по GPS снарядов, цифровые технологи системы управления огнём AGS выполняют ту же задачу, что Rangekeeper Mark 8 линкора «Айова», только обладают меньшим весом и работают с ними меньше людей.

Новейший эскадренный миноносец типа «Замволт» (Zumwalt), в данный момент проходящий приёмо-сдаточные испытания, имеет на борту новый тип корабельной артиллерии: Advanced Gun System (AGS). Автоматизированная AGS способна выстреливать до 10 снарядов высокой точности с ракетным ускорением в минуту по целям на дальности в 100 миль.

Эти снаряды используют GPS и инерциальную систему наведения для повышения точности орудия до окружности возможной погрешности в 50 метров (164 футов). Это означает, что половина этих управляемых GPS снарядов упадёт в пределах этого расстояния до цели. Но если убрать навороченные снаряды с GPS, то AGS и её цифровая система управления огнём станут не более точными, чем механическая аналоговая технология, которой уже почти исполнился целый век.

Я имею в виду такие электромеханические аналоговые компьютеры управления огнём, как Ford Instruments Mark 1A Fire Control Computer и Mark 8 Rangekeeper. Эти машины могли непрерывно и в реальном времени выполнять расчёты с 20 и более переменными ещё задолго до того, как цифровые компьютеры проложили себе дорогу в море. Когда я служил на борту линкора «Айова» в конце 1980-х, они по-прежнему ещё использовались.
Всего голосов 27: ↑26 и ↓1+35
Комментарии16

68 непрошеных советов

Время на прочтение6 мин
Количество просмотров77K
Это перевод самого недавнего поста Кевина Келли, со-основателя журнала Wired, писателя, фотографа, футуролога.


Сегодня мой день рождения. Мне 68. Хочется пододвинуть кресло-качалку и пораздавать советы юнцам. Вот 68 непрошеных советов, которые я предлагаю всем вам как подарок ко дню рождения.

  • Научитесь учиться у тех, с кем вы не согласны, или даже тех, кто вас раздражает. Нет ли истины в их убеждениях?
  • Энтузиазм эквивалентен 25 баллам IQ.
  • Всегда требуйте дедлайн. Дедлайн избавляет от лишнего и заурядного. Он останавливает попытки достичь совершенного, поэтому вам приходится делать необычное. Необычное лучше.

Читать дальше →
Всего голосов 69: ↑62 и ↓7+78
Комментарии106

Единственное, что имеет значение (часть 4 руководства Марка Андриессена по стартапам, 2007)

Время на прочтение7 мин
Количество просмотров3.2K
Этот пост про единственное, что имеет значение для нового стартапа.

Но сначала немного теории:

Если посмотреть на широкий срез стартапов – скажем, 30, 40 или больше, чтобы отсеять чистые случайности и поискать закономерности – будут очевидны два факта.

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

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

Команды варьируются от выдающихся до образцово дурных; продукты варьируются от шедевральных до едва работающих; а рынки варьируются от процветающих до коматозных.

Это заставляет задуматься – что больше всего соотносится с успехом – команда, продукт или рынок? Говоря прямо, что ведёт к успеху? Или что опаснее: плохая команда, плохой продукт или плохой рынок?
Читать дальше →
Всего голосов 7: ↑5 и ↓2+4
Комментарии9

DevOps инструменты не только для DevOps. Процесс построения инфраструктуры автоматизации тестирования с нуля

Время на прочтение28 мин
Количество просмотров22K

Часть 1: Web / Android


Примечание: данная статья является переводом на русский язык оригинальной статьи «DevOps tools are not only for DevOps. Building test automation infrastructure from scratch». Однако все иллюстрации, ссылки, цитаты и термины сохранены на языке оригинала, чтобы избежать искажения смысла при переводе на русский язык. Желаю вам приятного изучения!


Читать дальше →
Всего голосов 16: ↑15 и ↓1+20
Комментарии3

Поднимаем свой полноценный игровой Minecraft сервер с мини-играми. Часть 1. Выбираем и устанавливаем сервер

Время на прочтение5 мин
Количество просмотров78K


Часть 2. Устанавливаем карту для лобби сервера

Часть 3. Устанавливаем мини-игры

tl;dr;
И так, что будет сделано в конце всего туториала?

  • создадим основной сервер, так называемое лобби — место, куда попадают все игроки, только что подключившиеся к серверу
  • запустим второй сервер, на котором установим популярную мини-игру Murder Mystery
  • установим и настроим прокси сервер, который соединит игровой клиент и запущеные серверы таким образом, что игроки не заметят, что они переходят с одного сервера на другой
  • создадим игрового персонажа, который будет перенаправлять нас на сервер с мини-игрой
  • Установим еще одну популярную мини-игру SkyBlock
  • Добавим внутриигровое меню на основе предметов инвентаря игрока
  • Добавим внутриигровые деньги
  • Создадим магазин
  • … и многое другое

Посмотреть, что в итоге получилось у меня: mc.piratebayserver.net
По любым вопросам пишите в Discord.

Поехали!
Читать дальше →
Всего голосов 11: ↑10 и ↓1+16
Комментарии39

30+ парсеров для сбора данных с любого сайта

Время на прочтение10 мин
Количество просмотров457K
30+ парсеров для сбора данных с любого сайта

Десктопные/облачные, платные/бесплатные, для SEO, для совместных покупок, для наполнения сайтов, для сбора цен… В обилии парсеров можно утонуть.


Мы разложили все по полочкам и собрали самые толковые инструменты парсинга — чтобы вы могли быстро и просто собрать открытую информацию с любого сайта.

Читать дальше
Всего голосов 8: ↑8 и ↓0+8
Комментарии10

… и одно ядро для всех. Посвящается всем выжившим

Время на прочтение12 мин
Количество просмотров12K
Доброго, Хабр!

По примеру других обладателей и любителей ретротехники, я решил обозреть недавнее обретение: ноутбук Sony VAIO PCG-V505EX, aka PCG-6B1L. Модель выпущена в настолько далёком 200? году, что можно только гадать по внутренностям птиц. BIOS отдаёт 2003 год, VideoBIOS датирован 2011, что слегка озадачивает. Вероятно, ATI обновляли его вместе с драйверами. Английская Википедия пишет: PCG-V505E models January 2004. Очень похоже на правду. Я не зря уделяю внимание году рождения, об этом позже.

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


Начну с железа, по порядку.

Процессор


Он, собственно и стал причиной появления этого малыша в моих руках. Накатила ностальгия после очередного вечера в чате 640 Балалаек, когда речь зашла о неудачном повороте к архитектуре NetBurst, бесславно окончившемся кипятильником Prescott. Как обычно, тёплыми словами вспоминали гонки на Туалатинах, и кто-то упомянул про него, моего сегодняшнего героя. Да, друзья, речь идёт о незаслуженно почти забытом предке архитектуры Core и славном наследнике Coppermine и Tualatin: Pentium M!

Читать дальше →
Всего голосов 16: ↑12 и ↓4+15
Комментарии12

Подкасты для разработчиков

Время на прочтение10 мин
Количество просмотров20K
Интересно наблюдать за историей. Netflix, YouTube, Twitch постепенно вытеснили телевизор из нашей жизни. Сейчас похожий процесс происходит с подкастами и радио. За последние 2 года количество подкастов в мире выросло с 525 000 до 900 000, а количество эпизодов увеличилось с 18 000 000 до 30 000 000. В России эта волна началась в прошлом году, но уже сейчас становится сложно в них ориентироваться. Мы сделали для вас подборку из 57 техноподкастов и около того.


Читать дальше →
Всего голосов 26: ↑23 и ↓3+29
Комментарии56

Network diagram as code / Схема сети как код

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

Но самый проблемный момент — это поддерживать эту документацию в актуальном состоянии. И ладно бы текст, но схемы… Т.к. вся документация онлайн, т.е. в формате html, то к тексту прилагаются картинки gif/jpeg/png, на которых собственно изображены схемы. А схемы рисуются в различных программах типа Visio или онлайн-сервисах а-ля draw.io. Затем экспортируешь схему в графический формат и прилагаешь к html. Все просто.

В чем проблема?
Читать дальше →
Всего голосов 16: ↑15 и ↓1+24
Комментарии13

Когда я слышу слова «нейросеть восстановила», я лезу проверять бэкапы

Время на прочтение11 мин
Количество просмотров82K
Кроме того что я айтишник, я ещё и историк техники, и именно этим обусловлена моя реакция на новости об очередных достижениях в области цифровых технологий. Месяц назад я принял решение начать писать книжку для людей далёких от IT и близких к историческим исследованиям и источникам («Цифровое источниковедение — специфические проблемы» — пишется на сайтах книжных черновиков ), в которой расскажу им о том, чем для них обернулось развитие цифровых технологий.

Через пару дней после этого по интернету пронеслась новость « «Прибытие поезда» улучшили с помощью нейросетей — фильм 1896 года теперь можно посмотреть в 4K и 60 кадрах в секунду », и это хороший повод рассказать айтишникам о том же самом.

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

Когда я слышу слова «нейросеть восстановила», я лезу проверять бэкапы
Читать дальше →
Всего голосов 168: ↑166 и ↓2+232
Комментарии259

Новостной агрегатор за две недели

Время на прочтение8 мин
Количество просмотров18K

18 ноября Telegram запустил соревнование по кластеризации данных: Data Clustering Contest. Нужно было за две недели сделать свой новостной агрегатор. Ограничения, которые были установлены в этом соревновании отпугнули кучу людей, но не меня и моих коллег. Я расскажу от том, каким путём мы прошли, какие выборы сделали и с какими сложностями столкнулись. Решение, которое мы заслали в соревнование обрабатывало 1000 документов за 3,5 секунды, занимало 150 Мб, заняло 6 место на публичном голосовании и 3 место в итоговых результатах. Мы допустили много ошибок, из-за которых не заняли место повыше, большинство из них сейчас исправлены. Весь код и все модели можно найти в репозитории. Все скрипты для обучения моделек перенесены на Colab.


Топ из публичного голосования
Топ из публичного голосования

Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии4

Восемь важных привычек программиста

Время на прочтение9 мин
Количество просмотров15K
«Человек может стать человеком только путем воспитания. Он — то, что делает из него воспитание»
И. Кант
На мой взгляд, эта цитата очень подходит программистам. По сути, программист – это ведь не просто специалист, который хорошо разбирается в технических вопросах. Программист – прежде всего, ремесленник, который каждый день создает код, используя свои знания. Создание хорошего кода невозможно без дисциплинированного применения определенных навыков. А это регулярное применение как раз и есть привычки.
Читать дальше →
Всего голосов 26: ↑17 и ↓9+14
Комментарии9

Граф знаний в Поиске: построение из нескольких источников

Время на прочтение7 мин
Количество просмотров13K


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

Большое количество запросов в поиске содержат единственную сущность — объект, про который спрашивает пользователь. Это могут быть запросы про каких-то людей, фильмы, сериалы, музыкальные или географические объекты. Когда пользователь задает такой запрос, в выдаче ему можно показать дополнительную информационную карточку в надежде, что информация в карточке будет интересна пользователю. Карточки украшают выдачу и повышают ее наглядность. С помощью информационных карточек мы даём человеку понять, что он пользуется интеллектуальным сервисом, потому что поисковая система поняла, что он имел в виду, о каком именно объекте спрашивал. Более того, эту интеллектуальность можно расширить, отвечая на запрос пользователя прямо на странице выдачи. Например, в ответ на «что посмотреть в Праге» мы можем сразу показать достопримечательности этого города.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+26
Комментарии10

Ловим деградацию аккумуляторов АА и ААА при токах в 0.3 от емкости

Время на прочтение5 мин
Количество просмотров27K
Два года назад я открыл для себя прекрасный новый мир зарядных устройств для аккумуляторов. И даже, насколько мог, структурировал свои знания в топике “Заряжаем АА, ААА и другое цилиндрическое и аккумуляторное”. После написания текста меня долгое время терзала одна неразрешенная проблема — какими токами правильно заряжать аккумуляторы. Считается разумным заряжать банки токами в 0.1 от емкости. Причем как старые NiCd, так и современные NiMh. Якобы, так мы откладываем деградацию.

Во-первых, такой подход занимает кучу времени — токи слишком низкие, заряд идет долго. Во-вторых, это накладывает ограничения на сами зарядные устройства, так как попробуй еще найти такие зарядки, которые заряжают токами от 100 или даже 50 mA. Та же “народная” и часто рекомендуемая Liitokala Lii-500 умеет только с 300 mA. В третьих, множество зарядок отлавливают момент полного заряда по “-dV”, для чего, по инструкциям, требуется ток в 0.3 от емкости.



Другой подход говорит, что современные NiMh на то, блин, и современные, чтобы заряжать их 0.3 от емкости, 0.5 и даже током равным емкости. В общем, в итоге я решил провести собственный эксперимент и в течении 100 циклов заряжал и разряжал аккумуляторы Ikea Ladda форматов АА и ААА токами в 0.3С, пытаясь увидеть деградацию. Длилось это больше полугода и результаты замеров можно посмотреть под катом.
Читать дальше →
Всего голосов 53: ↑53 и ↓0+53
Комментарии23

Сказ о том, как я автоматизировал квартиру с помощью Node-RED. Часть II

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


Всего голосов 49: ↑46 и ↓3+57
Комментарии23

Как восстановить светодиодную лампу за 2 минуты при минимальных навыках работы с паяльником и знаниях об электронике

Время на прочтение4 мин
Количество просмотров455K

image


Исторически так сложилось, что в моем загородном доме все освещение сделано с помощью светодиодных ламп мощностью 10-11, а в последнее время и 12-13 вт с цоколем Е27. Лампы накаливания на площадь 200 м2 тратили бы слишком много электроэнергии, что не вписывалось бы в концепцию моего энергоэффективного дома с приличным утеплением, твердотопливным дровяным котлом, бесперебойником на автомобильных аккумуляторах и рекуператором. Люминесцентные "энергосберегайки" я невзлюбил с первого взгляда — они часто перегорают, не имеют той энергоэффективности что светодиодные, хрупкие, токсичные при случайном разбивании, мерцают и имеют неприятный спектр.

Читать дальше →
Всего голосов 48: ↑31 и ↓17+29
Комментарии312

Информация

В рейтинге
Не участвует
Откуда
Новосибирск, Новосибирская обл., Россия
Зарегистрирован
Активность