Как стать автором
Обновить
142
0
Ярослав Сергиенко @pallada92

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

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

Природа – не репозиторий, а мастерская. Еще раз о сходстве и отличии ДНК и программного кода

Время на прочтение5 мин
Количество просмотров7.2K
Технологические достижения начала XXI века, в частности, расшифровка генома человека и общее понимание принципов редактирования генома, вполне естественно побуждают сравнивать синтетическую биологию с программированием. Действительно, онтогенез и биохимия во многом сравнимы с программируемыми процессами, так как подчиняются внутренней логике, выполняются пошагово, зависят от контекста, реагируют на внешнее вмешательство (редактируются). Соблазнительно сравнить четырехбуквенный код ДНК с двоичным машинным кодом.

Тем не менее, в этой статье мы предположим, что такие аналогии являются более смелыми, чем точными, и попробуем рассмотреть, почему ДНК может считаться субстратом для полноценного генетического программирования, но сама по себе достаточно далека от языка программирования и языка как такового.
Читать дальше →
Всего голосов 13: ↑10 и ↓3+12
Комментарии33

Самые маленькие Arduino для ваших мини-проектов + примеры самих проектов

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

Если вам нужны маленькие Arduino-платы для DIY-проектов, эта статья как раз кстати. Вы хотите создать носимый девайс на базе Arduino, но оригинальная плата слишком большая? Или есть на примете другой проект, для которого нужна маленькая плата с большим количеством возможностей?

Эта подборка поможет выбрать то, что нужно. В ней собраны самые маленькие Arduino платы с разными характеристиками. Их можно использовать для разработки самых разных проектов — от роботов до носимых устройств. Есть и примеры проектов.
Всего голосов 21: ↑19 и ↓2+22
Комментарии23

Производительность TypeScript

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

Есть лёгкие способы конфигурирования TypeScript для ускорения компиляции и редактирования. И чем раньше их внедрить, тем лучше. Также есть ещё некоторые популярные подходы к изучению причин медленной компиляции и редактирования, некоторые исправления и распространенные способы помочь TypeScript-команде в расследовании проблем.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии4

Гениальность микропроцессоров RISC-V

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

Войны между RISC и CISC, проходившие в конце 1990-х, уже давно отгремели, и сегодня считается, что разница между RISC и CISC совершенно не имеет значения. Многие заявляют, что наборы команд несущественны.

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

Недавно я подробнее изучил информацию об архитектуре набора команд (instruction-set architecture, ISA) RISC-V и вот некоторые из аспектов, которые по-настоящему впечатлили меня в ISA RISC-V:

  1. Это небольшой и простой в изучении набор команд RISC. Очень предпочтителен для тех, кому интересно получать знания о микропроцессорах.
  2. Благодаря своей простоте, открытости и связи с университетскими профессорами он с большой вероятностью будет доминировать как архитектура, выбираемая для обучения процессорам в вузах.
  3. Его продуманная структура позволяет разработчикам CPU создавать высокопроизводительные микропроцессоры на основе ISA RISC-V.
  4. Благодаря отсутсвию лицензионных отчислений и нацеленности на простую аппаратную реализацию увлечённый любитель может, в принципе, создать за приемлемое время собственную конструкцию процессора RISC-V.
Читать дальше →
Всего голосов 70: ↑70 и ↓0+70
Комментарии41

Современные накопители очень быстры, но плохие API это не учитывают

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


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

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

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

Вот самые распространённые примеры таких заблуждений:

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

Однако если изучить спецификации современных NVMe-устройств, то мы увидим, что даже в потребительском классе это устройства с задержками, измеряемыми в единицах микросекунд, и пропускной способностью в несколько ГБ/с, поддерживающие несколько сотен тысяч произвольных IOPS. Так в чём же нестыковка?
Читать дальше →
Всего голосов 33: ↑29 и ↓4+38
Комментарии40

Как π объединяет сталкивающиеся блоки и квантовый алгоритм поиска

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

Любопытный физик обнаружил неожиданную связь между теорией о столкновении блоков и знаменитым квантовым алгоритмом поиска




Что общего у цифр числа π, сталкивающихся блоков и квантовых алгоритмов поиска? Больше, чем вы могли бы подумать. Эту связь обеспечивают две шутливых научных работы – одна от 2003 года, а вторая – от декабря 2019. Совместно они объединяют миры динамики, геометрии и квантовых вычислений, показывая, как даже самые абстрактные математические загадки могут удивительным образом обнаруживать связь с физикой.

Блокировка


