Обновить
0
Алексей Мошковский@eMissionread⁠-⁠only

Пользователь

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

Почему для открытия меню Windows читает один файл сто тысяч раз?

Время на прочтение4 мин
Охват и читатели160K

«Проводник тратит 700 мс на то, чтобы открыть контекстное меню панели задач. 75% этого времени он выполняет 114 801 операцию считывания из одного файла, средний объём считываемых данных 68 байт.

Мне стоит написать пост об этом, или достаточно саркастичного твита?»


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

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

Этот пост написан как проверка скоростного блогинга. От момента нахождения проблемы и саркастичного твита о ней до публикации поста прошло примерно 90 минут.
Читать дальше →

Зависимость от новостей: как слезть с крючка отслеживания событий. Личный опыт специалиста по цифровой психологии

Время на прочтение5 мин
Охват и читатели43K
image

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

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

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

Вот что будет, если установить топ-10 программ с Download.com

Время на прочтение8 мин
Охват и читатели326K


Мы установили десять самых популярных программ с Download.com, и вы не поверите, что произошло! Впрочем, наверное, вы и сами можете догадаться: что-то ужасное. Что-то ужасное — вот что произошло. Присоединяйтесь к нашему веселью!

Уже не первый год мы сетуем на то, что нельзя спокойно порекомендовать скачать бесплатную программу, а недавно мы рассказали, как можно безопасно испытывать любое ПО при помощи виртуальной машины. И мы подумали: а почему бы не повеселиться и не посмотреть, что же, в самом деле, произойдёт, если скачивать программы как обычный ничего не подозревающий пользователь?

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

10 самых влиятельных языков программирования последних 50 лет и их создатели

Время на прочтение6 мин
Охват и читатели215K
В IT-вселенной существует множество языков программирования. С каждым годом их становится всё больше и больше. Например, сравнительно недавно появились языки Scala, Kotlin, Go и Closure. Но история говорит нам о том, что выживут лишь немногие из них.

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



Языки — это важнейшая составляющая индустрии программирования. Их часто обсуждают, критикуют, их, с течением времени, улучшают. Они у всех на слуху, но их историю, хотя бы то, как зовут их создателей, знают далеко не все. Такое менее характерно для популярных языков. Например, все знают о том, что Джеймс Гослинг — это отец Java. Но далеко не каждый программист знает о том, кто создал Perl, Pascal, Lisp или Erlang.

Автор статьи, перевод которой мы сегодня публикуем, говорит, что к её написанию его подтолкнула вышеописанная ситуация. Здесь речь пойдёт о самых популярных и успешных языках программирования и об их создателях.
Читать дальше →

Типичные заблуждения об ООП

Время на прочтение6 мин
Охват и читатели15K
Привет, Хабр!

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


Читать дальше →

Моё разочарование в софте

Время на прочтение11 мин
Охват и читатели400K

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


Я занимаюсь программированием уже 15 лет. Но в последнее время при разработке не принято думать об эффективности, простоте и совершенстве: вплоть до того, что мне становится грустно за свою карьеру и за IT-отрасль в целом.

Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.

Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений.

Российский геймдев, бессмысленный и беспощадный

Время на прочтение2 мин
Охват и читатели54K
Если регулярно и внимательно просматривать ленты новостей и соцсети, может возникнуть ощущение, что теперь каждый второй — демиург от мира геймдева, а каждый первый — гениальный CG художник. Ну, наверное, миллионы все разом не ошибаются. Значит, нужно идти за мечтой. Что я, рыжий что ли?

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

Если бы все было так просто.

Что вас ждет? Если коротко:

  • - личная жизнь \ + адский труд бесплатно
  • - поддержка близких \ + стадо критиков
  • - стандарты качества \ + зато оригинально
  • - Я всё могу \ + депрессия средней степени тяжести

Этот список можно продолжать бесконечно.



Читать дальше →

«Лучшее, что я сделал в своей карьере — послал работу к черту». Крис Дэнси о превращении всей жизни в данные

Время на прочтение7 мин
Охват и читатели38K


У меня вызывает лютое отторжение все, что связано с «саморазвитием» — лайф-коучи, гуру, болтуны-мотиваторы. Мне хочется демонстративно жечь «сэлф-хэлп» литературу на большом костре. Меня без капли иронии бесят Дейл Карнеги и Тони Роббинс — сильнее чем экстрасенсы и гомеопаты. Мне физически больно видеть как какое-нибудь «Тонкое искусство пофигизма» становится супер-бестселлером, и чертов Марк Мэнсон пишет уже вторую книгу ниочем. Я необъяснимо ее ненавижу, хотя не открывал и не собираюсь.

Когда я готовился к интервью с героем этой статьи, долго боролся со своим раздражением — потому что сходу записал его во враждебный лагерь. Крис Дэнси — человек, которого журналисты уже пять лет называют «The most connected man on earth», делает свою жизнь лучше с помощью сбора данных и учит этому других.

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

