Как стать автором
Обновить
0
0
Ильин Сергей @snegg

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

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

Для ИТ-ишников. Если у вас устают глаза, покраснения, раздражение. Возможно эта статья для вас

Время на прочтение3 мин
Количество просмотров107K


Я с 2004 года работаю в ИТ-сфере. Как и вы я провожу много времени за экраном монитора (даже двух). А если это релиз, дедлайн или срочный вопрос, то время работы за компьютером плавно перерастает в большую часть суток.

Недавно меня спросил один знакомый, как это все выдерживают мои глаза и зрение остается хорошим?! Я всегда отвечаю, что годы тренировок помогают. Думаете это сарказм? Только отчасти:) На самом деле это тренировки.
Читать дальше →
Всего голосов 42: ↑37 и ↓5+32
Комментарии98

Синхронизация состояний в многопользовательских играх

Время на прочтение13 мин
Количество просмотров46K
image

Проблема многопользовательских игр


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

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

Обычно программа игры должна симулировать следующее:

изменения в окружении с учётом времени и вводимых игроками данных.

Игра — это программа, хранящая состояние, поэтому она зависит от времени (реального или логического). Например, PACMAN симулирует окружение, в котором постоянно перемещаются призраки.

Многопользовательская игра не является исключением, однако из-за взаимодействия игроков её сложность намного выше.
Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии38

Обзор исходного кода Quake 2

Время на прочтение51 мин
Количество просмотров61K
image

Около месяца свободного времени я уделил чтению исходного кода Quake II. Это был удивительный и поучительный опыт, потому что в движок idTech3 внесено большое изменение: Quake 1, Quake World и QuakeGL объединены в одну красивую архитектуру кода. Особенно был интересен способ, которым достигли модульности, несмотря на то, что язык программирования C не обеспечивает полиморфизма.

Quake II во многих отношениях является блестящим образцом программного обеспечения, потому что это был самый популярный (по количеству лицензий) трёхмерный движок всех времён. На его основе было создано более 30 игр. Кроме того, он ознаменовал переход игровой индустрии от программной/8-битной системы цветов к аппаратной/24-битной. Этот переход произошёл примерно в 1997 году.

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

Процесс «подчистки» меня сильно увлёк: в статье теперь более 40 мегабайт видео, скриншотов и иллюстраций. Сейчас я не знаю, стоили ли мои труды того, и нужно ли публиковать в будущем необработанные заметки в ASCII, выскажите своё мнение.
Всего голосов 111: ↑110 и ↓1+109
Комментарии63

12 инструментов для отладки .NET-приложений по производительности и по памяти

Время на прочтение7 мин
Количество просмотров22K
В недавнем интервью с Джоном Скитом мы пришли к выводу, что профессиональная работа с любой технологией подразумевает умение диагностировать проблемы и понимать, как ваши приложения работают под капотом. Вдогонку к тому разговору, я узнал у Саши goldshtn Гольдштейна, одного из лучших в мире экспертов по производительности .NET, автора книги «Pro .NET Performance», на какие инструменты следует обратить внимание .NET-разработчикам.

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


Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии8

Функции шума и генерирование карт

Время на прочтение21 мин
Количество просмотров34K


Когда я изучал обработку аудиосигналов, мой мозг начал проводить аналогии с процедурным генерированием карт. В статье излагаются принципы, связывающие обработку сигналов с генерированием карт. Не думаю, что открыл что-то новое, но некоторые выводы были для меня в новинку, поэтому я решил записать их и поделиться с читателями. Я рассматриваю только простые темы (частоту, амплитуду, цвета шума, использование шума) и не затрагиваю другие темы (дискретные и непрерывные функции, фильтры FIR/IIR, быстрое преобразование Фурье, комплексные числа). Математика статьи в основном связана с синусоидами.

Эта статья посвящена концепциям, начиная с самых простейших и заканчивая более сложными. Если вы хотите перейти сразу к генерированию рельефа с помощью функций шума, то изучите другую мою статью.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии6

