23 April 2017

Improve your algorithmic skills

Мне всегда поражала методика, по которой IT гиганты типа Microsoft, Google или там Facebook набирают себе в штат новый программистов.
Если кто не в курсе, в двух словах объясню. Людей ищут не на конкретный проект и с конкретными техническими скиллами, востребованными на этом проекте, а ищут взагали, без всякой оглядки на боевой опыт соискателя. При этом практически единственным критерием отбора кандидатов являются навыки оных в области решения хардкорных алгоритмических задачек. Под секундомер. Написал без ошибок и быстрее на 20 секунд, чем другие участники забега, процедуру балансировки черно-красного дерева -- welcome aboard! А какие ты при этом технологии знаешь, какой у тебя практический опыт и на чем ты этот алгоритм реализовывал -- дело совершенно десятое.


Меня весь этот цирк удивлял по многим причинам. Например, отсутствием элементарной связи между заданиями на интервью и теми задачи, которые люди должны решать на своих рабочих местах. Если кто не в курсе, в Microsoft или Google пишут точно такие же программы, как в других IT компаниях, и, соответственно, попавшие туда люди, в большинстве своем, точно так же лепят формочки для Android приложений или отдают браузеру страницу, построенную на SQL запросе к базе данных. Знать при решении этих задач 20 разновидностей алгоритма сортировки совершенно не нужно и знания эти, если и бывают когда востребованы, то исключительно в случаях, когда тебя подключают к процессу отбора желающих работать с тобой в одной компании.
Некоторые товарищи, умудрившиеся окончательно поехать крышей на алгоритмах и структурах данных, после успешного трудоустройства (которое далось им многочасовыми бдениями над скучными формулами, теоремами и псевдокодом) оказываются ужасно разочарованы -- как минимум от того, что навыки, которые так востребованы при трудоустройстве в крутые компании, день ото дня не совершенствуются при решении рабочего круга задач. Очевидно, просто потому, что связь между практическими проблемами, которые решаются с помощью программирования, и математическим алгоритмическим задротством примерно такая же, как между возможностью говорить и пониманием физиологических процессов в коре головного мозга, связанных с речью.

11 April 2017

"Слепой" тест камер флагманов. Once again.

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

#1. Во-первых, извините, но тест ни фига не слепой, хотя организаторы пытаются убедить нас в обратном:
"Там же везде номера тасуются для объективности) Т.е. порядок следования везде динамический - 5й может быть потом 4м, а дальше 2м и т.д... Иначе накрутить через биржу - изи. Проходили это уже с некоторыми компаниями вплоть до аннуляции голосов. Теперь только хардкор, все должно быть честно."

Хардкор в представленном тесте, на самом деле, следующий. Номера жестко завязаны за смартфонами. При этом смартфоны просчитываются элементарно.
Берите ручку, записывайте: 1 - Google Pixel, 2 - HTC U Ultra, 3 - Huawei P10 Plus, 4 - iPhone 7 plus, 5 - LG G6, 6 - S8 plus.

#2. Реально крутая камера там одна. Google Pixel называется. 
Все остальные на ее фоне -- статисты. 

Судить камеры по тем кропам, что приводятся в статье, это примерно как судить о погоде через закрытую занавеску. 

Вот вам пример, как надо делать правильный кроп. 

Pixel vs S8. Кликабельно. Обратите внимание на детализацию волос и фактуру одежды.

А вот какие кропы дают читателям. Ну и промежуточные результаты голосования (не знаю с "биржей" ли они или без оной):

Кликабельно. Да, самый крутой снимок в этой категории имеет самую низкую оценку.

#3. Фактически сравнение идет jpeg движков и алгоритмов постпроцессинга. 
Досадно. Как человек, крутивший raw файлы с S7, я берусь утверждать, что камера у Samsung не сильно хуже гугловской, просто ее результаты корейцы гробят криворуким постпроцессингом и тотальным отсутствием вкуса. 
Кстати, HTC, похоже, приложили максимум усилий, чтобы научиться в обработке косить под Samsung. Идиоты. 

#4. Да, я знаю, что люди обычно смотрят снимки на экранах смартфонов. И никто не будет руками править баланс белого, даже если это делается в два клика. 
И все равно очень обидно наблюдать в какую сторону несет индустрию мобильных камер. 

зы. Писать еще по теме, если будут поводы?