Pull to refresh
142
0
Ярослав Сергиенко @pallada92

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

Send message

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

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

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

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

Reading time5 min
Views54K

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

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

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

Reading time15 min
Views17K

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

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

Reading time11 min
Views55K
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.
Читать дальше →
Total votes 70: ↑70 and ↓0+70
Comments41

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

Reading time11 min
Views14K


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

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

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

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

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

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

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

Reading time6 min
Views12K

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




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

Блокировка


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

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

Reading time12 min
Views32K

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

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

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

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

Reading time10 min
Views100K


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

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

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

Reading time15 min
Views9.9K

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

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

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

Reading time9 min
Views42K

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

Читать далее
Total votes 106: ↑98 and ↓8+119
Comments39

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

Reading time14 min
Views11K


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

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

Reading time3 min
Views38K

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

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

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

Reading time8 min
Views4K


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


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


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

Читать дальше →
Total votes 8: ↑6 and ↓2+9
Comments2

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

Reading time8 min
Views44K

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

Почему?
Total votes 55: ↑51 and ↓4+71
Comments242

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

Reading time2 min
Views11K

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


termtosvg


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


image


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

Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments9

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

Reading time11 min
Views23K

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

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

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

Reading time12 min
Views23K


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


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

Читать дальше →
Total votes 21: ↑19 and ↓2+25
Comments9

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

Reading time17 min
Views215K

Привет.


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

Читать дальше →
Total votes 258: ↑237 and ↓21+216
Comments548

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

Reading time14 min
Views81K
«Физические законы — это не Python, их не изменить в новых версиях, то есть материал в книге (по электронике) будет актуален всегда».
ne555, из комментариев на Хабре

image

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

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

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

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity