AlexSerbul

19 октября 2015, Russia

# Понедельник 107 твитов

Всем привет! Сегодня с вами я. Поговорим о сложном просто, плакать разрешается, удары в пах - тоже. Тема - bigdata, машинное обучение.

11:57

Времени мало, скоро релиз, руки кодят, голова думает - но обещаю отвечать на вопросы, поэтому не стесняйтесь! :-)

12:06

Предлагаю насладиться этим очерком, писал от души, искренне: datascienceweek.com/divideetimpera/

12:09

Вводная, очень простыми словами, для нас, для нормальных людей, а не архангелов 99 уровня: habrahabr.ru/company/bitrix…

12:18

Когда я пришел в Битрикс - то офигел. Много лет сам юзал Agile/Scrum - а тут один из блестящих Agile процессов и мало кто об этом знает :-)

12:28

Лучший разработчик - всегда в поту/крови, ему некогда умничать. К сожалению - эти свойства только у сильных личностей. Умничать всегда легче

12:35
@backendsecret "Важно завалить минимум 5 проектов" - Есть такое :)
12:36
@backendsecret А можете подробнее рассказать, если в курсе, про востребованность специалистов по Big Data в _России_? Большой ли спрос?
12:37

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

12:39

Крупняк - банки, страховые, большие сервисы, хадуп-кластера. Там где есть время "думать" и данных много - можно думаю устроиться.

12:41

Писать код - это привилегия. Нужно уметь и программить и управлять одновременно. Смешно строить карьеру из кодера в менеджера - путь лентяя

12:43
@backendsecret это очень тяжело по началу. Я за неделю написал 10 документов и 40 строк кода
12:47

Разраб, который начинает управлять, "уничтожает" чиновников и родственников, дурные артефакты. автоматизирует все что можно и это работает!

12:50
@backendsecret ну вот и тут разработчики "скоты" :) :(
12:50

Разработчик - офигенно творческая профессия, требующая пота и крови и постоянного развития. Это не рабочая сила, нет. Это боги мира.

12:53

Я - разработчик и горжусь этим. Мы - создали цифровую вселенную, мы - творцы. Но хороший менеджер, каких очень мало - нисколько не хуже :-)

12:55
@backendsecret кстати вопрос: хочу бигдатамастером стать. Где меня научат? :)

путь размером в 20 лет :-) нигде не научат, нужно отлично высшей математикой владеть с детства twitter.com/dcromster/stat…

12:57

Agile/Scrum - хорош только для умных и профессионалов. А слабые неграмотные команды он быстро факапит - это это тоже хорошо :-)

13:03
@backendsecret а давай определимся, что такое БИГДАТА. Это же не XX миллионов записей в MySQL, как многие думают.
13:35

Bigdata - это прозападный термин, который продается. По сути это, да, чушь. Данных стало просто больше :-) Самое сложное тут - алгоритмы

13:37
@backendsecret если скрам может зафакапить слабые команды, то что с ними сделает ватерфолл?

Цель же - быстрее узнать команду и поменять либо оставить :-) twitter.com/al_ulianov/sta…

13:38
@backendsecret вот это просто квинтэссенция аджайл-маркетинга :) "если у вас не взлетел аджайл - вы просто не умееете в него"

Agile - только для умных менеджеров и сильных команд, которых меньшинство. Да, работает, да, хорошо, да, редко :-) twitter.com/yanys/status/6…

13:39
@backendsecret Александр, а что это за фото в шапке вашего личного профиля в твиттере?

Это из фильма "Восставшие из ада", рекомендую посмотреть, отрезвляет реальность :-) twitter.com/sananbozkurt/s…

13:40
@backendsecret, у творцов проблемы с пунктуацией.

Тороплюсь. Языки придумал народ, они полны мусора, исключений и глупостей. Лень забивать ими голову :-) twitter.com/vmakeev/status…

13:42
@backendsecret, зачем Битрикс big data? И что подразумевается под big data?

Суть big data - собирать инфу о людях и предсказывать их желания и мысли. И тут бац, нужна математика. twitter.com/vmakeev/status…

13:43
@dcromster @backendsecret На @coursera отличные курсы по этому

На курсах очень в общем, приходится самому много с книгами просиживать все равно. twitter.com/ojomio/status/…

13:44
Скромности пост twitter.com/backendsecret/…

Называю вещи своими именами. Одаренные идут в программисты и математики. Кому не дано - пытаются ими управлять :-) twitter.com/ojomio/status/…

13:46

Но есть такие Управленцы, собирающие классные IT-команды, настоящие Менеджеры - им готов ноги целовать, их мало, их нужно беречь и лелеять

13:48
@backendsecret нет, программисты - гиблое дело и вообще их скоро заменят компьютеры!)

Неа, компьютер очень тупой. Он просто может идиотизмом заниматься очень очень быстро. Разработчика - не заменить! twitter.com/raxpost/status…

13:49
@backendsecret А тогда что можно сказать про одаренных программистов, которые ушли в управленцы?

Лень, корысть, старение мозга, но редко и метко - желание сделать классный продукт, собрать звезд и побеждать twitter.com/pinyslutty/sta…

13:50
@backendsecret, пример, как это использует Битрикс?

Bigdata у нас - для персональных рекомендаций в магазинах. Это повышает конверсию ощутимо. twitter.com/vmakeev/status…

13:51
@backendsecret за чем будущее: нейросети или алгоритмы?

Нейросеть это один из алгоритмов. Эта область щас активно развивается очень, на переднем крае науки прям twitter.com/raxpost/status…

13:52

Нередко говорят, что разработчик после 30 - труп. Старение мозга и рост генеталий. Чушь это - в 39 лет приходится ОЧЕНЬ активно учиться.

13:57
@backendsecret, коллаборативная фильтрация? Почему не использовать готовое решение, типа prediction.io?

Не только коллаборативка. У нас очень много данных для анализа, готовые решения не подошли, нужна гибкость. twitter.com/vmakeev/status…

14:00
Большинство алгоритмов в принципе известны, а придумывать новые - это удел математиков, нужны исследования. twitter.com/backendsecret/…

Проблема в том, что мало кто разбирается в современных исследованиях и алгоритмах хорошо twitter.com/rusgautama/sta…

14:01
@backendsecret Каким местом это bigdata? Это разве не просто recommender system?

Если данных очень много, как у нас, то bigdata twitter.com/freiksenet_ru/…

14:02
@SBozhko представил BigData на SQLite :D @backendsecret

Когда данных много, нужны совсем другие нахрен алгоритмы, заново приходится учиться. MapReduce и т.п. twitter.com/dcromster/stat…

14:03
@backendsecret тогда математики были бы тоже трупы, но это не так, и в 70 лет занимаются исследовательской деятельностью.

Да! twitter.com/rusgautama/sta…

14:03
@backendsecret мне сегодня 36, у меня всё впереди! :D

У нас у всех все впереди, главное постоянно жить в проектах, сроках, писать код и/или помогать его писать другим! ) twitter.com/dcromster/stat…

14:04
@backendsecret У вас же отдельные магазины, там действительно есть где-то big data? Или вы все данные всех ваших юзеров учите?

Больше 20к магазинов у нас, для всех отдаем рекомендации, и учимся по этим данным, да, чтобы помочь магазинам еще twitter.com/freiksenet_ru/…

14:05
@backendsecret И работает, несмотря на то что domains разные? И вас же не 20к магазинов, условно, электронники.

После кластеризации каталога из 18 млн. товаров - все работает, рекомендации реально повышают конверсию twitter.com/freiksenet_ru/…

14:08

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

14:09

Если бы вы знали, сколько сил и сердца в Битрикс люди отдают продуктам и коду. Реально - одни фанатики вокруг, как в Blizzard! ;-)

14:11

Ребят, нужно презу щас доделать на #SECR 2015.secr.ru/program/submit… Как доделаю, давайте про бигдату поговорим, начнем как данные собирать

14:14

Unit-тесты - часто желание подстелить соломку себе. Чувак, ты все равно будешь больно падать и ломать кости - учись терпеть боль!

14:21
@backendsecret Ты за вообще отсутсвие тестов или против unit тестов?

За тесты. Но против максимализма. Лучше модульно писать, ООП использовать на 110%, но руки ломать придется все равно twitter.com/freiksenet_ru/…

14:24

Люди, пора учить Scala, время похоже пришло, Spark на ней написан уже

14:31
@backendsecret почему именно Scala? функциональных языков много, что в ней хорошегт кроме spark

Apache Kafka, Akka (аля Erlang). Идея в ней правильная, здоровая! twitter.com/skl1f/status/6…

14:37
@skl1f, @backendsecret, Битрикс на PHP? Как сюда подходит Scala?

У нас разные технологии используются: от C/bash/PHP до C++/java/scala twitter.com/vmakeev/status…

14:57

Все уже посмотрели отличный, редкий фильм про хардкорных разработчиков? Не пожалеете! kinopoisk.ru/film/725190/

15:06
@backendsecret часто слышу про Scala рядом с BigData. А на сколько в в BigData сообществе популярен Clojure? в сравнении с той же Scala?

Scala придумал практикующий ученый. И кроме поддержки функциональных вещей там есть вкусный мармелад с ООП. twitter.com/PetrMyazin/sta…

15:21

Пора учить параллельные алгоритмы. Они другие. Часто через MapReduce. Их мало, но именно они спасают наши шкуры. mmds.org

15:28

Стоит ли ехать в столицу чтобы развиваться в области IT - да! Будете себя потом проклинать за это решение до старости - да! Что выбрать - хз

15:44

ТЗ пишут в основном для закрытия задницы. Чем оно толще, тем страх больше и больше задниц закрыто. Друг профессионала - agile manifesto

15:52
@backendsecret @vmakeev Haskell рассматривали прежде чем взять Scala? Взялся учить первый, а кругом все учат Scala. Потому интересуюсь.

В Scala также ООП, в отличие от Haskel twitter.com/skl1f/status/6…

15:53

В маленькой компании тебя могут любить и платить мало, в большой - платить много и использовать как туалетную бумагу. Но есть исключения.

15:55
@skl1f @backendsecret @vmakeev а есть, что и где писать на haskell/scala? Потому что эти знания без применения крайне тяжело усвоить

К Spark дописывать логику для бигдаты twitter.com/mr_mig_by/stat…

15:56
@backendsecret а UC разве не эквивалент ТЗ для атомарного события/случая?

UC это микро ТЗ, да. Но часто без диаграмм, алгоритмов, таблиц. UserStory более православно :-) twitter.com/de_gis/status/…

15:57
@backendsecret разница формируется всеобъемлющее ТЗ сразу или слона едят по-частям

В XP роль ТЗ выполняет человек ProductOwner, знающий ответы. Человек. Ну чтобы онанизмом бумажным не заниматься. twitter.com/de_gis/status/…

16:06
@backendsecret что делать, если этот человек ответов не знает, а product level принимает решения, гадая на костях?

Пристрелить как собак бешеных. Поднять бунт, свергнуть начальника. В здоровых коллективах такого нет. twitter.com/mr_mig_by/stat…

16:09
@backendsecret true story. Как лечить такой коллектив?
Бунт и свержение - не вариант, фаундеров не свергают :)

Их посылают в ..пу и уходят. Рынок труда большой. Всегда, всегда можно найти здоровую команду и творить с ней. twitter.com/mr_mig_by/stat…

16:12

Я конечно утрирую :-) Никого свергать не нужно и бунт не вариант. Просто выводите дураков на чистую воду, они сами уйдут.

16:13

Если ты пишешь на C++, когда можно решить на bash - ты садомазахист и вредитель. "Горе от ума" хорошо лечится исправлением багов в саппорте.

16:18
Ну ок. Каждый раз когда смотрю на баш больше 100 строчек хочу вот таких советчиков на кол сажать. twitter.com/backendsecret/…

Лишний код - зло и боль. В unix выше С/bash даже perl/python выглядят извращением. Но согласен, мера должна быть twitter.com/cluevick/statu…

16:34
. @backendsecret если ты пишешь на C++, когда можно решить на Haskell - ты садомазохист и вредитель.

Java, Go т.п. же придумали не от лени. Задолбались люди утечки в памяти отлавливать при решении элементарных задач. twitter.com/mr_mig_by/stat…

16:35

Делаю слайд на #SECR про word2vec и SVD/PCA, кому интересно спрашивайте - бигдата и IR однако

16:36

Делаю слайд про коллаборативную фильтрацию и content-based персональные рекомендации - спрашивайте

16:53

Еще моя статейка в тему: habrahabr.ru/company/bitrix…

17:04

Про PHP кому интересно? У нас много PHP в бигдате, могу ссылочками поделиться, вот например хардкор: habrahabr.ru/company/bitrix…

17:07

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

17:35
@backendsecret эмоциональная импотенция - это когда пиписька не стоит из-за бардака на работе?

Не, это когда работа, проекты и цели перестают вдохновлять. Перестаешь ощущать, что делаешь ДЕЛО. twitter.com/retran/status/…

17:46

Самый подлый и популярный вопрос, который могут задать рук. проекта - когда вы всё сделаете, назови срок. Когда "всё" еще не известно. :-)

17:51
@backendsecret Нет, самый подлый вопрос - это когда ты ответил по срокам, а у тебя спрашивают: "А чё так долго-то?!"
17:56

Процессы (RUP ,,,) работают в IT-компаниях от *00 взаимозаменяемых человек, в меньших - работают взаимоНЕзаменяемые уникальные люди :-)

17:58
@backendsecret Блин, Александр, каж же хорошо что эту неделю ведете Вы) статейки всякие интересные для меня вижу от Вас, + такие мотивации

Стараюсь пользу принести :-) Я просто искренне люблю разработку и людей в ней и стараюсь быть компетентным. twitter.com/sananbozkurt/s…

18:00

Так вот, чтобы менеджеру не сойти с ума, придумали хитрые практики. Planning Poker - столкни разработчиков лбами и зафиксируй адекват :-)

18:17

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

18:23
@CapitanCode @iamale_ru @backendsecret скрипт - просто текст без магической силы. Очевидно тебе нужен интерпретатор.

Под любой операционкой есть свой шел. Вот если его не хватает, приходится дергать системные вызовы. twitter.com/CoderRemix/sta…

18:39

Совершеннолетие разработчика - когда он изучил сист. вызовы ядра на уровне C и ниже. А до этого - парень играет с журналами для взрослых :-)

18:41
@backendsecret "Если ты пишешь на C++, когда можно решить на bash" вот этот ( под которым я написал свой вопрос)

Я тут про то, что не нужно забивать все молотком, а нужно изучать и использовать ящик с инструментами twitter.com/ErythrocyteRBC…

18:55
@backendsecret Ну ты и мудак, Саша Сербул. Сходи китайские порномультики посмотри, журналы для взрослых тебя уже не должны возбуждать.

Я добрался до системных вызовов ядра после 35 лет, а до этого да, мультики смотрел :-) twitter.com/trashtweets/st…

18:56

Если кого обидел, прошу прощения! Я про то, что выучить PHP, C, python - это уровень ПТУ. А вот научиться код писать хорошо - лет 5 хардкора

18:58
@backendsecret ядра какой операционной системы?)

Да любой, чтобы тупо понимать как код дергает железо/файлы/сеть и не писать жуткие тормозящие конструкции. twitter.com/indieloki/stat…

19:01
@backendsecret Извинился @ обосрал. Норм

Посмотри фильм "Одержимость" и поймешь меня twitter.com/pinyslutty/sta…

19:01

ООП очень коварно! Синтаксис понимаешь на неделю, а вот КАК и ГДЕ это использовать - лет 10 нужно. По теме: amazon.com/Effective-Java…

19:03
@backendsecret а что если ООП не нужно и можно обойтись фп-композицией?

Если решение просто и красиво - конечно! В фп (Scala) меня напрягают неэффективные по железу мультики - immutables twitter.com/iamstarkov/sta…

19:09

Самый страшный разработчик - это высокоумный-графоман. Когда он уходит, приходится все переписывать или биться головой о стенку :-)

19:12

Над чем нужно работать. Менеджеру - не прогибаться. Разрабу - бездумно не копипастить, а думать. Админу - не пускать кодить на бою! :-)

19:44

Куда все катится. Раньше программировать было сложно: C/C++. А что сейчас? Даже java - дикое ожирение мозга, не говоря о всяких скриптовых )

19:51

В Scala, кстати, "воскрес" Erlang внутри Akka. Заметили? NodeJS - туда же. Да, это техники для "масс", не умеющих || код - но тренд налицо.

19:58
@backendsecret ой, а чего в сях-то сложного было?

