Pull to refresh
132.7
Karma
1.5
Rating
Михаил Бусырев @Aquahawk

principal engineer at Crazy Panda

  • Followers 86
  • Following 28
  • Posts
  • Comments

Apple Event. Текстовая трансляция (пост обновляется)

Development for iOS *Development for MacOS *Gadgets Smartphones Presentations

Здравствуйте, уважаемые поклонники и ненавистники техники Apple. С вами Сергей Вильянов, который снимал SIM-lock еще у первых iPhone, когда работал в "Компьютерре", а теперь покупает айфоны для издевательств строго за свои.

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

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

И да, если вам померещились ирония и сарказм, ВАМ НЕ ПОМЕРЕЩИЛОСЬ.

Погнали.

Читать далее
Total votes 78: ↑68 and ↓10 +58
Views 18K
Comments 34

Does the latency matter?

Конференции Олега Бунина (Онтико) corporate blog High performance *IT Infrastructure *Network technologies *Distributed systems *

Есть исследование от Google, которое говорит, что если ваш сайт открывается больше трех секунд, то вы потеряете около 40% десктопных пользователей и более 50% — мобильных. Еще есть репорт от Amazon, который говорит, что для Amazon каждые 100 мс дополнительного latency стоит им 1% продаж. В объемах Amazon это миллионы долларов.

В зависимости от вашего бизнеса вам стоит тоже ответить на вопрос: Does the latency matter?

Я работаю как системный инженер уже более 8 лет. Хочу поделиться опытом, который получил в процессе решения задач в компании Big Data Technologies. У нас есть какой-никакой highload. В пике это 30 тысяч rps, и вопрос с latency довольно остро стоит перед бизнесом.

Читать далее
Total votes 46: ↑45 and ↓1 +44
Views 5.9K
Comments 3

Почему графику в видеоиграх по-прежнему так сложно создавать?

Working with 3D-graphics *Game development *Game design *
Translation

Введение


В этом посте будут рассмотрены трудности и аспекты производства, которые нужно учитывать при создании новых методик и алгоритмов рендеринга/графики, особенно в контексте прикладных исследований рендеринга реального времени. Я буду рассказывать о своём личном опыте работы над Witcher 2, Assassin’s Creed 4: Black Flag, Far Cry 4 и God of War.

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

Я слышал вопросы типа «почему эта великолепная исследовательская методика X не используется в продакшене?» и от геймеров, и от коллег из научных кругов. На то всегда бывают очень веские причины!

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

Я вспоминаю об этой теме ещё и каждый раз, когда слышу дискуссии о том, что «фотограмметрия, трассировка лучей, нейронный рендеринг, [вставить любую другую новую тему] станет универсальным решением для рендеринга и заменит всё остальное!». Спойлер: этого не случится (по крайней мере, в ближайшее время).
Читать дальше →
Total votes 60: ↑60 and ↓0 +60
Views 27K
Comments 40

Double or Nothing

Entertaining tasks C++ *C *
Sandbox
Translation

Фотография Esteban Lopez с Unsplash.com

Если вы выбрали C++ в качестве языка программирования, то учить его придётся всю жизнь. Смиритесь. Или выбирайте другой язык.

Чего только стоят новые стандарты, появляющиеся каждые 3 года. И каждый раз с какими-то полезными нововведениями в синтаксисе! Как им только это удаётся?

Есть разные способы совершенствоваться в С++. Кто-то читает Страуструпа от корки до корки, а потом почитывает стандарты. Кто-то ничего не читает и программирует по наитию - тупиковый путь, на мой взгляд.

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

Одна из моих любимых таких вещей - Guru of the Week (GotW) Херба Саттера.

Написано остроумно. И сколько пользы для программистки! Некоторые статьи уже морально устарели: кому нужен auto_ptr в наши дни? Но большинство ценно и сегодня.

Приведу здесь перевод выпуска №67 "Double or Nothing" от 29 февраля 2000 года. Моё любимое место — про тепловую смерть конечно ​

"Сложность 4/10

Нет. Этот выпуск не об азартных играх. Он, впрочем, о разных видах "float" так сказать, и даёт вам возможность проверить навыки касающиеся базовых операций над числами с плавающей точкой в C и C++.

Проблема

Вопрос Йуного Гуру (JG)

1) В чём разница между "float" и "double"?

Вопрос Гуру

2) Допустим следующая программа выполняется за 1 секунду, что неудивительно для современного настольного компьютера:

int main() {

double x = 1e8;

while (x > 0) { --x; }

return 0;

}

Как долго по-вашему она будет выполняться, если заменить "double" на "float"? Почему?

Читать далее
Total votes 16: ↑12 and ↓4 +8
Views 8.8K
Comments 31

Подводные камни при работе с enum в C#

PVS-Studio corporate blog .NET *C# *

0844_EnumBoxing_ru/image1.png


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

Читать дальше →
Total votes 35: ↑35 and ↓0 +35
Views 13K
Comments 20

