Как стать автором
Поиск
Написать публикацию
Обновить
144
0
Ярослав Сергиенко @pallada92

Визуализация данных и frontend в ИСИЭЗ НИУ ВШЭ

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

Гугология (это не опечатка) для программистов

Время на прочтение4 мин
Количество просмотров30K
О математике (так, чтобы было интересно) писать сложнее, чем о физике. Однако я надеюсь, что вы дочитаете хотя бы до примеров сумасшедших программ на C.

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

Исключения в Python теперь считаются анти-паттерном

Время на прочтение9 мин
Количество просмотров58K
Что такое исключения? Из названия понятно — они возникают, когда в программе происходит исключительная ситуация. Вы спросите, почему исключения — анти-паттерн, и как они вообще относятся к типизации? Я попробовал разобраться, и теперь хочу обсудить это с вами, хабражители.

Проблемы исключений


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

Исключения трудно заметить


Существует два типа исключений: «явные» создаются при помощи вызова raise прямо в коде, который вы читаете; «скрытые» запрятаны в используемых функциях, классах, методах.

Проблема в том, что «скрытые» исключения и правда трудно заметить. Покажу на примере чистой функции:

def divide(first: float, second: float) -> float:
    return first / second

Функция просто делит одно число на другое, возвращая float. Типы проверены и можно запустить что-то такое:  

result = divide(1, 0)
print('x / y = ', result)

Заметили? На самом деле до print исполнение программы никогда не дойдет, потому что деление 1 на 0 – невозможная операция, она вызовет ZeroDivisionError. Да, такой код безопасен с точки зрения типов, но его все равно нельзя использовать.
Читать дальше →

Киберпреступники пять месяцев контролировали ASUS Live Update

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


Как сообщает «Лаборатория Касперского», хакеры из APT-группировки ShadowHammer 5 месяцев контролировали сервис обновлений ASUS Live Update и заразили более полумиллиона компьютеров по всему миру.
Читать дальше →

Майнинг еды или «Перекресток» глазами хакера

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

Введение


Доброго времени суток, друзья. Кто читал мои предыдущие статьи, должны понимать, что это будет еще один увлекательный взлом. Вот только взламывать мы будем магазин еды. Скажу сразу, что это не просто взлом. Мы не будем использовать дыры в коде системе. Мы возьмем эту систему и просто посмотрим на нее с другой стороны. Иначе говоря: «глазами хакера».

Супермаркет «Перекресток» позиционирует себя как интернет-магазин продуктов. Возможно, это очень умно и удобно в наше время, когда можно заказать продукты, сидя дома на диване. Но все это выглядит слишком гладко, чтобы стать реалией. Везде есть минусы, какие-то недочеты и, собрав их воедино, мы получаем огромную дыру в системе…

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

Потоки Redis как чистая структура данных

Время на прочтение6 мин
Количество просмотров15K
Новая структура данных Redis 5 под названием «потоки» (streams) вызвала живой интерес в сообществе. Как-нибудь я поговорю с теми, кто использует потоки в продакшне, и напишу об этом. Но сейчас хочу рассмотреть немного другую тему. Мне начинает казаться, что многие представляют потоки неким сюрреалистичным инструментом для решения ужасно трудных задач. Действительно, эта структура данных *также* осуществляет обмен сообщениями, но будет невероятным упрощением считать, что функциональность Redis Streams ограничена только этим.

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

Микроэлектроника для школьников от самого истока

Время на прочтение5 мин
Количество просмотров29K
Несколько лет назад довелось мне попробовать свои силы в заманивании пытливых отроков в разработку микроэлектроники. А дальше было, как в известной пословице: «Коготок увяз — птичке пропасть!» Остановиться уже не смог. Хочу поделиться с общественностью этим опытом, возможно, другие инженеры-электронщики тоже захотят устроить что-то подобное. Грамотнее народ – лучше жизнь.

Началось все с того, что мы почти случайно договорились с Межрегиональной компьютерной школой в подмосковной Дубне о проведении для их слушателей чего-то вроде лекции о проектировании микропроцессоров. Тема эта известна мне не понаслышке, два десятка лет в ней варюсь. Довелось поработать и в отечественных, и в зарубежных фирмах. Ну и почему бы подросткам не рассказать, в чем состоит работа инженеров, выдумывающих внутренности «процов». Это не среди таких же зануд на конференции выступать — перед детьми просто оттарабанить текст не получится. Если им будет совсем не интересно, то плевать им на почетные седины, блистательные лысины и надутые щеки. Будут зевать, не стесняясь, и ерзать на стульях в надежде сбежать поскорее. Но есть и плюсы — всякие вольности, шутки, неточности и упрощения не вызовут негодования и требований сжечь еретика-докладчика. В общем, судя по количеству вопросов в процессе общения, первый блин вышел не комом, стало интересно двигаться дальше.

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

