Search
Write a publication
Pull to refresh
27
0
Михаил Мельник @mike114

User

Send message

Не нервничай, не спеши, не перебивай: история одной трагедии

Reading time15 min
Views138K
На этой неделе исполнилось 42 года со дня ужасного террористического акта на Канарских островах, который привел к гибели почти 600 человек. Нет, сам взрыв бомбы, устроенный боевиком из Движения за независимость Канарских островов (организация на сегодняшний день не существует; автор данной статьи решительно против любых форм терроризма) привел только к ранениям 8 человек. Однако череда последующих событий, включающих технические сбои, неодолимые внешние факторы, недочеты в управлении персоналом, человеческую психологию в стрессовых условиях и просто грубые нарушения правил, сложилась в такой клубок невероятных трагических совпадений, что заслуживает самого внимательного анализа.


Читать дальше →

Не ешь аспирин

Reading time13 min
Views80K
Жил на свете такой человек – Стивен Кови. Однажды он решил написать книгу о личной эффективности. Теперь эту книгу знают все, она называется «Семь навыков высокоэффективных людей». Она считается классикой, постоянно переиздается во всех мыслимых странах мира, за годы существования продано несколько десятков миллионов экземпляров. Сам Стивен Кови настолько разобрался в личной эффективности, что его личными консультациями не преминули воспользоваться несколько президентов, в т.ч. США.

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

Но я не про книгу хочу поговорить, а про неожиданное открытие, которое сделал Стивен Кови, когда ее писал. Он это явление назвал «социальный аспирин».
Читать дальше →

Триллион маленьких шинглов

Reading time14 min
Views19K


Источник изображения:www.nikonsmallworld.com


Антиплагиат – это специализированный поисковик, о чем уже писали ранее. А любому поисковику, как ни крути, чтобы работать быстро, нужен свой индекс, который учитывает все особенности области поиска. В своей первой статье на Хабре я расскажу о текущей реализации нашего поискового индекса, истории его развития и причинах выбора того или иного решения. Эффективные алгоритмы на .NET — это не миф, а жесткая и продуктивная реальность. Мы погрузимся в мир хеширования, побитового сжатия и многоуровневых кешей с приоритетами. Что делать, если нужен поиск быстрее, чем за O(1)?


Если кто-то еще не знает, где на этой картинке шинглы, добро пожаловать…


Читать полностью

Chrome Audit на 500: Часть 1. Лендинг

Reading time16 min
Views22K
В инструментах разработчика браузера хром есть вкладка «Audit». На ней расположился инструмент который называется Lighthouse, служит он для анализа насколько хорошо сделано веб приложение.

image

Недавно я решил протестировать одно приложение и ужаснулся результатам. Сразу по нескольким разделам оценка находилась в красной зоне. Я принялся изучать что же с моим приложением не то. И нашел в результатах анализа большой список очень полезных рекомендаций, выполнил их и получил 500 баллов. В результате приложение стало запускаться значительно быстрее, а я пересмотрел несколько концепций относительно метода построения приложений. А в этой статье я хочу поделиться самыми интересными решениями к которым я пришел.
Читать дальше →

Покупки в Android приложении — Play Billing Library

Reading time4 min
Views32K
image

И как это до сих пор на Хабре нет статьи об этом? Не дело, надо исправлять.

Есть 2 способа добавить In-App покупки в Android-приложение — старый и новый. До 2017 года все пользовались библиотекой от anjlab, но с июня 2017 года ситуация изменилась, Google выпустила собственную библиотеку для внутренних покупок и подписок — Play Billing Library. Сейчас последний считается стандартом.
Читать дальше →

Радиация: источники

Reading time17 min
Views47K
В предыдущем посте я рассказал о единицах измерения ионизирующей радиации. А теперь поговорим об источниках излучения.

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


Читать дальше →

Аналитика девушек с низкой социальной ответственностью (Заряжено Power BI, Qlik Sense, Tableau)

Reading time6 min
Views126K

Кто мы такие и какие были предпосылки проекта?


Добрый день, меня зовут Лазарев Владимир, я руководитель BI-интегратора Аналитикс Групп. Мы делаем для бизнеса наглядные отчёты по маркетингу, продажам, финансам, логистике на базе ведущих аналитических платформ Qlik Sense, Power BI, Tableau.

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

И желательно, чтобы данные были интересными… :-)

Откуда появилась идея сделать этот отчёт?


