Category: общество

me

CAS 3.8.0

Давно я об этом не писал.
Вышел CAS 3.8.0; добавлен FastCGI сервер, Apache 2.X теперь, как и Apache 1.3 - deprecated. К сожалению, отличный в прошлом проект HTTP-сервер Apache сам себя похоронил под тяжестью лишней функциональности и массы глупых проверок, совершенно не нужных для сервера приложений.

http://cas.havoc.ru/download/cas-3.8.0.tar.gz
me

ПО мотивам обсуждения в ФБ.

Теперь я понимаю, откуда берутся пионеры.

Откуда берутся пионеры?

Недавно я посмотрел лабораторные работы студентов-отличников Физтеха, находящихся на третьем курсе очного обучения.

Еще раз и медленно.

Студентов.
Отличников.
Третьего курса.
Московского физико-технического института.

Что я там увидел:
- лабы по Assembler для MSDOS/6.22
- код на С и С++

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

Люди пишут код который лишь бы работал; там, где можно использовать зависящий O(1) по скорости от объёма данных алгоритм, можно обнаружить O(n^2). В частности, при программировании двоичных деревьев студенты не в курсе про вырожденные случаи несбалансированных деревьев и заранее полагают скорость поиска логарифмической (а она там линейная, лол). В случае с assembler люди ничего не слышали о конвейере, привет, 8086, и при этом они же метят на работу в Intel!

Далее.
Народ ничего не знает об STL. Это не нужно, так как закат Солнца вручную - модно и молодёжно.

Преподаватели проходят под никами, как вам такой: Alcoholic. Я так понимаю, это сокращение Коголик Александр, как, вы не знаете, что это ведущий специалист-алгоритмост круче Дейкстры?

Виноваты ли в этом студенты? Полагаю, что если и виноваты, то не сильно - нельзя учиться новому у старпёров, застрявших в MSDOS 2.0, нельзя всерьёз воспринимать в качестве преподавателей алкашей, нельзя писать качественный код, если проверяют только результаты, не оценивая алгоритм и его реализацию.

А вот то, что даже в #мфти полностью просрана школа - очевидно, и аукнется это не сейчас, и даже не через 3-5 лет, когда этот студенческий сброд пойдёт на работу, а через 15-20 лет, когда массово начнут выходить на пенсию те, кто еще успел отучиться в СССР. Вот тогда - да, наступит веселье.

Обсуждение в ФБ
me

О перезапусках

Как «Яндекс» провалился с «Кинопоиском»

>Следовательно, на момент запуска нового «Кинопоиска» пиар-департамент «Яндекса» уже должен был иметь план действий на случай, если все пойдет не так.

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

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

Но, судя по обрывочным сливам инсайда, сделать это было невозможно, т.к. в лучших традициях менеджмента Афиши-Рамблера (да-да, именно - А-Р) старый продукт был объявлен плохим, и на его месте сделан новый с нуля. Причем, ставка была (это - оценочное суждение) - на предоставление пользователю новой, а также "улучшенной" части старой функциональности взамен текущей. К сожалению, это не работает по очевидными причинам. Непонятно только, почему это не было очевидно менеджменту.

>Во-вторых, не очень понятно, почему «Яндекс» не обнаружил все эти проблемы на этапе бета-теста?

Здесь нет ничего сложного. Недостаточно взять какую-то абстрактную аудиторию и провести тест. Если человек не пользовался сервисом, у него нет стереотипа восприятия, и ему всё равно, новая версия или старая. Можно смело утверждать, что есть и те, кому на этапе тестов меньше нравился старый Кинопоиск, просто потому, что его увидели после нового)) Аудитория для тестов должна быть репрезентативной. Жаль, что в Яндексе забыли про собственную же майку "Я - не ваша целевая аудитория".


> Все это можно было исправить. Нужно было просто начать публиковать полную, достоверную и исчерпывающую информацию по всем вопросам, интересующим пользователей. Почему новый сервис создан именно вот таким? Кто его делал? Допустили ли разработчики ошибку, или все так и было задумано? Если это ошибка, то как виновные будут за нее отвечать? Какие шаги компания предпринимает для нормализации ситуации? Услышал ли руководство компании своих пользователей, уважает ли оно их мнение, и намерено ли учитывать его в дальнейшем?

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

Теперь выводы:
1) Если вы перезапускаете проект, особенно - с длинной историей, будьте готовы к недовольству пользователей в любом случае.
2) Минимизация недовольства - отдельный, технологически сложный, проект. Только подготовкой службы PR здесь не отделаться, необходима разработка механизмов миграции аудитории по частям, причем - в обе стороны, и налаживание анализа пользовательской активности.
3) "Я - не ваша целевая аудитория". A/B тестирование работает только тогда, когда аудитории A и B имеют одни и те же статистические параметры. Если вы в "A" поместили хипстеров-либертарианцев, а в "B" - любителей традиционных ценностей, то у вас не A/B, а две разных аудитории.

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

https://www.facebook.com/sloneus/posts/543121732505994
me

Психологи в HR

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

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

Но иногда бывает и так, что приходится работать кадровичкой, по-заморски - HR-ом. И тут вдруг выясняется что почему-то всё плохо, никак не подбирается коллектив, тебе хамят, и жизнь идет мимо. Было такое? А знаешь, почему так? Я объясню.

Все дело в том, что вот ты в свои неполные 30 кандидат психологических наук, выпускник Универа, вроде как ученый, а вынуждена обхаживать заносчивых технарей, каждый из которых имеет мнение, говорит на англорусском суржике, тебя, из-за того что ты не въезжаешь, ни во что не ставит, при этом сам еще и кандидатом наук не является.

Это унизительно, тебя воспитывали и учили не для этого, ты расстраиваешься, и... и даже твоё фундаментальное образование не может помочь тебе справиться с проблемой.

А знаешь, в чем дело? В том, что хороший HR является психологом в последнюю очередь. Повторяю: быть психологом - совсем не главный навык. Из-за этого твои знания и умения не будут востребованы и должным образом оценены, и если ты к этому не готова, у тебя ничего не получится.

О том, какие умения нужны - в следующем посте. Возможно))
me

В очередной раз о Хабре, мозгах и безопасности.

http://geektimes.ru/post/247794/

Нет повести печальнее на свете, чем повесть об идиотах с Хабры.
Здесь можно много чего обсуждать, но особо хотелось бы отметить следующее:

1. Отсутствие мониторинга происходящего. Хостинг в облаке не дает вам права забить на мониторинг своих проектов. И - нет, мониторинг не должен и не может работать с того же облака, которое мониторит. Более того: доступ к машине мониторинга с серверов облака - серьёзнейшая дыра в безопасности.

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

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

4. Абсолютная безответственность по отношению к своим проектам и данным клиентов. Хорошо, что гражданину только подняли дорогие виртуалки, а ведь могло бы так сложиться что грохнули бы все данные.

5. Общая глупость автора, как то: незнание английского языка _хотя_ бы на уровне написания жалобы в саппорт, нежелание найти в конторе (в которой он, на минутку, совладелец) человека, говорящего по-английскию

Теперь выводы.
1. Для работодателя и коммерческого партнера Хабра стала лакмусовой бумажкой. Нет более простого способа вычислить дебила, чем зайти на Хабру и поискать публикации потенциального работника или коллеги.

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

Обсуждение - здесь: https://www.facebook.com/sloneus/posts/456730424478459
me

Сказочка на ночь

А давайте я вам расскажу сказу-быль об одном интернет-провайдере?

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

И вот в этой самой базе хранились все клиентские пароли. Так как разработчики были не полными идиотами, пароли они хэшировали. И на момент написания биллинга хэш-функция считалась надежной. Вот беда - было это 10 лет назад. А вторая беда - так, не беда - бедулька, я бы даже сказал; в общем, так - бедулечка, и была она в том, что пароль генерировался предсказуемым образом: одна цифра и только строчные буквы от a до z; длина 12 октетов. При этом в пароле никогда не встречалось две и более гласных или согласных подряд. От чего количество переборов исчислялось не квинтиллионами (10^18), как могло бы быть, а всего лишь сотней-другой миллиардов.

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

И самое печальное - что поменять алгоритм не переписывая кучу кода нельзя - обязательно что-то да отвалится. Ну, вы и сами всё про большие системы знаете.

В этой сказке-были есть мораль:
1) Не используйте MD5 НИГДЕ. Ни с солью, ни без.
2) Не используйте алгоритмов, не допускающих конфигурируемого усложнения хэша.
3) Прежде чем писать генератор пароля, прикиньте количество возможных вариантов. Потому что [a-z0-9] длиной 12 байт === 36^12 == 4.73e+18. А пароль с чередующимися гласными и согласными и одной цифрой == 5^5 * 21 ^ 6 * 10 = 1.27e+11.
4) Прежде чем писать код, осильте, наконец, https://ru.wikipedia.org/wiki/PBKDF2
me

Ахеджакнуло по полной. Мощность ахеджака - 100 килоЛии.

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

----------
Мой комментарий ниже:

Давайте я признаюсь в ужасной вещи: я объездил полмира (это не преувеличение, я без шуток). Я НИГДЕ не видел плохого отношения ни к немцам, ни к русским. Никто ни от кого не шарахается. В Южной Америке, например, вообще никого не интересует ситуация с Россией; примерно так же, как у нас мало кому интересно что происходит в Перу или Эквадоре.