Память, указатели, переполнения буферов, сегфолты и вселенная unix с сетью :-) twitter.com/de_gis/status/…

19:59
@de_gis сложно было говнокодить так чтобы никто не заметил @backendsecret

Скоро обезъян научат писать на javascript, реально такое ощущение. Алгоритмы не нужны! :-) twitter.com/dlagoza/status…

20:00

Классная книжка про IR, для людей, для нас, чтобы ум не жирел! В контексте бигдаты актуальна очень: www-nlp.stanford.edu/IR-book/

20:06
@backendsecret менеджеру еще не подставлять разрабов, а защищать их и признавать ошибки как свои

Да! twitter.com/vtivti/status/…

21:17

Кроме кода, есть стандарты (SQL, tcp/ip, smtp, dns, turn/stun/webrtc). Кто их читал от корки до корки вместо игры в онлайн-хрень? А нужно!!

21:22

Взять rfc по tcp - да там кладезь, море опыта зарыто. Раза три точно прочитал. Нет, шас принято слабоумно гуглить. Куда мы катимся? :-)

21:24
Неделя депрессии и самобичевания с @backendsecret. Все плохо парни, мы все умрем!

Да ну, мы станем круче и дороже! Прикинь если поощрять незнание алгоритмов и стандартов - что станет с планетой? ) twitter.com/muslimov/statu…

21:59
@backendsecret ты хоть раз-то был доволен унаследованным кодом? уверен, что нет.

На рефакторинг нужно время выбивать силой. Не сидеть же всю жизнь в зловонии. Тролить и тролить и время дадут. twitter.com/common_disease…

22:04
@backendsecret чувак из компании благодаря которой существуют битрикс программисты, называет java ожирением мозга, оок

Точно! twitter.com/tartakynov/sta…

22:06
@backendsecret Решил что знаешь код @ @backendsecret так не думает

Откуда же мне код знать? :-) twitter.com/pinyslutty/sta…

22:07
@backendsecret а вы знатный сноб) или тролль, я даже не знаю

Упаси вас! Снобы - высокомерны. Троли - злые. Я - маньяк, просто маньяк :-) twitter.com/unel86/status/…

22:36
@unel86 @backendsecret а на языках ассемблера ещё сложнее.

Я про языки средне-высокого уровня. А то начнут появляться ассемблерные вставки в HTML :) twitter.com/rusgautama/sta…

22:39

Сегодня порезали правду о жизни ) Завтра расскажу как собирать данные и как это делаем мы - nginx, lua, queues, nosql, amazon web services

22:43

Последний твит в день - за что я люблю свою компанию. За работающий Agile/XP и бережливое производство (lean). Это классно блин!

22:51
@backendsecret Просто если задумываться о принципах работы ДВС каждый раз,когда заводишь машину-до работы не доедешь.Нов гор-ты -новые задчи

Не каждый день. За день до релиза, когда кто нить открывает в цикле миллионов файлов и ось убивает процесс :-) twitter.com/ojomio/status/…

23:01
@backendsecret @mr_mig_by замечу,что в яве аутофмемориэррор не пропал,но перешёл на другой уровень реальности и требует больше знаний

Деструктора нет, ресурсы закрывай с try-with-resoucres или по старинке, делай weak-ключи в кешах и будет счастье twitter.com/de_gis/status/…

23:04

# Вторник 157 твитов

@backendsecret а что полезного тебе дал стандарт?

Понимание причин, корней. Например почему tcp соединение может быть полуоткрытым и как это может вылезти в коде twitter.com/anton_davydov/…

1:44
@artemeff @backendsecret или потом всех, кто не читал ткнуть носом в то, что ты читал стандарт? :)

Сам по себе стандарт это конечно фетиш. Но ключевые стандарты раскрывают суть и помогают искать ошибки на проде twitter.com/anton_davydov/…

1:46
@backendsecret я как-то раз прочитал спеку HTML 4.1 от и до. Вместо подготовки к экзаменам.

Вижу, вижу нового титана! :-) twitter.com/vassilevsky/st…

1:47
@anton_davydov @backendsecret вначале не читают стандарты, а потом делают api которые возвращают только 200 и 500

Понятно, все работают и времени нет Но классика поднимает на уровень четкого осознания сути всей этой хрени вокруг twitter.com/rainrb/status/…

1:51
@backendsecret после прочтения спек и стандартов, нужно еще найти в себе силы что бы победить боль от того что мало кто их придерживается :)

Точно! :-) twitter.com/ivanenok/statu…

1:52
@vassilevsky @backendsecret и как? в IE все работает? во всех версиях одинаково и в соответствии со стандартом? :)

Меня умиляют исходники стека TCP в линукс. Люди сознательно и подробно там оставляют куеву тучу комментов! twitter.com/ivanenok/statu…

1:54

Вот этого автора можно читать долго с наслаждением. Без воды. Читайте все подряд! Особенно хорошо описаны сисколы. kohala.com/start/

1:59
@anton_davydov @backendsecret вначале не читают стандарты, а потом делают api которые возвращают только 200 и 500

А еще часто делают API, которое возвращает код 200 и текст про ошибку ;-) twitter.com/rainrb/status/…

2:07

А нужно ли кончать мехмат - чтобы писать реально хороший софт? По опыту: знания ВУЗа - это 2-3 отпуска. И нет более умного, чем опытный! )

10:31

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

10:33
@backendsecret системные вызовы должны быть изучены на втором курсе на предмете Операционные Системы. Имхо до совершеннолетия там ещё далеко

Ну кто в ВУЗе учится то? :-) У меня не было такого курса, я электромеханик, пришлось штудировать Таненбаума полгода twitter.com/sergey23z/stat…

10:38
@backendsecret горение на проекте, скорее, признак плохого планирования рабочего/личного времени и расстановки жизненных приоритетов.

Ну обычно только хитрозадые ...даки не горят на проектах - они сваливают ответственность на других и поливают чай twitter.com/kakovskyi/stat…

10:39

В проекте с дедлайном всего 2 роли. Либо бодро с улыбкой идёшь в атаку, либо, забившись в угол, подергиваешься в собственных испражнениях )

10:52
@backendsecret хочу просто раздуплиться(основы понимаю, но хочу больше) + в универ надо. Т.е. подойдёт пара примеров реального применения

Что сам читал из разумного: amzn.to/1OFOBAK amzn.to/1OFOCEw (первая попроще). В Spark - не работает twitter.com/anton_davydov/…

12:23
@backendsecret хочу просто раздуплиться(основы понимаю, но хочу больше) + в универ надо. Т.е. подойдёт пара примеров реального применения

Из либ: spark.apache.org/docs/1.2.1/mll… scikit-learn.org/stable/modules… Из кейсов что слышал: зарплата, цена машины/квартиры twitter.com/anton_davydov/…

12:25
@backendsecret хочу просто раздуплиться(основы понимаю, но хочу больше) + в универ надо. Т.е. подойдёт пара примеров реального применения

У нас пока сильно не прижилась. Обходиться можно мультиклассовой классификацией, да и бинарной тоже. twitter.com/anton_davydov/…

12:25
@backendsecret на долго такие программисты рождаются? что-то мне подсказывает что они тухнуть за 1-2 месяца с таким ритмом

Вспомним XP en.wikipedia.org/wiki/Extreme_p… - горение разумеется нужно перед релизом, все время невозможно twitter.com/Shiroginne/sta…

12:44
@backendsecret, поменяйте ведущего, наслушались бреда, хватит.

Да, поменяйте, мало ли что еще скажу :-) twitter.com/vmakeev/status…

12:47
@anton_davydov @backendsecret один из самых больших примеров использования , что я видел, корректировка иппотечного процента.

Я последнее время активно коллекционирую бизнес-кейсы применения маш.обучения и бигдаты. Их кстати очень немного. twitter.com/ipronix/status…

12:48

Коллеги, к делу. Я обещал рассказать как мы собираем данные для маш.обучения. Цепочка такая: nginx + Lua + Amazon Kinesis + DynamoDB

12:49

Если вы не в Амазоне, можно заюзать Apache Kafka и Cassandra. Все уже знают о 4 лагерях "баз" данных: РСУБД, NoSQL, SQL/MapReduce, MPP? ;-)

12:52
@backendsecret амазон заменить нечем? дорого же выходит.

Амазон самый имхо продвинутый, Google/Azure далеко. Сервисы - взрослые паттерны, люди там зрелые, стандарты читали twitter.com/dcromster/stat…

12:53

За что любить шефа? Он взял на себя риски и ночами не спит, пока мы кодим. А если он лишь прилетает и кричит - то это чайка-менеджмент :-)

12:58
@backendsecret я к тому почему не у себя на серверах

Ну для этого нужен штат сисадминов, это дорого же стоит. 2 датацентра также нужно для надежности и т.п. twitter.com/dcromster/stat…

12:59
@backendsecret как-то наимвно выглядит это высказывание. AWS тоже нужны админы, как их не называй.

Мы втроем админим несколько датацентров и больше 150 серверов в амазоне. Прикинь если бы это были наши ДЦ :-) twitter.com/dlagoza/status…

13:02
@backendsecret а можно по меньше о менеджменте? Вернее вот чтобы вообще нет? Спасибо пожалуйста.

Почему? Я в прошлом IT-директор, делюсь опытом. Неинтересно? :-) twitter.com/axique/status/…

13:04

Все поняли, почему nginx + модуль Lua, а не модуль на C для nginx? Я писал пару модулей для nginx на C - это непросто :-)

13:05
@backendsecret ну "150 серверов" в AWS это 30-40 физических серверов. Что в общем-то мизер.

Не, у нас мощные машины там. Плюс куча сервисов внешних типа DynamoDB, Kinesis, SQS - для этого еще 100 машин нужно twitter.com/dlagoza/status…

13:06
@backendsecret за менеджмент вот совсем. да и кому он нужен этот русский айти менеджмент

Ну у меня цель - поддержать ребят. Чтобы не было мучительно больно, что тебя выжимают за копейки и выбрасывают нафиг twitter.com/cluevick/statu…

13:08

Если ты не понимаешь алгоритм с 2-5 раза - все ОК, ты не тупой, налей чая и все получится. Его могли изобретать 20 лет до тебя.

13:10
@backendsecret а в чем сложность? 400-500 виртуальных серверов вполне ок для хорошего админа. Я по крайней мере админил столько.

А если бы это были железные сервера, пришлось бы с авоськами дисков в ДЦ мотаться на трамвае ежедневно :-) twitter.com/antonvirtual/s…

13:14

Надо презу доделать, вернусь продолжу. Найдите меня в программе. Приглашаю послушать про коллаборативную фильтрацию: riw.moscow/program/

13:15
@backendsecret для этого есть обслуга в дц.

А снепшоты инкрементальные, скоростные каналы между ДЦ, виртуальные диски, объектное хранилище (swift не предлагать) twitter.com/ipronix/status…

13:17
@backendsecret т.е. вы не знаете как это сделать без авоськи с дисками ? или вы не знаете как это сделать без амазона ?

Лень, просто лень :-) И отдел администрирования не хочется иметь. twitter.com/ipronix/status…

13:21

Не мечтай быть менеджером. Как только им станешь, начнешь быстро терять знания. Месяц и уже каша в голове вместо знаний. Я серьезно.

13:22
@backendsecret т.е. лень, а не цена, как вы написали.

Это большая тема. Недавно мы перенесли часть инфраструктуры из Амазона в Россию (закон по ПД) в 2 ДЦ и лок. облако twitter.com/ipronix/status…

13:23

Но только грамотный управленец может вытащить проект из задницы и сохранить и приумножить команду. Лидером может быть далеко не каждый умный

13:27
@backendsecret а какие ещё альтернативы объектных хранилищ (не авс и не свфит) рассматривались? Какие допустимы?

Gluster/Swift с объектной мордой, но они имхо морально устаревшие twitter.com/de_gis/status/…

13:32

Лучшие руководители проектов - женщины! Мужикам скучно заниматься рутиной и мять штаны на совещаниях и эротически улыбаться команде.

13:34
@backendsecret инкрементальный снепшоты налету в OpenVZ с CRIU

Вопрос в его скорости и влиянии на другие машинки twitter.com/de_gis/status/…

13:34
@backendsecret а за сколько лет , по вашему технологии устаревают ? битрикс не говно ли мамонта ?

Битрикс - работающий и хорошо решающий задачи продукт. Калашников в пустыне высокоумных Magento/ZF и простых Yii twitter.com/ipronix/status…

13:36
@backendsecret я смотрю дальше - только хуже

Зря. Именно ProductOwner-женщина вытащила проект в Крайслере, когда мужчины писали книгу про XP. Мужчины - дети. twitter.com/DaryaChu/statu…

13:39
@backendsecret удивительно, как одним предложением можно оскорбить и мужчин, и женщин и руководителей проектов в принципе

Я лишь против лицемерия, трусости, лжи и некомпетентности. Много здоровых команд, где с этим НЕТ проблем в принципе. twitter.com/katyatyukova/s…

13:40
@backendsecret от Бога программиста вы скатились до сексизма за 2 дня, казалось что троллинг, но похоже нет

Зря. Я не оскорбляю женщин. Все честно: 50 на 50. Вот если бы написал, что Scrum любят часто геи... - но не буду :-) twitter.com/DaryaChu/statu…

13:43
@backendsecret зачем гореть перед релизом?

Чтобы не подставлять коллег, ибо все что планировалось - меняется и нужно придумывать часто на ходу twitter.com/Shiroginne/sta…

13:47
@backendsecret а как же моральное устаревание ? битрикс старше и свифта и гластера. или в вашей команде процветают двойные стандарты ?

Ну что сложного в принципе CMS, скажите? Как она может морально устареть? :-) Она должна решать задачи хорошо. twitter.com/ipronix/status…

13:48
@backendsecret Опасно. Как только заходишь в эту тему, никакие "50 на 50" не спасут, только больше распыляют. Лучше уж котика запостить :)

Ну. У меня 2 доченьки и любимая супруга. Налево не хожу и не планирую никогда. Любить нужно и семью и коллег :-) twitter.com/_bugov/status/…

13:49
@backendsecret может надо научиться планировать ? и гореть не придется и релиз будет рутиной плановой

Сильно не напланируешь, все равно руки и носы придется ломать перед дедлайном. Это жизнь. twitter.com/ipronix/status…

13:50

Полезно почитать на тему гибких методологий, планирования лучше чем в Совке :-) Мой любимый крутой автор С. Амблер: agilemodeling.com

13:54
@backendsecret а что плохого в свифте или гластере ? решают свои задачи отлично. широко используются. как они могут устареть ?

Ты видел swift изнутри? Помойка же и не такой он популярный twitter.com/ipronix/status…

13:54

Забыл кстати сказать о себе. Закончил экстерном курсы псаломщиков при РПЦ, 10 лет пел в хоре. Сейчас интересна каббала. Спрашивайте :-)

14:03
@dmitr_y @backendsecret большинство хороших программистов на программистов не учились.чаще всего это физики или инженеры.

Спасибо! У меня на эту тему долго был комплекс. twitter.com/ipronix/status…

14:06
@backendsecret какого это быть христопродавцем ?

Не слишком ли по детски делить Бога на религии и приватизировать веру? :-) twitter.com/ipronix/status…

14:07

Среди ученых и профессионалов встречается много классных порядочных людей, более добрых и честных - чем среди религиозных фанатиков :-)

14:12

Может пригодиться в теме сбора данных, мой хардкор про анализ нагрузки на сервере: habrahabr.ru/company/bitrix…

14:39

Вот тоже мой хардкорчик, про то, что бэкэнд-разработчик просто обязан знать strace! самобичевание продолжается :-) habrahabr.ru/company/bitrix…

14:41

Могут быть полезными рецепты MySQL мастер-мастер, если нужна отказоустойчивость. Мы с ним живем уже много лет! habrahabr.ru/company/bitrix…

14:42

Для разбора полетов и ошибок при сборе данных поможет моя статейка - как готовить отладчик unix: gdb для PHP habrahabr.ru/company/bitrix…

14:45
@backendsecret как же боженька разрешает на битриксе-то писать?

Мы живем внутри Minecraft - ну очевидно же. Кто его написал, сам что ли? Только дети думают, что сам :-) twitter.com/carrot_jelly/s…

14:57

Какой же я все таки троль - гореть мне в аду! :-)

15:01

Если смотреть в гребанный монитор 10 лет, зрение может ухудшиться. Пьем - "Чернику-Форте" и "Лютеин-комплекс" - помогает! Пью постоянно.

15:05

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

15:09
@backendsecret а про кофе можно подробнее? Прямо смерть?

Ну кофе - наркотик. Оно измотает тебя и вывернет. Лучше пить воду, ромашку, травяные чаи. Курить тоже вредно :-) twitter.com/zloy_dimko/sta…

15:13
@backendsecret какие таблетки на выходные посоветуете? Чтоб полностью восстановиться после трудовой недели

Бег, спортивная ходьба, позитивные эмоции и тепло. Читать классику и хороших авторов в очках с дырочками. twitter.com/DimaSharikov/s…

15:14
@backendsecret А что насчет штук вроде фенотропила?

Ну это ноотроп, как и тенотен, как и глицин, как и гинко-билоба. Можно. Но как допсредство к бегу, ходьбе. twitter.com/webholt/status…

15:16
@backendsecret А обычные чаи? Тоже наркотик и тоже лесом?)

Конечно - кофеин. Попробуй не пить - сразу ощутишь прилив сил и горение в проекте :-) twitter.com/webholt/status…

15:20
@backendsecret ага, и пиво пить тоже зло вселенское?

Ну смотри по себе. Я после алкоголя три дня туплю и забываю названия функций :-) twitter.com/ivanenok/statu…

15:22
@backendsecret @webholt может просто не переставать им быть с детства, что бы не пытаться им опять стать? :)

Согласен! Дети лучше взрослых :-) twitter.com/ivanenok/statu…

15:40
@backendsecret Чай не пей, кофе не пей, алкоголь не пей, курить не кури. Это теперь что, лишь работу работать? Может, еще из твиттера выйти?

Читай книжки, развивайся! Всякие гадости уничтожают твой мозг и память twitter.com/webholt/status…

15:41
во как! кофе, сигареты и пиво - вселенское зло! видимо, по дороге с #jokerconf, я вернулся не в ту вселенную. twitter.com/backendsecret/…

Нафига учиться, если другой рукой убивать собственный мозг - вот не пойму :-) twitter.com/ivanenok/statu…

15:42

Как затестить на бэкэнде производительность "виртуальных" дисков. С этим много проблем, кстати. Наслаждайтесь: habrahabr.ru/company/bitrix…

15:45
Не могу определить, нынешний @backendsecret очень тупой или очень жирный?

Может хоть ты задашь вопрос по теме недели? :-) Жду, жду, а их нет и нет. twitter.com/saigono/status…

15:58
@backendsecret тема недели – поехавший ведущий. Так что всё в тему!

Вопрос сформулируй плз., тролить и я умею :-) twitter.com/saigono/status…

16:00
@backendsecret @saigono я задал уже, где ответ? Давай показывай свою бигдату и где ты её взял

Да! Твой вопрос был самый лучший, но я ответил на него, посмотри историю. Кейсы регрессии не прижились. twitter.com/SiliconBangalo…

16:03

За 2 дня - один хороший вопрос по теме! Или все понятно или совсем нет и сложно сформулировать вопрос :-)

16:06

Не дождусь адекватных технических вопросов, начну продавать Битрикс, вот смотрите. Всю неделю! :-)

16:09

Сегодня тема - сбор данных. Завтра - кластерный анализ. После завтра - бинарная классификация. Могу поменять порядок :-)

16:12
@backendsecret, это повод ведущему задуматься.

Да, с бигдатой это основная проблема. Люди совсем не понимают зачем ее собирать и что с ней можно делать потом. twitter.com/ilnurkhalilov/…

16:21
@backendsecret а что применяют для записи кучи данных онлайн? Сферический пример: миллион датчиков с выборкой несколько раз в секунду?

Либо какой нить NoSQL типа Cassandra, либо сначала в буфер типа Apache Kafka либо как мы в Kinesis twitter.com/dcromster/stat…

16:48
@backendsecret я понимаю зачем, но не знаю как и чем обрабатывать.

Да, нужно понять, как коммерциализировать бигдату через математику и заработать. Кейсов мало, начну кидать щас. twitter.com/dcromster/stat…

16:50
@backendsecret про "менять штаны на совещаниях" не понял, можно подробности?

Мять! Блин, я опечатался, прошу прощения. Имелось в виду любовь некоторых сидеть, звиздеть и ничего не делать :-) twitter.com/PetrMyazin/sta…

16:51
@backendsecret Может я уже все пропустил за два дня) Но какие вы, Саша, данные то собираете?

Паш привет родной! Меня тут уже прокляли, сожгли в аду и в дурдом сдали :-) Сейчас скину картинки. twitter.com/paulstashevsky…

16:53

Как мы собираем данные и куда. Обсуждаем, не спим! pic.twitter.com/VmurqkgFsl

16:54
@backendsecret Там наверное жестокий выш. мат да?

Нет, это уровень ВТУза и немного сложной математики в конце twitter.com/pinyslutty/sta…

16:58
@backendsecret биг дата на пхп - заглядение.

Да, просто было лень. В плане переписать воркеры на java... twitter.com/ipronix/status…

16:58
@backendsecret просим тему про Битрикс и PHP: качество кода? оптимизация производительности? поддержка PHP 7 и HHVM?

Это не ко мне, я про бигдату и маш. обучение. HHVM пробовали - не взлетает, много багов, сырая технология. twitter.com/5minphp/status…

17:00

Полезная моя статейка про блокировки сессий в PHP/apache, экономим время: habrahabr.ru/company/bitrix…

17:01
@backendsecret вы вчера так красиво за скалу и спарк агитировали. а сами ... нет вам больше доверия.

Я не считаю PHP/Ruby/Python недоязыками. У них своя ниша и невысокий уровень вхождения. А вы, я смотрю, сноб :-) twitter.com/ipronix/status…

17:02
@backendsecret почему java, а не NodeJS или GO?

Хороший вопрос, спасибо! NodeJS подойдет, у нас на ней сервер чатов. Go - хвалят, но имхо сыроват и тормознутее java twitter.com/dcromster/stat…

17:05
@backendsecret возможно. но я пхп рядом в питоном и руби не ставил бы - запачкает всё :)

Они все одного порядка - для быстрой разработки ... медленного софта :-) twitter.com/ipronix/status…

17:05
@backendsecret кстати, а сколько задержка между событием и результатом на вашей архитектуре ?

2 раза в сутки выгружаются дельты в Mahout Taste коллаборативную матрицу в памяти. Но и реже можно. twitter.com/ipronix/status…

17:07
@backendsecret Personal Home Page - это даже не язык :)

Вы не думали, почему PHP так распространен, а Scala нет? Языки выбираются практикой и пользой. twitter.com/ipronix/status…

17:09

Когда-то у меня был проект на Python и Zope (кто знает Zope, не смеется). Ну не извращение делать на питоне БД и веб-сервер? :-)

17:10
@backendsecret а ближе к реалтайму делаете что-нить ?

Конкретно для рекомендаций - пока нет. Но тема тренд - стриминг при обработке бигдаты. Spark Streaming имхо сырой twitter.com/ipronix/status…

17:11
@backendsecret что именно сырое ?

Обработка аварийных ситуаций, обрывы сети, глюки, отзывы слышу пока отрицательные twitter.com/ipronix/status…

17:14
@backendsecret что на счет flink или storm ?

flink - первый раз услышал, спасибо, гляну. Storm - все хочу тоже глянуть, периодически обсуждают. Спасибо! twitter.com/ipronix/status…

17:17
@backendsecret т.е. сами не пробовали и только слухи ?

Да не нужно пока. Зачем время терять. twitter.com/ipronix/status…

17:18
@backendsecret а когда он будет достаточно для вас стабилен, по слухам - не устареет ли морально ?

Kinesis пока закрывает что нужно. Lambda можно использовать как триггеры. Прыгать в java-зоопарк с головой не горим twitter.com/ipronix/status…

17:20
@backendsecret таки пачками обрабатывать данные в 2016 уже не модно будет :)

Согласен! Зато просто :-) В стим-обработке и алгоритмы другие, да и их мало. Да и маш.обучение в потоке тоже тема twitter.com/ipronix/status…

17:21
@backendsecret а если конкуренты предложат то же что и вы, только данные и рекомендации актуализируются за 10 сек ?

Не, интересы товарные меняются очень медленно. twitter.com/ipronix/status…

17:22
@backendsecret как справляетесь с тем, что у Kinesis retention максимум 7 дней? Куда бэкапы льёте? Firehose пробовали уже?

В DynamoDB, из нее в фоне в s3 самописной выгрузкой дельт (хотя триггеры уже появились, кстати). twitter.com/Fodoj/status/6…

17:24
@backendsecret т.е. в след году можно ждать от битрикса статьи - стриминг на пхп ?

Я бы не переоценивал стриминг. Это такой же булшит, как бигдата. Самое сложное тут имхо - математика. twitter.com/ipronix/status…

17:25

В амазоне у нас кластер в EMR без извращений. Поддерживать полноценный стек Hadoop - это как завести себе Oracle ;-)

17:28
@backendsecret и можно подробнее - что сложного в математике для стриминга ?

Ну как что - сделайте там хотя бы качественную кластеризацию, K-means не предлагать, посчитайте уник. значения ... twitter.com/ipronix/status…

17:36
@backendsecret vendor lock в виде самой DynamoDB не пугает ?

Пугает, но удобно же все, дилемма. Самим поднимать на железе java-зоопарк - это как оракл завести :-) twitter.com/cndlos/status/…

17:37

Коллеги, спасибо за хорошие вопросы! Стало гораздо интереснее.

17:38
@backendsecret т.е. вы не знаете как или вас не удовлетворяют результаты ? в битриксе аккуратность 100% ?

Ну открыто же все: mmds.org, c.4. Алгоритмов очень мало, кроме блум-фильтра не вижу сильно полезных. twitter.com/ipronix/status…

17:44
@backendsecret не совсем понимаю при чем тут java зоопарк. DynamoDB это вендор лок. Можно же использовать ту же MongoDB как заменитель.

Я бы Mongo не рекомендовал для хайлоада. Дурацкая там многопоточность. twitter.com/cndlos/status/…

17:45
@backendsecret а то что вас математика пугает - наймите хорошего математика , он будет для вас модели строить с той точностью, какая надо.

Да нет у нас проблем с математикой. Завтра расскажу как мы кластеризовали каталог из 20 млн. товаров на Spark twitter.com/ipronix/status…

17:45

У меня встречный вопрос к коллегам. Машинное обучение на графах. Тема актуальная, новая - информации очень мало, кто уже копал? :-)

17:46
@backendsecret @VasyaRomashova какую роль вы предлагаете отдать графам в машинном обучении?

Смотри - ходят пользователи по сайту в первый день, это граф. Хотим бин. класс. Co-occurence matrix - теряем инфу. twitter.com/Soukhinov/stat…

17:51
@backendsecret @VasyaRomashova какую роль вы предлагаете отдать графам в машинном обучении?

Сделать логистическую регрессию на graph-kernel - уже интереснее. Чтобы еще придумать? :-) twitter.com/Soukhinov/stat…

17:52

Друзья, приглашаю всех на HighLoad 2015. Буду рассказывать там "Бигдата - как добывать золото из данных". highload.ru/2015/abstracts

17:54
@backendsecret не понимаю. Граф — как набор признаков для алгоритма классификации?

Да! У них на входе что - вектора. Нужно засунуть граф. twitter.com/Soukhinov/stat…

17:56

На вечер почитать, моя статейка про тонкости настройки сети и tcp/ip - думаю будет полезна: habrahabr.ru/company/bitrix…

17:57
@backendsecret а почему докладчик — другой Александр?)

Бунин ошибся :-) Исправит. twitter.com/kotchuprik/sta…

17:57

Тема на завтра: кластеризация и как ее продать. Расскажу про наш опыт с k-means на Spark и самописный LSH/minhash и как это улучшило качеств

18:02
@backendsecret вспоминается только работа, основанная на выборочной активации признаков в случайном решающем лесу:
wisdom.weizmann.ac.il/~vision/course…

Благодарю! Вечерком полистаю twitter.com/Soukhinov/stat…

18:12
@backendsecret в общем, граф всё равно разворачивается в вектор, но дерево решений не может обращаться к его компонентам произвольно.

Бенчмаркать нужно серьезно, пугает комбинаторная сложность twitter.com/Soukhinov/stat…

18:13

Мы очень неплохо и интенсивно общаемся, коллеги! Спасибо вам! backendsecret.ru/stats/

18:14
@backendsecret @DimaSharikov ну пока погромиистам платят нормально - можно позволить себе и целые, не дырявые очки

ru.wikipedia.org/wiki/%D0%9F%D0… twitter.com/de_gis/status/…

18:56

Могу как нить рассказать как анализировать данные без программирования в Rapidminer - разное машинное обучение, от текстов до RandomForests

19:01
@oioki @backendsecret что значит "обучение на графах" ?

У тебя набор графов с меткой и их нужно их разделить на 2 части - обучение с учителем. twitter.com/kerzol/status/…

19:07

Вечер. Книжки! Любимая книга по java: mindview.net/Books/TIJ/ Потоки в java нужно уметь готовить, настольная: amazon.com/Java-Concurren…

19:16

Шаблоны проектирования. Мартин Фаулер, настольная: amazon.com/Patterns-Enter…
GoF наверно уже устарел: ru.wikipedia.org/wiki/Design_Pa…

19:17
@backendsecret если узлы помечены, то графы можно как матрицы рассматривать, а матрицы --- как изображения))) ахахах. хз заработает

Помечены. А матрицы как вектора :-) Вот хз, информация теряется же о переходах twitter.com/kerzol/status/…

19:19
@backendsecret ваще чувствую сильно от проблемы будет зависеть. ещё можно смапить граф в вектор характеристик и обучать на векторах

А graph-kernels не пробовал? Скалярное произведение графов в хз-мерном пространстве :-) twitter.com/kerzol/status/…

19:20
@backendsecret погляди например это web.stanford.edu/~richiard/slid…

Да, да, оно, свежая работка. Спасибо тебе добрый человек! twitter.com/kerzol/status/…

19:23
@backendsecret да незашто, пиши если что-нибудь получится. мне даж интересно стало.

Это всем нужно, тренд, все сайты это графы, а рынок наполнен книгами о маш. обучении на векторах мать их за ногу :-) twitter.com/kerzol/status/…

19:26
@backendsecret ааа, я начинаю понимать. но всё равно часть инфы наверное теряется. всё зависит от качества ядра видомо.

Да, гиперплоскость разделит вершины между собой, а вот глубокие цепочки между ними - вот хз twitter.com/kerzol/status/…

19:37
@backendsecret @ipronix и чего такого может решить биирикс, чего не может yii?

Напиши на yii модуль техподдержки или магазин с кучей типов цен и скидок twitter.com/kitajcy/status…

19:42

Коллеги, мы сегодня потролили над собой, поговорили о пользе ЗОЖ, хорошо штурманули тему сбора данных. Всем хорошего вечера и до завтра!

19:43

И последний твит дня - за что я люблю свою компанию. Менеджеры - всегда там, где бой, рядом с разработчиками, а не там, где тепло и уютно.

19:50
@backendsecret а в чём конкретно сыроватость Go и на каких задачах тормознутее?

Я смотрел бенчмарки, сборщик мусора в Go сильно проигр. jvm. А отзывы неплохие от людей. Не юзаем, но хочется twitter.com/M0sth8/status/…

20:02

Не очень давно поднимали бэкэнд под WebRTC на десятки тыс. порталов. Мы на highload об этом рассказывали. Ад! :-) 5 rfc на 500 страниц

20:53
@d1b @backendsecret я там еще лямбду арх. упоминал. так что согласен.

В амазоне у них есть сервис Lambda на NodeJs. Пока руки не дошли twitter.com/ipronix/status…

20:58

Отличный девайс, читаю в дороге, зарядки на месяц хватает! pic.twitter.com/u2D0oTQ87R

21:04
@backendsecret вы ж понимаете что это разные вещи en.wikipedia.org/wiki/Lambda_ar… ?

Ага, глянул, спасибо! Да, разные. Мы как в speed-layer ходим в Dynamo для онлайн агрег. в сервисе "Скорость сайта" twitter.com/ipronix/status…

21:36
@backendsecret Любишь сферические бенчмарки в вакууме — люби и мозгом пользоваться! эх как я ловко пословицу переиначил да?

Не, ну ты и правда думаешь что вылизанный промышленный gc в jvm хуже написанного на скор. руку в Go? twitter.com/tucnakster/sta…

21:38
@backendsecret вы ж понимаете что это разные вещи en.wikipedia.org/wiki/Lambda_ar… ?

В этом сервисе мы собир из NavigationTiming инфу со всех хитов в NoSql и отдаем гист. скорости за послед 1000 хитов twitter.com/ipronix/status…

21:41
@backendsecret хе, у меня много претензий к этому о отечественному чуду - тормознутый, прилично стоит, прошлый век вообщем.

Так активно переходим на ООП и php6 twitter.com/lisovskyvlad/s…

21:42
@backendsecret а вот vk.com активно ооп из проекта выпиливали, ибо тормозит

Битрикс до - это фаулеровский TableModule архитектура, простая и прозрачная. Запросы в БД заберут больше чем ООП twitter.com/zhulikgleb/sta…

21:59
@backendsecret скорее закостыленый из-за legacy Java GC, против изначально запроектированного и запланированно улучшаемого в Go @tucnakster

Моё мнение про Go - он между php/python/ruby/perl и java/c++ и для скриптиков пока. Упрощённая сырая java с потоками twitter.com/dlagoza/status…

22:03
@backendsecret кстати, у AWS нет дата центров в России, а вам же вроде как нельзя данные на серверах вне РФ хранить?..

Ага, и не планируют они. Уже часть данных перенесли в Россию, все по закону twitter.com/Fodoj/status/6…

22:04
@backendsecret А что о Руби/рельсах скажите?

Руби это php, только японский :-) twitter.com/pinyslutty/sta…

22:31
@backendsecret системные вызовы ниже уровня ядра это что-то новенькое :)

Имел в виду что происходит в ring0 и ниже в микрокоде twitter.com/ctrlok/status/…

22:35
@backendsecret @ipronix видимо, многое :(

Хорош умничать :-) Вместо InfluxDB нам хватает pinba за глаза. twitter.com/Fodoj/status/6…

22:57
@backendsecret ну да, впринципе-то кроме influxdb ничего и не было названо, да ¯\_(ツ)_/¯

Ну мы не юзали time-series базки еще, не нужно. Хватает простых возможностей NoSQL/очередей: агрегация на лету. twitter.com/Fodoj/status/6…

23:39
@backendsecret можно и скриптики на Go, а можно и экзабайтные распределённые хранилища данных делать.

На python тоже можно - openstack swift ;-) У нас половина Битрис24 - на баше: быстро, просто, никаких pacemaker twitter.com/M0sth8/status/…

23:41
@backendsecret может просто в файлы писать?как в 1с?

Мы не 1С. Битрикс - пишет движок сайтов на PHP и имеет облачную обвязку с бигдатой и хайлоадом (java/spark). twitter.com/painhardcore/s…

23:42
@ipronix @rubyunderhood @backendsecret ну так то да, он прав, раби не далеко ушёл от пхп

Я честно не вижу пока альтернатив java. Scala для очень умных и комплится медленно, это косяк же и Одерски согласен twitter.com/as_Crazy/statu…

23:44

Интересно, у python есть будущее? Ему пишут костыли для запуска задач в Spark. А хороший же язык был! И математики там много сделано.

23:46
@backendsecret скала для норм пацанов, просто все, кто на ней пишет первое время, выделываются как могут.
Да и учить не понятно как...

Как и C++ - проблема что "умных" реально мало. Да это фашизм, но это правда. Может я не прав, но пока это опыт жизни twitter.com/mr_mig_by/stat…

23:47

Ребят, а кто серьезно юзал Akka/Scala в бою? Заменит Erlang?

23:48
.@as_Crazy @ipronix @backendsecret прости, но язык в котором родились rspec и cucumber, а также рельсы...

А сравни проработанность рельс со стандартным местами вылизанным java api, со спецификациями ejb, servlet twitter.com/rubyunderhood/…

23:53
.@as_Crazy @ipronix @backendsecret ...в то время как многие пхпшники до сих пор не знают что такое TDD и как всё-таки работает HTTP и phpfpm

Это правда :-( некоторые страдают вебнёй всю жизнь и не растут. Но немало нормальных twitter.com/rubyunderhood/…

23:55
.@backendsecret @as_Crazy @ipronix я помню, как развивался Spring MVC взяв в себя все лучшее из рельс.

MVC, multi-layers ... тормоза же это все, маркетинг. Хотя красиво. Фаулер об этом хорошо пишет. ORM тоже жесть twitter.com/rubyunderhood/…

23:59

# Среда 177 твитов

@backendsecret а вы пользовались этим openstack swift сами или только бенчмарки смотрели?

Поднимал сам, смотрел, тестил. Весь openstack выглядит страшной костыльной распиаренной порнографией twitter.com/M0sth8/status/…

0:01
@rubyunderhood @as_Crazy @ipronix @backendsecret норм все в руби и рельсах. Не идеально конечно, но вектор вцелом верный

В php попытались сделать умный ZendFramework - на выходе ацкие тормоза и графомания :-( twitter.com/rainrb/status/…

0:03
@backendsecret оч интересно. Не дорого? Предсказуемая производительность? Не ломается?

Что именно? twitter.com/hierofeus/stat…

0:03
@backendsecret вы так активно на всё ругаетесь, особенно чего не видели. а битрикс в опенсорс что-то делает ?

Ну все не пересмотришь, к сожалению :-( Стараемся в дебри не лезть - это дорого. В открытых исходниках наши продукты twitter.com/ipronix/status…

0:07
@backendsecret вы так активно на всё ругаетесь, особенно чего не видели. а битрикс в опенсорс что-то делает ?

В опенсорс партнёры немного выкладывают, но это экосистемные модули. Можно пару модулей к nginx наверно выложить twitter.com/ipronix/status…

0:09
@as_Crazy @rainrb @rubyunderhood @backendsecret а раскажите про ваш богатый опыт. желательно по годам.

У нас не принято пиариться. Поищите меня в гугле, много видео там, послушайте трэш. И на круге я есть давно. twitter.com/ipronix/status…

0:11
@backendsecret выложите пожалйста - хочется приобщиться к вашим знаниям о хорошем коде. эталоном распечатаю и на стенку повешу.

Жирно тролите twitter.com/ipronix/status…

0:12
@backendsecret в каждой шутке - доля шутки. код вы не выкладываете, но чужие наработки ВСЕ плохие.

Ну почему все плохие. Mysql, nginx, apache, linux/unix, xen и многие другие - чем плохие? Дёшево и эффективно. twitter.com/ipronix/status…

0:17
@backendsecret @ipronix поговаривают, что битрикс это такой кусок говна

Он прост и прозрачен и с низким уровнем вхождения. И решает почти все задачи по сайтам. И доки отличные. twitter.com/lisovskyvlad/s…

0:18
@backendsecret Я уже честно говоря запутался кто кого тролит :)
Вроде сегодня это всё взаимно :D pic.twitter.com/TtGKtirfl8

Ну тролить это как заниматься онанизмом - пользы нет. Мы открыто общаемся, спорим, делимся опытом, становимся круче twitter.com/POS_troi/statu…

0:20
На этой недели @backendsecret похоже кто то из мира пхп и/или битрикса. Подписывайтесь и запаситесь попкорном

Да! Будет ещё интереснее twitter.com/ruxeg/status/6…

0:21
@ipronix @backendsecret вообще, я думаю, что вы идеальная парочка, ваши дискуссии точно можно будет распечатывать на стенку; а я не удержалс

Коллега видимо думает, что я лживое маркетинг-пипл полуграмотное создание, далёкое от прода и кода :-) twitter.com/lisovskyvlad/s…

0:23
@backendsecret а в битриксе есть что-нить в духе внутренних курсов? проф. рост стимулируется ?

Для внешних разрабов: academy.1c-bitrix.ru/training/cours… и док полно по api twitter.com/ipronix/status…

0:27
@backendsecret а не про маркетинг и продажу битрикса. а внутри команды например кто-то вещает за хитрую мат.модель. или новые фичи пхп ?

Не знаю, ребята в Кениге, но совещания и мозг штурмы вижу часто. Хотел про это завтра написать. twitter.com/ipronix/status…

0:32
@backendsecret @xmbshwll гавно тоже просто и с низким уровнем вхождения. Да и решает задач немерено. А доки так вообще не нужны

Ну конечно. Запусти eldorado.ru на говне за 4 месяца как я с тройкой человек twitter.com/Meku_Hueku/sta…

0:33
@backendsecret Symfony лучшее, что есть в PHP, но после Django и этот кусок говна хочется забыть.

Это реинкарнация тормозного Zope с объектной БД? :-) twitter.com/rusgautama/sta…

0:35

Я один думаю, что ORM: doctrine, hibernate и пр. это порождение лени, призванное тормозить и вешать БД? :-)

0:37
@backendsecret ок. подождем. калининград в европе - россия в жопе ?

Могу про облачную команду рассказать, что в Москве :-) про себя и коллег twitter.com/ipronix/status…

0:40
@backendsecret я даже не знал, что эльдарада ещё жива, не говоря уж о существовании у неё сайта

Связной, Евросеть, МТС, Госдума - на Битрикс, ты прикинь? twitter.com/Meku_Hueku/sta…

0:41
@backendsecret Django реинкарнация zope - фейспалм

Наоборот? :-) twitter.com/axique/status/…

0:42
@backendsecret а чо сразу на сишке не писать cms, зачем этот пхп для ленивых?

Посмотри код Битрикс - он огромен, сотни мегабайт кода на php. Это как линукс на php :-) я серьезно twitter.com/axique/status/…

0:44
@backendsecret сайтик, к слову, тормозит :(

У них кластер на Битрикс в разных ДЦ. Мы поддерживаем в продукте мастер- мастер для mysql twitter.com/Chudesnov/stat…

0:45
@backendsecret если людей менторить не только в технологиях, то можно открыть много скрытых талантов и сильно удивиться количеству "умных"

Незнаю. Я тупой для C++, поэтому выбрал java :-) Спроси нашего Торвальдса Игоря Сысоева про C++ - я спрашивал :-) twitter.com/mr_mig_by/stat…

0:47
@backendsecret с каких пор качество проекта оценивается в объёме кода? Просто это был аргумент в стиле - "орм для ленивых".

Легко мастурбировать на качество, пока проект маленький :-) Там не менее у нас код - открыт, а можно было закрыть twitter.com/axique/status/…

0:48
@backendsecret Минэнерго, например, тоже. Бывал я в их админке, ничего особенно хорошего вспомнить не могу.

Ну работает же, как не странно. И обратная совместимость у Битрикс как у java - лет 10 уже. Энтерпрайз :-) twitter.com/Chudesnov/stat…

0:50
@backendsecret как ORM может вешать БД, если он всего лишь генерирует SQL? Жирный троллинг какой-то.

Вопрос как он это делает :-) Знаешь термин - объектно-реляционный импеданс? В бою на хайлоаде это ад twitter.com/rusgautama/sta…

0:51
@backendsecret но от обращений к доке тоже особенно приятных впечатлений не помню. У оракла и то понятнее.

Я помню как настраивал примитивный бэкап в оракле - 5 разных томов прочитал. Энтерпрайз ;-) 5 человек в штат twitter.com/Chudesnov/stat…

0:53
@backendsecret на качество нужно мастурбировать всегда - а объём строк кода - иногда даже показывает что это плохой проект - примеров куча

Предприниматели и авторы XP с тобой не согласятся. К сожалению большинство нас этим в основном и заняты, так проще twitter.com/axique/status/…

0:55
@backendsecret там ничего сложного нет, стандартный функционал говносайтов.

А ты смотрел? Я после java/jboss/ejb изучал магазин Битрикс месяца два фултайм и возрадовался его стройности twitter.com/rusgautama/sta…

0:57
@backendsecret и что, за пределами Постсовкового пространства ваш Битрикс вообще кто-нибудь покупает?

Да. А Битрикс24 (обл. сервис) недавно начали продавать в Китае и Бразилии. А до этого в Германии, Испании, США. twitter.com/rusgautama/sta…

0:58
@backendsecret за 2 месяца я на Django интернет-магазин напишу.

А админку, а тестить? :-) twitter.com/rusgautama/sta…

1:00

Вы не поверите! Наш главный конкурент в России - хайбрис (java ee и т.п.) Вот вам и php. Парадокс, но хайбрис дороже в разы и не лучше :-)

1:03
То есть как бы я надеялся, что споры улягутся в первые дни, но увы / @backendsecret

Да, давайте не про Битрикс. Не хочу ничего продавать, ну честно. Давайте по технологиям и бигдате задавайте twitter.com/iamale_ru/stat…

1:04
@backendsecret любое нетиповое решение надо допиливать, но в случае битрикса это ад.

Ну что сложного в Битрикс не пойму в коде кроме вылизанной бизнес-логики. twitter.com/rusgautama/sta…

1:06
@backendsecret эй, ребята, вы ошиблись ведущим

Ну они сами спрашивали про Битрикс, я больше не буду поддаваться на провокации :-) twitter.com/avevlad/status…

1:08
@strangeqargo @backendsecret как напишешь, так и нагенерит. Django ORM покрывает 99% запросов, которые можно написать вручную.

И тэта-джойны? А что с гидрацией объектов? twitter.com/rusgautama/sta…

1:08

Ребят, посоветуйте плз хороший обратный индекс кроме lucene/solr и sphinx. Неужели и правда нет

1:10

Пора на вечернюю молитву, всем до завтра! ;-)

1:11

Ну почему Go не пошёл по пути Erlang (actors) в потоках как сделала Scala (akka), а взял путь unix/bash? :-) boldradius.com/blog-post/U62N…

2:42

Всем доброе утро! По просьбам слушателей расскажу немного о себе, затем о компании и как мы работаем, затем про ... кластеризацию

7:53

Душа моя проснулась в 1990, когда родители мне подарили БК0010-01. Потом 40 летний очкастый ботаник соблазнил меня писать код и началось.

7:57

Бейсик быстро перестал помещаться в 16кб ОЗУ, начался ассемблер и игрушки для себя - лабиринты, вертолетики в пещерах, со звуком! :-)

8:00

Собранный своими руками ZX Spectrum ещё больше распалил желание писать код, но игры влекли сильнее и я потерял на них лет 5

8:03

Я не набрал 10 баллов и не поступил на кафедру Программирования. С моими 8 баллами по мат-физ взяли на лишь Приборостроение в ДГТУ

8:07

Примерно в это время занял призовое место за оригинальный софт на горолимпиаде по программированию. Закодил астрологическую прогу :-)

8:09

Жутко интересовался астрономией, астрофизикой, спал с телескопом - но был предан анафеме на кафедре астрофизики за интерес к лженаукам :-)

8:13

После ВУЗа был нелинейный монтаж со скриптингом в 3d max, но первая любовь распалялась и ботаник приходил во сне с книгами по C++ и java

8:15

Потом была федеральная госслужба в администрации президента РФ - все говорили: чувак, этот шанс выпадает раз в жизни! Но было ацки скучно

8:18

В тумбочке чиновника лежала книжка в стиле inside freebsd kernel - я предавался любви с ней в свободное время, которого было много :-)

8:20

Админив епархиальный сайт и компы был напуган реакцией прихожан на логотип FreeBSD и демонов. Пишу и плачу, но это правда :-)

8:23

Потом был Сбербанк. С нуля наваял нехилый корпоративный сайт Юго-Западного банка СБ РФ. php, mysql, redhat, пиво, diablo2

8:26
@backendsecret те помимо астрономии и астрофизики проявлялся интерес к астрологии?

И до сих пор. Она работает! twitter.com/VasyaRomashova…

8:26

Понял, что пора дергать в Австралию или Канаду, т.к. стало снова скучно. Но был перехвачен в Москве: qsoft.ru/project/488/ и др

8:29

Qsoft - партнёр Битрикс. Была java ee, jboss, ejb, php и Битрикс и акций хайлоад. Дедлайны, госы, море проектов - зато не так скучно

8:33

Потом во сне явился очкастый ботаник из детства и сказал - чувак, или руководить, хватит быть в подчинении у дилетантов. Учи agile, xp

8:36

Так я стал главой разработки в Softline и затем IT-директором allsoft.ru. Зная, что Битрикс работает, почти все сделал на нём и стало скучно

8:38

Внедрил Scrum, уволил человек 20, набил морду топ-менеджерам и возненавидел крупные корпоративные зловонные болота и их обитателей-ламеров

8:41

И понял - деньги не главное. Главное быть профессионалом, любить своё дело, гореть проектами и не заниматься карьерной проституцией

8:44

И потом я встретил Сергея Рыжикова. Продолжение следует (щас выступаю на riw) ...

8:45
@backendsecret тяжело, поди, жить с таким-то уровнем ЧСВ

