Pull to refresh
4
0
Артём Денисов @TimmyPY

User

Send message

Как мы себя обманываем, только бы продолжать пользоваться Golang

Reading time21 min
Views77K

За два года с тех пор, как я опубликовал статью I want off Mr Golang's Wild Ride, она вновь и вновь всплывала на Reddit, Lobste.rs, на HackerNews и в других местах.

Всякий раз дискуссия выходит к одним и тем же ответам:

Go!
Total votes 124: ↑116 and ↓8+143
Comments369

Что мы действительно (не)знаем о наличии сознания у сверхбольших нейросетей?

Reading time28 min
Views53K
image

В последнее время чаще стали появляется новости о том, что тот или иной эксперт в области ИИ заявил про появление у машины сознания. То Илья Суцкевер, директор по науке в OpenAI напишет о том, что «может быть, сегодняшние большие нейронные сети немножко обладают сознанием». А то и вовсе инженер Гугла Леймон Блейк найдет у искусственного интеллекта LaMDA разум и сознание и выложит в доказательство диалоги с ним. Резонанс последнего эпизода вообще большой — после объявления о том, что Блека отстранили от работы, а он в свою очередь собирается нанять для ИИ адвоката, разные конспирологические версии появились даже в комментариях на Хабре. Ну и чего бы им не появиться, если реально серьезный разбор вопроса о «сознании» нейросети с технической точки зрения найти трудно. Кроме того, что «комиссия по этике Гугл рассмотрела вопрос и решила, что ИИ не обладает сознанием», да еще ряда давно известных общефилософских размышлений ничего особо и нет. Поэтому, как человек потративший по роду работы более сотни часов своей жизни на общение с моделями такого рода и поиску в них проблем, я решил, что будет полезно восполнить пробел более подробным обзором вопроса. Завесу мистической тайны сознания нейросетей приподнимаем под катом )
Читать дальше →
Total votes 106: ↑103 and ↓3+131
Comments230

Как найти в своей разработке те задачи, о которых стоит рассказать сообществу

Reading time4 min
Views3.1K

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

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

Читать далее
Total votes 17: ↑10 and ↓7+8
Comments2

Как рендерится кадр Elden Ring

Reading time38 min
Views13K
image

Введение


После выхода Elden Ring мне захотелось заглянуть за кулисы этой игры и узнать, что же там находится. Когда я смотрел анализ PC-версии игры Elden Ring в Digital foundry, то заметил, что MSI-Afterburner/Rivatuner сообщает, что эта игра основана на D3D12, и это меня восхитило. Потому что а) последняя изученная мной игра была старой и работала на D3D9 (подробнее об этом в будущем), а игра до неё была проектом 2022 года, работающим на D3D11, и это стало большим разочарованием; поэтому почти полгода я не изучал современные игровые технологии выпущенных игр для PC; б) это значит, что в игре будет много интересных функций D3D12, используемых хитрым способом. Что может быть лучше использования современного графического API для игры на PC в 2022 году?

На самом деле, всё оказалось иначе. Меня немного разочаровали решения разработчиков, но не очень сильно; подробнее об этом я напишу ниже. Однако любому геймеру очевидно, что в подобной игре главное — базовая боёвка, лор и геймплей, а графика уровня AAA — лишь дополнение, обеспечивающее более глубокий лор. Первые демонстрации игры выглядели потрясающе (ну, этим всегда славились E3 и все AAA!), но визуальное качество и уровень детализации готовой игры не так хороши (на мой взгляд). На самом деле, в Bloodborne и Sekiro качество с точки зрения визуальной красоты было выше. Так что да, меня как исследователя графики немного разочаровала игра для PC на D3D12. Зато как геймер я очень доволен!
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments6

Многопоточный Python на примерах: избавляемся от дедлоков

Reading time8 min
Views16K

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

Разблокировать
Total votes 31: ↑31 and ↓0+31
Comments14

Рефакторинг приложения с десятилетним легаси за три месяца. Опыт Яндекс Музыки

Reading time15 min
Views33K


Однажды ты просыпаешься и понимаешь: избыточность компонентов и рассинхронизация в твоём приложении начинают вредить пользователям. Однажды ты смотришь на написанное давным-давно ядро, плачешь горькими слезами, и приходит это некомфортное, но вместе с тем немного соблазнительное ощущение — что рефакторинг назрел. Добро пожаловать на экскурсию по рефакторингу Музыки, начиная с ресёрча и заканчивая эксплуатацией! Я покажу вам реальный код и постараюсь в деталях вспомнить, как мы формировали требования к механизмам и разрабатывали их, рисовали у себя в голове и в коде границы ядра, по одной переделывали очереди и внедряли то, что получилось, в SDK.
Читать дальше →
Total votes 45: ↑42 and ↓3+51
Comments113

Всё, о чём должен знать разработчик Телеграм-ботов

Reading time15 min
Views624K

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?

Подробный гайд о том, как работать с ботами — под катом.

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

Как подходить к выбору страны для релокации и поиску работы за рубежом?

Reading time9 min
Views20K

Возможно, вы уже ищете работу за рубежом, готовы релоцироваться или рассматриваете такую возможность в будущем. В этой статье я поделюсь своим мнением как подходить к выбору страны для релокации, к выбору компании, к выбору позиции или роли. Я также затрону вопросы о поиске работы за границей, что важно сделать до непосредственной релокации, а также на чем важно сфокусироваться сразу после релокации. Помимо России я жил в двух разных странах — в Финляндии и в США. Поэтому немного поделюсь своим опытом.

Читать далее
Total votes 17: ↑10 and ↓7+10
Comments9

Вся правда о Hi-Res: что скрывают аудиоформаты высокого разрешения

Reading time5 min
Views45K

Одно из самых интересных событий, которые произошли в мире аудио за последние годы — небывалый рост популярности форматов высокого разрешения (Hi-Res). Среди причин появления в своё время новых форматов — неудовлетворённость качеством звучания CD, ведь на заре эпохи компакт-дисков все звукозаписывающие лейблы спешили переиздать свой аналоговый каталог на цифровом носителе, мало заботясь о качестве: хотя бы плюс-минус привлекательное и лишённое всевозможных щелчков и прочих шероховатостей звучание уже казалось победой.

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

Читать далее
Total votes 14: ↑13 and ↓1+17
Comments54

Обзоры аудиотехники и тематические руководства — 10 избранных материалов из «Мира Hi-Fi»

Reading time3 min
Views2.4K

Вчера мы поговорили о трех парах «напольников» от Arslab, DALI и Monitor Audio, а сегодня — обсудим беспроводную портативку, полочники, проигрыватели винила и подборки сцен из фильмов, которые точно подойдут для тестирования проекторов или телевизоров.

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

Что там в «Мире Hi-Fi»: ЯП и библиотеки для работы со звуком, ресурсы с «открытой» музыкой, стандарты и критика

Reading time2 min
Views4.7K

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

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments0

И классика заиграла по-новому: обзор плеера FiiO X3 Mark III

Reading time7 min
Views20K
Компанию FiiO нельзя назвать ветераном рынка звука — появилась она всего 10 лет назад, когда Fostex, Audio-Technica и другие гиганты уже давно сделали себе имя. За рекордно короткий срок этот производитель буквально перевернул рынок портативного Hi-Fi с ног на голову, переключившись с усилителей для наушников на сегмент аудиоплееров. Во многом именно усилители обеспечили FiiO фундамент конкуренции на рынке портативных плееров.


Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments45

Краткая история портативного Hi-Fi или как я стал аудиофилом

Reading time17 min
Views33K
Аудиофилов на Хабре принято не любить. Семь лет назад я написал на (тогда еще отдельном ресурсе) Geektimes эмоциональный пост на эту тему: дорогая техника и золотые провода не обязательны для получения удовольствия от музыки. Я до сих пор так считаю, но у того старого поста есть одна особенность: я его писал, уже владея приличным ассортиментом именно той техники, которую критиковал. Несмотря на неочевидный профит от таких аппаратов, они меня всегда привлекали, и я не стеснялся тратить на них свободные деньги. С тех пор прошло много времени, и в обычной, гражданской среде произошло как минимум три серьезных изменения. Во-первых, оформились стриминговые сервисы как поставщик почти любой музыки в любую точку мира. Из-за этого практически исчезли классические оффлайновые музыкальные плееры. В-третьих приобрели популярность беспроводные наушники, а разъем для обычных, проводных начал стремительно исчезать из смартфонов, ломая пожалуй самое невинное и самое полезное легаси.

Я и сам за эти годы изменился, и теперь воздерживаюсь от резких необоснованных суждений. Терпимо отношусь к любому увлечению, если оно не наносит вред увлекающемуся или окружающим людям (особенно окружающим). Я по-прежнему люблю разнообразные гаджеты и ценю не только технологии, но и экспириенс — к чему идеальные, «по науке» технические новинки, если они не радуют? Но все же предпочитаю в списке доводов для покупки иметь какой-то рациональный пункт. Не только «потому что хочу!1», а есть ли в моем новом гаджете какое-то объективное преимущество? Так вот, в этом тексте я постараюсь предложить объективные преимущества современного дорогого портатива. Но заодно выступлю как наблюдатель, попробую определить, с чего началась неудовлетворенность ранними кассетными и CD-проигрывателями, которая в итоге и привела к подлинному расцвету аудиофильской техники сегодня. И какие с этим были связаны не только технические сложности, но и, скажем так, социальные особенности данного феномена.
Читать дальше →
Total votes 18: ↑17 and ↓1+26
Comments110

Создаем Персоны Пользователей используя когнитивные искажения и UX Core

Reading time6 min
Views3.2K

Добрый день!

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

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

Во что вам обойдется конкурентная обработка. Иерархия проблем

Reading time47 min
Views6K

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

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

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

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

Читать далее
Total votes 22: ↑20 and ↓2+26
Comments5

Пятьдесят лет на стезе программирования. Часть I. Начало пути. Отчий дом и Казанское суворовское военное училище

Reading time30 min
Views35K
Логотип статьи определяет три, как временные, так и географические, точки на моём жизненном пути, через которые лежал мой путь в страну под названием «Программирование». В городе Чебоксары, на родине легендарного комдива Гражданской войны В.И.Чапаева, прошло моё детство (1954-1968 г.г.), там я закончил 8 классов средней школы №6. В 1968 году я переместился в следующую географическую точку, в г. Казань, в Казанское суворовское военное училище (КзСВУ). После окончания КзСВУ в 1971 году мой путь лежал в столицу нашей Родины в Москву, в Военную орденов Ленина, Октябрьской Революции и Суворова Академию им. Ф.Э.Дзержинского (сокращённое название ВА им. Ф.Э.Дзержинского или ВАД), которой в 2020 году исполнилось 200 лет со дня ее основания. И 22 июня в трагический для нашей страны день в 1941 году и знаковый для меня в 1976 году я окончил ВА им. Ф.Э.Дзержинского и получил диплом по специальности «Программирование» с присвоением квалификации военного инженера программиста:
Читать дальше →
Total votes 28: ↑18 and ↓10+13
Comments72

Пятьдесят лет на стезе программирования. Часть III. Становление. На страже космических рубежей и путь в большую науку

Reading time34 min
Views27K
Если первая часть моего повествования заканчивалась поступлением в Военную орденов Ленина, Октябрьской Революции и Суворова академию им. Ф. Э. Дзержинского (сокращённое название ВА им. Ф.Э. Дзержинского, ВАД или просто Дзержинка), то вторая часть закончилась отправлением поезда «Москва-Рига», в котором ехал я. Логотип третьей части возвращает меня в годы моего становления как программиста.

I. 649-й отдельный пункт разведки радиоизлучений космического пространства

Итак, промозглой осенью 1976 года я прибыл в Ригу. В Риге пересел на поезд до города Вентспилс. Прибыв в Вентспилс, я зашёл к коменданту станции, где мне показали машину, которая поедет в часть. Оказалось, что каждый день здесь дежурила машина из гарнизона Вентспилс-8. Старшим машины был прапорщик, который довёз меня до части и помог устроиться в гостинице. Была уже ночь. Всю дорогу справа и слева от нас был хвойный лес. Для себя я сразу определился с названием – прибалтийская тайга. Я понял, что меня не обманули, когда говорили, что я буду служить в глухом лесном месте:
Читать дальше →
Total votes 37: ↑33 and ↓4+36
Comments57

Пятьдесят лет на стезе программирования. Отступление. Встреча с прошлым

Reading time10 min
Views11K
imageЗаканчивая третью часть воспоминаний «Пятьдесят лет на стезе программирования», я и не предполагал, что снова буду рассказывать о военном городке под названием «Вентспилс-8», где я фактически и стал настоящим программистом.
Но человек предполагает, а Бог располагает.
Первый звонок прозвучал 31 октября 2021 года, сразу после опубликования на Хабре моей статьи «Пятьдесят лет на стезе программирования. Часть III. Становление. На страже космических рубежей и путь в большую науку»), неожиданно из Риги пришло послание:
Добрый день Владимир Николаевич!

Позвольте представиться, меня зовут Антон, работаю я в студии во многих ипостасиях (сценаристом, монтажером, и др.), в городе Рига.

Беспокою вот по какому поводу, наша студия занимается фильмом о Норке. Принцип работы у нас делать фильмы хорошо, или не делать вообще.

Информации о Норке и Вентспилсе-8 очень мало, для получения информации мы записали обращение для группы (в VK), Ваш покорный слуга дебютировал как ведущий.
Могу ли я обращаться с вопросами?

P.S. вчера были на Норке и в Вентспилсе-8, городок представляет удручающее зрелище.
На плане №36, трансформаторная.

Буду ждать ответа, удачи!
Читать дальше →
Total votes 30: ↑26 and ↓4+31
Comments67

Пятьдесят лет на стезе программирования. Отступление. Расставание с прошлым

Reading time3 min
Views8.7K
imageРовно месяц была публикация «Пятьдесят лет на стезе программирования. Отступление. Встреча с прошлым», которая завершалась так таким постскриптумом:

Ссылаясь на ваш комментарий: «Говорят в ближайшие дни наши дома должны взорвать. Жалко.»
Читать дальше →
Total votes 27: ↑20 and ↓7+15
Comments12

(Само)Убийственная концентрация. Почему проваливаются планы на гиперэффективность

Reading time8 min
Views8.5K

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

Почему так? Откуда дискомфорт и как неправильная концентрация может убить желание повышать свою эффективность – порассуждаем в данной статье.

Читать далее
Total votes 15: ↑13 and ↓2+12
Comments7

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Python
Django
JavaScript
Vue.js
React