Search
Write a publication
Pull to refresh
4
0
Дегтярёв Евгений @bat

Go/PHP Developer

Send message

Пиратская локализация. Как это было

Reading time4 min
Views9.5K
Так уж вышло, что мне довелось стоять, можно сказать, у истоков так называемой “пиратской локализации” игр на территории бывшего СССР. Многие ее ругают, многие привыкли и воспринимают это явление как должное. Я попробую рассказать, как все это начиналось и вкратце поделиться своим немалым опытом.

Итак, за окном шел дождь, и календарь отсчитывал 1991 год…
Читать дальше →

Страна кленового листа: Канада

Reading time6 min
Views17K


Раз пошла такая пьянка тема про эмиграцию (истории покорения «нашими людьми» Новой Зеландии и Австралии), расскажу свою историю.

О себе: программист (основной язык С++), окончил ММФ НГУ в 2003-м году, с августа 2007-го года проживаем с женой в г. Оттава, Канада.

Замечания


1) все цены — в канадских долларах, на момент написания гугль сообщал, что «1 канадский доллар = 0.850557 доллара США»
2) всё изложенное — исключительно личные впечатления одного из сотен и тысяч приезжих и ни в коей мере не претендует на истину в последней инстанции
3) это никоим образом не агитация, а всего лишь изложение фактов (отрицательных моментов я тоже перечислил достаточно)

Итак, поехали!
Читать дальше →

ITшник в Австралии

Reading time4 min
Views24K
Данной статьей я постараюсь продолжить обзор стран, начатый в Денег нет, погода дрянь и правительство ввело новые поборы. Что делать?. Я не хочу обсуждать почему, зачем, что меня двигало к переезду (кому-то весело и комфортно только в Нью-Йорке/Лондоне, а кто-то весьма доволен и в деревне), а постараюсь просто привести некоторую информацию. Здесь на сайте довольно много людей из Австралии, надеюсь где-то меня поправят, что-то добавят. С удовольствием отвечу на все вопросы в комментариях.

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

Первые шаги на пути к покупкам на ebay, dealextreme, focalprice, kaidomain…

Reading time2 min
Views8.4K
Не секрет, что на ebay, DX, KD и прочих онлайн-магазинах существует много гаджетов и товаров, которых в РФ не найти. Чтобы удовлетворить свои гиковские потребности, а также просто тратить с умом, рано или поздно приходится обращаться к интернет магазинам. Однако новички теряются во всех этих «палках, клеймах, лотах, диспутах, EMS, USPS и прочее», а также некоторые не владеют английским для того, чтобы элементарно зарегиться в paypal.
Для этой цели админом форума ebay-forum.ru был создан подробнейший pdf-мануал, с которым я и предлагаю всем желающим ознакомиться.
Читать дальше →

Почтовая кухня #3: DNSBL — Что такое DNS blacklist и с чем их едят

Reading time3 min
Views9K
Продолжение цикла статей о работе электронной почты. На этот раз — списках блокировки.

Часть первая: DNS (Автор differentlocal)
Часть вторая: SMTP — (Автор seriyPS)

Часть третья: DNS blacklist

Почтовая кухня #1: DNS

Reading time3 min
Views74K
Думаю, многим будет интересно наконец-то узнать, как работает почта. В нескольких статьях я попытаюсь максимально простым языком расписать все основные вопросы, связанные с работой электронной почты вообще и нужными настройками — в частности.

Часть 1 - DNS.

Правило пирамиды

Reading time5 min
Views9.4K
Правило пирамидыУ вашего нового сайта современный актуальный дизайн. Пуленепробиваемая верстка. Хрустально чистый код, способный в легкую держать 50 000 уников. Осталось только написать ясные и четкие тексты.

Это правило поможет вам. Не смотря на то, что оно простое, оно очень эффективно.

Стив Круг и Якоб Нильсен учат нас: если пользователь быстро не понял, нужна ли ему информация – он уйдет. Текст будет прочитан очень бегло, буквально одно-два предложения.

Как правильно составить текст для сайта? Что поставить вперед, а что приберечь на потом? Когда я впервые задался этим вопросом, мой отец, в прошлом журналист ТАСС, рассказал о правиле пирамиды. Его, в свое время, научили коллеги из BBC (Би-би-си, а не вэ-вэ-эс, если что).
Правило пирамиды и примеры

Почтовая кухня #2: SMTP

Reading time4 min
Views47K
SMTP (англ. Simple Mail Transfer Protocol — простой протокол передачи электронной почты) — это сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.
ESMTP (англ. Extended SMTP) — масштабируемое расширение протокола SMTP. В настоящее время под «протоколом SMTP», как правило, подразумевают ESMTP и его расширения.

