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

User

Send message

Познакомьтесь с анархистами, самостоятельно делающими лекарства

Reading time15 min
Views146K

«Уксусный коллектив четырёх воров» – сеть анархистов, опирающихся на технологии, и бросающих вызов гигантам фарминдустрии при помощи самостоятельно изготовленных лекарств




Впервые я познакомился с Майклом Лофером, когда он швырялся в аудиторию хакерской конференции HOPE (Hackers on Planet Earth), проходящей раз в два года в Нью-Йорке, лекарствами на тысячи долларов.

«Кто-нибудь из присутствующих переживал анафилактический шок, не имея доступа к эпинефрину?» – спросил Лофер у аудитории. Поднялось несколько рук, и Лофер швырнул одному из поднявших руку людей изготовленную в домашних условиях EpiPen [похожее на шариковую ручку устройство для самостоятельных инъекций адреналина / прим. перев.]. «Это одно из первых сделанных нами устройств, — сказал он. – Используйте его с умом».

Немного позлорадствовав насчёт того, как Мартин Шкрели из племени фармацевтических гигантов поднял цены на препарат дараприм, необходимый для людей, страдающих от ВИЧ, с $13 до $750, Лофер посерьёзнел. «Прошло два года, но несмотря на всё произошедшее, стоимость препарата дараприм не поменялась», — сказал он. Он залез в карман и достал пригоршню белых таблеток. «Думаю, надо раздать ещё немного», — сказал Лофер, и швырнул дараприм в аудиторию.
Читать дальше →

Подводные камни HttpClient в .NET

Reading time9 min
Views95K
Продолжая серию статей о «подводных камнях» не могу обойти стороной System.Net.HttpClient, который очень часто используется на практике, но при этом имеет несколько серьезных проблем, которые могут быть сразу не видны.

Достаточно частая проблема в программировании — то, что разработчики сфокусированы только на функциональных возможностях того или иного компонента, при этом совершенно не учитывают очень важную нефункциональную составляющую, которая может влиять на производительность, масштабируемость, легкость восстановления в случае сбоев, безопасность и т.д. Например, тот же HttpClient — вроде бы и элементарный компонент, но есть несколько вопросов: сколько он создает параллельных соединений к серверу, как долго они живут, как он себя поведет, если DNS имя, к которому обращался ранее, будет переключено на другой IP адрес? Попробуем ответить на эти вопросы в статье.
Читать дальше →

Реализация BottomAppBar. Часть 3: Поведения для Android

Reading time8 min
Views9.3K

Реализация BottomAppBar. Часть 3: Поведения для Android


BottomAppBar — это один из новых Android Material компонентов, которые были представлены на Google I/O 2018. Благодаря перемещению Navigation Drawer и меню приложения в нижнюю часть экрана, BottomAppBar радикально меняет внешний вид Android приложений.


В первой и второй частях нашей серии статей про BottomAppBar мы познакомились с BottomAppBar и обсудили его атрибуты. Также мы объяснили, как реализовать Navigation Drawer и меню приложения в рамках BottomAppBar.

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

Мой любимый файл в кодовой базе Chromium

Reading time6 min
Views87K
Код Хромиума весьма обширен, там каждому найдётся что-то по вкусу. А я вот решил рассказать о своём любимом файле в нём (а у вас есть такой?). Этот файл отражает всё: боль, разочарование, надежду, упорство, силу воли, ответственность за чужие провалы и самопожертвование. Я иногда читаю его и плачу и проникаюсь пониманием, какая же огромная часть айсберга скрыта под водой. Это, в общем, даже не файл с кодом. Это файл с конфигом, описывающим баги видеокарт, которые Хромиуму приходится обходить для нормального отображения своих страниц на разных платформах. Вот он: https://cs.chromium.org/chromium/src/gpu/config/gpu_driver_bug_list.json

О чём вообще идёт речь? Давайте вспомним, как работает браузер: вы набираете какой-то адрес в адресной строке, браузер загружает контент и отображает его. Чуть детальнее об этом рассказывает хорошая статья «What happens when you type google.com into your browser and press enter?» (и сразу несколько её переводов на Хабре). В ней одним из последних пунктов упоминается, мол, «а теперь, когда всё готово, отрисовываем картинку на экране». Ага, вот так берём и отрисовываем, конечно.
Читать дальше →

Проектные нормы в микроэлектронике: где на самом деле 7 нанометров в технологии 7 нм?