Все больше людей ударяются в мракобесие и отрицают существование ВИЧ. Россия на грани эпидемии

Время на прочтение7 мин
Количество просмотров92K
image

Последние месяцы СМИ сотрясает одна за другой публикации о надвигающейся на страну эпидемии ВИЧ. По различным оценкам, количество инфицированных в Российской Федерации перевалило за 1%, а в Екатеринбурге ситуация стала и вовсе критической — там медики официально объявили эпидемию (заражено 1,8% населения города).

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

Подобная точка зрения среди определенных категорий больных стала принимать массовый характер, что явно видно по социальным сетям. Самое печальное заключается в том, что в отличие от ГМО-мракобесия, следствием которого становится лишь замедление исследований и недоверие к генной инженерии со стороны населения, в случае с ВИЧ-мракобесием гибнут люди. Причем, как в классических сектах, в движении «ВИЧ — это миф» есть собственные «пророки», активно пропагандирующие отказ от лечения и профилактики, а также препятствующие оказанию помощи тем, кто на самом деле хочет ее получить.
Читать дальше →
Всего голосов 107: ↑100 и ↓7+93
Комментарии677

Запускаем Telegram-бота на Android устройстве (Remote Bot for Telegram)

Время на прочтение9 мин
Количество просмотров57K
Четыре месяца назад у меня появилась идея написать Telegram-бота, который будет запускаться не на внешнем сервере, как большинство ботов, а на мобильном телефоне.

Идея родилась не на пустом месте: я часто пропускал входящие звонки и СМС, когда телефон был в куртке или в кармане, поэтому мне нужен был дополнительный способ уведомлений. А так как я активно использую Telegram на компьютере, то подумал, что было бы не плохо, если бы входящие СМС и пропущенные звонки приходили в Telegram. Немного покопавшись, я решил написать бота.
Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии12

Чем заняться айтишнику в армии или как я на VBA игры писал

Время на прочтение3 мин
Количество просмотров184K
Прошло уже больше двух месяцев с момента моей демобилизации. Я уже освоился на свободе, пришло время рассказать интересную историю со службы. Служил я в разведке!.. По распределению попал в центр радиоперехвата. Работенка не пыльная, сидишь ночами в наушниках и слушаешь врага. Но речь пойдет не об этом.

У каждого оператора поста радиоперехвата (таковыми мы числились) был в распоряжении компьютер с подключенными к нему радио-приемными устройствами. На компьютере стоял спецсофт + Excel. Все остальное было заблочено. После N-ного дежурства я стал скучать… Зачесались руки.
Читать дальше →
Всего голосов 282: ↑269 и ↓13+256
Комментарии155

Часто задаваемые вопросы о тёмной энергии

Время на прочтение14 мин
Количество просмотров23K
image

[Шон Майкл Кэррол – космолог, профессор физики, специализируется на тёмной энергии и ОТО, занимается исследованиями на факультете физики в Калифорнийском Технологическом институте – прим. перев.]

Что такое «тёмная энергия»?


Это то, что заставляет Вселенную ускоряться, если на самом деле существует некая сущность с таким свойством.

Видимо, я должен спросить – что означает «ускорение» Вселенной?


Во-первых, Вселенная расширяется: Хаббл показал, что удалённые галактики убегают от нас со скоростями, примерно пропорциональными расстоянию до них. «Ускорение» означает, что если вы измерите скорость одной из этих галактик, а затем вернётесь к ней через миллиард лет, и измерите скорость снова, то увидите, что она увеличилась. Галактики удаляются от нас с возрастающей скоростью.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии22

Портретная фотография: боке, фокусное расстояние, диафрагма и дистанция

Время на прочтение6 мин
Количество просмотров45K
В самом низу есть обновление

Приветствую вас, фотогики! Портретная фотосъёмка, по-хорошему, является искусством. А искусство — штука субъективная.

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

Портрет девушки

Читать дальше →
Всего голосов 51: ↑42 и ↓9+33
Комментарии98