Ну. Я аккаунт веду, делюсь опытом и ошибками. Гордыня и тщеславие это грех, нас учили этому ещё в школе! :-) twitter.com/melnikov_p/sta…

8:51
Печально смотреть, как кончились интересные люди для @backendsecret Сегодня они приглашают пропагандиста PHP и Битрикс, "добейсясам" и т.д.

Вообще я unix/java-разработчик и не люблю php :-) Но оно востребовано на рынке twitter.com/corpz_/status/…

8:55
@backendsecret как локализовывали для Китая?

На двух языках Битрикс24 в Китае. softlinegroup.com/en/ делал на куче языков - фарси, Вьетнам, ... twitter.com/dcromster/stat…

8:57
А завтра кто будет? Евангелист Дельфи? @backendsecret Даю шанс, поэтому только мут на неделю.

Ну а что бы тебе было интересно услышать? twitter.com/corpz_/status/…

9:00
@backendsecret если бы ты нафигачил на лиспах, а на битриксе любая мартышка может.

Я много писал на дескриптивном xslt. Не люблю высокоумные языки - сам себя начинаешь не понимать. Scala рулит twitter.com/lowl4tency/sta…

9:05
@backendsecret дефайн быть профессионалом

Это когда пишешь код не для себя. а для других. Это сложнее чем на лиспе нафигачить :-) twitter.com/lowl4tency/sta…

9:06
Самый крутой @backendsecret за последний месяц. А то и вообще.
9:07
@backendsecret я уже этому кому то под этим акком писал “на скале можно понаписать такого что через 20 минут уже сам не понимаешь”:)

Ну да, код должен быть... ищу слова ... Красивым! Простым и красивым. Опыт этому только учит, опыт рытья в говне twitter.com/crashkin/statu…

9:10

Что мы о языках спорим? Писать правильно, применяя паттерны, ООП, замыкания не везде, а где реально нужно - вот на это уходит блин жизнь

9:16
@backendsecret у нас весь прод на лиспе и мы пишем для других за деньги. Это достаточно чтобы быть профессионалом?

Ты сам знаешь ответ. Я про то, что язык не так важен twitter.com/lowl4tency/sta…

10:30

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

10:34

Но бывают такие куски кода, которые стоит распечатать, сжечь растворить в водке, напоить нашего предка-шимпанзе и затусить с ней на JavaOne

10:37
Ну хоть тут улыбнуло)) twitter.com/backendsecret/…

Ну а зачем я твиттер веду - хочется чтобы все ржали и наслаждались :-) twitter.com/indieloki/stat…

10:38

Через 20 минут выступаю про рекомендации и бигдату pic.twitter.com/R8rFHQlPpE

10:41
@backendsecret хороший код это отсутствие кода!

Тоже верно! twitter.com/lowl4tency/sta…

10:42
@dcromster @backendsecret после нынешнего , яркого и зажигательного , шоу можно вообще закрывать :)
12:07
@artemeff @backendsecret т.е. теперь вы допускаете мысль, что скала может заменить эрланг во многих местах ?
12:07

Чёрт, меня уже подсиживают! :-)

14:25

Если в IT-компании текучка - даже не лезте. Это дом интеллектуальной терпимости с присохшими мозгами разрабов на стенах. Травма на всю жизнь

14:28

До Битрикса я искренне полагал, что если в компании делают 2 больших релиза в год - там фашизм, истерия, зомби-разрабы и садисты-проджекты

14:32

Но был глубоко заблуждался - в Битрике все нахрен наоборот. Я глазам до сих пор не верю, а прошло 5 лет. Это невозможно :-)

14:34
@backendsecret, Битрикс24 норм, допиливаем под себя, пишем свой API и работаем с ним на Ruby. Полёт нормальный ~ год.
14:35

Гендир Сергей Рыжиков - феноменально позитивный и ядерно-энергичный человек. Любит код, архитектуры и понимает цену качества кода. Ну блин

14:40

Атмосфера в компании - позитивная и творческая, что аж кровь из ушей капает. Любому манагеру легко позвонить и он поможет как может. Рай!

14:43

Работаем внутри соцсети, ставим лайки, нам тоже. Гендир или топы лайкают твои посты минимум раз в день и это блин приятно. Очень эффективно.

14:45

Проектируем глубоко, но недолго, выбираем как можно простые, красивые решения. Онанизма с морем UML и ТЗ - не встречал, хотя искал. XP это

14:48

Короткие итерации, фидбек, снова мозг. штурм, снова итерация. За 5 лет не встретил ни капли депресняка или троллинга. Вот это культура!

14:50

И вот именно это челов. отнош, тепло, конструктив, коммуник. - дают 2 релиза А не штрафы, скрамы, ретро и сталкивание лбами на PlanningPoker

14:54

При этом пахать приход. больше, иногда ночами и выходн. - но для дела. Вот такую реализ AgileManufesto я увидел там где точно не ожидал )

14:58

Вывод такой ребят. Если вам срут в душу и указывают на дверь - дерзайте и точно найдёте команду мечты. И таких команд становится больше ;-)

15:00
@backendsecret он что, читает этот твиттер ?

Незнаю, я опытом делюсь, инсайд :-) twitter.com/ipronix/status…

15:01

Если вопросов нет - начинаем про кластеризацию и её секреты ;-)

15:02

Оффтоп. На кой хрен в hadoop открыто так много портов и почему он пишет так много разных логов в разные места? Неделю гоняюсь за ними :-)

15:06

Ещё вопрос - почему в java такой бардак с либами логирования. Театр абсурда на весь мир, обидно же ;-)

15:08

В небольших IT-компаниях самое cакральное место: серверная - именно там находится "хакерская нычка" и приходят ответы на сложные вопросы :-)

15:12

Все же помнят, что контрольная сумма в tcp-пакете слабая и чем это чревато? ;-)

15:21
Премию Александру от нашего столика! @rsv_bitrix :) twitter.com/backendsecret/…

Чёрт, ты сдал меня. Но я так искренне думаю! А видел в жизни много :-) twitter.com/de_gis/status/…

16:03
@ipronix @backendsecret нет, но я его уже позвал :) Кстати @AlexSerbul написал отъявленную правду
16:03

Все поняли и никто больше не будет путать кластеризацию с классификацией? :-)

16:06
а давайте в качестве оффтопа спросим @backendsecret что думает насчёт текущей школы? Можно в сб или воск обсудить/осудить. :)

Насчёт общеобразовательной? twitter.com/dcromster/stat…

16:09
а давайте в качестве оффтопа спросим @backendsecret что думает насчёт текущей школы? Можно в сб или воск обсудить/осудить. :)

Людей в нашей школе учат копипастить знания и говнокодить ими в жизни. А нужнл исходники с детьми смотреть! :-) twitter.com/dcromster/stat…

16:24
@backendsecret современные компании(даже небольшие), не имеют серверной, а только кучу виртуалок да рутовых серверов в хэцнере условном.

Вот время идёт... А ещё 5 лет назад имели twitter.com/lisovskyvlad/s…

16:25

А ещё оценивание не проводят - но практикуют внезапные релизы. Ретроспектива - только для родителей. Извращенная короче форма скрама :-)

16:28
Никогда не пускайте явера писать js, эти люди испорчены на всю жизнь

А на js программируют разве? Он же не для программирования, ecma262 для мелочей вроде ;-) twitter.com/raxpost/status…

16:40

Хотите инфаркт? Спросите у js девелопера - как работает WebRTC, какие типы данных, какие переходы, что такое turn-relay :-)

16:43
@backendsecret обосрал как минимум PayPal ;) NodeJS != js ?;)

В node.js ты пишешь для сервера, понимая это на уровне до железа и сисколов select/poll. Логика похожа на nginx twitter.com/dcromster/stat…

16:52
@backendsecret ага, еще скажи про понимание на уровне мяса V8 :)

Ну там процессы неблокируя едят сокеты, как в nginx, пачками - Сысоева не могут переплюнуть - он наша гордость twitter.com/ivanenok/statu…

17:05
@backendsecret тут должна быть шутка про новый стандарт, который решит все проблемы

Так стандарт был и остался - posix/C. Все остальное сверху нагородили от безделия :-) twitter.com/ruxeg/status/6…

17:07
@backendsecret а несовременные компании фэйсбук, гугл и эппл как дурачки дата центры свои строят(

Сколько у них там сакральных комнат и нычек для медитации! :-) twitter.com/Fodoj/status/6…

17:13
@backendsecret поспать после обеда - святое дело.

А какой вкус у чая в серверной! Ух, под свист ксеонов и сахара не нужно :-) twitter.com/ipronix/status…

17:19

Основная проблема скрама - люди все разные и разной квалификации. Им все врут, что они команда. А лидер все равно там есть, и тупики тоже

18:27

На стендапе если рот не затыкать - обсуждение длиться до вечера, плавно переходя ретроспективу :-)

18:29

Planning poker - способ поссорить людей в конец. Оценку и так знает самый опытный в команде - нет, нужно ещё в дурака всем сыграть ;-)

18:32

Демонстрация спринта - возрождение фейковых успехов пятилетки перед членами КПСС. Что там внутри и спросить боязно

18:34

Как не крути, но лучшей методологии не придумали ещё: macode.ru

18:37
@backendsecret, и кто это?

Опыт, суровый опыт twitter.com/ilnurkhalilov/…

21:26
@backendsecret, вы читали Скрамгайд? Есть ограничение в 15 минут. Многим командам даже этого много.

Ну конечно читал. А если не хватило одному этих 15 минут славы - отключается микрофон :-) twitter.com/ilnurkhalilov/…

21:28
@ilnurkhalilov так он @backendsecret и написал - если рот не затыкать, т.е. пинать по регламенту

У меня скрам работал, нередко. Это советы, чтобы "нередко" случалось чаще. И улыбнитесь :-) twitter.com/de_gis/status/…

21:31
@backendsecret покер создан для того чтобы у всех была полная картина фичи, из-за чего там ссориться можно?

Полная картина у Product Owner. Быстрее ее сделает - опытный в команде. Салаги тянут время, если карты не забрать twitter.com/Timrael/status…

21:35
@backendsecret а так же хороший способ получить фидбек от своих коллег и быть в курсе что творится в компании

Вот! Повод поболтать, выпить и наиграться в карты - если времени поговорить на стендапах не хватило :-) twitter.com/Timrael/status…

21:36

Когда видишь
половозрелых бородатых мужиков, стоящих на стендапе и по очереди называющих номер камеры и своё преступление - текут слёзы! )

21:40

Блин, надо было табак простой мне курить :-)

21:42
@backendsecret инфаркт обеспечен – js уже лет 5 как не jquery

Преклоняюсь перед пишущими фреймворки для js. Дома из спичечных коробков. Помните dojo? ;-) twitter.com/raxpost/status…

21:57

Выступал сегодня про Бигдату на RIW. Шпионят за нами, чтобы предсказать мысли и желания и тренд растёт. Культ потребления набирает обороты

22:02

Все для того, чтобы впарить никому реально не нужный IPhone и сыграть в чужую жизнь в gta5. Куда делись удобные мобильники с кнопками? :-)

22:05
@backendsecret dojo труп все те же 5 лет, пора оглянуться вокруг)

Истинные ценности не умирают - C/unix twitter.com/raxpost/status…

22:07

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

22:09
Битрикс, ну зачем вот это dev.1c-bitrix.ru/community/blog… а ? Чтобы сделать ещё курсов и сертификации ?

Да он вроде в опенсорсе twitter.com/xomaa/status/6…

22:10
Автотесты для битрикса нужно писать на сишарпе и только под виндой. Ой мама!

Symfony, yii, zf вместе взятые - малая часть кода Битрикс, который есть продукт. Разные вещи: фреймворк и продукт twitter.com/xomaa/status/6…

22:12

В следующем году планируем выкупить PHP и закрыть его исходники. Шутка :-)

22:13
@backendsecret Codeception, Behat, PhpSpec, нормальных пхпшных фреймворков для тестирования вагон, зачем сишарп!?

Он просто быстрее, а кода - много нужно проверять, сотни мегабайт twitter.com/xomaa/status/6…

22:14
@backendsecret, что вы читали?

На тему? twitter.com/ilnurkhalilov/…

22:15

Сэлфи со спины :-) pic.twitter.com/CYwMU8Z2f5

22:16
@backendsecret сотни мегабайт ? Чтоже он там проверяет ?

Прикинь, код исходников Битрикс - сотни мегабайт, сам не верил пока не проверил twitter.com/xomaa/status/6…

22:17
@backendsecret вы правда думаете что рядовая студия будет для своих Битрикс модулей писать тесты на сишарпе?

Не думаю, уровень вхождения в яваподобный C# гораздо выше twitter.com/xomaa/status/6…

22:18
@backendsecret было бы интересно откуда начать внедрять персонализацию. Собирать больше разных данных или что-то другое?

Да, больше разной статы о юзерах и их действиях. Данных не обязт должно быть много twitter.com/nick_jastix/st…

22:19
@backendsecret шарп настолько же явоподобен насколько и дельфеобразен, так что шансы есть :)

Ну он же классный, разве нет. Он и игрушка Freelancer - лучшее что дал MS миру :-) twitter.com/ivanenok/statu…

22:20
@xomaa @backendsecret т.е. Вместо ускорения и паралелизации phpunit-стека и обвязки селениума мы пишем на c#? Ясно-понятно.

Круто, я не знал twitter.com/mesilov/status…

22:21
@backendsecret ну он забавный, но исконномелкософтовской шизой от него несёт, но это на любителя, конечно

Ещё Developer Studio у MS объективно хвалят. Все хочу глянуть, уже 20 лет :-) twitter.com/ivanenok/statu…

22:24
@backendsecret понятно. К сожалению, некоторые люди против того, чтобы собирать больше разных данных о юзерах. Прайваси и т.п. :(

Это, да. Мы собираем события магазинов и клеим в куку. Уже это даёт возможность коллаборативке работать twitter.com/nick_jastix/st…

22:31
@backendsecret, ох, не хотел бы я с вами работать! Теперь понятно, почему Битрикс такой.

Ну неужели не понятно, что я шучу, чтобы поднять настроение :-) twitter.com/ilnurkhalilov/…

22:41
@backendsecret вообще в плане идех и тулов, борландам не было равных, пока они не просрали все полимеры ввалив в энторпрайхз бабки
22:41
@backendsecret, что после 15 минут надо обрубать микрофон. Приведите источник.

Собственный опыт. Скрам - означает много болтовни, начинается цирк. Нужна жесткая рука, чтобы это работало. twitter.com/ilnurkhalilov/…

22:42

Разогрелись? Поехали. Кластеризация. Софт. Если данных мало, всегда поможет python/R. Если много, как у нас - спасение в Spark

22:46
@backendsecret а нигде в рекомендациях и никто не говорит, что скрамом должен рулить тряпка

Ну если не знать скрам, сначала можно подумать что скрам-мастер это смазка-менеджер. Хотя это должен быть крепыш twitter.com/kotchuprik/sta…

22:47

Зачем нужна кластеризация (далее - К). Мы хотим предсказывать поведение и давать людям релевантные предлож., от которых сложно отказаться

22:49

Собирать будем статистику по покупателям - средние открытия страниц сайта, бизнес-активностей, числа транзакций и т.п. Покупатель = вектор

22:53
@backendsecret как долго храните данные?

Хороший вопрос! Пока вечно :-) Важно понимать, что данных больше чем нужно для модели - плохо, аналогично когда мало twitter.com/dcromster/stat…

22:53

Когда вектор 2-3 мерный, его можно представить в виде точки на плоскости либо в пространстве. Когда вектор 100 мерный - становится сложнее )

22:54

Кластерный анализ позволяет увидеть "сгустки" в множестве собранных вами векторов пользователей. Зачем - чтобы вжарить по ним маркетингом! )

22:56

Мы допустим ясно увидели, какие типы использования десятков сервисов существуют в Битрикс24. К примеру задачи+CRM. Кластеров может быть мало

22:57
@backendsecret @ilnurkhalilov полагаю, к концу недели ковровая бомбардировка накроет пуканы доброй части читающих :)

Мне пишут, что я болтаю глупости и порожняк, но я разминал мозги аудитории для принятия сложного материала :-) twitter.com/ivanenok/statu…

22:58

Еще пример кластеризации, который сделали мы - объединить 20 млн. товаров в 1 млн. - в "сгустки" похожих. Зная кластера, начинаем работать

22:59

Известный кейс, когда девушке стали приходить купоны на товары для беременных - хотя она об этом еще не знала и папа был в ярости. :-)

23:01

Скорее всего вектор девушки попал в кластер беременных - по ее поведению, средним активностям, купленным товарам, словам при поиске и т.п.

23:02

Если пространство евклидово, то можно рассчитать центр кластера - центроид, иначе - берем центральный элемент - кластроид. Это самое простое

23:05

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

23:09

Алгоритмов для К полно, не буду перечислять. Проблема возникает когда данных - много. Карл - данных много! И это - проблема. 20 млн. - много

23:10

K-means и всякие C-means, спектральные подходы - алгоритмически сложны, в лоб на кластере будут считаться годы. Spark MLLib - уже не поможет

23:14
@backendsecret 20 млн это что? попугаи, тугрики монгольские? не путай народ!

Сорри. Это названия товаров в каталоге и названия секций - в одно описание. 20 млн. опис. Это не бигдата twitter.com/ivanenok/statu…

23:16

Внезапно оказывается, что кластер и MapReduce даже на этой горстке данных - нам уже не поможет и нужно искать другие алгоритмы, лезть в math

23:17

Можно попробовать sampling - но оказалось с ним смысл кластеров резко грубит. Трусы и яблоки в одном кластере. Многоуров. k-means не пошел

23:21

K-means из коробки MLLib выкинули, написали свой, с сэмплингом и иерархией центроидов - плохие кластера. Может надо было заюзать word2vec

23:22

Названия товаров - довольно короткие и с ошибками. Для векторизации нельзя их лепить в BOW. Хорошо помог shingling. Берите на заметку.

23:24

Все понятно или котиков рисовать? :-)

23:24
@backendsecret смазка-менеджер)) надо запомнить :D

Ты смеешься, я меня обвиняют в сексизме. Только за то, что я искренне люблю женщин и уважаю мужчин и не смешиваю их twitter.com/kotchuprik/sta…

23:27

И какой мы нашли выход? LSH (en.wikipedia.org/wiki/Locality-…) через minhashes и вероятностное решето через banding. Удалось склеить дубликаты хорошо

23:29

Minhashing (en.wikipedia.org/wiki/MinHash) - классно сжимает размерность и готовит вектор атрибутов к LSH. Хотя вижу, что нейронка word2vec хороша

23:31

Разберитесь плз. как работает word2vec, это непросто, но это имхо важный тренд - и как раз бигдата на текстах, хотя не Deep Learning

23:36

Алгоритмическая стоимость LSH - линейна, т.е. за пару-тройку часиков мы решили задачу и улучшили качество рекомендаций! Вывод - нужно дерзат

23:41

Аналогично, если бы данных было меньше, можно было бы сжать матрицу слов-документов через матричную факторизацию - слова склеились бы в темы

23:42

Но все эти факторизации сложны и боюсь на больших данных - не завелись бы. У нас - не завелись, пробовали, оч. долго.

23:43

Кластеризацию можно применять не только для таргетирования аудитории, но и в результатах поисковой выдачи. Сначала кластера, затем туда идем

23:44

Короче техника интересная! Но не всегда данные сбиваются в "кучки" и в этом подстава. Завтра расскажу про классификацию - это помогает тут

23:45
@backendsecret вы все сами? и математику и код и поддержка в продакшене ?

А что делать? Нас мало, но зато мы дружные :-) В Битриксе вообще люди хорошие, дружные, тебе приходят на помощь. twitter.com/ipronix/status…

23:49

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

23:57

Преподаватель из ШАД конечно расскажет все более формально. Моя цель - принести вам пользу и поделиться реальным опытом на проде

23:59

# Четверг 136 твитов

На сегодня - все. Всем до завтра. С утра выступаю на #SECR2015, после обеда поговорим о классификации! Доброй ночи!

0:01

Забыл. Свежий рейтинг IT-компаний. Отсортируйте по рентабельности :-) tadviser.ru/index.php/%D0%…

0:02
@backendsecret а сложно - от теорий к коду ? почему не создать отдельную команду математиков ?

Время, риски. Пока сами до деталей и бит не поймем - сроки сложно оценивать очень. И пока математика не сложная twitter.com/ipronix/status…

0:04
@backendsecret @ipronix пока не началось мясо, стоило бы математиков втаскива начинать, имхо.

Я кого не спрашивал из мехматов - не слышали про LSH. Тут доктора нужны :-) twitter.com/ivanenok/statu…

0:20
@backendsecret кстати большие компании часто так и вкладываются- берут,ставят условия получить phd в оговоренный срок.и вот команда докторов

В бигдате/матоб. есть особенность - кейсов её полезн. применения можно по пальцам пересчитать. Завтра об этом уже twitter.com/ipronix/status…

0:26

В сложных проектах: тестировщики, не прикидывайтесь роботами-кликерами, досконально изучайте требования, учите UML! Вы - лицо проекта

9:59

В сложных проектах: аналитики, анализируйте глубоко плз, выбивайте из клиента и манагера последние мозги, не сливайте кашу. Вы ядро проекта

10:03

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

10:05

В сложных проектах: разрабы, дорогие, вы и так умные, просто не чудите и пишите просто. Доводите паттерны и опыт до стигматов. Вы - сердце

10:09
@backendsecret бэкендеры, не ленитесь, пишите качественный код, пишите автотесты, вы жопа проекта.
10:10

В сложных проектах: сисадмины, вы и так великие, знаете все обо всем. Не издевайтесь над разрабами, вдохновляйте орлов! Вы - отцы проекта

10:13

В сложных проектах:фронтэнд, хватит торчать и ждать готового от бэкэнда, делайте проверку ошибок :-) Вы - самые главные в проекте, лицо2 :-)

10:16

В сложных проектах: заказчик, ты рождаешь проект. Детеныш должен жить долго и счастливо, а не сдохнуть от запутывания ног с ушами на затылке

10:20
@backendsecret @rubyunderhood вы используете какую-нибудь систему для хранения\структурирования знаний? (например, блокнот, майндмапы)

Мы - вики twitter.com/nick_jastix/st…

10:20
@backendsecret от сексизма до толлерантности всего пара дней. и не ясно что хуже :)
11:07
@backendsecret а много ли применяют UML?

А без него часто ну никак. Я активно применяю, рассказать что и зачем? twitter.com/dcromster/stat…

11:36
@lowl4tency ну окай, This is backend :) @backendsecret pic.twitter.com/wSDTPzl8qy

Генитальная логика - признак слабости разума. Труд, любовь, спорт и наука - помогают отвлекаться twitter.com/POS_troi/statu…

11:39
@backendsecret проповедь напоминает жванецкое "Еврей, всегда помни, что ты еврей! Когда тебе об этом напомнят, поздно будет!"
11:40
@backendsecret расскажите, потому что сейчас звучит настараживающе.

UML полезен для: формализации стейт-машин (State Chart), лог. схемы данных (Class Diagram), связей глоссария twitter.com/podmostom/stat…

11:43

Ещё UML для отрисовки цепочек вызовов в сложных ООП спроектированных для наследования. Не словами же это описывать?

11:45

Ещё UML для формализации алгоритмов - Activity Chart. Если проекты просты он не нужен да

11:46

Через 10 минут выступаю на #SECR2015 pic.twitter.com/7nMcV6a6P9

12:18

Возвращаюсь с #SECR2015 - ржака, в Кремле башни стали менять на чёрные и пластмассовые! :-) pic.twitter.com/mmCUsTgzkf

14:37
@backendsecret ООП не нужно, для конечных автоматов есть нотация лучше, что такое Class Diagram не знаю, так что тут поверю на слово.

Я не фанат UML, но текстом и человечками на одной стене нередко сложно однозначно описать задачу twitter.com/podmostom/stat…

14:54
@backendsecret ООП не нужно, для конечных автоматов есть нотация лучше, что такое Class Diagram не знаю, так что тут поверю на слово.

ООП не нужно? А насиловать ядра неэффективными конструкциями функционального программирования правильно? twitter.com/podmostom/stat…

14:54
@backendsecret .. Иначе схемы разъезжаются с действительностью.

Эт да. Но на этапе осознания - проектирование помогает сильно twitter.com/podmostom/stat…

14:56
@backendsecret вы генерите UML из кода на работе? Это единственный способ сделать UML практичнным в большом проекте..

Я обычно делал много UML, 5 метровые схемы данных, затем обдумав с клиентом проектили классы twitter.com/podmostom/stat…

14:56
@backendsecret пример можно?

Делаем глоссарий из 200 терминов и в UML - логич. модель связей между ними. И клиенту. Затем уже таблички бд twitter.com/dcromster/stat…

14:57
@backendsecret берёте и пишете процедурально с функциональными интерфейсами.

Linux? :-) twitter.com/podmostom/stat…

15:06

Великий Эндрю Таненбаум "проклял" великого Торвальдса за моноговноядро. Хотя оно пока живёт и не плохо :-)

15:08
@backendsecret это то, что ты читал по ХР? // @ilnurkhalilov

Я это видел, годами :-) twitter.com/de_gis/status/…

15:10

Когда в проекте Глоссарий (все надеюсь знают что это) больше 200-500 терминов - agile листочки, досочки и стеночки вас врядли спасут :-)

15:12

StoryMapping - порнотехника для заклеивания стен компании - ещё больше все запутает. Проектирование и UML без фанатизма наш друг тут

15:15
неделю @backendsecret могу описать только следующей картинкой: pic.twitter.com/uy6gkndij9

Что все такие чувствительные и ранимые? А если завтра война - кто будет Родину защищать без сданных норм ГТО? :-) twitter.com/anton_davydov/…

15:20

ООП - методика управления сложностью. Когда кода много - выхода просто нет. Это закон физики - нравится нам или нет :-)

15:23
@backendsecret очень забавно, где minix и где linux

Да уж, видимо Ктулху чем то зол на Таненбаума - сидит дедушка студентами и кодят по чайной ложке в год. twitter.com/zhulikgleb/sta…

15:24

Я спросил у гуру Scrum - Асхата Уразбаева описать его суть короткими ответами: "Скр-команда это спецназ, могущий решить задачу без потерь"

15:29
@dcromster @backendsecret слишном много совсем безумных и толстых набросов. Ну и 483 твита за 3 дня - это уже тумач :(

Могу больше не писать twitter.com/anton_davydov/…

15:30

"Чем пахнет скрам? Утром - кофе, вечером - травой". Асхат - опытный мастер! Скрам это не о соплях и тусне - это о спецназе :-)

15:33

Почему евреи часто такие умные? С детства учат их, что знания это круто и учиться - правильно. Когда в России это поймут в школах? :-)

15:37

[сексизм] Женщина-богиня. Она видит и тебя и твой проект наизнанку с потрохами и чувствует муть и фальш. Вот поэтому они лучшие проджекты!

15:44

Затыкаюсь до ночи. Ночью - классификация подробно с кейсами

15:46
Работать должны роботы. Люди должны ебаться.
15:48
@SiliconBangalor @backendsecret ништяк, прямо бомбочка. ты где таких находишь?
17:58
@backendsecret спасибо за наводку на word2sec - вроде клевая штука под практические задачи

Офигенная штука! Гораздо проще садомазахической матричной факторизации и код готовый twitter.com/chunga1changa/…

17:59
@anton_davydov @backendsecret а самое главное где биг дата я так и не понял

А я раньше писал про нее, полистай и попишу еще. Тут мы отдыхаем от математики и данных и болтаем о жизни. twitter.com/raxpost/status…

18:00
@backendsecret ООП методика создания ненужной сложности и оверинжеринга. Ну куда это годится: фабрики, враперы, сервис объекты …

Рассказать зачем нужны фабрики? Конструкторы негибки, телескопы из них делать - извращение, фабрика может закэшить twitter.com/Shiroginne/sta…

18:02
@backendsecret в свете упомянутых юскейсов UML, скажите, что вы думаете на счет этой статьи gaperton.livejournal.com/32772.html

Отличная статья, спасибо! Я так делаю. Вначале проектируем глубоко, но недолго, рисуем кодим с расчетом на людей twitter.com/89__bo/status/…

18:10

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

18:11

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

18:12

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

18:13

Вот еще пример. Я делал несложный модуль для nginx - сжатие и минификация с кэшированием на лету. Влез в исходники и обмер. Код - классный!

18:14

Код - читается. Но его столько, что нужно сидеть и рисовать, рисовать, рисовать, чем я и занимался. Начиная с void main ;-) Жопа!

18:15

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

18:16

Поля фундаментального объекта системы - буффера, описаны на 5%. Мне еще год посидеть порисовать? :-) github.com/nginx/nginx/bl…

18:18

А когда мне нужно что-то дописать на java, я открываю спецификацию, читаю, открываю API - вот это правильно, это норма!

18:21

А вообще очень обидно, что часто закрытый энтерпрайз код такое г..но, что его без NDA никому не показывают :-(

18:24
Господа и дамы в @rubyunderhood, @backendsecret, @jsunderhood, если жена спросила "Научи меня программированию, хочу как ты". Что делать? RT

Поцелуй ее, обними за талию и скажи: "Дорогая, не торопись в АД в объятья Ктулху" :-) twitter.com/gruz0/status/6…

18:25

Как же полезно рыться в исходниках стандартной библиотеки java - видишь эволюцию человеческого мозга и ошибок

18:35

Люблю Путина, вещает в Сочи - настоящий мужик с настоящими яйцами. Давно не хватало такого лидера стране.

20:18
На этой неделе в @backendsecret просто адский зажиг!
20:28
@LestorN @backendsecret логично. уважаемый ведущий и начальство публично любит :)

Так 5 лет с военными, командировки в Чечню, вертолёты над Тереком - профессиональная деформация twitter.com/ipronix/status…

20:38

Кадырова тоже люблю. С его отцом лично встречался, когда он был жив. Кавказ - родина самых жизнерадостных людей, знающих что такое честь

20:43
@backendsecret любопытно. контрактником ?

Телестудия СКВО + Госслужба советником РФ 3 класса twitter.com/ipronix/status…

20:46

Государственный аппарат работал бы лучше даже на redmine, не говоря про jira. А пока там бумажный водопад :-)

20:48
@backendsecret а почему вы этим не займетесь ? битрикс же кто-то лобирует, раз госдума его использует ?

Не думаю. В Битрикс просто эффективно работают имхо. Грамотный маркетинг и анализ рынка twitter.com/ipronix/status…

20:51
@backendsecret у меня есть вопрос. зачем ты думаешь о том, настоящие яйца у мужика или нет? чот я уже готов начать орать Ахтунг!

Да просто настоящих все меньше и меньше - это это печалит :-) twitter.com/ivanenok/statu…

21:04

За работу! Классификация. Вначале научимся понимать, какие бывают модели - это сэкономит нам месяцы работы и риски. pic.twitter.com/TuDoC2I4IT

21:05

Что важно знать. Если модель - параметрическая, она часто маленькая. Если не параметрическая - она как правило жрет очень много места

21:07
Думаю, забанить или нет @backendsecret до конца недели?

Давайте немного позанимаемся наукой, бигдатой и математикой - а потом как хотите twitter.com/White_Desay/st…

21:08

"Маленькие модели": логистическая регрессия, байесовский класификатор, линейные регрессии и ядерные тоже - можно кучей задеплоить в ОЗУ

21:09
@backendsecret так и запишем, с чуваками из битрикса, в сауну, с пивом и бабами, ходить с опаской, а то мало ли чего надумают проверить! :))

Не отвлекаемся. А то совершу каминг аут наоборот :-) twitter.com/ivanenok/statu…

21:10

Непараметрические модели: kNN (ближайшие соседи), деревья (CART), машины опорных векторов (SVM), наша любимая коллаборативная фильтрация

21:11

В нашем проекте непараметрические модели для коллаборативной фильтрации - занимают десятки гигабайт и висят в ОЗУ. Почему не в БД или NoSQL?

21:13

Скорость! Алгоритм коллаб. фильт. совершает немного оптимизированный скан для поиска kNN соседей к юзеру, товару mahout.apache.org/users/recommen…

21:15

У нас 20к магазинов, ~20 млн. товаров и кук, и иначе как в ОЗУ это быстро не будет никак работать. В общем вывод - непар. модели это риски

21:17

С другой стороны, для каждого магазина из 20к можно натренеровать маленкую парам. модельку логистической регрессии - и все поместятся в ОЗУ

21:18

Заметили как Амазон недавно сделал сервис ML - хостит такие модельки логист. регрессии: aws.amazon.com/ru/machine-lea… Но Microsoft пошел дальше

21:20

azure.microsoft.com/ru-ru/services… недавно общался с коллегами плотно. Они выкупили компанию, развивающую R - и у них гораздо больший выбор алгоритмов

21:23
@backendsecret NoSQL БД тоже может хранить в ОЗУ. Это просто подход такой.

Скорость! В Mahout Taste - хэш-таблица с линейным пробингом, она быстрее: cs.rmit.edu.au/online/blackbo… twitter.com/rusgautama/sta…

21:25

С размером моделей думаю понятно и рынок посмотрели тоже. Теперь обсудим генеративность/дискриминативность. Генеративные учатся быстро!

21:30

Байесовский классификатор - строится тупой в лоб статистической обработкой данных. kNN - в лоб сохранением значений.

21:33

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

21:34

Вывод - если нужно быстро: берем генеративную модель, если точнее - дискриминативную. Считаем время и деньги.

21:37

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

21:40
@backendsecret вот теперь все встало на свои места; обычно, в коллективных аккаунтах тема политики/власти - табу.

Религии еще twitter.com/lisovskyvlad/s…

21:41

У нас вектор с 50 атрибутами юзера и модель не строится никакая. Делаем новые атрибуты умнож. текущих друг на друга - это хак, он работает

21:42

Называется это - feature preprocessing/engineering. Дискриминативные модели прямо созданы для этого и это большой плюс когда дело дерьмо

21:44

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

21:46

С моделями пока хватит. Задача: найти churn-rate, т.к. кто из текущих клиентов свалит в ближайшее время чтобы задержать их.

21:47
@backendsecret увеличивая размерность путем добавления линейно-зависимых членов делаем насыщение данных и как результат - модель строится?)

Да, добавляем коррелированные значения. Способов много - они как правило все тупые в лоб. Можно картезиан, работает twitter.com/lisovskyvlad/s…

21:49
@backendsecret так раз в 12 часов можно и подождать. а такое пробовали datasciencecentral.com/profiles/blogs… автор-изобритатель и промоутер алгоритма

Спасибо за ссылочку! Обещает скорость. Нет, не смотрели. Но деревья у нас показали нечуткость, и леса тоже twitter.com/ipronix/status…

21:51

Оффтоп. Кратко про ядра (kernel). Если модель не строит - возьмите другое ядро. В RapidMiner5 это делается в один клик, есть еще SAS, SPSS

21:56

Ядро это способ dot (скалярного) произведения вектора атрибутов и вектора весов. Я могу объяснить подробнее, но это продлиться до утра :-)

21:57
@backendsecret обученная модель работает быстро в любом случае. Разумные люди не обучают модели тысячи раз в секунду

Не спорю, я таких кейсов и не видел - 1000 раз в секунду :-) twitter.com/tartakynov/sta…

21:59

Мы долго не могли разделить на 2 класса данные ни SVM (запоминайте, маш. оп. векторов), ни логистической регрессией, пока не поменяли ядро

22:00

Итак, цель - найти кто скоро уйдет. Для этого мы собрали статистику и усреднили ее по всем клиентам - порталам Битрикс24. Вот что именно:

22:01

Бизнес-активности: число созданных задач в день, в неделю, в мес. Число лидов в CRM, число сообщ. в чат, число звонков и т.п.

22:03
@backendsecret ну и никакой политики в этом блоге, любишь путина - делай это дома, или в своем личном твиттере.

Да это мой личный твиттер на неделю, не? twitter.com/muslimov/statu…

22:03

Данные об активностях собираем в Kinesis через nginx/lua, Spark - на выходе 100к векторов с десятком измерений и меткой - с нами или ушел

22:04

Если нужно профили раскидать на 2 класса (ушел, не ушел) - это бинарная классификация, если на большее - мультиклассовая. Просто тут

22:06
@backendsecret значит вывод то ни о чем. Выбор между generative и discriminative определяется задачей а не скоростью обучения

Не упрощай. Нам была важна скорость тоже. Там еще и обработка пустых значений, и их сложность. twitter.com/tartakynov/sta…

22:08
@backendsecret значит вывод то ни о чем. Выбор между generative и discriminative определяется задачей а не скоростью обучения

Байеса люди поймут, а несколько видов регуляризации в логист. регрессии я буду объяснять до утра и не объясню twitter.com/tartakynov/sta…

22:09

Еще момент. Баланс. Может быть что с данных с меткой "ушел" меньше. Что делать? 2 способа. Простой - сбаланс. данные, чтобы было одинаково

22:13

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

22:15

Вот и все дела. У нас отлично отработала модель лог.регрессии с ядром annova (crsouza.com/2010/03/kernel…). Перенесли на Spark MLLib. В бою

22:18
@backendsecret L1 и L2, больше не надо

А ядра? :-) twitter.com/tartakynov/sta…

22:19

Последний момент. Модель должна работать лучше случайного гадания :-) Используем метрики: AUC, kappa, ru.wikipedia.org/wiki/ROC-%D0%B…

22:21

Субъективно AUC > 0.5 (но лучше больше), kappa не меньше 0.2 хотя бы. Полезно посмотреть confusion matrix: en.wikipedia.org/wiki/Confusion…

22:22

Confusion matrix: смотрим recall и precision по каждой метке. Разберитесь с ними, это суперважно. en.wikipedia.org/wiki/Precision…

22:24

Затем в модель подаем всех еще живых клиентов и находим вероятно готовых уйти. Поймите соль! Подаем ЖИВЫХ, определяем потенциально уходящих

22:25

Можно аналогично определить, кто готов купить услугу, кто готов уволиться, кто готов стать платным и т.п. Вариантов много, дерзайте!

22:29

На сегодня все. Всем спасибо. Завтра отвечу на вопросы.

22:30

Пример выбора ядра, забыл, сорри pic.twitter.com/kNAU6CG3PA

22:33
@backendsecret а вы с machine learning не из готового пакета знакомы? Знаете как работают алгоритмы? Я пока вижу набор buzz-слов и всё

Конечно. Можешь пояснить людям как работает kernel простыми словами и почему? :-) twitter.com/tartakynov/sta…

22:51
@backendsecret а вы с machine learning не из готового пакета знакомы? Знаете как работают алгоритмы? Я пока вижу набор buzz-слов и всё

А я вижу умничание и все :-) twitter.com/tartakynov/sta…

22:52
@backendsecret Какие инструменты вы используете для UML? Что-то встроенное в IDE или специализированные тулы?

Я юзал обычно EnterpriseArchitect, можно поискать попроще twitter.com/vosip/status/6…

22:54

Хочу спросить математиков. Можно ли доверять весам атрибутов диск. бинарного классификатора после перехода на нетип. kernel. Ищу ответ давно

23:01
@backendsecret Sparx EA - это вероятно лучший тул для UML. Но как вы синхронизируете UML модели в EA с кодом в IDE и с требованиями?

Неа, иногда строю в начале, потом цейтнот twitter.com/vosip/status/6…

23:02

Ещё вопрос математикам. CART не делит, RandomForest не делит, GBT не делит, байес не делит - лог. регрессия строит хорошую модель. Why? :-)

23:06
@backendsecret Следовательно, ваши UML диаграммы не попадают в документацию и не отражают текущее состояние кода - их можно просто выкинуть

Зачем выкидывать. Новичкам легко схватывать суть и усилия по проектированию покупаются простотой системы twitter.com/vosip/status/6…

23:11

Ктот что понял, что я сегодня писал? Или про политику интереснее? :-)

23:13
@backendsecret даже я знаю. потому , что все эти алгоритмы не описывают всю картинку , а только одну опред. и только в оговоренных условиях.
23:14
@backendsecret Вот. То есть, вы проектируете в UML высокоуровневую архитектуру системы, которая потом не меняется. Так?

Разные уровни детализации. Спроектируй то, что меняется используя принцип XP - SimpleDesign и развивай потом twitter.com/vosip/status/6…

23:16
@backendsecret (шутка!) (на самом деле интересно почитать умного энтерпрайзщика).
23:19

Есть такой чувак, каратист вроде, хорошо пишет про Agile model storming и эффективное проектирование без бюрократии: ambysoft.com/books/agileMod…

23:20

Видно, что он провалил десяток проектов, вымазался кровью и соплями в цейтноте и пишет дело. Очень толковые советы даёт, не пожалеете

23:23

У него это называется Agile unified process, упрощённый RUP ambysoft.com/unifiedprocess…

23:24

Скажите, кто что для OLAP в бигдате юзает? Hive - ок, Impala - падает, Amazon Red Shift дороговатый, Vertica вот хвалят, хочу глянуть

23:32

Ещё хотел спросить - ZooKeeper как реализация paxos выглядит умирающим, pacemaker - отстой непрозрачный, куда все катится?

23:36
@Semenov @backendsecret @muslimov @dcromster я предполагал, что религию не будут трогать в програмистских твиттерах

А как же культовые фильмы: Star Wars и Властелин колец, написанные религиозными людьми? :-) twitter.com/iamstarkov/sta…

23:39
@backendsecret сейчас дриль промоутится mapR - говорят как импала, только лучше :)
23:40

Интересно, сколько коипилится Spark/scala из исходников. Неделю или две. Пипец какой-то с компиляцией скалы

23:42
@ipronix @backendsecret к чему эти детали тогда? Писать про математику в Твиттере бред же.

Вот! Я суть стараюсь передать и грабли twitter.com/rusgautama/sta…

23:47
все правильно twitter.com/backendsecret/…

Да я пошутил же ;-) twitter.com/strangeqargo/s…

23:48
@rusgautama @backendsecret что за люди. указывают: что писать , о чём писать, как писать. зомби прям. да автор во всём не прав,но интересен
23:48

# Пятница 84 твита

Все знают, что здание современной ассиметричной криптографии зиждется на этом простом законе диск. логарифмирования? ru.m.wikipedia.org/wiki/%D0%9F%D1…

0:15

Как только чудно не называют классы и функции в коде. Ещё забавнее когда класс Tools расширяет класс Utils.

9:13

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

9:23

Есть ощущение, что в java-world многие остановились на synchronized, не понимают concurrency api и не осознают модель памяти jvm

9:32
@backendsecret Наследование - рак убивающий код :)
9:39

Второй по значимости и бессмысленности подарок интернета человечеству после массового порно - соцсети! На работе и дома :-)

9:40
@backendsecret Сказал человек, всю рабочую неделю активно пишущий в твиттер)

Да, я такой :-) Не нужно воспринимать твиты буквально twitter.com/webholt/status…

9:43

Вечерком расскажу как мы готовим Спарк и его подводных камнях

10:53
@rainrb @backendsecret Наследование плохо тем, что его рекомендуют и советуют ужасные паттерны, вместо интерфейсов и композиции.
11:02

А сколько чудес при использовании исключений! Убрать бы их из языков, ну не понимают как их правильно готовить :-)

11:04

Сколько в java коде проглоченных исключений - а идея была разумной. Нужно после ВУЗа разрабов обучать еще в ординатуре - "трупы" резать :-)

11:06
@backendsecret в Go убрали :)
11:18

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

11:50

Не понимаю тех, кто ходит на работу только попить кофе и пообщаться. Это как нужно общество не уважать? :-)

11:53

Из-за таких раздолбаев некоторые перед дедлайном потом ночами работают до кровотечения из глаз

11:55
@backendsecret ой да брось ты, ты еще скажи, что надо продуктивно работать 8 часов в день :D

Не, часа 3-4, остальное на самообразование twitter.com/kotchuprik/sta…

12:24
@backendsecret «Субъективно AUC > 0.5 (но лучше больше), kappa не меньше 0.2» ну это же как-то расплывчато. Хочется узнать про результат.

Для простоты нужно чтобы AUC была выше 0.5, с этого начните twitter.com/tru_pablo/stat…

12:25
@backendsecret Ведь когда вы «подаете ЖИВЫХ, определяете потенциально уходящих» т.е. уже не обучение модели, то как понять что работает?

Ты понимаешь что она работает когда считаешь для неё AUC - на 30% тестовых данных, там просто все twitter.com/tru_pablo/stat…

12:27
@backendsecret у вас же реально множественные гипотезы (сколько вы ядер перебрали), Бонферрони там и вот это всё...

Да. Но выбирает ту, которая даёт самую лучшую модель и все дела twitter.com/tru_pablo/stat…

12:27

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

12:29

Только ты владеешь кодом и можешь его проверить. Тестер все равно пропустит многое. На дедлайне вся лень вылезает :-)

12:32

Если постоянно добавляют фичи и не дают время на написание тестов - ты попал, чувак, в мясорубку. Собирай народ и иди к топу - это не дело.

12:42
Здравствуйте, @backendsecret! каким редактором пользуетесь? что посоветуете? а то мне phpstorm надоел со своими зависаниями

Эх, для php редакторы хорошие и не пишут. Eclipse pdt, у меня тоже phpstorm twitter.com/sananbozkurt/s…

12:46
@backendsecret, я хожу в офис только попить кофе, пообщаться и зарубиться в кикер. А работаю из дома. Да и все мои 13 разработчиков :-)
12:53

Не следует пренебрегать функциональными и smoke-тестами, у них огромное покрытие и сразу видно - пашет "оно" или издохло

13:03
@de_gis @backendsecret но главное никому не говорить что ты уже все сделал :) а то задач уровня "копать от меня и до заката" масса! :)

Хороший менеджер не даёт задачи в стиле "чем бы солдат не занимался, лишь бы зае..ся" :-) twitter.com/ivanenok/statu…

13:04
@backendsecret осталось еще найти таких манагеров. ну или место где их адекватно обучают, а не загаживают голову кучей базвордов попсовых :)
13:11

Коммуникации - ключ к успеху проекта. Быстро зафакапиться - отличный результат, ведущий к переосмыслению

13:13
@SiliconBangalor @backendsecret ты таки знаешь место на постсоветском пространстве где разводят манагеров для IT?

Говорят последний раз их разводили на Татуине, но до построения второй Звезды смерти :-) twitter.com/ivanenok/statu…

13:14
@backendsecret но ведь мы же все знаем, что силы добра, как обычно, победят силы разума :)
13:22
@backendsecret не давайте больше этому идиоту твиттер бекенд-разработчика
14:20

Сначала думаешь что дело в процессах и языках и технологиях, оказывается нет - в людях. Именно они и есть главная ценность компании

14:23
@backendsecret Жир капает прямо из экрана!

Подложки салфеточку twitter.com/freiksenet_ru/…

14:23
@Rashid80 @SiliconBangalor @backendsecret начинаю понимать главные скилы спецов в 1С :)

Пока во всем не начнешь разбираться хорошо, успеха не будет :-) twitter.com/ivanenok/statu…

14:29

Кстати о людях. Клиенто-ориентированный маркетинг с Бигдатой и математикой - тренд, который нарастает. Прикольно это. Права не везде так

14:31

Рекомендую! Как родился XP и как у девушки-PO начался тик: en.m.wikipedia.org/wiki/Chrysler_… coldewey.com/publikationen/…

15:06
@backendsecret люблю когда технари бомбят. Они такие милахи. Больше троллей и мудаков в аккаунт!
15:28

Вот интересно, что творится внутри научной роты Минобороны РФ? Говорят туда ещё хрен попадешь :-)

15:32
@ivanenok @backendsecret любой мэнеджмент - это естественный рост в лидеры с низов. Пусть с дообучением, но все же.

Будь лидер собственного ума и развивай его - зачем учиться как сидеть на совещаниях и слушать чушь? :-) twitter.com/Foxcool_ru/sta…

15:36
@backendsecret @ivanenok ну под дообучением я скорее имею ввиду хотябы знание так сказать управленческих патернов. Управлять надо процессом

Да там примитивные паттерны в стиле кнута и пряника же. В разработке паттернов Гораздо больше, да коллеги? :-) twitter.com/Foxcool_ru/sta…

15:47
@backendsecret при грамотно организованном процессе не нужен кнут и пряник. Вообще наличие роли доминатора у лидера - признак мудака.

Странная у вас терминология :-) twitter.com/Foxcool_ru/sta…

16:22
@Foxcool_ru @backendsecret у нас же есть типичная шизофрения, каждый программист имеет мантру "я должен в 30 лет стать менеджером!"

Да да. Это в корне неверно имхо. Любой дурак любит командовать - но делать это правильно очень сложно :-) twitter.com/ivanenok/statu…

16:57
@Foxcool_ru @backendsecret хм, у меня ощущение что мы говорим на разных языках и вообще о разных вещах.

Менеджмент нужен. В Битрикс он прекрасен. Но это имхо нечастый кейс - чаще садомазо или солдат спит - служба идет twitter.com/ivanenok/statu…

17:01
@backendsecret ну побывав этим самым малолетним дебилом, понял что "писать код" под MS Office мне не нравится, и я таки инженер :)
17:11