Несколько лет назад Высшая школа экономики опубликовала статью о формировании цен на услуги девушек низкой социальной ответственности в Москве. Это были агрегированные данные анализа 1.800 анкет. Нам показались интересными данные, которые стоят за этими выводами социологов ВШЭ. И мы решили проработать эту тематику.
Читать дальше →

Domain Driven Design: Value Objects и Entity Framework Core на практике

Reading time12 min
Views36K
На Хабре и не только написано приличное количество статей про Domain Driven Design — как в общем про архитектуру, так и с примерами на .Net. Но при этом зачастую слабо упоминается такая важнейшая часть этой архитектуры, как Value Objects.

В этой статье я постараюсь раскрыть нюансы реализации Value Objects в .Net Core с использованием Entity Framework Core.

Под катом много кода.
Читать дальше →

7 полезных советов для тех, кто использует Room

Reading time7 min
Views12K

7 полезных советов для тех, кто использует Room


Room — это уровень абстракции поверх SQLite, который упрощает организацию хранения данных. Если вы ещё мало знакомы с Room, то посмотрите эту вводную статью:


7 шагов к использованию Room. Пошаговое руководство по миграции приложения на Room

А в этой статье я хотел бы поделиться несколькими советами о том, как максимально эффективно использовать Room.

Читать дальше →

Coroutines :: опыт практического применения

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

Статья подготовлена по материалам моего доклада на MBLT DEV 2018, в конце поста — линк на видеозапись.

Последовательный стиль


Кастомные корутины в Unity с преферансом и куртизанками

Reading time10 min
Views11K


Вы уже настолько круты, что вертите корутинами вокруг всех осей одновременно, от одного вашего взгляда они выполняют yield break и прячутся за полотно IDE. Простые обертки — давно пройденный этап.


Вы настолько хорошо умеете их готовить, что могли бы получить звезду Мишлена (а то и две), будь у вас свой ресторан. Конечно! Никто не останется равнодушным, отведав ваш Буйабес с корутинным соусом.


Уже целую неделю код в проде не падает! Обертки, callback’и и методы Start/Stop Coroutine — удел холопов. Вам нужно больше контроля и свободы действий. Вы готовы подняться на следующую ступеньку (но не бросить корутины, конечно).


Если в этих строках вы узнали себя, — добро пожаловать под кат.


Читать дальше →

Deep Learning — не только котики на мобилках или как мы производим дефектовку тележек локомотивов

Reading time5 min
Views24K

Буквально пару дней назад компания Aurorai передала в опытную эксплуатация систему распознавания дефектов и контроля состояния тележек для локомотивов Ермак. Задача нетривиальная и очень интересная, первым этапом которой было предложено оценить состояние тормозных колодок и ширины бандажа. Нам удалось решить задачу с точность до 1мм при скорости локоматива до 30 км/ч! Хочу отметить, что благодаря специфики можно было использовать “TTA (test-time augmentation)” – яркий пример kaggle-style хака из соревнований, который плохо ложится на прод и семантическую сегментацию на базе se_resnext50 encoder, которая даёт поразительный по точности результат в предсказании маски.

Как сделать мобильную игру командой из 2 человек с нулевым бюджетом и получить фичеринг в Google Play

Reading time6 min
Views12K


Мы с мужем давно хотели делать игры вместе, но времени на это никогда не хватало. Мы оба работали: он — UI-программистом в геймдеве, я — продакт-менеджером в social media, затем в финтехе, и сил на собственную игру не оставалось.

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

Как мы придумывали


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

Мы сами довольно много играем и всегда отмечаем то, что нам нравится, и что — не очень. Основной момент, который нас раздражает в современных мобильных казуалках — это однообразие их механик, обилие попапов с предложениями что-нибудь купить и длинными описаниями, а также перенасыщенный UI с кучей каких-то плашек, бабблов и объёмных шрифтов. Поэтому в нашей игре мы постарались сделать всё наоборот.

Инженеры из WFIRM изобрели биопринтер, печатающий кожу прямо на ране

Reading time2 min
Views11K


Крупный план сопла кожного биопринтера, разработанного в Институте Регенеративной Медицины Уэйк Форест
Хотя появление трёхмерной печати обычно считается революцией в промышленности, оно произвело революцию и в медицине. Чтобы помочь вылечить большие раны, которые обычно требуют пересадки кожи, инженеры из Wake Forest Institute for Regenerative Medicine (WFIRM) разработали новый биопринтер, который может печатать два слоя собственной кожи пациента прямо на рану.
Трёхмерная печать кожи была в разработке в течение нескольких лет. В 2014 году был представлен прототип машины, которая могла печатать большие куски человеческой кожи, которые затем можно было разрезать и приклеить пациенту на рану. За прошедшие годы технология развилась в более технологичные машины и, в конечном итоге, портативное устройство, которое работает как диспенсер клейкой ленты.
Читать дальше →

Красивые точные часы из старого смартфона

Reading time25 min
Views91K


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

Я расскажу о некоторых выясненных особенностях сихронизации времени в ОС Андроид, а также о разных электрических хитростях в системе питания смартфона. Опишу пример схемы на несложных аналоговых компонентах, которая осуществляет автоматическое резервное питание. И конечно речь будет о программной части андроид – как и с помощью чего можно самому сделать из смартфона красивые часы на любой вкус.
Читать дальше →

Долетит ли «Starship» до Марса?

Reading time7 min
Views29K
За почти 60 лет освоения космоса проектов полета к Марсу и другим планетам было много и разной степени проработанности. Но проект SpaceX «Starship» (Звездолет) выделяется среди них по следующим причинам:

  1. Полностью частная инициатива и финансирование, по крайней мере пока.
  2. Несмотря на предыдущий пункт, высокая степень готовности. Одна из ключевых технологий (многоразовая жидкостная ступень) уже освоена, ведется строительство прототипа, прошел испытание двигатель.
  3. Амбициозность. Не просто слетать на Марс, а начать строить постоянную колонию. И корабль в перспективе может возить за сотню человек. И не только на Марс.
  4. Отсутствие ядерных, плазменных и гиперпространственных двигателей. Только ЖРД только хардкор.

Почему «Звездолет» сможет обходиться одними ЖРД, как обычно, под катом.
Читать дальше →

Смотрю и слушаю где хочу. Интегрируем Chromecast в Android-приложение

Reading time12 min
Views15K


На улице я часто слушаю аудиокниги и подкасты со смартфона. Когда прихожу домой, мне хочется продолжить слушать их на Android TV или Google Home. Но далеко не все приложения поддерживают Chromecast. А было бы удобно.


По статистике Google за последние 3 года, количество девайсов на Android TV увеличилось в 4 раза, а число партнеров-производителей уже превысило сотню: «умные» телевизоры, колонки, TV-приставки. Все они поддерживают Chromecast. Но в маркете ещё много приложений, которым явно не хватает интеграции с ним.


В этой статье я хочу поделиться своим опытом интеграции Chromecast в Android-приложение для воспроизведения медиа-контента.

Читать дальше →

Помогаем Queryable Provider разобраться с интерполированными строками

Reading time5 min
Views7.4K

Тонкости Queryable Provider


Queryable Provider не справляется вот с этим:


 var result = _context.Humans
                      .Select(x => $"Name: {x.Name}  Age: {x.Age}")
                      .Where(x => x != "")
                      .ToList();

Он не справится с любым выражением, которое будет использовать интерполированную строку, но без трудностей разберет такое:


 var result = _context.Humans
                      .Select(x => "Name " +  x.Name + " Age " + x.Age)
                      .Where(x => x != "")
                      .ToList();

Особенно болезненно править баги после включение ClientEvaluation(исключениe при вычислении на клиенте), все профайлы автомаппера должны быть подвергнуты жесткому анализу, на поиск этой самой интерполяции. Давайте разберемся в чем дело и предложим свое решение проблемы

Читать дальше →

Древности: двадцатилетняя фотокамера на дискетах

Reading time6 min
Views37K
В 1998 году я безнадежно мечтал про два гаджета: карманный компьютер (с клавиатурой, тогда других почти и не было) и цифровую фотокамеру. Купить ни то, ни другое шансов у меня не было, но был план, и в отношении фотокамеры выбор безусловно был в пользу устройств, пишущих цифровые фотографии на дискеты. Почему? Очень просто: карты памяти были дорогие, а дискеты — вот они, в количествах. Плюс обеспечивалась совместимость с любым компьютером без всяких проводов.

Преимущество моего винтажного увлечения в том, что все мечты сбываются, надо лишь немного (лет десять-двадцать) подождать. Недавно я совсем недорого приобрел устройство двадцатилетней давности — цифровую фотокамеру Sony Digital Mavica MVC-FD71 с 0,3-мегапиксельной матрицей и дискетным приводом. Она и в 1998 году была не самым лучшим представителем нового поколения фотоаппаратов, но из 2019 года принципиальной разницы нет. Ожидая что-то совсем непригодное к использованию в современных условиях, я был приятно удивлен.
Читать дальше →

Information

Rating
Does not participate
Location
New South Wales, Австралия
Date of birth
Registered
Activity