Боли в руках при работе за компьютером. Часть 2. Освобождаем надплечья и шею

Время на прочтение4 мин
Количество просмотров71K
Частый совет напряжённому человеку: «Чего напрягся – расслабься, получай удовольствие…». Что происходит в результате? – Человек напрягается еще больше!

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

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

Урок займет 15-20 минут, вы можете делать его сидя, не отходя от компьютера. Под катом – видео урока, правила выполнения соматических уроков и текстовая расшифровка расширенной версии урока (осторожно – очень много букв!).

Всего голосов 28: ↑28 и ↓0+28
Комментарии33

Мегагерц не ловится, ядра не растут. Что случилось с техническим прогрессом в ПК?

Время на прочтение10 мин
Количество просмотров47K
Привет, Гиктаймс! Даже если абстрагироваться от того, что человечество променяло исследование космоса на костюмы для собак и гаджеты, как говаривал Рей Брэдбери, остаётся впечатление, что и земной «король вычислительной техники», персональный компьютер, чувствует себя плохо. За счёт чего растёт производительность железа и как долго её удастся увеличивать в условиях, когда пресловутые ядра и гигагерцы топчутся на месте?


Читать дальше →
Всего голосов 46: ↑33 и ↓13+20
Комментарии137

Ваш язык программирования — отстой

Время на прочтение54 мин
Количество просмотров139K
1 Почему JavaScript отстой
• 1.1 Плохая конструкция
• 1.2 Система типов
• 1.3 Плохие функции
• 1.4 Отсутствующие функции
• 1.5 DOM
2 Почему Lua отстой
3 Почему PHP отстой
• 3.1 Исправлено в поддерживаемых в настоящее время версиях
4 Почему Perl 5 отстой
5 Почему Python отстой
• 5.1 Исправлено в Python 3
6 Почему Ruby отстой
7 Почему Flex/ActionScript отстой
8 Почему скриптовые языки отстой
9 Почему C отстой
10 Почему C++ отстой
11 Почему .NET отстой
12 Почему C# отстой
13 Почему VB.NET отстой
15 Почему Objective-C отстой
16 Почему Java отстой
• 16.1 Синтаксис
• 16.2 Исправлено в Java 7 (2011)
• 16.3 Модель
• 16.4 Библиотека
• 16.5 Обсуждение
17 Почему Backbase отстой
18 Почему XML отстой
19 Почему отстой XSLT/XPath
20 Почему CSS отстой
• 20.1 Исправлено в CSS3
21 Почему Scala отстой
22 Почему Haskell отстой
23 Почему Closure отстой
24 Почему Go отстой
• 24.1 Базовые средства программирования (базовый язык)
• 24.2 Взаимосовместимость
• 24.3 Стандартная библиотека
• 24.4 Набор инструментальных средств
• 24.5 Сообщество
25 Почему Rust отстой
• 25.1 Безопасность
• 25.2 Синтаксис
• 25.3 Конструкция API и система типов
• 25.4 Сообщество
• 25.5 Набор инструментальных средств

Почему JavaScript отстой