Опс, что теперь будет с PHP ;-) habrahabr.ru/post/269125/

17:23
@gruz0 @backendsecret в общем, печалька когда ты один.

Книги и хорошие авторы, братко, наше все! twitter.com/sananbozkurt/s…

19:05

Ну что, за работу? :-) Рассказываю, как мы используем Spark и на какие подводные камни натолкнулись. Напомню, что мы в Амазоне.

20:25

В Амазоне можно для воркеров Spark взять машинки типа Spot, которые стоят раз в 5-7 дешевле обычных и их часто полно aws.amazon.com/ru/ec2/spot/

20:27

Почему мы со Spark в амазоне? Простота! EMR кластер поднимается из админки за 5 кликов, вместе со Spark, HDFS, Impala, Hive. Удобно.

20:47

На Spark (десяток и иногда больше машин) мы статистически обрабатываем бигдату, считаем гистограммы, считаем уникальные значения.

20:48

На Spark также удобно готовить данные и модели для коллаборативной фильтрации в Apache Mahout. В общем Spark - хорошо вписался в наш процесс

20:49

Кэширование RDD в памяти - не используем, не быстрее. Данные RDD читаем сразу из s3, рядом клали в HDFS - не быстрее, поэтому забили

20:50

Основная имхо проблема Spark - выпадение по памяти из-за возможных перекосов данных и их распределения по ключам. Это - напрягает и смешит

20:51

Благо, в Spark есть неплохая веб-мордочка и причины выпадений по памяти можно там увидеть. Но готовьтесь, Spark будет выпадать часто :-)

20:52

Я думаю это архитектурный косяк в Spark и говорит о его пока сырости. Тем не менее, плюсы его превышают минусы - его скорость очень радует

20:53

Еще проблема Spark - выгрузка данных, в т.ч. отсортированных. Collect - все всасывает в память, что конечно криво: spark.apache.org/docs/latest/pr…

20:55

toLocalIterator - работает очень медленно, поэтому пришлось писать свою реализацию выгрузки. Покурите еще это: stackoverflow.com/questions/2169…

20:57

Есть, правда не всегда подходящий вариант выгрузки данных из Spark - писать в HDFS, но сломается сортировка. databricks.gitbooks.io/databricks-spa…

20:59

Теперь про кластер. Мы сначала игрались в Standalone cluster, но надоело костылями его конфигурить. В амазоне запустили в Yarn - прекрасно

21:01

Когда не хватает родного АПИ Spark для работы с реляционной алгеброй, смотрим сюда: infolab.stanford.edu/~ullman/mmds/c… mmds.org

21:04

Много сил потратили, чтобы ограничить объем логов в Spark/Yarn - это какой-то кошмар. Но получилось. Кому интересно, пишите в личку, помогу

21:05

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

21:06

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

21:07

SparkSQL похоже не может успокоиться при виде Hive. Непонятно чем он особо лучше, сильно меняют АПИ. Думаю пока стоит воздержаться от него.

21:08

Spark MLLib для маш. обучения еще маленькая и сырая. В Spark ML - хотят сделать бизнес-процессы, как в SAS, SPSS, RapidMiner - но пока сыро

21:09

Вывод по Spark ML и Spark MLLib - до множеста алгоритмов в scikit-learn.org - еще далеко. Но зато в Spark они параллельные и это сила

21:12
👉Семья заменяет все. Поэтому, прежде чем ее завести, стоит подумать, что тебе важнее: все или семья.
21:25

За хорошего тестировщика - дают 10 программистов, а за хорошего сисадмина - 35 :-)

21:36
@backendsecret вы и не должны, делайте rdd.saveAs...

А сортировка в паркет-файлах в hdfs? twitter.com/f1yegor/status…

22:22
@backendsecret в спарке можно выполнять код R и python - даже scikitlearn

Но там не все алгоритмы, кусочек twitter.com/ipronix/status…

22:51
@backendsecret sortByKey сортирует rdd

Там если ты так сортирнул а потом сохранишь в hdfs, он создаст кучу файлов и придётся заново сортить twitter.com/ipronix/status…

22:53

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

22:54

11 часов программирования - но настроение продолжает оставаться хорошим! :-)

23:14
@backendsecret мы настраивали Rstudio для работы со спарком - очень удачно. и математики не вникая получили море ресурсов.
23:15
@backendsecret если спустя год, тебе все ещё нравится твой код - что-то пошло не так и стоит задуматься :)
23:15

Когда уже в PHP + curl + ssl заделают утечку памяти. Ещё немного подожду и придётся на java переписывать :-)

23:21

Если ты веб-разработчик, будь добр, изучи наконец tcpdump/ethereal/wireshark. А нередко даже в php пригождаетя unix gdb, GDB Карл :-)

23:28

Даже в mysql уровни изоляции транзакций - целая наука. Но как без из понимания биллинг делать, а? Фантомы накажут

23:30
Что ты несешь, что ты несешь? twitter.com/backendsecret/…

Да надоело объяснять разницу между ip и tcp :-) twitter.com/cluevick/statu…

23:35

Самая волнующая и красивая часть unix - это IPC: мьютексы, семафоры, очереди, разделяемая память. Эх, романтика

23:46

Вспомнил интересную задачу - делали консистентное хэширование объектов на постоянно меняющемся кластере. DHT и через аналог minhash

23:50

Реляционная алгебра уже закоснела и подпротухла в РСУБД и прям заново расцвела в Spark. Здравствуйте Кодд и Дейт

23:53
Уже полторы тыщи непрочитанных твитов %)) ^__^ И кажется 60%, если не больше — это @backendsecret
23:58

# Суббота 38 твитов

@backendsecret @SiliconBangalor тесты для лохов, нормальные пацаны фиксают прям в продакшене! :)

Интересно, это только у нас на постсоветском пространстве или в силиконовой долине тоже? :-) twitter.com/ivanenok/statu…

0:04

Обычно все опытные крутые админы обязательно когда нить жёстко роняли бой о камни и напрочь теряли данные без восстановления

0:11
@backendsecret @SiliconBangalor ты о том что раньше через год не нравился, а теперь через неделю? :)

Ну да, мне не нравится мой код все чаще. Вон она, жизнь программиста - как она есть ;-) twitter.com/ivanenok/statu…

0:17

Внимательно прочитав "Patterns of Enterprise Application Architecture" Фаулера осознал, что потерял время зря. Джошуа Блох - вот мастер!

0:27

Вот интересно, Selinux хоть у кого-нибудь работает или это такой громкий и бесполезный фейк?

0:42
@backendsecret заmmapил, размапил, в СИГСЕГВ - романтика

SIGSEGV - да, он часто и сейчас попадается :-) twitter.com/astarasikov/st…

9:44
@backendsecret я думал тут не будет политики и фанатизма... Ан нет, и сюда эта гадость лезет

Ну мы же живые люди, с недостатками twitter.com/serjonya1/stat…

9:45
@backendsecret а что значат все эти слова - консистентное хэширование

Простое хэширование при изменении числа корзин перетасует ключи, а это гораздо меньше twitter.com/nmishin/status…

9:47
@KSDaemon @backendsecret я отписался почти от всех кто пишет больше семи твитов в неделю )

У меня план - 1000 твитов за неделю :-) twitter.com/amahomet/statu…

9:48

Доброе утро - повелители цифрового мира, создатели жизни, позитивных эмоций и новых неведомых миров - разработчики! Продолжаем тему бигдаты

10:02

Сегодня расскажу про персонализацию на основе бигдаты и математики. Персональные рекомендации мы видим, например, в электр. магазинах.

10:04

Персонализация - это о релевантности. Релевант данном клиенту контент лучше покупают, читают, делятся, запоминают. Чем она выше, тем выше $

10:05

Персонализируют также ранжирование в результатах поиска: купил Тойоту, затем ищешь шины, сначала показывают шины к Тойоте. Структуру и т.п.

10:07
Да ладно, сварю я сам себе ужин… :: pic.twitter.com/CDVwRPe8fu
10:08

Теперь как это работает. Грубо можно выделить 3 подхода: коллаборативная фильтрация, content-based, классификация в маш. обучении

10:11

Коллабор. фильтрация позволяет порекомендовать юзеру то, что уже понравилось его друзьям, но нет у него (user-user). См. также: item-item

10:13

Content-based - матчит текстовое многомерный вектор текстового описания профиля юзера с векторами товаров и находит ближ: cosine distance

10:17

Еще кстати можно сделать content-based через кластерный анализ - предлагать юзеру товары для его кластера. Я думаю идею все поняли.

10:19

Третий тип - учим бинарный классификатор делить на тех, кто склонен купить товар/услугу и тех, то скорее не купит. Предлагаем первым аналог

10:21

Как измерять, что оно работает? A/B-тестирование и/или анализ предсказательной силы - предложили 5, юзер купил 2. 20% - уже хорошо.

10:22

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

10:24
@backendsecret а порекомендуй что-нить под такую вот задачу: надо из поиск. запроса выделить суть и выбрать подходящее из сотен текст реклам

Векторизуй запрос и векторизуй тексты реклам, выкини стоп слова и редкие + tf/idf, сравни вектора и возьми похожие twitter.com/chunga1changa/…

12:18
@backendsecret спасибо, а есть откуда насыпать ссылок на инструменты или методики. легкой кровью бы отделаться! )

А ещё проще - поставь sphinx или solr/lucene, накидай туда текстов реклам, и ищи их - введя поисковый запрос! twitter.com/chunga1changa/…

12:39
@backendsecret ну я на эластике делал, и оно более-менее работало, но есть но. выделение смысла из запроса в первую очередь. word2vec смотрю

Верно, word2vec или снижение размерности матрицы через факторизацию и SVD twitter.com/chunga1changa/…

13:13

Иногда многословность java так задалбывает, что хочется переписать на PHP :-)

13:32
@backendsecret а потом на Python хочется переписать, я через это проходил.

Да были у меня проекты на Питоне, не скажу чтот он сильно лучше php twitter.com/rusgautama/sta…

14:52

Ребят, недолго нам осталось общаться - скоро будете скучать без металла, жира и троллинга :-)

20:35

Все видят логический баг в официальной документации Амазона для DymaooDB во втором листинге? docs.aws.amazon.com/amazondynamodb…

21:09
@backendsecret да, PHP, Python, Ruby - те же яйца, только в профиль. А профиль по цене/качеству/скорости для бизнеса лучше всего у PHP!

Истину глаголишь twitter.com/5minphp/status…

21:23
@backendsecret @5minphp не очень корректное сравнение. PHP исключительно для веба язык, а Python и Ruby еще и в других областях применяются

Мы на PHP кучу системного кода написали для unix, работает отлич некоторые правда вещи можно переписать для скорости twitter.com/unix_tips/stat…

21:33

Мне пишут, что я одиозно веду аккаунт :-) А реально я просто ржу над собственными недостатками и популярными глупостями, которых нахлебался

21:35
@backendsecret системный код на PHP - интересный подход. У Python развилась прекрасная экосистема для анализа и визуализации данных например

Да, можно было на python или упрощенном до небалуй go. Но т.к. php распространен и знаком в компании, неплохо вышло twitter.com/unix_tips/stat…

21:37
@backendsecret передача опыта в одиозной и нестандартной форме всегда здорово и нескучно. Главное уж совсем не перегибать. А так супер! :)

Вот статейку писал как на PHP сделать обработку сокетов в одно процессе и код сам писал: habrahabr.ru/company/bitrix… twitter.com/unix_tips/stat…

21:45

Программирование должно приносить наслаждение. Заставлять людей писать код на время - насилие над мозгом и душой. Это путь в никуда.

21:50
@backendsecret а как же релизное график #bitrix?

Макс, подколол как подколол :-) twitter.com/mesilov/status…

21:56
@backendsecret как же дедлайны?

Дедлайны - это святое. В них нужно выкладывать все свое умение и опыт. А между - писать с удовольствием :-) twitter.com/dcromster/stat…

21:56

Кто игры не писал - не нюхал настоящего захватывающего программирования. Черт, жизнь проходит мимо - один энтерпрайз :-)

22:04

Не очень круто, конечно, но карма на хабре заработана честно - полезными техническими статейками :-) habrahabr.ru/users/AlexSerb…

23:21

# Воскресенье 30 твитов

Помню был у меня интересный проектище внутри JBoss. Вот забава была: EJB, JMS, триггеры. Веселее было админу, ему достался 2000 с. мануал )

0:15

Имхо самое продуманное, выпестованное API и спецификации - только в Java EE. С++, к сожалению глубокому, отдыхает тут.

0:18
@unix_tips @backendsecret @5minphp хм, на PHP в экосистеме Parallels написаны тучи интеграционных системных APS-пакетов
0:24
@backendsecret, писал 3D-шутер на VB 6 и Direct 3D в начале двухтысячных. Было весело и больно одновременно :-D

Вот это я понимаю!!! :-) twitter.com/gruz0/status/6…

0:33
@backendsecret, писал 3D-шутер на VB 6 и Direct 3D в начале двухтысячных. Было весело и больно одновременно :-D

Я только на ассемблере ZX80 писал игрушки и сам играл в них потом. Очень блин увлекательно было, очень. twitter.com/gruz0/status/6…

0:34
@backendsecret, но я до сих пор хочу написать свой арканоид, когда время найду, ага. То есть, на пенсии :-D

А я написал его кстати на Java Mobile и пару уровней :-) twitter.com/gruz0/status/6…

0:37

Странно, что на java самая популярная игрушка - схимонашеский minecraft. Он прекрасен, но блин не сравним с тем же DeadSpace :-)

0:39

С 10 утра код пишу с перерывом на обед, пора выключать мозг :-)

0:47

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

16:44

Кремниевую систему можно или жёстко подчинить коду и разуму или она глюками, тормозами и падениями завладеет твоим свободным временем

17:18

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

19:37

Как говорил мой преподаватель по информатике, старый умный еврей: "язык это 3 поездки в трамвае, а алгоритмы - это вся жизнь"! Соглашусь.

19:38

К coursera, khan academy - отношусь прохладно. После курсов по терверу, взял задачник и там нашел ответ. Вот он :-) pic.twitter.com/3jeTf2ukDo

19:43

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

19:44

По классическим алгоритмам очень рекомендую многотомник Седжвика - дает нам вечные знания и волю. Вот один из томов. pic.twitter.com/b5i3ql4KHJ

19:47

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

19:49

Особое внимание рекомендую уделить графам и алгоритмам на них, в частности кластеризации и PageRank - веб, соцсети и мн. другое сейчас тренд

19:50

Из мира бигдаты начните с понимания парадигмы MapReduce - ничего сложного в ней нет, при этом вам откроются новые горизонты и терабайты

19:51

Плотно изучая алгоритмы, не бойтесь умничать - вспомните Линуса Торвальдса, назвавшего пользователей SVN - идиотами. Но, блин, он же прав )

19:57

Далее изучите тему инвертированного индекса, векторизации текста и поисковиков. Задержитесь на word2vec и матричной факторизации - нужно!

19:57

Далее из бигдаты гляньте задачу нахождения ближайшего соседа (похожего). Метрики расстояния: jaccard, euclidean, manhattan и махаланобиса

19:59

Ржака, но расстояние махаланобиса придумали при измерении человеческих черепов :-) Вкурите хорошо тему. ru.wikipedia.org/wiki/%D0%A0%D0…

20:01

В задаче нахождения похожих элементов разберитесь с очень эффективной техникой - Locality sensitive hashng, shingling, KD-trees. Важно!

20:03

В задачах обработки потоков покурите классический и прекрасный Bloom-filter и оценку числа уникальных элементов. Как раз для бигдаты

20:05

По PageRank писал, но тут подстава - нужно понимать хотя бы на пальцах модель Маркова и тервер. Но - стоит того. Тренд и применяется везде

20:08

В задачах "frequent itemset mining" можно взять тупо либу в спарке: spark.apache.org/docs/1.5.0/mll… и находить бандлы товаров в магазинах :-)

20:10

Про кластеризацию уже писал. Остается массовое машинное обучение - гляньте там как работает Stohastic gradient descent и как параллелить

20:11

Ну и в конце хочу сказать - ищите самый простой способ. Он - должен быть красив. Пример: определение класса по его ближ. соседям: kNN.

20:13

На этом, уважаемые друзья, прощаюсь с вами! Надеюсь было интересно. Подписывайтесь на мой настоящий аккаунт @AlexSerbul и до новых встреч!

20:14

P. S.: я тут кстати ещё зажигаю в качестве лектора, приглашаю всех желающих! newprolab.com/bigdata/

20:54

habrahabr.ru

en.wikipedia.org

other