Pull to refresh
124
0
Роман @rrromka

User

Send message

Мы должны сказать спасибо KDE за современный веб

Reading time5 min
Views33K

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

Читать далее
Total votes 74: ↑72 and ↓2+91
Comments114

Компьютер для «Бурана»

Reading time5 min
Views35K
В прошлый раз мы рассказывали о первых советских наработках в области БЦВМ (бортовых цифровых вычислительных машин) для космической отрасли. А теперь обратим своё внимание на то, чем дело кончилось.

Пиком и, фактически, финалом советской космонавтики часто называют программу «Энергия» — «Буран». Оценки стоимости этого амбициозного проекта разнятся, но обычно называются цифры, превосходящие 14 миллиардов «тех» рублей. По нынешним ценам это триллионы «деревянных» — колоссальные затраты! Вполне возможно, что финал советского строя и государства в значительной степени был предрешён в т.ч. и подготовкой к единственному полёту «Бурана» 15 ноября 1988 года…


Читать дальше →
Total votes 66: ↑61 and ↓5+70
Comments59

Глобальная блокировка интерпретатора (GIL) и её воздействие на многопоточность в Python

Reading time34 min
Views58K

Прим. Wunder Fund: в статье рассказано, зачем появилась и существует глобальная блокировка интерпретатора в Питоне, как она работает, и как она влияет на скорость работы Питона, а также о том, куда в будущем, вероятно, будет двигаться Питон. У нас в фонде почти всё, что не написано на плюсах — написано на Питоне, мы пристально следим за тем, куда движется язык, и если вы тоже — вы знаете, что делать )

Как вы, наверное, знаете, глобальная блокировка интерпретатора (GIL, Global Interpreter Lock) — это механизм, обеспечивающий, при использовании интерпретатора CPython, безопасную работу с потоками. Но из-за GIL в конкретный момент времени выполнять байт-код Python может лишь один поток операционной системы. В результате нельзя ускорить Python-код, интенсивно использующий ресурсы процессора, распределив вычислительную нагрузку по нескольким потокам. Негативное влияние GIL на производительность Python-программ, правда, на этом не заканчивается. Так, GIL создаёт дополнительную нагрузку на систему. Это замедляет многопоточные программы и, что выглядит достаточно неожиданно, может даже оказать влияние на потоки, производительность которых ограничена подсистемой ввода/вывода.

Здесь я опираюсь на особенности CPython 3.9. По мере развития CPython некоторые детали реализации GIL, определённо, изменятся. Материал опубликован 22 сентября 2021 года, после публикации в него внесено несколько дополнений.

Читать далее
Total votes 44: ↑41 and ↓3+57
Comments12

Английский язык Джеки Чана: почему он пропускает звуки или добавляет лишние

Reading time6 min
Views14K

Уже давно не было статей в рубрике про акценты известных людей. Мы решили это исправить — сегодня у нас в номере Джеки Чан. Большинство из Хабровчан выросло на его фильмах.

Сам Джеки Чан долгое время он стеснялся своего акцента, когда говорил на английском. И вплоть до 1998 года его персонажей попросту переозвучивали.

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

Читать далее
Total votes 18: ↑15 and ↓3+17
Comments7

Процессор Эльбрус — почему это тупик для развития отечественной линейки general-purpose CPU

Reading time8 min
Views155K

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

Читать далее
Total votes 188: ↑164 and ↓24+198
Comments809

Видят ли роботы радугу?

Reading time10 min
Views5.4K

У нас был один восьмилучевой лидар-«ведёрко», несколько ядер на i7 в промышленном компьютере, самосвал весом сто тонн, а также грунтовые дороги, сибирские морозы и африканская жара, стада скота, спецтехника, люди вокруг и погодные явления всех видов и сортов. Не то чтобы это были нормальные условия для стартапа по созданию беспилотников, но раз уж мы взялись за роботизацию горной техники, нужно было идти в этом деле до конца. Главное, что меня волновало, — это пыль. Мало что так дурит лидарные алгоритмы, как густые облака мелкой угольной пыли. Я знал, что нам придётся разобраться и с этой бедой.