Учтите, что некоторые положения относятся не к самому JavaScript, а к программным интерфейсам веб-приложений (https://developer.mozilla.org/en/docs/Web/API).

Плохая конструкция

• Каждый скрипт исполняется в едином глобальном пространстве имён, доступ в которое возможен в браузерах с оконным объектом.
• Camel-регистр никуда не годится:

XMLHttpRequest
HTMLHRElement

Читать дальше →
Всего голосов 314: ↑167 и ↓147+20
Комментарии353

Экспансия фронта бактерий по арене с антибиотиками: зрелищный эксперимент Гарвардской медицинской школы

Время на прочтение4 мин
Количество просмотров43K

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

Обычно в лабораторных опытах бактерий разводят в однородной среде. Учёные из Гарвардской медицинской школы пошли дальше. Они организовали необычный эксперимент по эволюции бактерий в смешанной среде — на огромном «блюде» размером 120×60 см.

Пространство разделили на зоны с разной концентрацией антибиотика, так что в следующую зону проходят только поколения бактерий с подходящими мутациями. В результате, в финальный раунд по центру арены пробиваются «супермикробы», то есть максимально изменившие свой генотип и фенотип в результате эволюционного отбора (см. об изоляции приспособленцев в конце статьи).
Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии108

На всякий пожарный: полезные Live CD/USB для аварийного запуска компьютера

Время на прочтение6 мин
Количество просмотров614K
Привет, Гиктаймс! Крайние меры на то и крайние, чтобы обращаться к ним из отчаяния. Поэтому даже в том случае, когда у компьютера «поехала крыша», есть вариант починить его без полной переустановки системы. Сегодня мы поговорим о загрузочных флэшках и рассмотрим простые очевидные наборы для работы с ПК «на лету».

Читать дальше →
Всего голосов 47: ↑37 и ↓10+27
Комментарии85

Создаем мобильную игру на Monogame, решая типичные проблемы начинающего разработчика

Время на прочтение10 мин
Количество просмотров33K
Целью данной статьи является систематизация материалов для создания простых игр на фреймворке Monogame. В статье будут рассмотрены решения типичных задач, с которыми приходится сталкиваться всем разработчикам при создании игр для мобильных платформ: независимость текстур от разрешения экрана, создание меню и смена игровых сцен (экранов), нюансы работы со звуком и шрифтами, сохранение рекордов. В статье приведены примеры кода, а так же даны ссылки на полезные и актуальные источники информации по Monogame и разработке под платформу Windows в целом, ну и конечно, моя история создания своих первых игр.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии13

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

Время на прочтение2 мин
Количество просмотров85K



Мы собрали интересные лекции, которые помогут понять, как работает машинное обучение, какие задачи решает и что нам в ближайшем будущем ждать от машин, умеющих учиться. Первая лекция рассчитана скорее на тех, кто вообще не понимает, как работает machine learning, в остальных много интересных кейсов.
Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии5

Критические уязвимости в Drupal: подробности и эксплоиты

Время на прочтение3 мин
Количество просмотров11K
image

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

Уязвимости обнаружены в модулях RESTful Web Services (используется для предоставления REST API к функциям Drupal), Coder (модуль анализа кода и миграции для старых версий) и Webform Multiple File Upload (добавляет компонент формы для загрузки пользовательских файлов). В ядре исправлена уязвимость httpoxy, о которой мы уже писали в блоге.

Согласно бюллетеню безопасности PSA-2016-001 уязвимости затрагивают до 10000 сайтов, на которых установлены указанные модули. Бюллетень PSA-2016-002 подтверждает наличие уязвимости httpoxy в восьмой ветке Drupal, где используется сторонняя библиотека Guzzle для осуществления HTTP-запросов, при этом более ранние версии Drupal 7.x не подвержены данной уязвимости.

В сети уже опубликованы эксплоиты, использующие данные уязвимости. В нашем сегодняшнем материале — их более подробное описание.
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии3

«Пятничный формат»: Подборка легендарных песен современности

Время на прочтение4 мин
Количество просмотров19K

Фото Libert Schmidt CC-BY

Пользователи сервиса Quora поделились своим мнением по данному вопросу, а мы узнали, что слушают сотрудники Аудиомании.
Читать дальше →
Всего голосов 22: ↑16 и ↓6+10
Комментарии51

Mandrill всё? Как я искал замену и нашел 2 прекрасные альтернативы Мандрилу

Время на прочтение4 мин
Количество просмотров59K
TL;DR: Mandrill захотел поднять цены в 4 раза. Они нашли способ через интеграцию с MailChimp.

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



Напомню, что раньше Mandrill был бесплатным для небольших проектов до 12.000 писем в месяц (около 400 в день). Сейчас же как минимум $20 + сколько напосылаешь писем.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии69

Информация

В рейтинге
Не участвует
Откуда
Чебоксары, Чувашия, Россия
Дата рождения
Зарегистрирован
Активность