Мы поговорили в рамках подготовки Криса к выступлению на Rocket Science Fest 14 сентября в Москве. После нашего разговора я все еще хочу показать средний палец Марку Мэнсону и Тони Роббинсу, но вот на Google Calendar поглядываю с любопытством.
Читать дальше →

Система сообщений или “мягкая связь” между компонентами для Unity3D

Время на прочтение13 мин
Охват и читатели37K

Введение


В данной статье будут затронуты темы, связанные с реализацией возможности “мягкой связи” компонентов игровой логики на основе системы сообщений при разработке игр на Unity3D.

Ни для кого не секрет, что в подавляющем большинстве случаев средств, которые предоставляет движок в базовом виде, недостаточно для полноценной реализации систем обмена данными между компонентами игры. В самом примитивном варианте, с которого все начинают, мы получаем информацию через экземпляр объекта. Получить этот экземпляр можно разными способами от ссылки на объект сцены, до функций Find. Это не удобно, делает код не гибким и заставляет программиста предусматривать множество нестандартных поведений логики: от “объект исчез из сцены”, до “объект не активен”. Помимо прочего может страдать и скорость работы написанного кода.
Читать дальше →

Грязные трюки разработчиков видеоигр

Время на прочтение12 мин
Охват и читатели78K

Предыдущие части: раз, два, три.

Благодарим за игру!


В первой части Wing Commander при выходе из игры мы получали от нашего менеджера памяти EMM386 исключение. Экран очищался и на него выводилась единственная строка, что-то типа «Ошибка менеджера памяти EMM386. Бла-бла-бла».

Нам нужно было выпустить игру как можно быстрее, поэтому я отредактировал ошибку менеджера памяти в hex-редакторе, чтобы она выглядела как «Благодарим за то, что играли в Wing Commander».

— Кен Демарест

Читать дальше →

Cow Clicker: разработчики игр издеваются

Время на прочтение1 мин
Охват и читатели16K
Многие подозревают, что игры в социальных сетях — это нечто из разряда глупых развлечений. Разработчик Ян Богост (Ian Bogost) решил доказать это на деле. Он создал намеренно тупую игру Cow Clicker и опубликовал её на Facebook. На данный момент в игре Cow Clicker насчитывается 14 188 активных пользователей, рейтинг 4,5 из 5.

Каждый игрок получает корову и должен кликать по ней мышкой каждые шесть часов. Чтобы получить право кликать чаще, можно купить дополнительные кредиты за деньги. Социальный элемент реализован через соседних коров, которыми могут управлять приглашённые вами пользователи. Если у вас есть соседи, то ваш клик прибавляется также к их рейтингу.
Читать дальше →

Руководство для дизайнера по DPI

Время на прочтение27 мин
Охват и читатели333K


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

Автор — Sebastien Gabriel.

Я не знаю всего, так что, если по вашему мнению я где то ошибаюсь или вам нужно уточнить что-то, либо у вас есть предложения или вопросы для улучшения данного руководства, отправьте письмо (на англ) на sgabriel.contact@gmail.com. Вы также можете найти на меня Twitter, G+ или Facebook.
Читать дальше →

Виртуальная реальность помогает справиться с психическими расстройствами

Время на прочтение4 мин
Охват и читатели3.8K
Компания Limbix создает контент с эффектом полного погружения, который психотерапевты могут использовать в работе над преодолением фобий, депрессии и тревожного расстройства.



Более 300 рецензированных исследований показали, что ВР (виртуальная реальность) является эффективным инструментом при лечении таких психических расстройств, как тревожность, депрессия, травма и зависимость. Поэтому не удивительно, что появляется множество компаний, которые разрабатывают терапевтический контент, задействующий технологию погружения. Это многообещающее поле для деятельности: от помощи в снятии напряжения у пассажиров во время длительных перелетов до виртуальных ИИ-психотерапевтов.
Читать дальше →

Производительность PHP: планируем, профилируем, оптимизируем

Время на прочтение16 мин
Охват и читатели43K


Привет, Хабр! Два года назад мы писали о том, как перешли на PHP 7.0 и сэкономили миллион долларов. На нашем профиле нагрузки новая версия оказалась в два раза более эффективной по использованию CPU: ту нагрузку, которую раньше у нас обслуживали ~600 серверов, после перехода начали обслуживать ~300. В результате на протяжении двух лет у нас был запас мощностей.

Но Badoo растёт. Количество активных пользователей постоянно увеличивается. Мы совершенствуемся и развиваем нашу функциональность, благодаря чему пользователи проводят в приложении всё больше времени. А это, в свою очередь, отражается на количестве запросов, которое за два года увеличилось в 2—2,5 раза.

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

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

Информация

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