Меня зовут Фёдор Глазырин. Уже четыре с лишним года я занимаюсь промышленной роботизацией — веду направление исследований, аналитики и упреждающей разработки в «Цифра Роботикс». Моя задача в команде — искать и анализировать внешнюю информацию, находить решения сложных проблем в алгоритмах и методах и притаскивать в работу разные интересные технические фокусы. В этом посте я расскажу, с чем мы сталкиваемся, когда делаем автономных роботов для горной промышленности, и как это влияет на характеристики и подходы к разработке машинного зрения наших роботизированных комплексов.

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments15

«Двойной плюс»: биография создателя С++ Бьярне Страуструпа

Reading time8 min
Views10K

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

Ранее мы публиковали интервью, которое Бьярне Страуструп дал на нашей конференции C++ Russia. А теперь решили, что и описать биографию такого человека никогда не будет лишним.

Читать далее
Total votes 17: ↑16 and ↓1+21
Comments3

Ассемблер RISC-V для начинающих

Reading time12 min
Views42K

Если вы не знаете ни одного ассемблера, или, возможно, не имеете большого опыта кодинга как такового, то ассемблер RISC-V может быть одним из лучших вариантов для того, чтобы погрузиться в эту тему. Конечно, материалов по ассемблеру x86 гораздо больше. Больше людей, которые могут в этом помочь. Но x86 - это чудовище, имеющее более 1500 различных инструкций.

Архитектура RISC-V, напротив, придумана специально для того, чтобы быть простой в изучении и вместе с тем, практически эффективна для реализации высокопроизводительных микропроцессоров.

Если вам необходим хороший старт, и вы не знаете ничего о микропроцессорах, вы можете прочесть мою статью "Как работает современный микропроцессор?" (How Does a Modern Microprocessor Work?).

Если вы хотите чего-нибудь простого и весёлого, можете начать с различных игр, в основе которых лежит программирование на ассемблере: Learn Assembly Programming the Fun Way.

Другим может понравиться ретропроцессор, такой, как 6502, использовавшийся в Commodore 64. Но проблема в том, что он окончательно устарел. При его разработке не учитывались реалии сегодняшнего дня.

Большой плюс RISC-V состоит в том, что он обладает современным и простым набором команд, спроектированным с учётом современных требований, таких как медленный доступ к памяти, использование предсказателя переходов, суперскалярного out-of-order выполнения команд и т.д.

Если вам интересно всё это, прочтите: Why Is Apple’s M1 Chip So Fast?

Перед тем, как мы начнём, можете распечатать это: James Zhu RISC-V Reference.

Читать далее
Total votes 35: ↑34 and ↓1+50
Comments33

Опыт обучения в Яндекс.Практикум. Можно ли вкатиться в Data Science за 8 месяцев

Reading time10 min
Views53K

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

Читать далее
Total votes 17: ↑12 and ↓5+13
Comments15

Из студента-юриста в программисты на C/C++: личный опыт

Reading time14 min
Views24K

Привет. В данной статье я поделюсь своим опытом становления программистом, от зарождения идеи стать инженером программного обеспечения до первых офферов, а также расскажу об опыте прохождения собеседований на позицию С/С++ разработчика в Санкт-Петербурге и выводах, сделанных мною в процессе. Данная статья будет полезна преимущественно студентам, ищущим свою первую работу программистом, либо свитчерам, то есть людям, имеющим желание "войти в IT", а именно в разработку ПО.

Читать далее
Total votes 11: ↑7 and ↓4+9
Comments22

Наглядно о том, как работает NumPy

Reading time8 min
Views39K