Эффект хипстера: почему нонконформисты часто выглядят одинаково

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

Наука о сложности объясняет, почему попытки отвергнуть общепринятое просто приводят к новой согласованности




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

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

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

Следим за кошками и собаками — GPS-трекер Tractive

Время на прочтение6 мин
Количество просмотров19K
Знакомьтесь: это — Драник (сокр. от Дранина).



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

Что ж, на этом столь нужный на Хабре обзор кота закончен. А под катом мы коротко расскажем про Tractive.
Читать дальше →

Первый программируемый компьютер на ДНК

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

Экспериментальный протокол и реализация алгоритма сортировки на программируемом ДНК-компьютере

Учёные давно ведут эксперименты с хранением информации в ДНК и с обработкой этой информации. Например, учёные из Вашингтонского университета и Microsoft недавно построили «первый в мире DNA-винчестер» (фото). Эта конструкция способна впервые обеспечить запись и считывание информации в ДНК-хранилище без участия человека. Весьма значительное достижение, если учесть, что в ДНК можно записывать информацию с плотностью 2,2 петабайта на грамм. ДНК — компактный контейнер с плотностью записи в тысячи раз больше, чем у существующих носителей.

Однако у всех существующих ДНК-систем есть проблема: всё это уникальные проприетарные разработки, у которых напрочь отсутствует какая бы ни было гибкость. Если сравнить с кремниевой техникой, то каждая группа исследователей с нуля разрабатывает новую архитектуру компьютера, для которого нужно писать новый софт. Но ситуация может измениться благодаря первому программируемому ДНК-компьютеру, разработанному в Калифорнийском университете в Дейвисе (UC Davis), Калифорнийского технологического института и Университета Мейнут.
Читать дальше →

Как я написал и издал книгу об МГУ, или 12 критических ошибок

Время на прочтение20 мин
Количество просмотров28K
Три года назад я решил сделать книгу о высотке МГУ на Ленинских горах — большую, иллюстрированную, с привлечением выпускников и т.п. История этой работы — настоящее кино (местами фарс, местами хоррор) с кучей драматических поворотов. Сверхудачный краудфандинг, широкая аудитория, множество энтузиастов, полный провал с планированием, собирание всех возможных грабель и в итоге абсолютный факап по бюджету и срокам. В общем, классическая история «управления проектами» — поэтому я и решил рассказать ее здесь.



TL;DR – если хотите написать нон-фикшен ради денег – сразу забудьте. Но если душа просит приключений, жизнь кажется слишком простой — дерзайте! Приобретете массу ненужных связей и откроете в себе уйму недостатков. Зато будет весело :-)

Да, и это лонгрид; примерное время чтения – 20 минут.
Читать дальше →

Любительская голография — начало пути

Время на прочтение13 мин
Количество просмотров62K
Вторая часть про галогенсеребряные фотоматериалы.

Хочу рассказать об одном из своих интересов – оптической голографии. Нет, это про не те голограммы, что показаны в «Звёздных войнах», или видны в пирамидках на экранах мобильных телефонов, не про проекцию на плёнке и т. п. А то, о чём рассказывает Википедия в соответствующей статье, а ещё лучше в англоязычном варианте (это касается всех ссылок на Википедию по тексту). Не буду вдаваться в технические подробности и дебри уравнений (происходящие процессы очень сложны, и по теме написаны десятки объёмных монографий и сотни статей), а попробую очень кратко рассказать, что такое оптическая голография и чем она отличается от фотографии в практическом плане, что в ней такого интересного и каким образом можно в домашних условиях изготовить первую настоящую голограмму. Хоть процесс записи голограмм и похож на классический аналоговый фотографический процесс, но всё же он имеет ряд заметных отличий: другие оптические схемы, не нужен объектив, и соответственно нет необходимости в фокусировке, используются фотографические материалы со значительно большим разрешением, монохроматические источники излучения, принципиальное отсутствие негатива и позитива, строгие требования к отсутствию вибраций, иные правила композиции сцены и мн. др.


Iodide: интерактивный научный редактор от Mozilla

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

Изучение аттрактора Лоренца, а затем редактирование кода в Iodide

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

Но на сегодняшний день очень немногие научные инструменты используют полный коммуникационный потенциал современных браузеров. Результаты дата-майнинга не очень удобно просматривать в браузере. Поэтому сегодня Mozilla представляет Iodide — экспериментальный инструмент, который помогает учёным составлять красивые интерактивные документы с использованием веб-технологий, всё в рамках итеративного рабочего процесса, который многим знаком.

Coding the Art: как мы генерируем графику и анимацию в дизайн-проектах

Время на прочтение2 мин
Количество просмотров17K
В JetBrains мы любим экспериментировать. Результаты наших экспериментов не всегда становятся достоянием широкой публики, но кое-чем мы готовы поделиться с вами прямо сейчас.

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

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

Апокалипсис отменяется

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

Сначала цитата (очень длинная, но очень важная, которую привожу в сокращении):

«Вступление мира в новую эру привело к тому, что он стал чрезвычайно многолюдным и торопливым. Наиболее активное развитие происходило в крупных городах, таких как Лондон, Париж, Нью-Йорк и Чикаго… причем половина прироста произошла в последние двадцать лет столетия. Однако по мере того, как эти огромные массы населения (вместе с принадлежащей им собственностью) перемещались с одного места на другое, возникла проблема. Основное средство передвижения послужило причиной возникновения целого ряда побочных явлений, известных среди экономистов как отрицательные внешние факторы: к ним относятся дорожные пробки, чрезмерно высокие расценки по страхованию и слишком большое количество дорожных происшествий, повлекших за собой жертвы… Возникла проблема загрязнения воздуха токсичными выбросами, угрожающими как окружающей среде, так и здоровью людей.

Вы думаете, мы ведем речь об автомобилях? Ничего подобного. Мы говорим о лошадях… На рубеже XX века в одном только Нью-Йорке работало около 200 тысяч лошадей — примерно одна лошадь на каждые 17 человек…
Читать дальше →

До микросервисов нужно дорасти, а не начинать с них

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


Предлагаю поговорить о том, когда нужны микросервисы, а когда нет. Спойлер: это зависит от проекта.

У нас, разработчиков программного обеспечения, довольно интересная профессия. Мы можем спокойно кодировать целыми днями, а затем прочитать статью о чём-то — и она подвергает сомнению всю нашу работу, потому что какой-нибудь Netflix сказал XYZ.

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

Мольберт для программиста микроконтроллеров

Время на прочтение3 мин
Количество просмотров19K
Доброго времени суток. В этой небольшой статье я хочу рассказать о том, как мне пришла в голову идея изготовить большую макетную доску и о том, как я эту идею реализовал. Началось всё… Да в общем, неважно. Суть идеи такова: сделать очень большую макетную доску на основе макетных плат. Получилось вот такое:

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

Подборка @pythonetc, февраль 2019

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

Это девятая подборка советов про Python и программирование из моего авторского канала @pythonetc.

Предыдущие подборки.

Сравнение структур


Иногда при тестировании бывает нужно сравнить сложные структуры, игнорируя некоторые значения. Обычно это можно сделать, сравнивая конкретные значения из такой структуры:
Читать дальше →

Learn OpenGL. Урок 6.1. PBR или Физически-корректный рендеринг. Теория

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

Физически-корректный рендеринг


PBR, или физически-корректный рендеринг (physically-based rendering) это набор техник визуализации, в основе которых лежит теория, довольно хорошо согласующаяся с реальной теорией распространения света. Поскольку целью PBR является физически достоверная имитация света, он выглядит гораздо более реалистичным по сравнению с использованными нами ранее моделями освещения Фонга и Блинна-Фонга. Он не только лучше выглядит, но и дает неплохое приближение к реальной физике, что позволяет нам (и в частности художникам) создавать материалы, основанные на физических свойствах поверхностей, не прибегая к дешевым трюкам дабы заставить освещение выглядеть реалистично. Главным преимуществом такого подхода является то, что создаваемые нами материалы будут выглядеть как задумано независимо от условий освещения, чего нельзя сказать о других, не PBR подходах.

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

Как сделать так, чтобы вашу англоязычную статью для Хабра прочитали десятки тысяч человек: 3 простых совета

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


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

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

Как погрешность превращается в грех

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

Одна городская легенда гласит, что создатель сахарных пакетиков-палочек повесился, узнав, что потребители не разламывают их пополам над чашкой, а аккуратно отрывают кончик. Это, разумеется, не так, но если следовать такой логике, то один британский любитель пива "Гиннесс" по имени Уильям Госсет должен был не просто повеситься, но и своим вращением в гробу уже пробурить Землю до самого центра. А все потому, что его знаковое изобретение, опубликованное под псевдонимом Стьюдент, уже десятки лет используют катастрофически неправильно.


image


Рисунок выше приведен из книги С. Гланц. Медико-биологическая статистика. Пер. с англ. — М., Практика, 1998. — 459 с. Мне неизвестно, проверял ли кто-нибудь на статистические ошибки расчеты для этой диаграммы. Однако и ряд современных статей по теме, и мой собственный опыт говорят о том, что t-критерий Стьюдента остается самым известным, и оттого — самым популярным в применении, по поводу и без.

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

Информация

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