Более того, 4 недели назад в Эквадоре мы путешествовали с Максом из Мюнхена. Я не в состоянии представить ситуации когда Макс стал бы демонстрировать раскаяние или неприязнь или вообще вести себя как-то странно по отношению к русским или кому-либо еще. Еще мы общались с англиками и канадцами; англик был заносчив и глуп, канадцы были прикольные ребята. Им всем было наплевать на то, что мы из России.

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

Ах, да. А еще Макс спрашивал как по-русски сказать "Приятного аппетита", выучил это и утром всех приветствовал по-русски, а канадец просил спеть "Подмосковные вечера". Потому, что не знал других песен, а гитара была только у нас.
me

Креаклы шумною толпой...

http://lenta.ru/news/2014/11/06/plushev/

Креаклы абсолютно искренне недоумевают, как же так? Как можно увольнять Уважаемых Людей за выражение Собственного Мнения во Внерабочее Вермя?

Это ведь только быдло должно молча ишачить в стойле и не выступать, если вдруг не вписалось в рынок. А вот креакл может делать что угодно, так как он - представитель лучшей части населения Этой Страны.

На практике же мы видим очень простую картину: кто платит, тот и заказывает музыку. Детка, это - капитализм, прав тот, у кого деньги; и это так везде, в том числе и в СМИ, а не только в офисе торгующего лампочками ООО "Вектор". Не нравится владелец - организуй собственное новостное агентство, ты сильный, ты обязательно справишься.

И, да. Не надо рассказывать про "независимость СМИ", этого нет нигде в мире. Независимость - это вовсе не когда ты пишешь то, что ты хочешь писать и это совершенно случайно совпадает с редакционной политикой и молчаливо поощряется владельцем, который платит тебе зарплату.

https://www.facebook.com/rashid.fatykhov/posts/785539201510282
me

Об ответственности

Преподаватели МИФИ не знают предмета, который преподают; линк.

Окончившие курс Стэнфорда по компьютерной безопасности не знают основ этой самой безопасности; линк.

Работающие программистами в CERN пишут настолько дикий управляющий код для коллайдера, что непонятно, как там вообще хоть что-то работает (линк утонул в ФБ).

И у всех отличное резюме, хоть сейчас в директора по разработке холднига на 1000+ человек.

Тут же всего лишь файловая база 1С очередного мелкого бизнесмена и такая реакция.

А разгадка проста: уровень некомпетентности растет с уровнем занимаемой должности, а уровень ответственности - наоборот, падает. В итоге когда токарь Василий запарывает заготовку на станке, или админ-аникей Иван рушит базу 1С - это трагедия и ужас и до седых волос позор. А когда директор по разработке на пару с директором по развитию запарывают высокотехнологичный проект (казалось бы, с чего бы?) - это всего лишь повод успешно выступить на очередной конференции про историю неуспеха позитивно думающих людей и уйти под аплодисменты позитивно настроенных коллег в другой холдинг на повышение или как минимум на ту же должность.

Собственно, все задаются вопросом, фиг ли у нас криворукие ебланы и печенье "Анёла"? Да вот именно поэтому.
me

К вопросу о прилегшей «Стрелке-СТ»

Регулярно слышу возмущение коллег по поводу глупости и убогости ошибок в государственных и полугосударственных проектах:
- Как так можно! Это ведь так просто, ошибки лежат на поверхности; мы бы за пять минут все cпроектировали и написали как надо!

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

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

Типичная контора выглядит так:
Заработная плата складывается из чёрного нала, зарплаты и премии. У программиста с доходом на руки в 100 тысяч, зарплата составляет от 5 до 20 тысяч рублей. Еще от 15 до 40 тысяч оформляют в виде премии. Остальное дают в конверте. Причем очень часто выплаты задерживают или недоплачивают премиальную часть - что делать, не наработал. Кроме того, экономии ради арендуются самые дешевые офисы в максимально логистически неудобных и экологически проблемных местах.

Подобные условия для Москвы нельзя назвать комфортными (да, мы здесь зажрались, но сейчас речь не об этом). Поэтому в подобные организации идут работать либо экс-студенты без надлежащего опыта, либо понаехавшие покорители Москвы (тоже без должного опыта), либо никуда более не способные устроиться бездарности. Единственный вариант иметь хоть какие-то дела с подобными организациями - работать консультантом за жесткий прайс и со 100% предоплатой, но так могут лишь единицы, погоды они не делают, так что речь не о них.

Как пример, который я видел лично. В некой конторе надо было искать в нехилом таком текстовом потоке данных логин, удовлетворяющий условию ([a-zA-Z][a-zA-Z0-9_.-]+[a-zA-Z0-9]). Написать подобный регексп разработчик был не в состоянии, и проблему решили каким-то звериным способом типа дополнительной проверки найденного логина еще двумя регекспами. То есть, человек, много и долго занимающийся разработкой обрабатывающего потоки текстов софта не имел должного представления о регулярных выражениях и вообще ничего не знал о потоковых парзерах и контекстно-свободных грамматиках. Понимаете?

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

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