Чтобы начать понимать эти связи, представьте себе два металлических блока, каждый из которых весит по 1 кг. Они находятся на поверхности без трения, справа от неподвижной стены. Ближайший к стене блок неподвижен, второй скользит к нему, приближаясь справа. Неизбежно должна произойти серия столкновений; предположим, что кинетическая энергия в столкновениях не пропадает. При таких идеальных условиях данный процесс будет проистекать примерно так:
Всего голосов 18: ↑17 и ↓1+26
Комментарии15

«Чертовски глупое решение»: история появления языка C

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

Как ни сложно в это поверить, C не родился в виде истрёпанного руководства в бумажной обложке.

В том или ином виде, язык C повлиял на формирование практически каждого языка программирования, разработанного с 1980-х. Некоторые языки наподобие C++, C# и Objective C должны были стать прямыми наследниками C, а другие просто переняли и адаптировали его синтаксис. Программист, перешедший с Java, PHP, Ruby, Python или Perl, почти не испытает сложностей с пониманием простых программ на C, и в этом смысле C можно воспринимать как lingua franca программистов.

Однако C не возник из ниоткуда как единый монолит программирования. История C начинается в Англии, с коллеги Алана Тьюринга и программы, игравшей в шашки.
Всего голосов 55: ↑53 и ↓2+70
Комментарии33

Как мы случайно сожгли $72 000 за два часа в Google Cloud Platform и чуть не обанкротились

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


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

В марте 2020 года, когда COVID поразил весь мир, наш стартап Milkie Way тоже сильно пострадал и почти закрылся. Мы сожгли 72 000 долларов во время изучения и внутреннего тестирования Cloud Run с Firebase в течение нескольких часов.
Читать дальше →
Всего голосов 61: ↑53 и ↓8+68
Комментарии197

Внутренности HP Nanoprocessor: высокоскоростной процессор, не умеющий складывать

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

Комбинированные фотошбалоны Nanoprocessor. GLB слева от шины данных – инициалы разработчиков Джорджа Лэтема и Ларри Бауэра.

HP Nanoprocessor – почти забытый процессор, разработанный компанией Hewlett-Packard in 1974 году (подробнее – по ссылкам "The Forgotten Ones: HP Nanoprocessor", HP9825.com и The HP 9845 Project) в качестве микроконтроллера для различной продукции компании. Странно, что этот процессор не умел даже складывать или вычитать – возможно, поэтому его решили назвать не процессором, а «нанопроцессором». Несмотря на эти ограничения, Nanoprocessor управлял различными устройствами от Hewlett-Packard, от интерфейсных панелей и вольтметров до анализаторов спектра и терминалов сбора данных.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+31
Комментарии4

Ключи от шкатулки Пандоры: нулевой пациент Эболы

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

Погибли тысячи людей, были потрачены миллиарды долларов, ВОЗ неоднократно предупреждала мир о возможности глобальной пандемии. Невероятными усилиями вспышки останавливали каждый раз, привлекали военных, врачей со всего земного шара. Разворачивались операции по спасению мира с десантом и оцеплением в десятки километров. Сегодня в разработке вакцины участвует весь мир. А слово “Эбола” знает каждый. Но с чего всё началось? Откуда появилось одно из самых опасных и широко разрекламированных заболеваний на планете? Кто он - самый первый нулевой пациент болезни четвертого уровня биологической угрозы?

Читать далее
Всего голосов 106: ↑98 и ↓8+119
Комментарии39

Ужасная тюрьма 2: как щекотать мухоловку и не быть съеденным

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


Эволюция подарила нам множество необычных животных. Некоторые из них настолько необычны, что их первооткрывателей называли мошенниками (как это было с утконосами в 1797 году). Но не только фауна может похвастаться нестандартными видами, среди представителей флоры также есть белые вороны, а именно растения, не желающие сидеть на солнечной диете, а предпочитающие сочных насекомых и другую мелкую живность в качестве блюда дня. Ранее мы с вами уже знакомились с исследованием, в котором ученые рассматривали венерину мухоловку и ее маргинальные шипы. Сегодня же нам предстоит узнать, насколько эти шипы чувствительны. Ученые из Цюрихского университета (Швейцария) провели ряд практических опытов, целью которых было измерение скорости реакции венериной мухоловки на прикосновения той или иной силы. Как именно ученые «щекотали» мухоловку, насколько быстро она реагировала, и как полученные результаты поясняют гастрономические предпочтения растения-хищника? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Всего голосов 42: ↑42 и ↓0+42
Комментарии18

Смертельно эффективная ловушка: как венерина мухоловка запоминает, что она поймала добычу

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

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

Животная пища нужна мухоловке для пополнения запасов азота — обычно она появляется в регионах с болотистой местностью, почва которых бедна азотом. Но как растение, у которого нет мышц и нервной системы, может не только захватывать что-то, но и «запоминать», что внутри листа — жертва, и разворачивать его не стоит?
Всего голосов 55: ↑54 и ↓1+72
Комментарии21

Core Dump — видео канал о компьютерной науке

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


Здравствуйте, меня зовут Дмитрий Карловский и я… иногда выступаю на конференциях, митапах и даже сам являюсь организатором одного из них (PiterJS). Короче — побывал с разных сторон баррикад. Как правило, такие мероприятия фокусируются вокруг какой-то узкой технологии, языка или даже фреймворка.


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


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

Читать дальше →
Всего голосов 8: ↑6 и ↓2+9
Комментарии2

Почему мы выбрали MobX, а не Redux, и как его использовать эффективнее

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

Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud Solutions. На дворе 2020 год, а мы продолжаем обсуждать «нововведения» ES6-синтаксиса и преимущества MobX над Redux. Существует много причин использовать Redux в своем проекте, но так как я не знаю ни одной, расскажу о том, почему мы выбрали MobX.

Почему?
Всего голосов 55: ↑51 и ↓4+71
Комментарии242

Мелкая питонячая радость #7: три штуки по цене одной — консольная анимация, алгоритмы и отладка

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

На этой неделе достаточно крупных мелких радостей не нашлось, зато нашлись 3 совсем мелкие мелкие радости.


termtosvg


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


image


Традиция, бесспорно, хорошая и правильная. Только записывать такие анимации бывает трудно/лень/некогда. Авторы termtosvg пристрелили всех зайцев одим выстрелом и дали программистам прекрасную штуку для записи консольных демок.

Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии9

Хакерский фольклор

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

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

Бо́льшая часть статьи взята из Википедии, но найти пояснения не так-то просто, если не знаешь, что искать.
Всего голосов 53: ↑48 и ↓5+59
Комментарии33

Простое и строгое доказательство 26/10 измерений в теории струн

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


… вы нигде не найдете.


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

Читать дальше →
Всего голосов 21: ↑19 и ↓2+25
Комментарии9

Четыре типажа программистов

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

Привет.


Я впервые пишу в поток об управлении и найме персонала. Речь пойдет об одном из способов классифицировать ваших будущих или действующих программистов. Мой основной тезис: все разработчики, грубо говоря, делятся на 4 больших типажа и каждому из этих типажей есть своя область применения. Попытка направить неправильный типаж на решение неподходящих для него задач ведет к провалу (неэффективная работа, или сотрудник покидает команду). Хотите знать почему так — добро пожаловать под кат. Приготовьтесь, текста много.

Читать дальше →
Всего голосов 258: ↑237 и ↓21+216
Комментарии548

Топ IT-книг прошлого века, которые актуальны до сих пор

Время на прочтение14 мин
Количество просмотров81K
«Физические законы — это не Python, их не изменить в новых версиях, то есть материал в книге (по электронике) будет актуален всегда».
ne555, из комментариев на Хабре

image

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

К счастью, это касается не всех аспектов гик-писательства, например, в сфере электроники наблюдается завидное для других IT-областей постоянство. Поэтому «спаянный» десятилетия назад контент, на котором росли будущие инженеры, зачастую будет актуален для их детей и даже внуков.

Вдохновившись историей «второго рождения» учебника по электронике 1979 года (а точнее, комментариями к ней), мы решили собрать для вас подборку книг по электронике, которым в 2020 году исполнилось от 25 до 69 лет, но которые при этом не утратили своей актуальности. А чтобы не ограничиваться собственными нейтрально-редакторскими вводными, мы попросили прокомментировать эту подборку победителя «ТехноТекста-2019» в номинации «Научно-популярное», старожила Хабра, разработчика интегральных микросхем для космоса и потомственного инженера Валерия Шункова aka @amartology.

Осторожно: прочтение книг из этой подборки может вызвать острое желание взяться за паяльник. Вдохновляйтесь, творите и делитесь своим опытом с Хабром, ведь именно по просьбе сообщества мы добавили в список номинаций «ТехноТекста-2020» новую — «Железо и его разработка».
Читать дальше →
Всего голосов 58: ↑52 и ↓6+83
Комментарии98

Qt? ImGUI? wxWidgets? Пишем свое

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

Привет, хабровчане! Хочу рассказать о своей системе UI, которую я написал для своего игрового движка, на которой делаю редактор для него же.

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

Информация

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