C++ zero-cost abstractions на примере хеш-таблиц в ClickHouse. Доклад Яндекса

Яндекс corporate blog High performance *Open source *C++ *Database Administration *
Хеш-таблицы — это королевы структур данных. Нигде не сломано так много копий, как на оптимизации хеш-таблиц. В докладе я рассказал ещё об одной хеш-таблице, которая используется в ClickHouse. Вы увидите, что zero-cost abstractions в современном С++ оправдывают себя и как с помощью небольших трюков получить разнообразные структуры данных из общей кодовой базы. На основе общих строительных блоков можно построить быстроочищаемую хеш-таблицу, несколько видов LRU-кешей, lookup-таблицы без хешей, хеш-таблицы для строк и т. п. Я показал, как получить максимальную производительность на конкретных сценариях и не ошибиться при её тестировании. В моём докладе — самая мякотка низкоуровневых оптимизаций. В общем, то, что мы любим.

— Для начала мы обсудим, зачем нужны хеш-таблицы, где их можно использовать в базах данных и как сделать их оптимальными. Затем посмотрим бенчмарки различных хеш-таблиц в интернете и разбёремся, как делать их правильно. В конце посмотрим на C++-обертку над идеальной хеш-таблицей в ClickHouse.
Читать дальше →
Total votes 35: ↑32 and ↓3 +29
Views 6.5K
Comments 10

Что нужно знать про арифметику с плавающей запятой

C++ *
Sandbox


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

Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
Читать дальше →
Total votes 245: ↑242 and ↓3 +239
Views 679K
Comments 75

Можно ли сложить N чисел типа double наиболее точно?

Programming *Algorithms *

В предыдущих сериях…


Прошлая статья рассказала о двух способах сложения двух двоичных чисел с плавающей запятой без потери точности. Чтобы добиться этого, мы представили сумму c=a+b в виде двух чисел (s,t)=a+b, причём таких, что s — наиболее близкое к a+b точно-представимое число, а t=(a+b)-s — это отсекаемая в результате округления часть, составляющая точную погрешность. У читателей был вопрос: а можно ли достаточно точно сложить массив чисел типа double? Оказывается, можно! Но только, вероятно, не всегда и не абсолютно… и не алгоритмом Кэхэна, который тогда вспоминали в комментариях. За подробностями прошу под кат, где мы и найдём приложение тому, о чём я рассказал в прошлый раз.


Total votes 76: ↑76 and ↓0 +76
Views 22K
Comments 45

Оптимизация .NET приложений: большой результат маленьких правок

PVS-Studio corporate blog .NET *C# *

0852_NETAppsPerf_MinChangesMajorRes_ru/image1.png


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

Читать дальше →
Total votes 35: ↑33 and ↓2 +31
Views 13K
Comments 11

Иммутабельная архитектура

Programming *System Analysis and Design *Perfect code *Designing and refactoring *Functional Programming *
Translation

Эта статья является переводом материала «Immutable architecture».

В этом посте автор оригинала хотел бы показать общий подход к внедрению иммутабельности в кодовую базу на архитектурном уровне.

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

Читать далее
Total votes 16: ↑13 and ↓3 +10
Views 7.3K
Comments 12

Процессор, эмулирующий сам себя — может быть быстрее самого себя

Programming *Assembler **nix *Algorithms *History of IT

Современный мир ПО содержит настолько много слоёв, что оптимизации могут быть в самых неожиданных местах. Знакомьтесь - год 2000, проект HP Dynamo. Это эмулятор процессора PA-8000, работающий на этом же процессоре PA-8000, но с технологией JIT. И реальные программы, запускающиеся в эмуляторе - в итоге работают быстрее, чем на голом процессоре.

td;dr - всё сказано в заголовке

Читать далее
Total votes 119: ↑91 and ↓28 +63
Views 36K
Comments 65

Парсим протобаф на скорости больше 2 Гб/с.: как я научился любить хвостовую рекурсию в C

VK corporate blog High performance *Programming *C *
Translation


Отличную функцию недавно добавили в основную ветку компилятора Clang. С помощью атрибутов [[clang::musttail]] или __attribute__((musttail)) теперь можно получить гарантированные хвостовые (tail) вызовы в C, C++ и Objective-C.

int g(int);
int f(int x) {
    __attribute__((musttail)) return g(x);
}

(Онлайн-компилятор)
Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Views 11K
Comments 12

Свой личный SMS-шлюз. Часть 1 – цели, задачи, сборка и тестирование

RUVDS.com corporate blog PHP *IT Infrastructure *API *Development for Linux *
Tutorial


Представляю вам цикл статей по созданию собственного шлюза для отправки SMS-сообщений.
В первой части мы определим цели и некоторые аспекты использования своего шлюза, настроим программное обеспечение для отправки SMS с использованием USB-модемов, а также рассмотрим несколько интересных вариантов отправки
Читать дальше →
Total votes 74: ↑73 and ↓1 +72
Views 30K
Comments 60

Обзор Prisma ORM: как забыть об SQL и сосредоточиться на данных