Есть тексты, похожие на вино или динамит: с годами они не стареют, а напротив приобретают вес и значимость. Сегодня, к старту флагманского курса о Data Science, мы решили поделиться переводом визуального учебного руководства о NumPy 2019 года, прочитав которое даже не слишком близкий к математике человек поймёт, как работает эта библиотека Python. Если вы не хотите долго объяснять NumPy, но делать это всё равно приходится, положите статью в закладки и она сэкономит ваше время.

Читать далее
Total votes 19: ↑18 and ↓1+18
Comments8

В Европу со своим дроном

Reading time5 min
Views17K

Отправляясь в отпуск, все берут с собой телефон для съемок, некоторые — хороший фотоаппарат или action-камеру. А кто-то — квадрокоптер. Дрон больше не роскошь, а средство, которое помогает запечатлеть прекрасные воспоминания о путешествиях. Рано или поздно пандемия закончится, и многие из нас поедут в Европу, прихватив с собой коптер для съемок. Но, к сожалению, это может привести к штрафам за его нелегальное использование. Давайте разберемся, как сделать всё по закону.

Читать далее
Total votes 16: ↑15 and ↓1+22
Comments16

Почему мир скоро может остаться без бананов

Reading time4 min
Views96K


Тем временем привычные нам бананы оказались под угрозой полного исчезновения — из-за высокоинфекционного почвенного гриба, который не поддается действию химикатов.


Заболевание Tropical Race 4 (TR4) распространилось по всему миру, начиная с регионов Китая (ничего не напоминает?). Недавно его впервые обнаружили в Южной Америке — основном мировом поставщике бананов. Из-за этого уже закрылись несколько тысяч плантаций. Инфекцию распространяют зараженные клубни, вода, грунт или даже кусочки земли на обуви фермера. Пораженные участки почвы, как говорят ученые, должны простаивать минимум 30 лет.

Читать дальше →
Total votes 119: ↑114 and ↓5+147
Comments267

P=NP? Важнейшая нерешенная задача теоретической информатики

Reading time2 min
Views25K
Эта задача была сформулирована в 1971 году и до сих пор остается нерешенной. За доказательство утверждения P=NP или за доказательство его опровержения Математическим институтом Клэя назначена премия в 1 миллион долларов США. Если все-таки окажется, что P=NP, то это даст возможность быстро и эффективно решать множество трудноразрешимых на данный момент задач.

Так в чем же все-таки суть проблемы?

Читать дальше →
Total votes 96: ↑84 and ↓12+72
Comments376

Font size бесполезен, давайте это исправим

Reading time5 min
Views29K
Что происходит, когда вы указываете в редакторе "font_size": 32? Я бы вам всё равно рассказал, но хорошо, что спросили.

Попробуем догадаться. Я пользуюсь Sublime Text 4 под macOS:


Если мы измерим сами буквы, то нигде не найдём числа 32:

32 — это не ширина и не высота буквы, и не высота заглавной буквы, и не рост строчных знаков, и не высота верхних или нижних выносных элементов. Что за дела?
Читать дальше →
Total votes 55: ↑52 and ↓3+67
Comments59

Как оптимизировали экономику СССР и что из этого вышло

Reading time11 min
Views67K

Я работаю специалистом по обработке и анализу данных (data scientist), поэтому большая часть моей работы включает в себя подбор оптимизируемых метрик и размышления о том, как выполнять процессы с максимальной эффективностью. Недавно я обнаружил совершенно удивительную книгу об экономических проблемах в СССР и о коллективе экономистов и компьютерных учёных, стремившихся решить их на основе данных. Книга называется Red Plenty. На самом деле она написана в жанре романа, что странно, однако представляет собой точную экономическую историю СССР. Автор активно заимствует информацию из книги 1973 года под названием Planning Problems in the USSR, которую я тоже приобрёл. При чтении этих книг я не мог не обратить внимания на параллели с планированием в любой современной организации. Факт, который покажется сегодня знакомым каждому data scientist: во второй книге есть цитата исследователя, жалующегося на то, что 90% своего времени он потратил на очистку данных, и только 10% — на само моделирование!

