Выразительный JavaScript
$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+$.$$_$+$._$+$.$$__+$._+"\\"+$.__$+$.$_$+$.$_$+$.$$$_+"\\"+$.__$+$.$_$+ $.$$_+$.__+".\\"+$.__$+$.$$_+$.$$$+"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$_$+$.__$+$.__+$.$$$_+"(\\\"\\"+$.__$+$.__$+$.___+$.$$$_+(![]+"")[$._$_]+(![]+"")[$._$_]+$._$+", \\"+$.__$+$.$$_+$.$$$+$._$+"\\"+$.__$+$.$$_+$._$_+(![]+"")[$._$_]+$.$$_$+"!\\\")\\"+$.$$$+$._$$+"\"")())();
Если это запустить в консоли браузера, то «Hello, world!» обеспечен.
Вебинар по WebSocket
Представляю вебинар по WebSocket в трёх частях. Записи получились чуть кривыми – не всё поместилось в кадр, но это проблемы технического характера.
Школота на марше
Нет ничего увлекательнее, чем по утрам читать логи сайта. Ежедневно школьники из 10-Б, начитавшиеся журнал “Хакер" пытаются пролезть на мой сайт. Для этих дурачков я не поленился и специально посылаю заголовок "X-Powered-By: HTML only", чтобы сэкономить их время — ведь сложно сломать статичный HTML. Тем не менее, с упорством маньяков, эти идиоты перебирают стандартные способы взлома в надежде добраться до заветной "админки". Ведь не может сайт не иметь "админки", не может человек всё обновлять руками! Может, ребята, может. Вот последние из попыток открыть в стене дверь, которой нет:
- admin.php
- administrator
- wp-login.php
- bitrix
- errors.php?error=http:
- index.php?adduser=true&lang=http:
- teatro (Что это???)
- index.php?language=en&main_page=http:
- components
- index.php?body=http:
- image.php?url=http:
- run.php?dir=SHELL?&file=http:
- ui
- cd%200p
Детишки, лучше приходите ко мне учиться, узнаете много интересного и не будете дурью маяться. Учёба никогда не повредит. Да, это стоит денег. Зато масса времени, которое, как известно тоже деньги, высвободится на нечто более увлекательное, чем тупое вбивание заклинаний в адресную строку браузера.
Индейский маркетинг
Мудрость индейцев Дакоты гласит: «Если ты замечаешь, что скачешь на дохлой лошади, слезь с неё».
Но в профессиональной жизни мы часто руководствуемся другими стратегиями:
- Мы достаём более сильный кнут
- Мы меняем всадника
- Мы говорим себе: «мы и раньше скакали на мёртвой лошади»
- Мы создаём рабочую группу для изучения дохлой лошади
- Мы посещаем другие места, чтобы посмотреть, как там скачут на дохлой лошади
- Мы создаём отдел по оживлению дохлой лошади
- Мы организуем тренировки, чтобы научиться лучше скакать на дохлой лошади
- Мы устраиваем сравнительный анализ различных дохлых лошадей
- Мы изменяем критерии, определяющие, что лошадь мертва
- Мы покупаем людей на стороне, якобы умеющих скакать на дохлой лошади
- Мы объясняем себе, что ни одна лошадь не может быть настолько мёртвой, чтобы на ней нельзя было скакать
- Мы проводим исследования, чтобы посмотреть, существуют ли более хорошие или дешёвые дохлые лошади
- Мы объясняем себе, что наша лошадь быстрее, лучше и дешевле дохлая, чем другие
- Мы образуем совет по качеству, чтобы найти применение дохлым лошадям
- Мы пересматриваем производственные условия для дохлых лошадей
- Мы увеличиваем сферу применения дохлых лошадей
- Мы образуем особый отдел, который занимается только потребностями дохлых лошадей
Уоррен Баффет в своих выступлениях постоянно проводит следующую мысль: бизнес должен иметь ярко выраженные конкурентные преимущества. И если их нет, то практически никакие усилия по управлению бизнесом не способны исправить ситуацию. То есть, главные, стратегические вопросы решаются на стадии выбора бизнеса. На стадии создания (если вы — предприниматель) или покупки (если вы — инвестор). А все прочие усилия — это уже тактические усилия по исправлению стратегических ошибок, допущенных на этапе выбора бизнеса. Причем многие ошибки исправить невозможно.
Сет Годин вторит Баффету аналогией: нужно определить, в своей ли яме
ты сидишь. А может быть это — овраг, не имеющий конца? Если яма правильная, то выбравшись из нее наступает благоденствие. А если это не твоя яма, то попытки выбраться из нее только усугубляют ситуацию. Такую яму нужно просто спешно покидать.
Об опыте работы
Я всегда считал фразу о необходимом опыте работы, которая встречается в описаниях 99% вакансий, одним из самых больших идиотизмов. В самом деле, перед вами два резюме на вакансию бухгалтера. Одно от девушки 25 лет, без профильного образования (только курсы) с опытом работы 3 года. Другое, от Марьи Ивановны, опыт работы 30 лет, образование — Московский Супер Пупер Университет Наивысшей Экономики имени Самого Крутого Экономиста. Кого будем брать?
Исходя из опыта работы, брать следует Марью Ивановну; у нее и образование профильное. Но оказывается, что Марья Ивановна все эти 30 лет проработала в одной большой компании. Знаете, что такое бухгалтерия в большой компании? Это когда в помещении сидит несколько десятков человек и каждый делает свое маленькое дело. Вот наша Марья Ивановна все 30 лет и сидела на проводках гвоздей. Каждый день. Год за годом. Гвозди пришли — гвозди ушли. А образование? А что от него за эти годы осталось, кроме корочки?
А вот девушка, за 3 года успела поработать у пары десятков маленьких фирмочек, причем, у многих из них одновременно. Надо ли объяснять, уровень знаний, навыков и умений этой девушки, которые она приобрела за эти 3 года?
А к чему я это всё пишу? К тому, что, как оказалось, я не одинок в своем мнении:
Все мы видели объявления о приеме на работу, в которых говорится: «Необходимый
опыт работы — пять лет».
Это дает информацию о числе, но ни о чем не говорит.
Обозначить некий минимальный уровень опыта кандидата — безусловно, неплохая идея. Она имеет смысл при поиске кандидатов, имеющих опыт работы от полугода до года. Именно столько требуется, чтобы усвоить азы, разобраться в основных принципах работы, понять, какие инструменты наиболее подходят, и т. п.
Но после этого кривая выпрямляется. Разница между кандидатом с шестимесячным опытом работы и кандидатом с шестилетним стажем на удивление мала. Настоящие отличия — в самих людях, их склонностях, индивидуальных свойствах и умственных способностях.
Если вы все-таки склонны полагаться на цифры, задумайтесь над тем, как вы собираетесь оценивать полученные данные? Что значат пять лет опыта работы? Если пять лет назад вы потратили пару недель, экспериментируя с чем-то, можно ли это засчитать за пять лет опыта в этой области? Как компания собирается проверять эту мутную информацию?
Как долго кто-то чем-то занимался — не относится к делу. Значение имеет только то, насколько хорошо он это делал.
За что я люблю Опенсорс
Внимание: Это нестабильная версия, она содержит последние изменения, но также может содержать некоторые проблемы, такие как падения и потеря информации. На самом деле, она может вообще не работать.