Reading time12 min
Views128K
Современные микроэлектронные технологии — как «Десять негритят». Стоимость разработки и оборудования так велика, что с каждым новым шагом вперёд кто-то отваливается. После новости об отказе GlobalFoundries от разработки 7 нм их осталось трое: TSMC, Intel и Samsung. А что такое, собственно “проектные нормы” и где там тот самый заветный размер 7 нм? И есть ли он там вообще?


Рисунок 1. Транзистор Fairchild FI-100, 1964 год.

Самые первые серийные МОП-транзисторы вышли на рынок в 1964 году и, как могут увидеть из рисунка искушенные читатели, они почти ничем не отличались от более-менее современных — кроме размера (посмотрите на проволоку для масштаба).
Читать дальше →

10 лет Android: вспомнить всё

Reading time15 min
Views54K


Десять лет назад, 23 сентября 2008-го, состоялся релиз Android 1.0 и был представлен самый первый андроидфон HTC Dream. Сейчас Android — ОС с самой большой пользовательской базой в мире, а тогда всё это выглядело проектом, который легко может провалиться.

По случаю юбилея мы решили вспомнить, как система менялась на протяжении всего этого времени. Поскольку мы проводим конференцию Mobius, Android интересен нам не только как пользователям, но и с точки зрения разработки приложений. Так что вспомнили и важные для разработчиков моменты, в этом нам помог Владимир dzigoro Иванов — участник программного комитета Mobius, пишущий под Android аж с 2009-го.
Читать дальше →

Краткое введение в Клеточную биологию

Reading time4 min
Views18K


Последние пару лет я занимаюсь исследованиями в области биологии растительной клетки, в частности, я занимаюсь вопросом сигналинга и регуляции клеточных процессов. В свободное время балуюсь биоинформатикой, классическими ML задачами, и спортивной биомеханикой. Этой весной я, по счастливой случайности выплыл в реальный мир и пообщался с реальными людьми, что позволило мне понять, как мало обычный человек знает о том, как устроен его организм и мир вокруг. Это и натолкнуло меня на мысль написать цикл статей о том как устроен наш организм, как работают клетки и как наконец хранится информация в ДНК (подробные описания встречаются, увы, крайне редко, а ведь для понимания работы ДНК не хватает знания о 4 нуклеотидах). Но начну я пожалуй с самого простого, с состава клеток (для начала в очень упрощенной форме).

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

Пара иногда востребованных хитростей при работе с git

Reading time6 min
Views26K

Хочу поделиться рецептами решения пары задач, которые иногда возникают при работе с git, и которые при этом не "прямо совсем очевидны".


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


Итак...

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

Пролог точки Кельвина

Reading time7 min
Views32K
Позвольте представиться. Меня зовут Роберт, мне 34 года, и я – ниочем. Да, я знаю, что правильно писать «ни о чем», но очень хочется превратить это слово в существительное.

Я – ниочем, жизнь моя – ниочем, семья моя – ниочем, работа – ниочем, страна – ниочем. И будущее мое – ниочем.

Хотя, наверное, неправильно называть оставшийся мне отрезок ниочемной жизни красивым словом «будущее». Это не будущее, это просто отрезок на координатной оси. Тридцать четыре отметки на шкале уже пройдено, осталось… Не знаю, сколько. А какая разница?
Читать дальше →

Чтобы избавиться от боли в спине вам, возможно, придётся сидеть по-другому

Reading time7 min
Views355K


Когда я сижу, у меня болит спина.

Это происходит уже последние 10 лет. И неважно, где я нахожусь – на работе, в ресторане, даже дома на диване. Моя поясница кричит: «Прекрати сидеть!»

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

Я ходила к врачам, хирургам-ортопедам и специалистам по боли. Я освоила пилатес, увеличила свою гибкость и силу мускулов. В какой-то момент мой пресс стал таким сильным, что муж стал называть его «дощечкой».

Эти средства немного помогли – сначала. Но боль так и не ушла. Поэтому несколько лет назад я решила принять это как должное: сидячее положение причиняет мне боль, и так будет всегда.

Использование аккумулятора от iPhone при разработке носимой электроники

Reading time8 min
Views57K
Приветствую, читатель.

Довольно часто у меня возникает задача разработки портативных устройств с питанием от одной ячейки Li-ion аккумулятора. И, если заказчика обычно это не беспокоит, то у меня, как у опытного инженера, при виде такого ТЗ по спине пробегает дрожь. Это связано с тем, что оценка уровня заряда аккумулятора, а также оставшегося времени работы — это очень непростая задача, хотя на первый взгляд может показаться иначе.



Есть несколько вариантов действия в таком случае, о них поговорим ниже.
Читать дальше →

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