Кроме проведения интересных параллелей с современными data science и методами исследований технологических операций, эти книги помогли мне многое понять об интересных аспектах, о которых ранее я почти ничего не знал, например, о линейном программировании, ценовом равновесии и истории Советского Союза. В этом посте я расскажу о том, что узнал.
Читать дальше →
Total votes 104: ↑99 and ↓5+131
Comments2043

Билет без некоторых русских букв

Reading time6 min
Views35K

Не так давно на Баше промелькнуло занятное открытие: в недрах системы бронирования ж/д билетов, оказывается, есть не все русские буквы. История вызвала массу домыслов в Твиттере, причём были выдвинуты самые разные версии: от непрофессионализма инженеров РЖД до откровенной конспирологии. Всё проще, дело в истории железных дорог и советских компьютеров.

Читать далее
Total votes 82: ↑79 and ↓3+108
Comments67

Топологическая сортировка

Reading time3 min
Views143K
Топологическая сортировка (Topological sort) — один из основных алгоритмов на графах, который применяется для решения множества более сложных задач.
Задача топологической сортировки графа состоит в следующем: указать такой линейный порядок на его вершинах, чтобы любое ребро вело от вершины с меньшим номером к вершине с большим номером. Очевидно, что если в графе есть циклы, то такого порядка не существует.
Ориентированной сетью (или просто сетью) называют бесконтурный ориентированный граф. В задачах подобного плана рассматриваются только конечные сети.
image
↑ Пример ориентированного неотсортированного графа, к которому применима топологическая сортировка
Далее про алгоритм, реализацию и применение..
Total votes 72: ↑62 and ↓10+52
Comments27

Математик-пенсионер, «хакнувший» лотерею

Reading time11 min
Views122K

Любитель головоломок


Джеральд Селби всегда любил загадки: там, где другие видели лишь шум, он стремился найти порядок и гармонию. Работая на фабрике Kellogg's по производству овсяных хлопьев, он занимался анализом материалов для увеличения срока годности продукции. Однажды, изучая хлопья других компаний, Джерри наткнулся на странную последовательность символов на обороте коробки General Mills. Вместо даты и фабрики-производителя там был отпечатан загадочный код. Джерри решил расшифровать его: взяв несколько коробок завтраков Kellogg's и General Mills, он начал сравнивать их влажность, сообразив, что хлопья с примерно одинаковой влажностью должны иметь близкие даты производства. Делая записи на бумаге, он выявил некоторые закономерности. Вскоре ему удалось расшифровать всё, что позволило определить место, дату и время изготовления. В более агрессивной сфере бизнеса «взлом» секретов конкурентов мог бы обернуться огромной выгодой, но не в производстве овсяных хлопьев, поэтому руководство восприняло его открытие без энтузиазма.
Читать дальше →
Total votes 133: ↑129 and ↓4+174
Comments164

Как я изучал структуры данных и алгоритмы для собеседования в FAANG

Reading time12 min
Views65K
Продолжая тему устройства в FAANG, которую уже мы поднимали в нашем блоге, и специально к старту нового потока нашего курса по алгоритмам сегодня делюсь описанием пути Эско Обонга, старшего инженера-программиста Uber.

Эта история началась в 2015 году, когда стартап, к которому я присоединился как «сотрудник-основатель», закрылся через шесть месяцев после первого раунда инвестиций, и я искал новую работу. Первое моё собеседование было с  Codecademy, где на этапе телефонного разговора меня заверили: «Не волнуйтесь, мы не задаём сумасшедших вопросов об алгоритмах или что-то в этом роде». И я им поверил…


Приятного чтения!
Total votes 46: ↑40 and ↓6+49
Comments71

Information

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