Pull to refresh
0
0
Ильин Сергей @snegg

User

Send message

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

Reading time 3 min
Views 107K


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

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

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

Reading time 13 min
Views 45K
image

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


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

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

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

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

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

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

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

Reading time 51 min
Views 60K
image

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

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

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

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

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

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

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


Читать дальше →
Total votes 39: ↑38 and ↓1 +37
Comments 8

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

Reading time 21 min
Views 33K


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

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

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

Reading time 7 min
Views 92K
image

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

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

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

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

Reading time 9 min
Views 55K
Четыре месяца назад у меня появилась идея написать Telegram-бота, который будет запускаться не на внешнем сервере, как большинство ботов, а на мобильном телефоне.

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

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

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

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

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

Reading time 14 min
Views 23K
image

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

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


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

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


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

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

Reading time 6 min
Views 44K
В самом низу есть обновление

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

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

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

Читать дальше →
Total votes 51: ↑42 and ↓9 +33
Comments 98

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

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

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

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

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

Total votes 28: ↑28 and ↓0 +28
Comments 33

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

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


Читать дальше →
Total votes 46: ↑33 and ↓13 +20
Comments 137

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

Reading time 54 min
Views 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

Читать дальше →
Total votes 314: ↑167 and ↓147 +20
Comments 353

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

Reading time 4 min
Views 42K

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

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

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

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

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

Читать дальше →
Total votes 47: ↑37 and ↓10 +27
Comments 85

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

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

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

Reading time 2 min
Views 84K



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

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

Reading time 3 min
Views 10K
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 не подвержены данной уязвимости.

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

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

Reading time 4 min
Views 19K

Фото Libert Schmidt CC-BY

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

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

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

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



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

Information

Rating
Does not participate
Location
Чебоксары, Чувашия, Россия
Date of birth
Registered
Activity