Reading time5 min
Views223K
На Хабре периодически появляются обзоры курсов по машинному обучению. Но такие статьи чаще добавляют в закладки, чем проходят сами курсы. Причины для этого разные: курсы на английском языке, требуют уверенного знания матана или специфичных фреймворков (либо наоборот не описаны начальные знания, необходимые для прохождения курса), находятся на других сайтах и требуют регистрации, имеют расписание, домашнюю работу и тяжело сочетаются с трудовыми буднями. Всё это мешает уже сейчас с нуля начать погружаться в мир машинного обучения со своей собственной скоростью, ровно до того уровня, который интересен и пропускать при этом неинтересные разделы.

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

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


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

Моё разочарование в софте

Reading time11 min
Views394K

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


Я занимаюсь программированием уже 15 лет. Но в последнее время при разработке не принято думать об эффективности, простоте и совершенстве: вплоть до того, что мне становится грустно за свою карьеру и за IT-отрасль в целом.

Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.

Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений.

Храним токены авторизации безопасно

Reading time6 min
Views41K
Привет %username%. Меня, независимо от темы доклада, на конференциях постоянно спрашивают один и тот же вопрос — «как безопасно хранить токены на устройстве пользователя?». Обычно я стараюсь ответить, но время не позволяет полностью раскрыть тему. Этой статьей я хочу полностью закрыть этот вопрос.
Читать дальше →

Прямой эфир: СI/CD в iOS и Android

Reading time3 min
Views7.2K

Всем привет! Меня зовут Дима Воронин, я архитектор мобильных приложений в Авито, занимаюсь инфраструктурой тестирования, CI. 27 сентября на нашем ютуб-канале мы проведем прямой эфир и обсудим continuous integration и continuous delivery в iOS и Android. Вещаем прямиком из нашего офиса. Поговорим об основах: зачем нужны CI/CD и как их настраивать, коснемся UI-тестирования и feature toggling, а дальше — глубже и интереснее. Сами не знаем, куда заведет разговор. В дискуссии будут участвовать эксперты из Яндекса, Альфа-Банка и Авито.


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


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

Я врач неотложной помощи, и я хочу поговорить о новой электрокардиограмме Apple Watch

Reading time4 min
Views213K


Перевод поста с Reddit

Я врач неотложной помощи, и каждый день мне приходится читать и интерпретировать электрокардиограммы (ЭКГ). Я хочу поговорить о новой функции Apple Watch для записи ЭКГ, поскольку с ней связано множество недоразумений. Эта новая функция Apple Watch довольно удобна, и многие люди по понятным причинам весьма ей рады, но у неё есть свои ограничения.

Также я хотел бы дать базовое объяснение технологии ЭКГ.
Читать дальше →

Превентивный интерфейс: редизайн страницы поисковой выдачи Google по суицидальным запросам

Reading time12 min
Views16K

Будучи студентом колледжа, я оказался тем самым одним из пяти, который подвержен тревожному расстройству и депрессии. Отчаянное стремление хорошо учиться, поиск работы, отношения, просто ощущение, что я «вступаю во взрослую жизнь» — все это слилось в лавину забот, которые поглотили меня с головой (оглядываясь назад, я понимаю, что многие из них были пустячными).

Однажды в первый год учебы у меня выдался особенно напряженный день — один из тех дней, когда расписание уже и так забито под завязку, а новые проблемы и встречи все прибывают и прибывают. В ту ночь я лежал в постели совершенно изможденный, но не мог сомкнуть глаз из-за паранойи. Через три часа, так и не сумев заснуть, я встал с кровати и загуглил: «простые способы умереть».

И вот что я увидел:
Читать дальше →

Пицца аля-semi-supervised

Reading time6 min
Views8.5K
В этой статье я бы хотел рассказать про некоторые приемы работы с данными при обучении модели. В частности, как натянуть сегментацию объектов на ббоксы, а также как обучить модель и получить разметку датасета, разметив всего несколько сэмплов.

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

Как Discord одновременно обслуживает 2,5 млн голосовых чатов с помощью WebRTC

Reading time8 min
Views31K


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

В статье рассматриваются различных технологии, которые использует Discord для аудио/видеочатов.

Для ясности всю группу пользователей и каналов мы будем называть «группа» (guild) — в клиенте они называются «серверами». Вместо этого здесь термин «сервер» относится к нашей серверной инфраструктуре.
Читать дальше →

Спуск на воду элементов морских платформ. Часть 1

Reading time6 min
Views15K
Доброго времени суток, уважаемые хабровчане.

Беглый поиск по Хабру по темам «морские платформы и судостроение» даёт, в основном, всякие заМАСКированные морские старты и утопление дата-центров. Предлагаю эту тему немного разбавить.


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

Information

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