Сразу отмечу, что в настоящее время SMTP в чистом виде практически не используется, т.к. он даже не поддерживает элементарно авторизацию… Используется ESMTP. Когда/если вы отправляете почту почтовым клиентом (Outlook, Thunderbird, Evolution, TheBat) происходит работа именно по этому протоколу.
от теории к практике

Как теряют домены 2. Окончание

Reading time1 min
Views721
Предысторию можно прочитать по ссылке Как теряют домены, где я рассказывал о том, как и почему Аэропорт города Челябинска остался без своего домена.

Всё закончилось тем, что победитель аукциона(это некая веб-группа “Дабл Ю”) оплатили 1160$ киберсквотеру под названием «RU-CENTER»(они же захватывают домены, а потом их продают тем, кто дороже заплатит). Сотрудники “Дабл Ю” установили на домене aeroport74.ru «Памятник разгильдяйству»(см. aeroport74.ru)

По этому поводу новость на nic.ru и на региональном новостном сайте

UPD: Ввиду неоднозначной реакции многих представителей хабрасообщества я решил не бросать эту тему. Хочу связаться с представителями «Дабл Ю» и узнать ситуацию изнутри.

UPD2: Интерьвью с владельцем домена aeroport74.ru

Windows 7 — просто нет слов!

Reading time6 min
Views2.9K
Я может быть эмоционален выше среднего, но как бы то ни было… Вожусь с Windows 7 третий день – и положительные эмоции так и прут! :) Давно уже такого не было при работе с программным обеспечением. В своем обзоре я постарался рассказал о тех возможностях системы, которые еще не освещались на хаброблоге Windows 7

Но, давайте по порядку.

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

Задача из старой книги. («Железные» таблицы)

Reading time3 min
Views1.1K
Бродя по букинистическим развалам за смешную цену 35р. купил книжку Гуго Штейнгауза «Задачи и размышления». Там нашел неплохой набор математических задач пригодных для обучения информатике. Но с Хабрасообществом хочу поделиться не этим открытием.
Там же была задача на случайную выборку. Задача классическая. Я ее несколько перефразирую. Но суть от этого не меняется.
Читать дальше →

PHP New Generation

Reading time3 min
Views35K
Немного вольный перевод письма Дмитрия Стогова на internal рассылку PHP сообщества, написанного 5-го мая.

Для знающих меня людей не секрет, что улучшение производительности PHP является моей главной обязанностью и увлечением в Zend. Вообще, начиная с PHP 5.0 мы уже шестикратно ускорили PHP в синтетических тестах и примерно двукратно в реальных проектах. Мы не прекращали улучшать ядро PHP и OPCache. Но все же, с релизом PHP 5.5 у нас не получалось сильно продвинуться дальше и вместе с остальным мы начали экспериментировать с менеджерами памяти, технологией JIT и другими потенциальными решениями.
Читать дальше →

Coroutines в PHP и работа с неблокирующими функциями

Reading time18 min
Views81K
Одним из самых больших нововведений в PHP 5.5 будет поддержка генераторов и корутин (сопрограмм). Генераторы уже достаточно были освещены в документации и в нескольких других постах (например в этом или в этом). Сопрограммы же получили очень мало внимания. Это гораздо более мощный, но и более сложный для понимания и объяснения, инструмент.

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

Генераторы


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

Как умирают софтварные компании

Reading time3 min
Views34K

Условия, которые питают креативных программистов, убивают менеджеров и маркетологов — и наоборот. Программирование — Великая Игра. Оно поглощает игрока полностью, включая и душу и тело. Если ты попался — то ты попался, и ничего уже больше не имеет значения. Когда ты в следующий раз вылезешь из своей берлоги, вполне могут обнаружиться лишние десять киллограммов, борода до колен и такое количество пустых коробок из-под пиццы вокруг, что уже, наверное, наступила весна? Но для тебя это всё не важно. Потому, что твоя программа работает, а код быстр и элегантен. Ты победил.
Читать дальше →

KPI, или пособие по командному самоубийству

Reading time11 min
Views449K
Для написания этой заметки  было затрачено:

  • 68338 километров на поездки.
  • 72 человеко-часа на почтовую переписку.
  • 423 человеко-часа на эксперименты с коллективом в 30 человек.
  • 88 часов на подготовку докладов и выступления на конференциях.
  • 17 чашек кофе на беседу с мудрыми людьми на афтепати.
  • Порядка 25 часов на набор этого текста и правку багов в нем :).
  • До смерти замученный копирайтер, который был вынужден разбирать мои черновики, аудиозаписи и вообще ему спасибо.


Много денег и времени. Пожалуй, самым затратным (по нервам, времени и деньгам) был эксперимент над собственной командой, о котором мне безумно неловко вспоминать. Но об этом — ниже.

Рано или поздно, наверное, у каждого директора возникает желание платить по справедливости. За выполенную работу. И очень многие сейчас пытаются внедрять KPI (ключевые показатели эффективности). Работает так: вы, как владелец бизнеса, назначаете конкретные цели для сотрудников. Они достигают или не достигают поставленных целей в процессе работы. Тем, кто достиг — выдается плюшка (денежная премия).

Смысл такого подхода: платить по справедливости. На сколько наработал — столько и получил. Это честно, это логично, это — прекрасно!



Ну, логично же, что:

  • Продажникам  нужно назначать процент с оборота. Волки должны быть голодными. (Да, есть альтернативное мнение, что применить такой подход — значит «обложить себя дополнительным налогом». Но как по мне — тут все справедливо :-)).
  • Офисному планктону — ставить оклад. Стабильность для них — ооочень важное условие существования.


А вот с творческими единицами (дизайнерами, программистами) — все значительно сложнее.

Мы недавно провели опрос руководителей ведущих диджитал-агентств и веб-студий страны на тему «а как вы используете KPI по отношению к труду творческих единиц», в результате получили вот такую картинку:



Некоторые компании (15%) применяют KPI для оценки эффективности труда программистов и дизайнеров.
Читать дальше →

Насколько большие массивы (и значения) в PHP? (Подсказка: ОЧЕНЬ БОЛЬШИЕ)

Reading time7 min
Views31K
В этой статье я хочу исследовать расход памяти у массивов (и значений в целом) в PHP используя следующий скрипт в качестве примера, который создаёт 100 000 уникальных целочисленных элементов массива и в конце измеряет количество использованной памяти.
Читать дальше →

Traits в php 5.4. Разбираем детали реализации

Reading time8 min
Views53K
Совсем недавно вышла первая beta php 5.4, а пока я писал топик подоспела и вторая. Одно из нововведений в 5.4 – это traits (типажи). Предлагаю разобраться во всех деталях в том, что же типажи из себя представляют в php.

Простой пример типажа, чтобы не заглядывать в Википедею:
//определение типажа
trait Pprint 
{
    public function whoAmI()
    {
        return get_class($this) . ': ' . (string) $this;
    }
}

class Human 
{
    use Pprint; //подключаем типаж, ключевое слово use

    protected $_name = 'unknown';
    
    public function __construct($name)
    {
        $this->_name = $name;
    }

    public function __toString()
    {
        return (string) $this->_name;
    }   
}

$a = new Human('Nikita');
echo $a->whoAmI(), PHP_EOL; //=> Human: Nikita

Как видно, к классу Human было добавлено поведение из типажа Pprint.

Но во всём есть свои детали.
О них далее

О протоколах передачи данных

Reading time6 min
Views86K
В этой статье я хочу поделиться личным, не претендующим на академичность, опытом в работе с различными закрытыми протоколами передачи данными (в основном на прикладном-сеансовом уровнях).

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

Какими свойствами и особенностями обладает хороший, годный грамотный, качественный протокол?
Читать дальше →

По следам человеческого любопытства

Reading time3 min
Views55K
Сидели ли вы когда-нибудь на чудо-сайте «Одноклассники.ру»? Возможно, тогда вы знаете, что на «Одноклассниках» была и есть функция «Мои гости». С помощью нее можно просматривать профили людей, которые побывали у вас на странице. То ли дело «ВКонтакте» — там такой функции нет и никогда не было. Но не все готовы покориться судьбе, некоторые ищут пути потешить честолюбие, а злоумышленники не замедлили этим воспользоваться.
image
Читать дальше →

Разбираем HTTP Range по стандарту

Reading time3 min
Views34K
В одном из проектов мне понадобилось разобрать HTTP Range запрос, чтобы добавить поддержку загрузки файлов по частям. В сети полно различных примеров, но я так и не нашел ни одной полной реализации RFC 2616. Один код не учитывал, что диапазонов может быть несколько, другой, что стандарт допускает запросы больше размера документа, третий не различает синтаксически правильный и недостижимый запрос, как рекомендует стандарт. Поэтому я решил написать свою реализацию и поделиться со всеми. Подробности и пример реализации на PHP под катом.
Читать дальше →

Information

Rating
Does not participate
Location
Алтайский край, Россия
Registered
Activity

Specialization

Backend Developer