Маклауд corporate blog JavaScript *Programming *Go *TypeScript *


Это статья-обзор о Prisma ORM.

ORM (англ. Object-Relational Mapping — «объектно-реляционное отображение или преобразование») — технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных».

Работа с базами данных (моделирование данных, изменение схем, формирование запросов и т.п.) — одна из наиболее сложных задач, возникающих при разработке приложений. Prisma предлагает решение, позволяющее сосредоточиться на данных вместо SQL.

Что такое Prisma?


Как утверждают разработчики, Prisma представляет собой «открытую ORM нового поколения для Node.js и TypeScript», реализующую «новую парадигму объектно-реляционного отображения».

Поддерживаемые языки программирования:

  • JavaScript
  • TypeScript
  • Go (в разработке)
Читать дальше →
Total votes 39: ↑30 and ↓9 +21
Views 5.8K
Comments 4

Изобретение инфляции: как Джон Ло разорил Францию

Veeam Software corporate blog Reading room Popular science Finance in IT Brain

В романе Марка Твена «Янки при дворе короля Артура» главный герой попадает, как легко догадаться, в дремучее английское Средневековье. Пользуясь своим современным школьным образованием, он значительно подталкивает технологических прогресс Англии, а заодно и сам с легкостью добивается привилегированного положения. В поезде времени мы, к сожалению, пока не научились пересаживаться из вагона в вагон. Но если бы однажды путешественники во времени всё же появились, можете быть уверены: Джон Ло почти наверняка оказался бы одним из них. Вот только в отличие от героя Твена, Ло положился не на свои знания физики, химии или астрономии. Нет, он перевернул с ног на голову всю экономику Франции, как если бы кто-то, чуть разобравшийся в истории с Wall Street и GameSpot, вдруг провалился в XVIII век и попытался втолковать местному королю про банки, инфляцию для разогрева экономики и акционерные общества. Возможно, этот кто-то так же попытался бы лично разбогатеть за счет финансового невежества окружающих, но у каждого, как известно, свои недостатки.

Эта статья об афере Джона Ло – возможно, самой значимой в экономической истории. На краткий миг Ло стал самым известным, самым ненавидимым и самым влиятельным человеком в мире. Ему удалось создать первый частный банк во Франции, сделать его государственным и провернуть колоссальную авантюру с акциями, разорившую половину богатейших домов Парижа. Так кем же был этот удивительный мистер Ло и как ему удалось провернуть свою аферу?

Читать далее
Total votes 172: ↑168 and ↓4 +164
Views 53K
Comments 90

Мышление письмом

Project management *GTD *Brain Health
Sandbox


Начните записывать мысли, чтобы усилить мышление. Этот совет я слышал много раз, но только в этом году решил сам попробовать. Результаты так впечатлили, что я решил описать опыт и поделиться теоретическими рассуждениями.

Что же я получил после полугода использования мышления письмом?
Читать дальше →
Total votes 91: ↑90 and ↓1 +89
Views 43K
Comments 85

Лучшее что вы можете сделать со своими мыслями — это превратить их в текст

Brain

И ещё четыре инсайта от человека, который больше 17 лет мыслит с помощью блога в ЖЖ и благодаря этому получает феноменальные результаты.у

Читать далее
Total votes 23: ↑21 and ↓2 +19
Views 9K
Comments 13

О спасении от удушья в своей квартире или лонгрид о современной вентиляции

Popular science Smart House IOT DIY Health
Sandbox

О спасении от удушья в своей квартире или лонгрид о современной вентиляции 

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

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

Читать далее
Total votes 80: ↑76 and ↓4 +72
Views 46K
Comments 168

Две крайности руководителя

Конференции Олега Бунина (Онтико) corporate blog Personnel Management *IT career Conferences Interview

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

Эксперт в области обучения руководителей в ИТ, управляющий партнер Школы менеджеров Стратоплан Александр Орлов на конференции Saint TeamLead рассказал о том, что толкает руководителей на разные полюса управления. Кроме того, он поделился способами найти работающий баланс и научиться меняться в роли тимлида.

Читать далее
Total votes 29: ↑27 and ↓2 +25
Views 7K
Comments 21

Зачем все ставят вентиляторы в туалет или как мы решили сделать умный вентилятор, история по DIY

Gadgets Smart House IOT DIY Systems engineering

Большинство пользователей считают, что вентилятор в санузле нужен только для освежения самого помещения (при посещении туалета или после принятия душа или ванной). Но это в корне не верно.  Ниже вы узнаете почему. Эта статья о том, как должна работать вентиляция в квартирах в соответствии с современными нормами, какое место в этой работе отведено вентиляторам в санузле, ванной и кухне. Также вы узнаете зачем делать вентилятор умным и как он поможет освежить всю квартиру. А еще как мы из DIY пытаемся сделать что-то большее.

Читать далее
Total votes 103: ↑98 and ↓5 +93
Views 121K
Comments 305

Information

Rating
1,024-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity