Search
Write a publication
Pull to refresh
27
0
Игорь @CLaiN

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

Send message

Готовим Debian к переводу часов 26 октября 2014 года

Reading time3 min
Views45K
Приближается 26 октября 2014 года — день, когда в 2 часа ночи в большинстве регионов России в очередной (и как снова обещано в последний) раз часы буду переведены на час назад. Кроме того, в некоторых регионах происходит смена часового пояса. Ознакомиться подробно где и что меняется можно в Федеральном законе от 21.07.2014 № 248-ФЗ «О внесении изменений в Федеральный закон „Об исчислении времени“.

В этом посте я хочу акцентироваться на вопросе приведения в актуальное состояние данных о часовых поясах в Debian.
Читать дальше →

Как работает CPU: интерактивный урок для начинающих

Reading time2 min
Views117K
Simple CPU — маленький урок, который знакомит новичка с ключевыми понятиями информатики. Хотя урок далеко не полный и предназначен для «самых маленьких», но даже образованному человеку приятно видеть, насколько доступно и элегантно можно изложить сложный материал.

Урок состоит из 8 интерактивных примеров.

1. Бинарное счисление.

2. Логические операции на примере штриха Шеффера (NAND gate).


Штрих Шеффера (NAND gate)
Читать дальше →

Почему 0x00400000 является базовым адресом по умолчанию для EXE

Reading time3 min
Views46K
Базовым адресом по умолчанию для DLL является 0x10000000, но для исполняемых файлов это 0x00400000. Почему именно такое особое значение для EXE? Что такого особенного в 4 мегабайтах?

Это имеет отношение к размеру адресного пространства, отображаемого одной таблицей страниц в архитектуре x86, и такую конструкцию выбрали в 1987 году.

Единственным техническим требованием для базового адреса EXE является кратность 64 КБ. Но некоторые варианты базового адреса лучше, чем другие.

Цель выбора базового адреса состоит в минимизации вероятности, что модули будут перемещены. Это означает, что следует предотвратить столкновение 1) с другими объектами, которые уже в адресном пространстве (что и вызовет перемещение); 2) а также с объектами, которые могут появиться в адресном пространстве позже (форсируя их перемещение). Для исполняемых файлов избегать конфликта с объектами, которые могут появиться позже, означает уход из района адресного пространства, который может быть заполнен библиотеками DLL. Поскольку сама операционная система помещает файлы DLL в старшие адреса и базовым адресом по умолчанию для несистемных DLL является 0x10000000, то базовый адрес для EXE должен быть где-то младше 0x10000000, и чем младше, тем больше места останется до того, как вы начнёте конфликтовать с библиотеками. Но насколько низко нужно заходить?
Читать дальше →

Асинхронность 2: телепортация сквозь порталы

Reading time27 min
Views49K


Не прошло и года, как я добрался до продолжения статьи про асинхронность. Эта статья развивает идеи той, самой первой статьи про асинхронность [1]. В ней обсуждается достаточно сложная задача, на примере которой будет раскрыта мощь и гибкость использования сопрограмм в различных нетривиальных сценариях. В заключение будут рассмотрены две задачи на состояние гонки (race-condition), а также небольшой, но очень приятный бонус.
Читать дальше →

Живительная флешка

Reading time10 min
Views523K
На данный момент в сети имеется целая куча различных инструкций по созданию дежурной рабочей сисадминской флешки, но, к сожалению, многие из них уже устарели и просто не подходят под современные задачи.

Я не собираюсь описывать процесс установки GRUB4DOS, так как это не изменилось и в сети полно инструкций. Просто скажу, что GRUB4DOS просто должен быть установлен на флешку. Также я НЕ собираюсь выкладывать здесь образы систем (все имеется на торрентах), но, тем не менее, выложу полное меню из LST-файлов со структурой папок. Также необходимо учесть, что все образы ISO необходимо дефрагментировать.


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

Почтовый офис Яндекса: как мы сделали сервис, анализирующий результаты рассылок в реалтайме

Reading time4 min
Views26K
У Яндекса есть сервис для добросовестных рассыльщиков писем — Почтовый офис. (Для недобросовестных у нас в Почте есть Антиспам и кнопка «Отписаться».) С его помощью они могут понимать, какое количество их писем пользователи Яндекс.Почты удаляют, сколько времени их читают, насколько дочитывают. Меня зовут Антон Холодков, и я занимался разработкой серверной части этой системы. В этом посте я расскажу о том, как именно мы ее разрабатывали и с какими трудностями столкнулись.



Для рассыльщика интерфейс Почтового офиса полностью прозрачен. Достаточно зарегистрировать в системе свой домен или email. Сервис собирает и анализирует данные по множеству параметров: имени и домену отправителя, времени, признаку спам/не спам, прочитано/не прочитано. Также реализована агрегация по полю list-id — специальному заголовку для идентификации рассылок. Источников данных у нас несколько.
Читать дальше →

«Хабрахабр» представляет Geektimes

Reading time4 min
Views223K
Анонсируя внесение «Хабрахабра» в реестр распространителей информации, мы дали понять, что планируем перенести часть контента на новый проект. Решение о вынесении непрофильных хабов в другое, изолированное от «Хабрахабра» место, давно зрело внутри компании. Но для принятия решения начать действовать чего-то не хватало. Внесение «Хабра» в реестр распространителей информации послужило толчком для начала решительных действий.


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

Как накормить мозг программиста… или feed your brain

Reading time12 min
Views375K

Введение


Из всех наслаждений, отпущенных человеку в жизни,
самое изысканное — шевелить мозгами.
(Борис Акунин)


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

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

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

В микроволновой печи скрывается мощное и опасное СВЧ оружие

Reading time4 min
Views643K
Добрый день, уважаемые хабровчане.

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

В микроволновке находится генератор СВЧ волн огромной мощности


Мощность волн, которые используются в микроволновке, уже давно будоражит моё сознание. Её магнетрон (генератор СВЧ) выдаёт электромагнитные волны мощностью около 800 Вт и частотой 2450 МГц. Только представьте, одна микроволновка вырабатывает столько излучения, как 10 000 wi-fi роутеров, 5 000 мобильных телефонов или 30 базовых вышек мобильной связи! Для того, что бы эта мощь не вырвалась наружу в микроволновке используется двойной защитный экран из стали.
Читать дальше →

Выбираем панель управления хостингом

Reading time14 min
Views187K
panels

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

Как отдельный продукт панели управления хостингом стали широко использоваться в конце 1990-х годов. За прошедшее с тех пор время они очень изменились и усовершенствовались. Сегодня на рынке представлено огромное количество решений для управления хостингом — как свободных, так и проприетарных. Как из всего этого многообразия выбрать действительно стоящий продукт?

В Интернете можно найти публикации, в которых сравниваются имеющиеся панели (вот, например, неплохой переводной материал; см. также здесь). Мы решили составить собственный обзор, в котором акценты расставлены несколько по-иному, чем в опубликованных ранее. Одним из основных критериев, положенных в основу нашего обзора, является поддержка панелями веб-серверов и их комбинаций. Кроме того, в нашей статье мы рассматриваем продукты, в публикации по ссылкам выше не вошедшие.
Читать дальше →

С днем рождения, Nokia 3310

Reading time3 min
Views134K
«На самом деле Nokia 3310 настолько эпична, что, попав в работающий блендер, может собраться обратно без проблем. Доказано».
«У меня такой 10 лет проработал».



Нашему знаковому телефону Nokia 3310 исполняется 14 лет. Его рождение пришлось на «золотой век» индустрии, когда коробки от телефонов были большими, а сами телефоны — маленькими. В то время мерялись не количеством ядер, а набором инструментов в полифонии, WAP был на подъеме, а GPRS в России только-только начал маячить на горизонте — в одном-единственном демонстрационном павильоне во время «Связь-Экспоком». До начала эпохи смартфонов оставалась пара счастливых лет.
Читать дальше →

Универсальный метод обхода запрета Yota раздавать интернет с телефона или собираем модуль ядра Android

Reading time5 min
Views452K

Старые методы и их недостатки


Я думаю, никому уже не интересно читать во второй раз (а может быть и в третий), о том, как Yota определяет, пользуется ли человек телефоном в режиме модема или точки доступа. «Зачем нам ещё одна статья?» — спросите вы.

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

Именно эти причины мотивировали меня копать дальше в поисках ответа на вечный вопрос «Как же всё-таки нахаляву раздать интернет всему офису?». И найти такой ответ удалось (только для android, у меня нет яблока).
Читать дальше →

Зачем нужна мышь, если есть клавиатура?

Reading time3 min
Views61K
image Несмотря на провокационный заголовок, я не стремлюсь разжечь холивар. Я хочу поговорить о не используемом потенциале клавиатуры, о тех вещах, которые помогают повысить производительность программиста и избавят от лишних телодвижений в сторону мыши.
Читать дальше →

SSD + raid0 — не всё так просто

Reading time6 min
Views136K

Вступление


Коллеги с соседнего отдела (UCDN) обратились с довольно интересной и неожиданной проблемой: при тестировании raid0 на большом числе SSD, производительность менялась вот таким вот печальным образом:

По оси X — число дисков в массиве, по оси Y — мегабайтов в секунду.

Я начал изучать проблему. Первичный диагноз был простой — аппаратный рейд не справился с большим числом SSD и упёрся в свой собственный потолок по производительности.

После того, как аппаратный рейд выкинули и на его место поставили HBA, а диски собрали в raid0 с помощью linux-raid (его часто называют 'mdadm' по названию утилиты командной строки), ситуация улучшилась. Но не прошла полностью -цифры возросли, но всё ещё были ниже рассчётных. При этом ключевым параметром были не IOPS'ы, а многопоточная линейная запись (то есть большие куски данных, записываемых в случайные места).

Ситуация для меня была необычной — я никогда не гонялся за чистым bandwidth рейдов. IOPS'ы — наше всё. А тут — надо многомногомного в секунду и побольше.

Адские графики


Я начал с определения baseline, то есть производительности единичного диска. Делал я это, скорее, для очистки совести.

Вот график линейного чтения с одной SSD.



Увидев результат я реально взвился. Потому что это очень сильно напоминало ухищрения, на которые идут производители дешёвых USB-флешек. Они помещают быструю память в районы размещения FAT (таблицы) в FAT32 (файловой системе) и более медленную — в район хранения данных. Это позволяет чуть-чуть выиграть по производительности при работе с мелкими операциями с метаданными, при этом предполагая, что пользователи, копирующие большие файлы во-первых готовы подождать, а во вторых сами операции будут происходить крупными блоками. Подробнее про это душераздирающее явление: lwn.net/Articles/428584
Читать дальше →

Подбор книг по C#

Reading time4 min
Views281K
image

Мы решили собрать в одну подборку самые, по нашему мнению, интересные книги нашего издательства, посвященные языку программирования C#. В посте собраны хорошие книги от пособий для начинающих (например, примелькавшаяся книга серии Head First) до изданий Джеффри Рихтера и Чарли Петцольда для практикующих программистов, в общем – на любой вкус по самым лучшим ценам в интернете.
Читать дальше →

О блокировании мобильного приложения Yota со стороны МТС

Reading time10 min
Views115K
Привет, Хабр. Как вы знаете, 13 августа мы начали выдавать из предзаказа SIM-карты Yota. Прошло чуть больше недели с того момента – и сначала в Twitter, потом в других соцмедиа, а затем и в обращениях в нашу службу поддержки стали появляться однотипные жалобы от пользователей – они сообщали о неработающем мобильном приложении Yota. В результате анализа выяснилось, что проблемы возникали только у абонентов МТС, пытавшихся запустить приложение Yota, и именно при подключении к мобильному интернету. При подключении через Wi-Fi приложение работало без нареканий. Также у абонентов МТС не открывался раздел Voice на сайте yota.ru.

Мы предположили, что МТС заблокировал работу нашего приложения в своей сети. И вскоре наши догадки подтвердились. Но обо всём по порядку.
Читать дальше →

Рендеринг 3D-иллюстраций для IKEA

Reading time2 min
Views88K


Глядя на иллюстрации в каталоге IKEA, сложно поверить, что 75% фотографий продуктов и 35% интерьеров — это чистая компьютерная графика. В остальных интерьерах фотография используется только частично. Собственно, настоящих снимков там вообще почти не осталось.
Читать дальше →

Секреты Metasploit

Reading time4 min
Views229K

Вступление


В 2003 году, хакеру, известному как «HD Moore», пришла идея разработать инструмент для быстрого написания эксплоитов. Так был рожден хорошо известный во всех кругах проект Metasploit. Первая версия фреймфорка была написана на языке Perl, содержавшая псевдографический интерфейс на базе библиотеки curses.

К 2007 году разработчики консолидировались, основав компанию Metasploit LLC; в это же время проект полностью переписали на Ruby и, частично на Си, Python и Ассемблер.

В октябре 2009 года, проект Metasploit был приобретен компанией Rapid7 с условием, что HD Moore останется техническим директором фреймворка, на что согласилась компания Rapid7.
Читать дальше →

История создания iOS игры о быстрой реакции и стальных нервах

Reading time7 min
Views35K
В начале апреля я уволился с работы. От переизбытка свободного времени я решил написать игру для iOS. Игра про бедного кубика, которого постоянно преследуют другие геометрические фигуры. Настоящая драма. Кубику нужно продержаться как можно дольше без столкновений. Прототип игры был написан примерно за 8 часов. Всего разработка игры заняла 3,5 месяца. Чем я занимался все это время можно узнать ниже.


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

Сетевые возможности проекторов Epson

Reading time6 min
Views64K
В модельном ряду проекторов Epson есть как модели с поддержкой работы по сети, так и без. В этом посте мы расскажем, какими преимуществами обладают проекторы с сетевым функционалом и как с ними, собственно, работать по сети.

Перечислим основные преимущества проекторов с поддержкой сети:

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

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

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity