dsimonov

10 августа 2015, Москва, Россия

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

Привет! @dsimonov с вами! Уважаемый @dcromster предложил подежурить тут недельку на правах perl бекенд-дева с некоторым опытом.

6:33

Рецепт отделения опытных дев-ов от неопытных - FizzBuzz test (гуглите!). Предлагаю желающим написать решение для него, умещающееся в твит.

6:39

.На бумажке, @iamale_ru!

6:41
@backendsecret (1..100).each do |i|
s = []
s << 'Fizz' if i % 3 == 0
s << 'Buzz' if i % 5 == 0
puts s.join unless s.empty?
end
7:00
@backendsecret f="Fizz"
b="Buzz"
p=print
for i in range(1,100):
if i%3==0 and i%5==0:p(f+b)
elif i%3==0:p(f)
elif i%5==0:p(b)
else:p(i)
7:24
@backendsecret d={1:"Fizz",3:"Buzz",4:"FizzBuzz"}
for i in range(1,100):
j=0
if i%3==0:j+=1
if i%5==0:j+=3
print(d.get(j,i))
еще:))
8:44
@backendsecret
f='Fuzz'
b='Buzz'
p={println it}
1.upto(100){i->
if(!(i%3+i%5)) p f+b
else if (!(i%3)) p f
else if(!(i%5)) p b
else p i
}
8:55
@backendsecret на прошлой неделе @jsunderhood обсуждал как взаимодействовать в удалённой команде. Расскажи свой опыт,plz // @freiksenet
10:13

.@dcromster @jsunderhood @freiksenet 5л опыта управления distributed russian teams помогли разобраться в бОльшей часть возникающих проблем.

10:18

.@dcromster @jsunderhood @freiksenet Мне проще отвечать на то, как решались конкретные проблемы. Жду описания проблем, - буду отвечать.

10:18
@backendsecret @dcromster @jsunderhood @freiksenet Именно команды были разделены или люди в командах тоже не были в офисах?
10:23

.@freiksenet_ru @dcromster @jsunderhood @freiksenet Все сотрудники сидели у себя дома в разных часовых поясах с рассеянием не более 3х часов

10:24
@backendsecret @dcromster @jsunderhood @freiksenet А сильно разделенные по часовым поясам команды были?
10:30

.@freiksenet_ru @dcromster @jsunderhood @freiksenet Рассеивание по часовым поясам составляло не более 3х часов.

10:31
@backendsecret давай сразу о боли:наша совместная работа, взаимодействие в команде, долгие ответы...
10:35

.@dcromster Боли, как таковой не было. Команда действовала в том максимуме эффективности, в каком вообще могла действовать.

10:35
@backendsecret не переходя на личности: как же с этим (долгими ответами) бороться?
10:39

.@dcromster Ни как. Разработчики действуют в привычном им ритме. Руководитель определяет процессы, задающие ритм. Это - максимум.

10:40

Тема дня - "задолбали!". Кто и в чём разочаровался в работе? Язык? Технологии? Менеджерьё? Стиль работы? Офис? Дом?

10:59
@backendsecret #!/usr/bin/python3
for i in range(1, 100):
print(("" if i%3 else "Fizz")+("" if i%5 else "Buzz") or i)
12:43
@backendsecret были ли у вас регулярные совместные обсуждения кроме рабочих? Чтобы разработчики лучше друг друга узнавали
14:49

.Срачики, @gusevr, у нас постоянны - в чатика, в утренних скрамах, ретроспективах и других созвонах. Задача: семь пудов соли вместе съесть!

14:53

.Это лучший способ получить сплочённую команду, @gusevr, в условия рассеянности по стране. Но я подумываю про некоторые методики от Steam.

14:55
@backendsecret В компании много небольших команд работающих над разными проектами/технологиями. Как собрать всех вместе? Hangouts или slack?
15:06

.Про slack, @gusevr, ничего не могу сказать, но их хвалят. У меня всё ни как руки не дойдут. Хенгаутс - точно гавно ( Телеграм хорош ещё!

15:08

.Могу ещё порекомендовать, @gusevr, тасовать народ между проектами. Также у меня есть практика сделать тематические чатики: беки, фронты...

15:10
@gusevr @backendsecret slack самое оно. Проекты разбить по channels
15:12
@dzaporozhets @backendsecret проекты по чатикам - это как раз чтобы разбить народ. А вот как всех объединить? Хотя бы на пол часа в неделю
15:35

.А всего народ сколько, @gusevr?

15:36
@backendsecret под хенгаутс больше имел ввиду вид общения: чат или видео. Стоит ли устраивать видео встречи? В рабочем процессе общения нет
16:00

.Видеовстречи показали себя отрицательно, @gusevr. Аудиосозвоны очень удобны, а видео - разочаровывает.

16:01
@backendsecret как мотивировать людей зайти на встречу?
16:01

.Проводите созвоны "ретроспективы" в контексте agile scrum, @gusevr! В них обычно заинтересованы все :)

16:02
@dzaporozhets @backendsecret вот получается, что рабочей необходимости в аудио-видео нет. Надо ли устраивать свободные темы?Как мотивировать
16:03

.А с чем вы боретесь такими встречами, @gusevr?

16:03
@backendsecret разработчиков 15-20
16:04

.При таком количестве обыкновенного созвона по скайпу хватит, @gusevr.

16:04
@backendsecret Есть традиционные каналы general/random для всех. Есть ретроспективы, но по проектам. А таких встреч пока нет. ...
17:31

.Очень хорошая тема для обсуждения, @gusevr! Давайте знакомиться с вами и вашими командами плотнее?

17:31

Привет всем
На этой недели с вами я Сергей Ланцман. Мне 30 лет, живу я в Израиле половина жизни.
Занимаюсь backen… twitter.com/i/web/status/9…

10:57

Люблю помогать Open source сообществу(когда есть время).
Пишу на Golang,Ruby,Python и так на всем где нет точек с запитой в конце.

10:57

О чем мы будем говорить

10:57

Начнем с того что делаем в Gett. Пишим офигеный продукт на котором можно уехать домой после веселой party или просто после тяжелой работы

11:13

Аппликация для заказа такси, работает в России, Израиль, Англия.
Приятная часть что это продукт b2c который пользуются друзья семья и сам

11:15

Просьба первая была про логи.
Мы тут не давно подняли решения для логов. Стандарный Elk только он большое на 1ТБ в день

11:28

Вообще решения такое
Filebeat => redis=> logstash => Elasticsearch + kibana
От logstash все бежит в kubernetes

11:31

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

11:33

Кубернете кластер для логов сделан так.
Есть 3 instance group.

11:37

3. Elasticsearch еще машины i3. 2xlarge для логов со вчера и до недели.

11:39

Elasticseach бежит в кубернетесе как daemon set, так что есть один на машины, и если пожнимаем еще машины то там вс… twitter.com/i/web/status/9…

11:41

Решения такого хватает на 1TB в день на неделю хранить с доставкой логов за несколько секунд
цена вопроса 6-7K$ в месяц в пользу амазона

11:44
@backendsecret А почему им сразу в редис не писать? Или торопиться некуда?

ну все нормальные лог библиотеки пишут на диск
во вторых диск всегда работает(пока не кончинтся) а далекий редис
о… twitter.com/i/web/status/9…

11:53
@backendsecret Вот тут бы подробнее про подлость.

ну как сказать
сказать что ES бежит и не ругается тяжело обычно
тем более если надо обновлять его или просто менят… twitter.com/i/web/status/9…

11:57
@backendsecret У вас есть a/b тесты основанные на логах? Как у вас аналитика логов устроена?

нет пока
тут с логами была длинная история
Свое рабочее решения стало рабочим несколько месяцев назад
теперь надо л… twitter.com/i/web/status/9…

12:01
@backendsecret Сколько народу у вас управляет log-инфраструктурой?

пол человека twitter.com/musuk/status/9…

12:05
@backendsecret Откуда берутся всякие там SuperGett?

Он еще жив? twitter.com/l0ldbl00d/stat…

12:24
@backendsecret Паспарту с форд боярда?

Вообще один человек на это,но когда закончим всякие вещи с логами то наверно пол времени человека хватит twitter.com/aarexer/status…

12:26
@backendsecret Я недавно краем уха услышал что такое вообще существует, до этого даже не задумывался. Много ли желающих обмануть систему?

В этой области есть деньги и клиенты, значет всегда будет желающие. Мы их видем и закрываем twitter.com/l0ldbl00d/stat…

12:28
@backendsecret А откуда тяжёлый поиск?

Приходит програмист и пишет хочу все логи за неделю где написано слово bug number...
Вот оно ищет на 7-8TB данных twitter.com/musuk/status/9…

12:29
@backendsecret Пару слов о том, как попал в Израиль и Gett

Семья переехала в Израиль давно а я сам через пару лет.
В Гетт попал не со всем нормальным способом про который ска… twitter.com/i/web/status/9…

12:43
@backendsecret В бэкэнде теперь девопсины, ну-ну.

Ну я до этого писал backend пару лет и сейчас пишу когда надо twitter.com/john_govno/sta…

12:54
@backendsecret На чем пишете, если не секрет?

В Гетт легаси на Рельсах а все новое на Golang, на фронте react. Js twitter.com/john_govno/sta…

12:57
@backendsecret С рельсы ушли по причине низкой производительности или из-за накопившегося техдолга?

1. Низкая производительность

13:00
@backendsecret как продакшн держите? Кластеры и тд. Интересно как архитектуру построили

Сейчас у нас есть архитектура которая бежит не кубернетесе. Но мы это скоро поменяем.
На данный момент есть на кажд… twitter.com/i/web/status/9…

13:20
Сейчас у нас есть архитектура которая бежит не кубернетесе. Но мы это скоро поменяем.
На данный момент есть на кажд… twitter.com/i/web/status/9…

На все это смотрит elb. И так на каждый микросевис, куча инфры для одного микросервиса. Поэтому хотим все в куберне… twitter.com/i/web/status/9…

13:22
@backendsecret Re:2. Тяжело писать код когда много людей??
Как то странно..

Много людей пишут код по разному, много магии, не компилируется значет каждый рефактор проблема.
Человек заходит в… twitter.com/i/web/status/9…

13:28
@backendsecret Чем кубер не устраивает?

Всем устраивает, туда двигаемся. Уже на stage стоит кластер на 4500 pod их 60 нодов. Надеюсь скоро прод переведем twitter.com/truetobetrue/s…

13:37
@faces @backendsecret приложение было монолитом или распилено на сервисы/микросервисы?

Монолит, его до сих пор пилим, часть выпили в сервисы на релсах, последний год все новые пишутся на Го. twitter.com/john_govno/sta…

13:38
@backendsecret рассматривали как альтернативу go - elixir? он тоже компилируемый и хорошо подходит для тех у кого рубишный бэкграунд.

Да кстати параллельно с Го смотрели на elixir 3 года назад. Но тогда он был сырой и медленее Го. Потом он сложнее Г… twitter.com/i/web/status/9…

13:42
@backendsecret Re: 1. Не очень в теме Ruby, но часто это не проблема, а баланс скорости кода и скорости разработки.… twitter.com/i/web/status/9…

Можно переписать на C++ тогда у тебя будет много кода тут и там на C++.
Проблема больше была с обработкой запросов.… twitter.com/i/web/status/9…

13:55
@backendsecret В сторону elixir не смотрели ?

Смотрели уже ответил twitter.com/den4ikbyte/sta…

14:06

Кто какие средствами мониторинга пользуется?

14:09

Это как захотите только без русской клавиатуры twitter.com/PavelGermanov/…

14:09
@backendsecret Странно, что Grafana и Prometheus нету в списке

Хотел но было только 4 места :( twitter.com/cybran111/stat…

15:09
@backendsecret Re: 3. У вас в Москве нет разработки?

Есть, несколько команд. Набирают людей twitter.com/KostyaEsmukov/…

15:10
@backendsecret Ну, полагаю, code review для некомпилируемых языков не решит проблему. Тут, наверное, всё же юнит-те… twitter.com/i/web/status/9…

Частично решают а то что не решает идет в продакшин.
Особено с опцией method missing в руби twitter.com/CuredPlumbum/s…

15:12
Кто какие средствами мониторинга пользуется?

У нас сейчас есть
1.Airbrake для ошибок
2.Newrelic apm как основное решения проблем, очень хорошое решения можно бы… twitter.com/i/web/status/9…

15:15
Кто какие средствами мониторинга пользуется?

Еще есть графана + influxdb
Но там только бизнес метрики twitter.com/backendsecret/…

15:16
@backendsecret использование магии в коде проекта - зло

Вот Го обратная сторона. Тут нет магие все есть в коде. Да приходится писать пару строчек больше кода, зато все пот… twitter.com/i/web/status/9…

15:28
@backendsecret Ну, вот да. Что хорошо для маленьких команд, убивает большое проекты.

Ну да, когда в Gett я пришол было 7 сервер разрабочиков, теперь через 3.5 думаю уже больше 50-60 так что магия тут… twitter.com/i/web/status/9…

15:30
У нас сейчас есть
1.Airbrake для ошибок
2.Newrelic apm как основное решения проблем, очень хорошое решения можно бы… twitter.com/i/web/status/9…

Airbrake это вообще решение для бедных у которых нет нормальных логов. twitter.com/backendsecret/…

15:59

Проверяем сейчас datadog и там есть килер фича host map. Можно получить прикольные визуализации по системе и быстро

16:08

Поговорим о баз данных
куда же без них. Любой проэкт требует базу и важно выбрать правильно.
Базы как все знают можно делить на SQL и NoSQL

17:11

SQL: из моего опыта

17:13

SQL: из моего опыта

17:16

SQL: из моего опыта
3.Postgresq-Много функциальная база.Много функции как свои типы. Прекрасная работа с JSON и луд… twitter.com/i/web/status/9…

17:22

NoSQL:

17:38

NoSQL:

17:43
@backendsecret С какими проблемами вы сталкивались?

1. Демократия - выборы часто между мастерами

18:02
@backendsecret зачем вы сообщает о том, что у водителя сегодня день рождения?

Ну вещь маленькая но приятная. Кстати я когда то спрашивал на собеседование на разогрев как написать метод который… twitter.com/i/web/status/9…

18:20
@backendsecret а в чем заключается поддержка json?
18:23

Из минусов редиса.
Его реально можно скалить больше чем одно ядро только с помощью client sharding. Остальные вариа… twitter.com/i/web/status/9…

18:30

Вообще у редиса хорошая и понятная документация, я тут на выходных нашел что `echo never > /sys/kernel/mm/transpare… twitter.com/i/web/status/9…

18:35

Вообще можно сделать чтоб было одно ядро отдельно только для редиса, если у вас машины с редисов нагруженым. Тогда… twitter.com/i/web/status/9…

18:37
@backendsecret Так в этом и суть скорости редиса, что он только в одно ядро может

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

18:39
@backendsecret Так а чего вредного?

Настройки реплик по сравнению с mysql сложнее, миграции на большие нагруженые таблицы, долгое поднятие на старте. И… twitter.com/i/web/status/9…

18:47

Облачные сервисы дают выбор машин из расчёта что средняя сервис на 2 ядра не с может выдать больше чем XXXmb/s по с… twitter.com/i/web/status/9…

18:54

Приходится ставить 16 ядерную машину на 1 ядерные редис чтою получить много сети от амазона

18:55

Потому что сеть забита

18:56
@backendsecret А расскажите, используют ли у вас C# и .NET и если да то как?

Нету такого, у нас все со времен когда линукс и мелкософт не дружили twitter.com/MurcielagoCat/…

18:58

Расскажу про наш стек в Gett. 99% в амазоне, в одном из европейских регионаз.
Rds
Ec2
Kinesis
S3
Это в на чем прод… twitter.com/i/web/status/9…

19:13

Базы данных в Gett
Mysql - легаси но пока что важный еще
postgresql - по дефолты на новых, в основном из за json и… twitter.com/i/web/status/9…

19:16

Еще есть mongodb в одном месте но это вообше легаси старое

19:17

Языки програмирования в Gett

19:24

Версии ruby у нас почти везде 2.3
Монолит на 2.1.9, когда то он был на 1.9.3 и обновление дало примерно +40% к скор… twitter.com/i/web/status/9…

19:54

Golang поднялся в прод первый сервис года 3 назад. Это еще был 1.3 версия, так что мы прошли от 1.3 до 1.9 прирост… twitter.com/i/web/status/9…

20:02

в Го сервисах мы используем следущие библиотеки
beego
gorm
lib/pq
go-redis
logrus
ginkgo
viper

20:30

А как вы держите код своих сервисов?
У нас для каждого сервиса свой репо и всего таких примерно ~90

20:34

продолжения про NoSQL базы
Я тут не давно решил локально попробывать CockroachDB. Взял их пример установки в куб
По… twitter.com/i/web/status/9…

21:32

потом делаю с 10 на 3 и тут
`Connection to CockroachDB node lost.` на минут 10
думаю понятно не все так красиво к… twitter.com/i/web/status/9…

21:33

Вот тот самый host map c datadog 😍 pic.twitter.com/VVMBqiAVNh

21:57

К продолжению оптимизации работы с редисом. В редис часто кидаются обьекты ввиде JSON для кеша или других функции.… twitter.com/i/web/status/9…

22:08

msgpack еще и занимет меньше место в редисе
вообще вот тут есть хорошие бенчмарки для сериализаций на Го
github.com/alecthomas/go_…

22:09

Темы на завтра?

22:46
@backendsecret вы же на aws? там жеж вроде очень дорого выходит?

да не очень дешего вообще по минимум у нас 2 сервера m4.large на сервис один из них спот. Если надо больше он подни… twitter.com/i/web/status/9…

23:13
@backendsecret Всё, кроме ЯП

Согласен страшная тема но посмотрит что народ хочет
@Alex0007lolpvp
like за аватар твой 👌 twitter.com/Alex0007lolpvp…

23:16

life hack для github
удобнее код читать на гитхабе вечером когда гитхаб черный
есть плагин на хром которой меняет т… twitter.com/i/web/status/9…

23:54

Stylus называется

23:54

Вообще думал если была бы такая практика что если
Написал код который делает оптимизацию и серверов надо меньше
то… twitter.com/i/web/status/9…

0:01

Кстати в Израиле воскресения рабочий день а пятница нет
так что если работаешь с товарищами не с израиля то они теб… twitter.com/i/web/status/9…

0:02

Кстати на счет Excel мне как то сказали что у человечество только два великих изобретения

0:05

решил тут зайти в аналитику этого аккоунта в твитере
Интересно
5000 человек
интересы програмирования
любимый жанр… twitter.com/i/web/status/9…

0:11
@backendsecret Если у тебя в руках молоток - все вокруг похоже на гвоздь. Если все что ты умеешь, это Эксель - все… twitter.com/i/web/status/9…

разрабочики Web из 2000 до html работали с excel? 🤔twitter.com/dgrammakov/sta…O

0:15

Кстати на счет оптимизаций процессов и денек
90 микросервисов=90репозиторов=10-15 команд
Полдня из спринта чтоб сде… twitter.com/i/web/status/9…

0:34

Блин я когда такое вижу сразу думаю как это работает в техническом плане рисую в голове возможную архитектуру для т… twitter.com/i/web/status/9…

0:48

При всей моей не любви к Iphone думаю многие android флагманы тут бы крашнулись

0:50

а еще так же думаю когда включаю фильм через Netflix.И там первые 5 секунд низкое качество(кубики 90годов) а потом… twitter.com/i/web/status/9…

0:57
@backendsecret А можно подробнее? Вы где-то публикуете статьи о вашем workflow, где можно прочитать более развернуто?

мы его как раз меняем
вообще он в процесе перехода от 3 недельного спринта до CI/CD в разных местах в системе. Цел… twitter.com/i/web/status/9…

1:07
@backendsecret та ладно, наверняка просто замеряют скорость сети и потихоньку повышают качество

а изначально подаю… twitter.com/i/web/status/9…

да но зачем мерить каждый раз с низкой? если клиент висит на одном подключении то можно делать статистку для него и… twitter.com/i/web/status/9…

1:11

Кто тут просил прочитать про вещи которые делают в Gett
тут есть блог на английском engineering.gett.com
иногда… twitter.com/i/web/status/9…

1:13

Мне тут расказали про страшное будущие DDOS атак.AI который атакует систему и учится на ходу менять параметры и под… twitter.com/i/web/status/9…

1:22
@Gendos_ua @backendsecret Мне кажется проблема в скорости репликации, не успевают нужный блоб (или как там) перетащ… twitter.com/i/web/status/9…

еще у низ есть фичя котороя бесит
если смотришь сериал и не трогаешь его.Он начинает спрашивать "есть кто живой?" к… twitter.com/i/web/status/9…

1:39
еще у низ есть фичя котороя бесит
если смотришь сериал и не трогаешь его.Он начинает спрашивать "есть кто живой?" к… twitter.com/i/web/status/9…

я такую штуку как то у нас в в админку и в customer care прикрутиль. Если мыщку не трогаешь 2 минуты то отключается… twitter.com/i/web/status/9…

1:43
@pavbox @backendsecret Если это долгая битва, то да, возможно.
Но скорее всего, атака будет замечена быстро и админ… twitter.com/i/web/status/9…

или будут делать ставки😂 twitter.com/w_warlock/stat…

1:47
или будут делать ставки😂 twitter.com/w_warlock/stat…

Наверно где уже есть как собачии бои со ставками только AI vs AI
явно будущие и не кому жаловатся что это жестоко twitter.com/backendsecret/…

1:56
Раз у нас в ведущих «руководитель команды DevOps» из Израиля, щаз мы его распнем за ересь «команда DevOps» (не удив… twitter.com/i/web/status/9…

Ты говоришь что не такого как команда DevOps. Знаешь откуда это предложения?
Through its flagship product YYYY, XXX… twitter.com/i/web/status/9…

2:07
Блин я когда такое вижу сразу думаю как это работает в техническом плане рисую в голове возможную архитектуру для т… twitter.com/i/web/status/9…

Кстати про тяжелых клиентов.Иногда всплывает какой нибуть клиент у которого очень много заказов потому что он с нам… twitter.com/i/web/status/9…

2:29

потому что его запросы мучают базу да и у него наверно не все летает

2:37

Может кто еще не видел но тут есть прикольные IT комиксы
turnoff.us

7:56

Вот один из хороших pic.twitter.com/defbvthARn

8:08
@backendsecret а AI который будет делать вашу работу за вас не пугает?)

Нет потому что я инитиативный и не предсказуем. AI для этого еще далеко
И потом я шутить умееюа оно нет twitter.com/gleb_kosteiko/…

8:29

Наверно пришло время прощатся.
С вами был Сергей Ланцман.
Прошу прощения за ошибки в великом могучем языке.
Мне бы… twitter.com/i/web/status/9…

11:01

Всем привет! На этой неделе с вами @KostyaEsmukov из Казани. Поговорим об Ansible, Django и немного о фронтенде.

11:20

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

11:20

Примерный план на неделю:

11:20

Также в этом году я заканчиваю КФУ. В универе занимаюсь всяким IoT-ом на линуксах, в основном вокруг VPN.

Задавайте вопросы :)

11:20

В качестве git remote и CI используем self-hosted gitlab-ce (не gitlab.com, который периодически падае… twitter.com/i/web/status/9…

11:34

В обслуживании неприхотлив, обновляется тупо пуллом образа и пересозданием контейнера.
docs.gitlab.com/omnibus/docker…

11:34

При желании docker registry и CI раннеры можно без проблем вынести отдельно на другие машины. Интеграция с Jira аде… twitter.com/i/web/status/9…

11:34

Во-первых, CE версия урезана. Нету даже такой простой штуки, как Rebase вместо Merge commit при принятии Merge рекв… twitter.com/i/web/status/9…

11:34

Но можно запретить Merge коммиты кроме fast-forward, если нужна линейная история. Тогда rebase надо делать локально… twitter.com/i/web/status/9…

11:34

Во-вторых, мультиреповых пайплайнов в CE нет. Но есть в EE: docs.gitlab.com/ee/ci/multi_pr…

11:34

В одном проекте было так: Django апп в одном репе, а деплоящий его ansible в другом. В Django репе последним шагом… twitter.com/i/web/status/9…

11:34

Сейчас мы делаем иначе. Ансибл отдельным репом по-прежнему есть, но он не деплоит апп, а просто готовит сервер и пи… twitter.com/i/web/status/9…

11:34

Сначала это был простейший docker-compose, который выкинули из-за того, что он не способен без диких костылей в zero downtime deployment.

11:35

Поигрались с docker swarm, пострессили его и поняли, что такое в прод мы не готовы брать. Это было в октябре 2017,… twitter.com/i/web/status/9…

11:35

Вместо docker-compose засунули маленький ансибл, который деплоит только докер контейнеры с аппом. Как композ, тольк… twitter.com/i/web/status/9…

11:35

Из нюансов такого решения могу отметить то, что приходится дублировать inventory (хосты, куда деплоить) между основ… twitter.com/i/web/status/9…

11:35

В-третьих, CI все-таки довольно простенький. Для наших нужд (прогнать тесты, собрать докер образ, запушить в приват… twitter.com/i/web/status/9…

11:35

На практике ничего от этого у нас еще не падало, но для страховки, и чтобы раннеры не забивались, отменяем руками п… twitter.com/i/web/status/9…

11:35

Раннеры CI могут запускать jobs прямо в докере, а не локально. Для этого используют docker executor, а в репе в .gi… twitter.com/i/web/status/9…

11:35

1. Docker-in-docker (DinD)
Он плох тем, что нельзя использовать docker caching (реюз существующих слоев при сборке… twitter.com/i/web/status/9…

11:35

Да и контейнеры с jobs надо запускать с privileged флагом, что не делает DinD более безопасным. И вообще этот вариа… twitter.com/i/web/status/9…

11:35

2. Проброс /var/run/docker.sock в контейнеры раннеров, что позволяет собирать на хостовом docker daemon.
Этот вариа… twitter.com/i/web/status/9…

11:35

Но проблема решается просто: выносите раннер на отдельную виртуалку, где больше ничего нет, и живете спокойно.

11:35

Про докер добавлю, что если использовать ровно одну машину для раннеров, то кеширование слоев докера работает надеж… twitter.com/i/web/status/9…

11:35

На машине с раннером раз в неделю чистятся все образы и контейнеры в докере, иначе он быстро забивается.

11:35

В-четвертых, docker registry не чистится от старых образов прям совсем. Из вариантов – либо руками тыкать "удалить"… twitter.com/i/web/status/9…

11:35
@backendsecret Пробовал в BARS Group устраиваться? Debian или CentOS? Vim, Emacs, Sublime или PyCharm?

1. нет, мне и тут хорошо :)

11:41

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

11:48

По логам обнаружили, что, оказывается, там есть врубленный по дефолту гем rack-attack, который заблочил наш nginx п… twitter.com/i/web/status/9…

11:48
@backendsecret А что скажешь по kubernetes?

Поглядываем, но пока страшно. Экспертизы у нас по нему нет. На наших масштабах <10 машин на проект с ансиблом, каже… twitter.com/i/web/status/9…

12:58
@backendsecret У вас не блюгрин деплой ?

Нет. Накат прошлой версии из гитлаба занимает ~1-2 минуты нажатием на одну кнопку. Пригодилось всего один раз.

Так… twitter.com/i/web/status/9…

13:26

На одной машине за nginx работает по два апстрима веб аппа. Сначала ансибл gracefully прибивает один, обновляет его… twitter.com/i/web/status/9…

13:26

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

17:30

Но зато у гитлаба есть клевая, на мой взгляд, фича: можно смотреть дифф между форс пушами (они называют это version… twitter.com/i/web/status/9…

17:30

Как ускорить сборку докер образов:

17:39

1. Как работает кеширование слоев можно почитать тут:
docs.docker.com/engine/usergui…

17:39

Не очень очевидный трюк здесь заключается в том, чтобы сначала добавить в образ файл с зависимостями вашего приложе… twitter.com/i/web/status/9…

17:39

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

17:39

2. Зависимости могут компилироваться из исходников при установке. Например, psycopg2 (PG клиент) в python. Но вмест… twitter.com/i/web/status/9…

17:39

Если все подобные зависимости ставить в бинарном виде, то это ускоряет холодный билд.

Однако, здесь есть нюанс. Ес… twitter.com/i/web/status/9…

17:39

А вам приходится использовать докер образы от левых людей в проде? Не страшно?

17:40

А если завтра этот ноунейм автор туда фигню запушит? Можно пулить по неизменяемому digest образа, но нетегированные… twitter.com/i/web/status/9…

17:53
@backendsecret Что в swarm для вас было критично?

1. так и не получилось сделать 0dtd на нескольких нодах: все равно валились ошибки github.com/moby/moby/issu…

18:03

Из проблем с докером я сталкивался с такими:

18:30

1. Периодические сообщения в wall "unregister_netdevice: waiting for lo to become free". Что-то течёт в ядре и до с… twitter.com/i/web/status/9…

18:30

CentOS вообще из-за этой проблемы под небольшой нагрузкой начинал флудить (раз в 10 сек) этими сообщениями и перест… twitter.com/i/web/status/9…

18:30

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

18:30

2. Если в системе есть роут 0.0.0.0/0 (от OpenVPN, например), то при старте докер демон не может найти свободную по… twitter.com/i/web/status/9…

18:30

3. Иногда докер не может удалить контейнер с ошибкой "device or resource busy". Чаще всего это проявляется на CentO… twitter.com/i/web/status/9…

18:30

В доках для RHEL рекомендуют devicemapper с LVM, но для ядра 4+ можно юзать нынче дефолтный overlay2.… twitter.com/i/web/status/9…

18:30

4. Если один контейнер высовывает с хоста UDP порт (53 для DNS, например), а из другого попытаться отправить на хос… twitter.com/i/web/status/9…

18:30

5. После появления multi-platform images ( blog.docker.com/2017/09/docker… ) иногда при пуле официальных образов вылезает о… twitter.com/i/web/status/9…

18:30

Полчаса приходится ждать, пока оно там у них соберется и запушится: github.com/docker-library…

18:30

6. Если собирать в образ какую-нибудь фигню с дикими флагами оптимизации (раньше phalcon так делал), то при запуске… twitter.com/i/web/status/9…

18:30

2, 4, 6 выявляются на этапе внедрения, это не критично.
1 даунтаймы только на CentOS вызывало, и то полтора года на… twitter.com/i/web/status/9…

18:30
@backendsecret docker tag noname/image:tag myname/image:tag
docker push myname/image:tag

Это после обязательного… twitter.com/i/web/status/9…

18:32
Wow that was fast, here’s the video from my keynote this morning youtu.be/7mzbIOtcIaQ

BTW If you haven’t seen yet this keynote by @jessfraz with some insights on containers history and security – I’d r… twitter.com/i/web/status/9…

18:34

Python/Django локально разрабатываем в докере с композом. PyCharm нормально подцепляет все зависимости, подсказки р… twitter.com/i/web/status/9…

22:50

А вот фронт делаем без докера. npm i + npm start – и так проще некуда. Зато проблемы докер тут доставляет: прокинут… twitter.com/i/web/status/9…

22:50

Ansible. Начну с хорошего: он работает :)
Разобраться в нем довольно легко за день-два. Поведение предсказуемо.
Пос… twitter.com/i/web/status/9…

23:01

Но вот поддержка гораздо сложнее: не могу сказать, что за 1.5 года у меня появилась хоть какая-либо уверенность в т… twitter.com/i/web/status/9…

23:01

Итак, по порядку:

  1. Очень легко наговнокодить. Прям слишком.

Можно кучу плейбуков плодить 🤢 вместо одного с тэгам…twitter.com/i/web/status/9…w

23:01

Тщательное изучение Best Practices (и доков в целом) просто обязательно, иначе с граблей не сойдёте: docs.ansible.com/ansible/latest…

23:01

Особое внимание хочу обратить на паттерн "Variables and Vaults" из дока выше. Он позволяет сделать все переменные,… twitter.com/i/web/status/9…

23:01

Есть, конечно, Single Encrypted Variables, но выглядит это не очень приятно (имхо): docs.ansible.com/ansible/latest…

23:01

Также не все знают, что есть такие штуки как:

23:01

И самое наболевшее: это когда кладешь сертификаты файлами в роли. Приходится писать жуткую логику, которая разрулив… twitter.com/i/web/status/9…

23:01

2. Логика в set_fact в ямле выглядит ужасно. Плохо форматируется, мало возможностей (ограничены jinja2 фильтрами +… twitter.com/i/web/status/9…

23:01

3. Python 2 vs 3. Оно влияет на плейбуки. Например, в Pyhton2 jinja2 фильтры возвращают листы. А в Python3 – генера… twitter.com/i/web/status/9…

23:01

4. Роли в Galaxy довольно сомнительного качества. Хороших мало. То они на конкретный дистрибутив (не твой), то тест… twitter.com/i/web/status/9…

23:01

5. С тестами довольно тяжело. У нас их на ансибле совсем нет. Вместо этого отлаживаем на стейджинге, и лишь потом н… twitter.com/i/web/status/9…

23:01

Пробовали молекулу, но она [была в сентябре 2017] довольно сырая: то свежий ансибл не поддерживается, то линтер пад… twitter.com/i/web/status/9…

23:01

Еще у них очень клёвый роадмап. Приз ребятам за находчивость! Жаль, что на работе такое не прокатит.… twitter.com/i/web/status/9…

23:01

Также, судя по всему, они нашли "фатальный недостаток" в galaxy и запилили свой пакетный менеджер: gilt.readthedocs.io/en/latest/

23:01

Всем привет. Меня зовут Сева и я DevOps (ух, как в алкоголизме признался, хотя одно другому не мешает). На этой нед… twitter.com/i/web/status/9…

1:11

О чем хочу поговорить пописать — мониторинг, культура, работа с бизнесом, собеседования и управление командой. Ну и… twitter.com/i/web/status/9…

1:17

Я работал в разных стартапах, консультировал стартапы, пишу на всем подряд, веду (международное) сообщество украинс… twitter.com/i/web/status/9…

1:31
@backendsecret зачетный дизайн у блога.

Хах, спасибо. twitter.com/wrong_habits/s…

10:09
@backendsecret Давай начнём с начала. Что такое девопс?

Ого, я думал уже всех задолбал девопс как таковой. Ладно, начнем с этого. Думаю, я найду что сказать. twitter.com/biomehanik/sta…

10:12

Есть одна существенная ошибка в способе взаимодействия с миром и обучении: часто нас учат определениям не объясняя… twitter.com/i/web/status/9…

10:22

Давным-давно (впрочем, и сейчас) у бизнеса была такая проблема - высокий TTM, то есть time-to-market, который очень… twitter.com/i/web/status/9…

10:30

Ну звучит это достаточно неприятно. И все бы хорошо, если бы они просто писали быстрее код, а тут выясняется что он… twitter.com/i/web/status/9…

10:31

И умные дяди и тёти задумались: как нам можно уменьшить свой TTM?

Ну можно давать людям больше денег. Попробовали… twitter.com/i/web/status/9…

10:33

И этим человеком был Альберт Эйнштейн. Хотя нет, я не знаю кто был этим человеком, но он молодец и вообще +100500 в карму ему.

10:34

Когда начали разбираться оказалось что проблемы какие решает девопс описал ещё Крылов. pic.twitter.com/AmOzPkqgg1

10:36

Картинку можно описать так: в общем случае, даже если все очень сильно стараются, но тянут в разные стороны, то биз… twitter.com/i/web/status/9…

10:38

Сейчас уже можно уверенно говорить что девопс возник как попытка управлять приоритетами. Ведь не так давно даже сам… twitter.com/i/web/status/9…

10:41

Но вот наконец-то кто-то подумал: “хм, если сисадмины отвечают своими бонусами за стабильность, то у них же появитс… twitter.com/i/web/status/9…

10:43

Ну и это была достаточно неплохая мысль. Потому что я частенько видел как девелоперы пропихивали изменения всеми си… twitter.com/i/web/status/9…

10:48

То есть если говорить исторически, то девопс возник как способ уменьшения TTM и как обьединение приоритетов для дев… twitter.com/i/web/status/9…

10:50
@backendsecret Ну так правильно, девелоперы накосячат а потом тыкают пальцем в админов, нам потом разгребать это всё говно :)

Классический пример сисадминства. Но я уверен что он не со зла. Просто если ты отвечаешь за что-то, на что ты не мо… twitter.com/i/web/status/9…

10:52

И объединять приоритеты оказалось очень выгодно. А после того как всех объединили, то потихоньку из одного лагеря в… twitter.com/i/web/status/9…

10:56

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

10:59

Я понимаю что это звучит немного тупо. Типа как фьючерсы с биткоинами. Но фактически даже потеряв основную идею ока… twitter.com/i/web/status/9…

11:00

К этому быстро подключились разные аутсорсинг компании. И не потому что им выгодно продавать “новых сисадминов”, а… twitter.com/i/web/status/9…

11:03

Таким образом у нас сейчас живет параллельно несколько версий девопса: “девопс управления приоритетами” и “девопс п… twitter.com/i/web/status/9…

11:08

Собственно доказательство моих слов о приоритетах - у многих сисадминов с стажем, которые уже “говна поели” есть оп… twitter.com/i/web/status/9…

11:11

Потому что бонус блокировки изменений это то за что тебя уволят в любом жизнеспособном современном бизнесе, в котор… twitter.com/i/web/status/9…

11:12
@backendsecret Это какой-то callback hell, только не из колбеков, а из девопсов.

Угу, но я вот не виноват что я последний. Я достаточно давно записался на февраль и в основном потому что не было в… twitter.com/i/web/status/9…

11:15

И тут мы получаем достаточно интересную картину: в случае “devops управления приоритетами” отдельного отдела DevOps… twitter.com/i/web/status/9…

11:18

Хорошо было бы как-то разделить и называть девопс приоритетов и девопс технологий разными словами. Но вот сложилось… twitter.com/i/web/status/9…

11:20

Так что, отвечая на утренний вопрос, если бы меня спросил некий создатель мироздания: “Сева, выбери каких людей наз… twitter.com/i/web/status/9…

11:22

И эта путаница в общем приводит... к путанице. Я даже встречал QA инженеров которых называли девопсамм.

11:48

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

11:49
@backendsecret То есть ДевОпсы - это люди, которые помопределениб ничего не делают?

Ну вот. Пол часа писал определение и что все сложно и под одним определением скрывается несколько разных понятий. И… twitter.com/i/web/status/9…

12:02

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

12:25

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

12:25
@backendsecret потому что это проще чем заниматься чем-то действительно полезным?

Хаха, нет. Если бы было так, то выжили бы компании, которые не строят культуру ибо эволюция. twitter.com/50megatonn/sta…

12:28

Именно. А ещё? twitter.com/mtrklb/status/…

12:29
@backendsecret Для повышения уровня доверия между всеми участниками процесса. Больше доверия - меньше издержек на ф… twitter.com/i/web/status/9…
12:34
@backendsecret большое количество людей как парвило в HR которым нечем занаять свое рабочее время? это если мы о ос… twitter.com/i/web/status/9…

Вообще мне нравится как люди которые с одной стороны очень рациональны объясняют все что они не понимают тем что эт… twitter.com/i/web/status/9…

12:38
Вообще мне нравится как люди которые с одной стороны очень рациональны объясняют все что они не понимают тем что эт… twitter.com/i/web/status/9…

Возможно это потому что много людей не рассматривают карго культ как экстремальное отклонение обезьянничества, кото… twitter.com/i/web/status/9…

12:42
@backendsecret Надо отличать корпоративную культуру от корпшизы вроде распевания лозунгов по утрам.
Корп. культура… twitter.com/i/web/status/9…
12:44
@backendsecret Если ваша компания географически расположена в одном месте и у неё менее 500 сотрудников, то корпора… twitter.com/i/web/status/9…

Ну вот я считаю по другому. Потому что корпоративная культура очень сильно упрощает хайринг. Намного проще нанимать… twitter.com/i/web/status/9…

12:46
@backendsecret При большой численности начинается менеджмент разных уровней, с разными зонами ответственности, эшел… twitter.com/i/web/status/9…
12:47

Еще культура помогает нанимать людей. Потому что многие из нас хотят кроме денег еще получать и удовольствие от раб… twitter.com/i/web/status/9…

12:52
@backendsecret Имхо,корп культура - это абсолютное зло,привязывающее человека к определенной компании, создающее ло… twitter.com/i/web/status/9…

Возможно это зло для работника, потому что иногда может быть обманом. Но зло ли это для работодателя, если позволяе… twitter.com/i/web/status/9…

12:53
@backendsecret А много людей могут сделать так чтобы сотрудники не понимали что это кривой способ манипуляции? если… twitter.com/i/web/status/9…
12:59

Окей. То есть мы пришли к тому что культура в компании это:

Упрощение общения между отделами за счет “создания од… twitter.com/i/web/status/9…

13:01
@backendsecret эммммм... нет. удовольствие от работы напрямую от централизованной корп культуры не зависит/зависит… twitter.com/i/web/status/9…

Общение внутри команды сильно зависит от общения команды с другими командами. Аналогично и задачи точно так же от э… twitter.com/i/web/status/9…

13:03
@backendsecret Сугубо ИМХО корп. культура - это о протоколах общения между абсолютно незнакомыми людьми, никогда др… twitter.com/i/web/status/9…

Вот этого ответа я и добивался. Вообще иногда стоит рассматривать все общение как обмен информацией. То есть разраб… twitter.com/i/web/status/9…

13:07

Вообще интересно. Мне тут столько сообщений накидали люди у которых очень неудачный опыт с корп культурой был. Но н… twitter.com/i/web/status/9…

13:14

И вот вопрос - можно ли считать форсирование единого языка программирования частью корп. культуры?

13:16
@backendsecret Ау, дорогой мой, исходный текст программы - это не чатик. Им программисты не общаются, а всё-таки задачи решают :)

Ну это не точно. Вообще программы чаще читают чем пишут. Поэтому культура написания кода это тоже часть корпоративн… twitter.com/i/web/status/9…

13:24
@backendsecret То есть херачить всё подряд на одном языке, кмк, так же плохо как и разрешать каждому девелоперу раз… twitter.com/i/web/status/9…
13:44
@backendsecret То есть херачить всё подряд на одном языке, кмк, так же плохо как и разрешать каждому девелоперу раз… twitter.com/i/web/status/9…

Ну то есть слишком много чего угодно это плохо. m.youtube.com/watch?v=Wy4ySt… twitter.com/MurcielagoCat/…

13:45

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

13:57
@backendsecret Ну и хрень. Девопс появился как ещё одна часть разделения труда. Грубо говоря когда деплой, CI и все… twitter.com/i/web/status/9…
13:57
@backendsecret А сисадмины все это брать на себя не горят желанием. У них и так своих задач хватает.
13:57

Хотя как по мне отдел можно называть хоть вертолётными войсками хоббитов, если вы понимаете что этот отдел делает.… twitter.com/i/web/status/9…

14:00

Ну то есть мой вопрос можно переформулировать: влияют ли инженерные практики на корпоративную культуру? А наоборот?… twitter.com/i/web/status/9…

15:29

Готовы ли вы строить корпоративную культуру если вы бы могли сами на неё влиять и формировать?

15:32
@otokarev @backendsecret В общем сотрудники тоже её строят. Корпоративная культура существует независимо от того занимаются ли ей или нет.

Аналогично и про культуру кода. Ведь все согласны что ее надо строить? twitter.com/Sigiller/statu…

15:40
@Sigiller @backendsecret Соглашусь. И наверное, идеальный случай, если самый главный босс умеет строить корп.культу… twitter.com/i/web/status/9…

Сильна вера в доброго царя. Впрочем, я не спорю, тирания при лидере который знает что делает может быть очень эффек… twitter.com/i/web/status/9…

15:58

Часто сталкиваюсь с таким противопоставлением. В тоже время с точки зрения людей которые делают такую культуру – ку… twitter.com/i/web/status/9…

16:00

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

16:19

Часто слышу спор о том кто такой хороший программист: одни говорят что это инженер, который хорошо решает инженерны… twitter.com/i/web/status/9…

16:23
@backendsecret эх, а у нас тут с коллегой программистом холивар разгорелся, думал хоть кто еще мнение подкинет)

У человека тут спор в чем отличие продуктовой компании от аутсорса. Поможем? twitter.com/pgrekovich/sta…

16:34
@AstarothAst @backendsecret Самые проблемные разработчики те, что не понимают смысла работы манагеров

Часто это из-за надменности. Типа я тут код ворочаю и в чертогах разума удерживаю тысячи деталей. А что там менедже… twitter.com/i/web/status/9…

16:36

И вот после этого давайте говорить о мониторинге и бекенде. Я считаю, что девелоперы должны сами мониторить свой ко… twitter.com/i/web/status/9…

16:42

Интересно, много людей прочитают мой следующий твит? Хотя я и считаю что депелоперы должны мониторить свой код, но… twitter.com/i/web/status/9…

16:44

Так вот. Девелоперы должны мониторить потому что в принципе только они и понимают как работает их код. И им намного… twitter.com/i/web/status/9…

17:07

В противном случае это выглядит как передача слишком большого количества информации между командами: в одну сторону… twitter.com/i/web/status/9…

17:09
My lightning talk from FOSDEM'18 "What's new in Graphite 1.1": Video - youtu.be/dCKV-ugK1_c , slides -… twitter.com/i/web/status/9…

Я еще буду рандомные полезные ссылки скидывать время от времени. Ок?

Доклад от @deniszh о том что нового появилос… twitter.com/i/web/status/9…

17:10

А где много передачи данных между командами там батлнеки и медленно все. В итоге опсы\админы могут напилить огромну… twitter.com/i/web/status/9…

17:12

Возникает другая сложность – мониторить код оказывается не очень-то и просто. А девелоперы думают что достаточно до… twitter.com/i/web/status/9…

17:19
@backendsecret а что такое "мониторить код"?
Мониторить сервис, который реализован этим кодом или мониторить состоя… twitter.com/i/web/status/9…

Мониторить сервис конечно же. twitter.com/maxbeard12/sta…

17:27
@backendsecret Ну по идее архитектор (тот кто главный за тех.чать: CTO или глав.инженер) должен предусмотреть и мон… twitter.com/i/web/status/9…

Предусмотреть до уровня “вот в этой функции пишете каунтеры, а в этой и каунтеры, и таймеры”? twitter.com/otokarev/statu…

17:30

Тем временем вышла пятая графана! Ура! docs.grafana.org/guides/whats-n…

21:46
@backendsecret А где тут противоречие? Инженер это не только тот, кто у кульмана с карандашом стоит и может цельног… twitter.com/i/web/status/9…
22:17

Всем привет, на этой неделе буду я - Женя Лазин, independent contractor в Bloomberg LP и автор проекта Akumuli (github.com/akumuli/Akumuli).

8:59

Примерный план на неделю в одной картинке pic.twitter.com/Xif68PqNAg

9:02

Здравствуйте, меня зовут Женя и я ал^W почти каждый день пишу код на С++ последние 13 лет.

9:16

Несмотря на весь прогресс, все по прежнему плохо. Инфраструктура и рядом не стояла по сравнению с Go, Js и прочей е… twitter.com/i/web/status/9…

9:18

Да, кстати, IDE для С++ по прежнему оставляют желать лучшего. Даже CLion - так себе. Более или менее работают (не с… twitter.com/i/web/status/9…

9:20

С другой стороны, с тулингом все стало довольно неплохо. CMake, CLang, sanitizers (thread/address/UB).

9:23

C++ это ужасный (но иногда единственный) выбор для OSS проекта. Ужасный потому что людей, способных реализовать сло… twitter.com/i/web/status/9…

9:26

Каждый проект, мой в том числе, реализует свой собственный стек для сборки, тестирования и распространения, с котор… twitter.com/i/web/status/9…

9:28

Управление зависимостями это отдельная тема. Во первых его нет. Если вы пишете код в Linux то все не так печально,… twitter.com/i/web/status/9…

9:30

Скажем в Ubuntu 16.04 есть свежий lz4 который умеет streaming, вы написали код, сделали git push, а на CI у вас Ubu… twitter.com/i/web/status/9…

9:32

Вы собрали свой deb пакет и положили его в свой ppa репозиторий для убунты. Через неделю приходит чувак, который ис… twitter.com/i/web/status/9…

9:33
@backendsecret что на счет rust

я уже пишу на с++, зачем мне еще один? :) twitter.com/zysyg/status/9…

9:36
@backendsecret lifetimes, borrow checker, и прочие фишки, не дающие выстрелить себе в ногу и сделать всякие use after free?

Не помню когда в последний раз делал ошибку, которую это все могло бы предотсвратить. Ну и еще у меня есть coverity… twitter.com/i/web/status/9…

9:45

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

9:46
@backendsecret C++, большие деньги и маленькие задержки?

и большая куча legacy twitter.com/krems5/status/…

9:46

Помимо этого, когда я в последний раз на него смотрел, там было принято писать кучу unsafe кода. Это малость defeat… twitter.com/i/web/status/9…

9:50

Иллюстрация того, насколько все плохо - github.com/RoaringBitmap/…. Авторы проекта добавили специальный скрипт, собира… twitter.com/i/web/status/9…

9:56

Можно использовать git submodules, но это работает только если зависимость использует ту же систему сборки что и вы… twitter.com/i/web/status/9…

9:59

Самая жопа это конечно packaging. Я собираю пакеты на CI сервере и раздаю их через packagecloud.io, помимо… twitter.com/i/web/status/9…

10:08
@backendsecret В bazel эту проблему частично победили. Там можно делать ссылки на внешние репозитории в гите и подк… twitter.com/i/web/status/9…
10:09
@backendsecret Собственно то, почему люди и любят докер.

Ну в общем да, но он решает половину проблем. Он не решает проблему управления зависимостями. twitter.com/ctrlok/status/…

10:15

Пожалуй расскажу немного о достоинствах, о том почему я написал Akumuli на С++. Итак.. 1/n

10:51
@backendsecret Неужели настолько необходимо разрабатывать на батарейке? У меня практически всегда есть розетка под… twitter.com/i/web/status/9…

Я как-то летел в самолете 8 часов (+/-) и почти все время писал код в QtCreator, который был запущен в VMware Playe… twitter.com/i/web/status/9…

10:56

Во первых это тулинг. GNU tool-chain, LLVM tool-chain, CMake, valgrind, linux-tools и тд. Скажем, GCC сейчас умеет… twitter.com/i/web/status/9…

12:29

Я могу запустить свое приложение и построить профиль производительности, в котором можно будет увидеть не только вр… twitter.com/i/web/status/9…

12:32

гонки, UB и тд.
Второе преимущество это interoperability. Можно без проблем использовать любую библитеку с Сишным и… twitter.com/i/web/status/9…

12:34

попробуйте сделать динамическую библиотеку на Go или чем нибудь еще кроме Си или С++. Вам придется из-за одной библ… twitter.com/i/web/status/9…

12:35

В Akumuli у меня есть библиотека, в которой живет весь код БД, поэтому БД можно использовать как встраиваемую, поэт… twitter.com/i/web/status/9…

12:37
@backendsecret Давай сразу по делу.
1/ женщина может быть программистом?
2/ на собеседовании просишь писать код н… twitter.com/i/web/status/9…

1/ любая конкретная женщина может быть, а может не быть программистом
2/ мы даем компьютер
3/ ни о чем не говорит в… twitter.com/i/web/status/9…

12:40
@backendsecret на Rust можно

Можно, но она потянет за собой его runtime. Не думаю что это большая проблема, но все же. Помимо этого, существуют… twitter.com/i/web/status/9…

12:45

Мне тут подсказывают, что нужно написать что-нибудь полезное, хотя бы один раз за всю неделю. Попробую рассказать п… twitter.com/i/web/status/9…

15:17

Итак, две даты, которые нужно знать - 28 марта и 31 октября. В эти дни происходит переход на DST и обратно. Если вы… twitter.com/i/web/status/9…

15:19

Один из моих коллег как-то раз был разбужен среди ночи возмущенным начальством из-за того, что режим работы несколь… twitter.com/i/web/status/9…

15:21

Поэтому первый совет, который вам обычно дают - используйте UTC - универсальное координированное время. Это очень х… twitter.com/i/web/status/9…

15:22

Во первых, UTC на конкретной машине может идти назад! Есть такой специальный демон, под названием ntpd, который зан… twitter.com/i/web/status/9…

15:24

2. если часы спешат сильно - просто перевести их назад. Это причина, почему часто одним из требований к системе (на… twitter.com/i/web/status/9…

15:25

Но это еще не все. Есть еще високосные секунды :) Насколько я помню, Unix time в POSIX совместимых системах работае… twitter.com/i/web/status/9…

15:30

Если вы получаете метки времени с секундной точностью, то все ОК. Если с точностью выше секунды, то у вас снова время идет вспять :)

15:31

Тут идет речь про обычные метки времени. Помимо этого, существует т.н. монотонное время, которое назад точно никогд… twitter.com/i/web/status/9…

15:33

Но, его нельзя передавать за пределы приложения, т.к. оно не имеет смысла за ее пределами, не всегда совпадают с ре… twitter.com/i/web/status/9…

15:35

Если вы регистрируете время неких событий из внешнего мира, вам нужно реальное время, в которое добавляются високос… twitter.com/i/web/status/9…

15:35

Еще такой интересный момент, связанный с leap seconds. Ни одна известная мне библиотека для работы с временем их не… twitter.com/i/web/status/9…

15:37

Вы распарсили в своем коде на python две метки времени и посчитали разницу между ними? Это значение не учитывает leap seconds.

15:38

ВСЕ ПЛОХО!

даже если вы храните метки времени в UTC

15:39

И тут наступает время рассказать про те ситуации, когда время нельзя хранить в UTC (PTSD момент). Rule of thumb - е… twitter.com/i/web/status/9…

15:41

Вы хотите запланировать собыите, которое произойдет ровно через сутки, в 14:00, получаете метку времени, добавляете… twitter.com/i/web/status/9…

15:44

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

15:45

Помимо этого, стоит учитывать, что вычисления в локальном времени не всегда корректны, т.к. некоторые библиоетки дл… twitter.com/i/web/status/9…

15:47
@backendsecret И это еще не все, буквально недавно была ситуация когда из-за сбоя NTP сервера нашего датацентра, вр… twitter.com/i/web/status/9…
15:47

Если я ничего не путаю, в python все работает именно так.
Помимо этого, хранить метки времени из будущего в UTC нел… twitter.com/i/web/status/9…

15:50

метка времени может уехать на час в одну или другую сторону. За последние 10 лет, в РФ трижды меняли DST (ЕМНИП) сн… twitter.com/i/web/status/9…

15:52
@backendsecret И вот тут не лишним будет отметить, что функции ожидания в примитивах синхронизации STL от gcc испол… twitter.com/i/web/status/9…
15:52

Помимо UTC есть еще GPS time. Время, которое используют для координации в системе GPS. Оно по настоящему монотонно… twitter.com/i/web/status/9…

15:54

Еще один факт - не все смещения таймзон кратны одному часу. Indian Standard Time - UTC +5:30 например. Поэтому если… twitter.com/i/web/status/9…

15:56

Особенно "весело" писать всякие органайзеры, где пользователь может запланировать мероприятие, а потом в этот день… twitter.com/i/web/status/9…

15:58
@backendsecret А также Непал с 5:45 и всякие острова в Тихом океане, где время одинаковое, но дата может на сутки отличаться

Самый смешной случай был с одним из диспетчерских управлений СО ЕЭС, которое (вместе со всеми энергетиками региона)… twitter.com/i/web/status/9…

16:04

Мне тут напоминают, что в Сиднее, на время олимпиады в 2000м году, ввели DST.

16:07
@backendsecret Миссы с помощью каких инструментов ты профайлишь, cachegrind?
16:49
@backendsecret Вроде есть TAI clock, реализация от автора s6-supervisor skarnet.org/software/skali…
16:58

Привет! Меня зовут Алексей Конышев, я несу добро с помощью poselok-programmistov.ru, а также путем руководства разра… twitter.com/i/web/status/9…

11:32

На работе меня особенно вдохновляет миссия. Много странных людей берут деньги в долг, а возвращать не хотят. Банки… twitter.com/i/web/status/9…

12:38

Когда мы начинали разработку несколько лет назад, мы взяли в качестве фреймворка @sailsjs – аналог рельсов для ноды… twitter.com/i/web/status/9…

13:11

Наконец @sailsjs нас так достал, что мы начали дробить все на микросервисы на чистом @expressjs. Использовали… twitter.com/i/web/status/9…

14:31
@musuk @sailsjs @expressjs @DockerSwarm База у нас PostgreSQL, ORM – sequelize. Еще есть Redis – для очередей и pub… twitter.com/i/web/status/9…
15:52

Давайте немного расскажу про @it_poselok. Обычно поселок вызывает кучу негатива в комментариях, поэтому начнем со с… twitter.com/i/web/status/9…

18:04
@backendsecret @vvn33 @AstarothAst @dcromster Почему вы считаете, что банкам тяжело живется из-за заемщиков в СНГ?)… twitter.com/i/web/status/9…

В РФ колоссальные судебные издержки из-за бюрократии. Если заемщик в конец о%%ел и перестал платить, то банк сможе… twitter.com/i/web/status/9…

20:10

Процент таких козлов довольно значителен, поэтому банк вынужден закладывать эти издержки и списания задолженности н… twitter.com/i/web/status/9…

20:12

Вам понравился такой формат общения?

10:30

Всем привет! На этой неделе в @backendsecret не разработчик бэкенда, а я, Виталий Брагилевский, @_bravit, преподава… twitter.com/i/web/status/9…

11:36

До среды включительно будем говорить о Хаскеле и других функциональных языках, в четверг и пятницу обсудим систему… twitter.com/i/web/status/9…

11:39
@backendsecret @_bravit То есть никакой совсем не backend developer 😁

В некотором смысле я разработчик бэкендеров, то есть разработчик бэкенда второго порядка. Впрочем, никакой ответств… twitter.com/i/web/status/9…

11:45
@backendsecret Higher-kinded backend developer :)
11:47
@backendsecret Будет ли затронута тема кибербулинга?

Кибербуллинг в среде бэкендеров — важная тема, обсудим её в разном. Вот только кнопочку для бана найду… twitter.com/Krasnikov_AN/s…

11:49
@_bravit @backendsecret А можно пропустить всю эту шелуху и сразу перейти к гендерным вопросам?

Нельзя. Я вообще надеюсь, что до выходных меня отсюда выгонят и не придётся обсуждать острые темы. twitter.com/Alex__Grig/sta…

11:53
@backendsecret Может не надо опять гендерные вопросы? Мы еще с прошлого раза не отошли.

Надо. Всем хочется заполучить кусочек славы Егора Бугаенко. twitter.com/AstarothAst/st…

12:01

Про паттерны проектирования обязательно скажу. twitter.com/ngalayko/statu…

12:10

О ФП (функциональное программирование) начнём говорить с матчасти. В далёком 2009 году собралась группа энтузиастов… twitter.com/i/web/status/9…

12:16

Одним из лучших материалов журнала оказался обзор элементов функциональных языков от Евгения Кирпичёва (… twitter.com/i/web/status/9…

12:19

«Цель статьи — вооружить идеями из мира функционального программирования даже тех читателей, кто не планирует менят… twitter.com/i/web/status/9…

12:20

Это к кураторам! Я и слов-то таких не знаю. У меня, правда, дипломница дважды на GSoC эрланг пилила, но всё равно н… twitter.com/i/web/status/9…

12:25
@backendsecret Есть вообще случаи, когда бэкенд есть смысл писать на хаскеле?

Я не евангелист, поэтому врать не буду. Если есть команда, владеющая Хаскелем, если есть лидер, понимающий проблемы… twitter.com/i/web/status/9…

12:36
@backendsecret @_bravit Добрый день! ЗАпустил статистику: backendsecret.ru/stats/
12:39
@backendsecret Что можешь сказать про GSoC?

Мне кажется, что все студенты-итшники должны стремиться участвовать в Google Summer of Code, это хороший опыт реаль… twitter.com/i/web/status/9…

12:52

Студент выбирает проект, консультируясь с ментором пишет заявку, и если заявка выигрывает, то летом что-то программ… twitter.com/i/web/status/9…

12:55
@backendsecret Надо, это хороший опыт. Только к нему тоже надо готовится. С нулевыми знаниями его не пройдешь.
12:59
@backendsecret Не зарплату, а стипендию.
13:00

Про монады рассказать?

13:05

Про Хаскель. Его задумали в 1987 году как функциональный язык с ленивыми вычислениями. Заметьте, не для того, чтобы… twitter.com/i/web/status/9…

13:13

Девиз Саймона Пейтона Джонса (SPJ, один из создателей) «Avoid success at all costs» долгие годы довлел над развитие… twitter.com/i/web/status/9…

13:18

Ситуация потихоньку стала меняться в начале 10-х годов, тогда стало возможным говорить о Хаскеле в промышленной раз… twitter.com/i/web/status/9…

13:20
Какая изящная критика прогресса ФП! twitter.com/backendsecret/…

Вот, кстати, распространённое заблуждение. Хорошие теоретические основания ещё никому не мешали. Инженеры, к счасть… twitter.com/i/web/status/9…

13:24
@backendsecret Correction: задумывался как teaching language. Такой же, как BASIC, например. А потом, внезапно, ста… twitter.com/i/web/status/9…

Всем интересующимся историей возникновения и Хаскеля рекомендую статью A History of Haskell: Being Lazy With Class… twitter.com/i/web/status/9…

13:28

Хаскелисты любят гордиться историями успеха, каждому расскажут, что есть такой Pandoc, что на Хаскеле программируют… twitter.com/i/web/status/9…

13:33

Ещё хаскелисты любят, когда все думают, что они очень умные. Уверен, что эту картинку сделал хаскелист, слишком уж… twitter.com/i/web/status/9…

13:40
@backendsecret Подсистема безопасности в Kaspersky OS

Из лаборатории Касперского подсказывают. Да, есть такое дело, действительно на Хаскеле делают. twitter.com/cblp_su/status…

13:42

Потом её, правда, испортили лисперы. pic.twitter.com/bEVHoYmDFp

13:45
@backendsecret Я прорешал учебник Хаттона Programming in Haskell. Это был прикольный опыт. Но делать реальный проек… twitter.com/i/web/status/9…

Посоветовать тему не могу, но вообще-то писать на Хаскеле можно всё, что угодно. Любая полезная людям программа, на… twitter.com/i/web/status/9…

13:49
@backendsecret угу. только статья написана так, что ее поймут только люди, уже знающие заскель, лямбда-калкулус и т… twitter.com/i/web/status/9…

Мне не кажется, что статья написана так. Разумеется, её нужно читать медленно, строчка за строчкой, разбираясь с ка… twitter.com/i/web/status/9…

13:50
@backendsecret А можно по подробнее про реальную пользу ленивых вычислений. А то всё что я слышал сводилось к "не б… twitter.com/i/web/status/9…

Ленивые вычисления иногда позволяют писать более простые программы: можно отдельно описать генерацию данных и их по… twitter.com/i/web/status/9…

14:00
@backendsecret Так если хаскель создан не для решения практических задач, а just for fun, то зачем пытаться в практическую пользу?

Родители могут ошибаться в планах на своих детей. Создали для одного, а использовать можно для всего, для чего полу… twitter.com/i/web/status/9…

14:07
@backendsecret Насколько он имеет смысл сейчас? Вычислительные возможности сейчас высоки и разработчики предпочитаю… twitter.com/i/web/status/9…

Во-первых, вычислительных возможностей всегда недостаточно для имеющихся задач, это закон природы. Во-вторых, ленив… twitter.com/i/web/status/9…

14:10
@backendsecret ИМХО, это вообще проблема многих ФП-шников. Причём зачастую решают задачи, которые могли бы решить на чем-то мейнстримовом.

Есть такой смешной жанр: претензии в стиле, а почему это пишется на X, тогда как можно на Y. Ну да, можно. Есть и е… twitter.com/i/web/status/9…

14:14

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

14:18
@backendsecret «Мне не кажется». Когда (не) кажется, креститься надо.

Даже разбор строчка за строчкой требует зна… twitter.com/i/web/status/9…

Вежливая тут у вас аудитория, пойду креститься! Интересно, кстати, влияют ли семь пядей во лбу на схему осенения се… twitter.com/i/web/status/9…

14:23
@backendsecret Возможность выбора – не всегда хорошо, можно на выходе получить ruby и селекторный паралич.

Всегда было интересно, почему люди так ненавидят некоторые языки программирования. Для меня ЯП — это объект изучени… twitter.com/i/web/status/9…

14:39

Кажется, из промышленных языков больше всего PHP достаётся. Мы стольким, написанным на PHP, каждый день успешно пол… twitter.com/i/web/status/9…

14:43
@backendsecret дык если язык принципиально создавался для академического задрост^W изучения, то зачем его тащить в… twitter.com/i/web/status/9…

Вот тоже чудесный аргумент: а давайте ещё вспомним, для чего компьютеры создавались. Неужели для того, чтобы реплаи… twitter.com/i/web/status/9…

14:45
@backendsecret никаких взрывов, просто для красного словца. тут вроде никто на такое не обижается. и всё же по теме… twitter.com/i/web/status/9…

Интересно, что сам Хаскель даёт массу примеров того, как задуманное для одного вдруг начинает отлично работать для… twitter.com/i/web/status/9…

14:52
@pilitactiles @backendsecret Мне очень понравился проект @dshevchenko_biz для подсчета хлебных единиц. Там все есть… twitter.com/i/web/status/9…
14:52

Я воспринимаю языки программирования как наборы инструментов — Хаскель даёт нам очень богатый набор, с его помощью… twitter.com/i/web/status/9…

14:55
@hmemcpy @pilitactiles @backendsecret Благодарю! Именно для этого проект и задумывался, чтобы, будучи полезным для… twitter.com/i/web/status/9…

Вот, кстати, Денис — наш главный по евангелизму! twitter.com/dshevchenko_bi…

14:56
@dshevchenko_biz @pilitactiles @backendsecret Ваша книга, кстати, О Haskell по-человечески, очень мне помогла вступ… twitter.com/i/web/status/9…
14:59
@backendsecret А что можете посоветовать из функциональных языков для изучения? Так, чтобы потом именно применить м… twitter.com/i/web/status/9…

Не буду оригинальным: изучать нужно именно Хаскель. Он позволяет увидеть ФП в чистом виде, понять основные идеи. А… twitter.com/i/web/status/9…

15:13

Мне нравится книжка «Изучай Хаскель во имя добра», я в своё время спас её перевод от шанса быть напечатанным в изур… twitter.com/i/web/status/9…

15:16

Get programming with Haskell (manning.com/books/get-prog…) вообще для самых начинающих, но сильно ориентирована на прак… twitter.com/i/web/status/9…

15:18

У меня на медиуме есть разбор книг по Хаскелю: medium.com/@_bravit, можете посмотреть. Книги есть почти на любой вкус.

15:19
@backendsecret Потому что они ими пользовались и им было больно?

Продолжаем про ненависть. Вот у меня стул был, неудобный стул, плохо на нём было сидеть. И знаете что, я его выкину… twitter.com/i/web/status/9…

15:23
@backendsecret @_bravit Здравствуйте, Виталий! Нас, читателей из далекого Усть-Уфимска, давно интересует вопрос: ес… twitter.com/i/web/status/9…

Вопрос от людей изнутри коммьюнити, с богатым контекстом и большим подтекстом. Я воспользуюсь им, чтобы начать тему… twitter.com/i/web/status/9…

15:29

Вот представьте: вы из академической тусовочки (выделено курсивом), все друг друга знаете, пилите в язык фичи (и пе… twitter.com/i/web/status/9…

15:40

У них довольно странные запросы: хотят, чтобы библиотеки поддерживались и обновлялись, чтобы backward compatibility… twitter.com/i/web/status/9…

15:43

Основной инструмент для управления зависимостями — утилита cabal-install — долгое время очень медленно развивался,… twitter.com/i/web/status/9…

15:46

Работают они на одной основе, используют Hackage — коллекцию библиотек (по типу CPAN перловского), но Hackage в рук… twitter.com/i/web/status/9…

15:48

Роль свою stack сыграл, он заставил cabal развиваться. Трения остаются, коммьюнити пытается их разруливать, в интер… twitter.com/i/web/status/9…

15:50
@vladusenko48 @backendsecret Когда мы хотим эффективность выполнения, предсказуемую корректность, простоту сопровож… twitter.com/i/web/status/9…

Вот умеет всё-таки Денис Хаскель продавать! twitter.com/dshevchenko_bi…

15:55
@backendsecret Ага, я ещё хочется CHANGELOG, тесты, бенчмарки (чтобы не дай бог не стало медленней), хорошую докуме… twitter.com/i/web/status/9…

IDE! IDE нужно! twitter.com/ChShersh/statu…

15:56
@backendsecret Как насчёт Closure? Или может даже более холивара: Haskell vs Closure

Про Clojure будет, но без холивара. Разве что в реплаях… twitter.com/gild0r/status/…

15:57
@backendsecret Недавно было обсуждение в околохасклевском коммьюнити: почему мы так кичимся крутостью нашего языка… twitter.com/i/web/status/9…

Оценка резкая, конечно, но во многом справедливая. Есть такой документ State of Haskell ecosystem:… twitter.com/i/web/status/9…

16:05
@backendsecret Как это заканчиваются? А pandoc? А компиляторы ряда языков (того же Elm)?

Вот мне подсказывают, что на Хаскеле отлично пишутся компиляторы: сам Хаскель, Agda, Idris, Elm. Я смотрел внуть GH… twitter.com/i/web/status/9…

16:09
@backendsecret @_bravit Расскажите про будущее зависимых типов в Х-ле, как вам оно видится, с учетом работы, продел… twitter.com/i/web/status/9…

С возрастом я становлюсь ретроградом, мне хочется замедления развития системы типов, так и хочется крикнуть: «Горшо… twitter.com/i/web/status/9…

16:12

Пока кажется, что безболезненно встроить зависимые типы в ткань языка не получится. Есть риск того, что всё будет з… twitter.com/i/web/status/9…

16:14

Мне больше нравятся языки с зависимыми типами из коробки, как Idris, там они гораздо естественнее смотрятся. Другой… twitter.com/i/web/status/9…

16:16
Про монады рассказать?

Кто тут не с начала, у нас опрос есть! twitter.com/backendsecret/…

16:23
@backendsecret конечно. А еще если можно про архитктуру приложений на хаскелле или книгу про это посоветуйте )

Я такую книгу не знаю, да и вообще: архитектура приложения и язык как-то далековато друг от друга, разве нет? В хас… twitter.com/i/web/status/9…

16:26

Читаю википедию перед каждой парой, но быстро забываю! Думаете, легко тут, на дне IT-образования, термины помнить? twitter.com/ShapovalovTS/s…

16:28
@putln @backendsecret aosabook.org

AOSABook прекрасная! Про GHC текст вообще потрясающе интересный. twitter.com/cblp_su/status…

16:34
@chikiro_twi @backendsecret Если Вы девушка (оо, я как раз в тему с гендерными вопросами!1), то есть: Outreachy
outreachy.org

Гендерный вопрос! Маша — наша гордость, в гугле работает, подписывайтесь! twitter.com/siamezzze/stat…

16:36
@backendsecret Что скажете про книги Душкина?

Я бы их сейчас не рекомендовал для изучения Хаскеля, но сам Роман прекрасен! twitter.com/i_am_alcoholic…

16:46

Я сторонник распространения Хаскеля на практике, но академический имидж языку сильно мешает. Я свято верю, что не н… twitter.com/i/web/status/9…

17:01

В реплаях пишут про Linq и XSLT, вот, мол, реальные технологии, не то что этот ваш Хаскель. Я думаю, что Эрик Мейер… twitter.com/i/web/status/9…

20:40

XSLT мне, кстати, очень нравится, я его преподавал 10–15 лет назад — очень хороший декларативный способ преобразова… twitter.com/i/web/status/9…

20:42
@backendsecret тогда расскажи как на нем работу найти! тут такая курица яйцо, пока бизнес не увидит разрабов он туд… twitter.com/i/web/status/9…

Найти работу на Хаскеле можно, разрабы давно уже пошли. По ресурсам для хаскелистов постоянно вакансии вижу. twitter.com/raxpost/status…

20:44
@backendsecret Скажите, а нужно ли уметь приседать со штангой до начала изучения Haskell?

Нет, умение приседать со штангой не требуется. Хотя и очень полезно! twitter.com/feelthefrog/st…

20:46
@backendsecret Удалось веру на практике проверить ? Кстати, что бумажного есть по теории категорий ?

Я не программист, поэтому нет, не удалось. Впрочем, я уже не помню, что в моей жизни появилось раньше, Хаскель или… twitter.com/i/web/status/9…

20:51
@IlyaYanok @dshevchenko_biz @vladusenko48 @backendsecret про gc правда. например, язык с gc непригоден для эмбеддед… twitter.com/i/web/status/9…

Некоторые забывают, что даже если на Хаскеле нельзя писать для жёсткого риалтайма, на нём можно генерировать код дл… twitter.com/i/web/status/9…

20:54
@backendsecret Если Хаскель - это чисто академический язык вроде Scheme, то мне не понятно, зачем его в бизнес тащи… twitter.com/i/web/status/9…

В мире языков программирования нет заборов, они есть только в головах пользователей. twitter.com/musuk/status/9…

20:57
@backendsecret @_bravit а расскажите будет ли Haskell2020 в 2020?

Думаю, что не будет. Для меня главное — успеть монетизировать членство в комитете (prime.haskell.org/wiki/Committee), пока е… twitter.com/i/web/status/9…

21:00

Всё совершенно не так. Сколько я не разговаривал с отечественными хаскелистами, которые на этом деньги зарабатывают… twitter.com/i/web/status/9…

21:07

Тут же как везде: придумывать свои библиотеки сложно, для этого нужен опыт и знания, а пользоваться ими гораздо про… twitter.com/i/web/status/9…

21:09

Я не видел ни одного хаскелиста с горящими глазами, который не смог бы найти работу на Хаскеле. twitter.com/mtrklb/status/…

21:13
@backendsecret liquid haskell не пробовал?

Я смотрел много простых примеров: выглядит неплохо, ошибки действительно можно ловить. К сожалению, LH не очень хор… twitter.com/i/web/status/9…

21:17

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

21:20
@rufuse @skchrko @backendsecret @_bravit stack, hackage... главное - Nix!

Nix, конечно, выдающееся изобретение. Я думаю, мы во многих технологиях будем потихоньку на него переходить. Это та… twitter.com/i/web/status/9…

21:29
@backendsecret Да запросто! Хаскель хороший - зуб даю! Думаю доказал, да?

Мой тезис в том, что если человек в чём-то уверен, то не надо ему ничего доказывать. Пусть живёт в своей уверенност… twitter.com/i/web/status/9…

21:30
@ak3n @mtrklb @backendsecret Поддерживаю. Тут студенты после 4 месячного курса Haskell в универе находили работу. Н… twitter.com/i/web/status/9…
21:31
@backendsecret а сколько вам известно отечественных хаскелистов зарабатывающих на этом?

Отечественных хаскелистов-профессионалов я знаю около десятка. Ещё знаю двоих плюсистов, трёх джавистов и пять чело… twitter.com/i/web/status/9…

21:37

Так вот, про монады. Понимаете ли вы концепцию перемещения в пространстве? Можно идти, ползти, бежать, лететь, гуси… twitter.com/i/web/status/9…

21:41

Встречали ли вы когда-нибудь человека, который заявлял, что он не понимает перемещение в пространстве? Конкретные п… twitter.com/i/web/status/9…

21:42

Или, вот, что такое питание? Как это вообще? Не понимаю. Как колбасы поесть — понимаю, котлетка с пюрешкой — тоже, а вот питание — ну никак.

21:44

При этом каждый, я подчёркиваю, каждый программист пользуется монадами. Он делает это каждый день, разными конкретн… twitter.com/i/web/status/9…

21:47

Видимо, причина в том, что начиная с некоторого возраста нам слишком тяжело знакомиться с новыми абстракциями, нам… twitter.com/i/web/status/9…

21:48

Хаскель принятой в нём математической терминологией даёт нам лёгкий способ оправдать себя: ой, это всё ужасная мате… twitter.com/i/web/status/9…

21:50

Монада — это общий способ описать идею вычислений, которые можно соединять вместе так, чтобы от результата предыдущ… twitter.com/i/web/status/9…

21:53

Вызвал функцию, воспользовался её результатом — привет, ты снова в монаде. Другие языки программирования не пытаютс… twitter.com/i/web/status/9…

21:56

Интересно было бы написать роман в духе альтернативной истории про то, как повернулась бы история программирования,… twitter.com/i/web/status/9…

22:07
@dmitriid @develop7 @vladusenko48 @backendsecret @dmitriid Дмитрий, я понимаю вас. В ваших сообщениях виден гнев, н… twitter.com/i/web/status/9…

Почитайте тред. Там психоанализ и терапия, все дела. Уважаю. twitter.com/dshevchenko_bi…

22:09

Смотрю на статистику и думаю, что надо больше хлёстких твитов для лайков и ретвитов. Ну ничего, будем работать.

22:39

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

15:13

Принял проект с говнокодом, написанным на Руби бывшим PHP-шником, а оставил c а̶т̶о̶м̶н̶о̶й̶ ̶б̶о̶м̶б̶о̶й̶ живым и… twitter.com/i/web/status/9…

15:15

Говорить буду в основном о малообсуждаемых проблемах в стартапах, начиная от нарушения всех правил в начале, и зака… twitter.com/i/web/status/9…

15:19
@backendsecret СТО, не шубу в трусы заправлять! Сколько человек в R&D? VP of Engineering есть?

И вот первая тема. СТО не нужон.
В стартапах, где обычно "Серёга и я", СТО называют того, кто отвечает за всю техн… twitter.com/i/web/status/9…

15:25

1 из 1000 (или скольки там) стартапов взлетает, из них ещё только один на сотню становится бизнесом с R&D такого ра… twitter.com/i/web/status/9…

15:33

Но "CTO стартапа" -- это на самом деле просто "технический сооснователь", как в анекдоте: "Я VC из Долины, собираю… twitter.com/i/web/status/9…

15:34

А смежные должности типа VPEng в стартапах -- это часто просто результат инфляции должностей. Не верьте.

15:37
@backendsecret Привет! Наконец-то люди близкие к деньгам :)

(шёпотом) Тс-с-с, денех тут неееет.
Не, сириосли, в стартапы надо идти затем, чтобы потом никакой проект не был стр… twitter.com/i/web/status/9…

15:48
@backendsecret Зато поди ДОЛЯ в перспективном стартупе имеется 😀

Значит, рублю правду матку: я, например, обычный сотрудник, который с самого начала работает за зарплату, у таких л… twitter.com/i/web/status/9…

15:59
@jbaruch @backendsecret Он - человек до которого ты докопался на ровном месте. Оставь его уже в покое, пусть расска… twitter.com/i/web/status/9…

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

Сорри если я на важные репла… twitter.com/i/web/status/9…

19:45
@backendsecret А если стартап взлетит высоко то всех VP и директоров поменяют на взрослых менеджеров с опытом. Пото… twitter.com/i/web/status/9…

Всё верно, переход от стартапа к бизнесу это примерно как переход от партизанского отряда к регулярной войсковой ди… twitter.com/i/web/status/9…

19:47

В последнее время этот автор сошёл с ума, начал говорить про вселение бесов в алгоритмы ИИ, но вот эта его лекция п… twitter.com/i/web/status/9…

19:55
@backendsecret сколько лет в стартапе этом?

6 лет в этом году будет. Изначально думали, что и пять лет не просидим, скучно станет. А теперь начинаю верить тем,… twitter.com/i/web/status/9…

20:09
@backendsecret Обычно работая со стартапами расширяешь знания в ширь, для глубины нужно сфокусироваться на чем то одном.

Скиллы взаимодействия с бизнесом, организации гибкого процесса производства софта, коммуникации, удержания сложност… twitter.com/i/web/status/9…

20:32

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

20:33
@backendsecret Можно заглянуть в почти любую веб-студию и там надо трэкать в день по 8 часов на задачи.
А в туалет… twitter.com/i/web/status/9…

Прям так уж и в любую, и нигде не понимают, что 8 часов в день у программиста это фейк?
Мы у себя очсень много нани… twitter.com/i/web/status/9…

0:02
@50megatonn @backendsecret ну смысл в том что больше 6 часов в день кодить на макс концентрации не получается эффек… twitter.com/i/web/status/9…

Я как-то работал в конторе, где нужно было отпечаток пальца прикладывать каждый раз, когда выходишь даже в туалет (… twitter.com/i/web/status/9…

0:05

Но это был 2006 год, я думал такое дурошлёпство давно прошло.

0:06
@backendsecret ну вот уже 2ой месяц сижу, думаю, что делать. С одной стороны, помимо работы хочу качать другие скил… twitter.com/i/web/status/9…

Размер внутренней "батарейки" сильно колеблется с течением врвмени в зависимости от содержания работы в данный моме… twitter.com/i/web/status/9…

0:37
@backendsecret Ну я чуть позже так работал, в 2009

Ну, если вы тоже из Киргизии, то мы могли быть коллегами :-)

twitter.com/rimmer333/stat…

0:38

Под занавес моего дежурства в @backendsecret разрешу себе воспользоваться служебным положением и поднять тему, кото… twitter.com/i/web/status/9…

2:01

Я с 2014 года делаю публичные лекции про биткоин в частности, криптовалюты в общем, блокчейн и всё, что с этим связ… twitter.com/i/web/status/9…

2:01

Теперь же весь мир сошёл с ума и переместился на самую вершину хайпа. Это довольно тяжёлые времена, когда профессио… twitter.com/i/web/status/9…

2:01

Проекты, где блокчейн ни разу не нужен появляются каждый день. То ОАЭ заявит, что к 2020 году все гостранзакции буд… twitter.com/i/web/status/9…

2:01

Вот сегодня Мерседес отличился. То, что они сделали -- это на самом деле просто "очки престижа в личном кабинете на… twitter.com/i/web/status/9…

2:01

Давайте раз и навсегда определимся: блокчейн решает ровно одну задачу: задачу взаимодействия двух и более субъектов… twitter.com/i/web/status/9…

2:01

Там, где какая-то организация обеспечивает плюшки за какие-то коины блокчейн не нужен, в госзакупах блокчейн не нуж… twitter.com/i/web/status/9…

2:01

Если вы слышите "приватный блокчейн", "блокчейн без криптовалют", "permissioned blockchain" -- это либо добросовест… twitter.com/i/web/status/9…

2:01

Если к вам придут с таким проектом, задайте один главный вопрос: "Какую проблему решает ваша система, которую не мо… twitter.com/i/web/status/9…

2:01

Или, в другой формулировке, "Что ваша система делает такого, чего нельзя было бы сделать, если бы в 2008 году Сатош… twitter.com/i/web/status/9…

2:01

Помните, что блокчейн -- это всегда во много раз дороже, как в разработке, так и в обслуживании. Любые системы с бл… twitter.com/i/web/status/9…

2:01

Блокчейн оправдан только если централизованные решения невозможные в принципе, либо если централизованные решения д… twitter.com/i/web/status/9…

2:01

Мне примерно раз в неделю пишут в личку с очередной гениальной идеей блокчейн-стартапа. Пока что в 100% случаев это… twitter.com/i/web/status/9…

2:01

Вот моя статья про то же самое, но меньше эмоций и больше примеров с объяснениями "для гуманитариев" medium.com/@daniel.vartan…

2:01

Так что если вы услышите, что в Киргизии выпустили свою криптовалюту или применили блокчейн где-то в госструктурах,… twitter.com/i/web/status/9…

2:01

Технарям это ещё проще понять: блокчейн -- это НЕ любая цепь любых блоков (иначе коммиты в git'е были бы блокчейном… twitter.com/i/web/status/9…

2:01

Кстати, меня часто спрашивают: если ты так давно в теме, почему ты не миллионер? А ларчик просто открывается: чтобы… twitter.com/i/web/status/9…

2:03

Всё, что у меня есть -- это один биткоин (точнее 1.2), да и тот остался с тех времён, когда у меня жена зарплату в… twitter.com/i/web/status/9…

2:03

Фуууух, аж легче стало, выговорился. Спасибо, други!

2:06

В последние часы дежурства я поотвечаю на вопросы, а потом все айда ко мне на аккаунт @daniel_vartanov, там продолж… twitter.com/i/web/status/9…

2:19

Если кто совсем-совсем не в теме, то вот лекция про биткоины-блокчейны, с ручательством, что там нет никаких попыто… twitter.com/i/web/status/9…

3:17
Прочитав воскресный @backendsecret в очередной раз хочу напомнить всем программистам:

Мы работаем, для того, чтобы… twitter.com/i/web/status/9…

11:08

Всем доброго утра! В следующие семь дней с вами Денис @dshevchenko_biz Шевченко, программист, известный в узких кру… twitter.com/i/web/status/9…

8:31

Каковы планы на эту неделю? Посмотрим, как пойдёт, не люблю загадывать. Но упор планирую сделать на практику. Будет код, друзья, много кода!

8:31
@backendsecret Давай сразу про монады

НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТ! twitter.com/hmemcpy/status…

8:54
@backendsecret @dshevchenko_biz опять фп и хаскель? был тут недавно уже такой. чем отличаться от него будете?

Многим буду отличаться. Виталий - преподаватель, и говорил о вещах, о которых я имею смутное представление. А главн… twitter.com/i/web/status/9…

9:04
@backendsecret Давай сразу про гендерный вопрос.

О нет, вот этого точно не будет. Дабы сразу обрадовать/разочаровать (нужно подчеркнуть), перечислю темы, о которых… twitter.com/i/web/status/9…

9:07
@backendsecret Без поллитра-то получится код на этом вашем Хаскеле понять?

А вот и узнаем! ;-) twitter.com/blazernere/sta…

9:08

Отвечая @aarexer, расскажу немного о себе.

В программирование я пришёл в 2005 году, и началом был ассемблер для ми… twitter.com/i/web/status/9…

9:56

И вот, с 2006 года я окунулся в С++. Изначально, правда, это была ещё нестандартизованная версия (основанная на Bor… twitter.com/i/web/status/9…

9:56

Были, правда, ещё и мысли о том, чтобы остаться в C и программировать Linux kernel. Но потом плюсы всё же одержали… twitter.com/i/web/status/9…

9:56

И вот однажды, на столе у своего тогдашнего техдира, я увидел книгу "Programming in Haskell". Спрашиваю, мол, что з… twitter.com/i/web/status/9…

9:56

Найдя упавшую на пол челюсть и приделав её обратно, я спросил, ээээ, а как это можно программировать без оператора… twitter.com/i/web/status/9…

9:56

А где-то год спустя увидел в интернете слово Haskell, и вспомнил, аааа, так это же тот самый, без присваивания. И в… twitter.com/i/web/status/9…

9:57

Начал искать материалы. А год это был 2012. И было это, скажу я вам, непросто. Нормальным, человеческим языком, вот… twitter.com/i/web/status/9…

9:57

Начал формулировать мысли в своём бложике. Затем была просьба, идея, и реализация идеи, идеи о книжке для самых-сам… twitter.com/i/web/status/9…

9:57

Так я полюбил ФП. Но с точки зрения карьеры я всё ещё был С++-программистом, однако к 2014 году я понял - всё, хочу… twitter.com/i/web/status/9…

9:57

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

9:57
@backendsecret Денис, а рассказ о том, что скала - это фальшивое ФП, будет? :)

Я толком не знаком со Scala, поэтому вряд ли. Но тот пример, с Either - да, его приведу. ;-) twitter.com/iShelop/status…

9:58

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

10:11
@backendsecret Расскажешь про рекурсию?

Почему бы и нет? Расскажу. twitter.com/bitomaxsp/stat…

10:14

Впрочем, в качестве первого объяснения, вероятно, подойдёт глава из моей книжки: ohaskell.guide/recursion.html

10:18
@backendsecret Нееее не могу это читать где AbstractRecursionSingletonProviderBean

Вот уж чего нету, того нету... Извиняйте... twitter.com/hmemcpy/status…

10:22
@develop7 @backendsecret А если серьезно? Что конкретно лучше писать на хаскеле?

Компиляторы/интерпретаторы, EDSL, бэкенд. twitter.com/artezzzgml/sta…

11:49
@backendsecret @dshevchenko_biz Если отталкиваться от проблем, то для решения каких задач, в каких областях ФП дейс… twitter.com/i/web/status/9…

Проблема в том, что мой ответ будет расценен как предвзятый. :-) И всё же я отвечу - да, однозначно стоит овчинка в… twitter.com/i/web/status/9…

11:52
@backendsecret Совершенно случайно прочел вашу книгу за вечер, и это прекрасная книга, заинтересовался Haskell.
Не… twitter.com/i/web/status/9…

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

11:53
@backendsecret А какое IDE лучше всего подходит для разработке на Haskell?

Для Haskell нет полновесных IDE в том смысле, как есть для Java или C#. Однако, после доработки напильником, прекра… twitter.com/i/web/status/9…

11:55
@backendsecret Было бы круто увидеть примеры композиции монад: MTL, Free(r). Как я понимаю, эти знания - мастхэв дл… twitter.com/i/web/status/9…

О нет, мы будем смотреть на вещи, гораздо более простые. Free(r)? У нас в проекте нет Free(r), и однако же PoS-крип… twitter.com/i/web/status/9…

12:03
@backendsecret а плагин для Idea совсем плох?

Не знаю, не пробовал. Отзывы слышал, да, но они противоречивы: кто-то хвалит, кто-то ругает... twitter.com/goshan__4ik/st…

12:04
@shkuropadsky @backendsecret @dshevchenko_biz Существует так же опасность, что часть разработчиков будет сильно про… twitter.com/i/web/status/9…

О да! Многих программистов одна лишь аббревиатура "ФП" вводит в ярость и желание драться. Это при том, что большинс… twitter.com/i/web/status/9…

13:14
@backendsecret ленту не читал, но есть к тебе вопрос. Есть ли препятствия/проблемы распространения идей ФП? Почему? Как можно решить?

Да, препятствия есть. И в основном - психологического характера:

13:23
@backendsecret , слушал выпуск подлодки с вашим участием. про хаскелл и фп. Очень сильно захотелось попробовать. Но… twitter.com/i/web/status/9…

Да, есть такое: в России таких вакансий пока очень мало. Их количество растёт, да, но на фоне остального рынка труд… twitter.com/i/web/status/9…

13:36
@backendsecret Как насчёт Haskell vs Clojure, а то вот @_bravit обещался, будучи на месте @backendsecret, да так дело и не дошло

Нет. Сравнение языков - холиварная тема, ражигать очередной срач здесь я не хочу. twitter.com/gild0r/status/…

14:13
@backendsecret Просто очень интересно было бы послушать мнение того, кто в теме, может кто из читателей… twitter.com/i/web/status/9…

Я обеими руками за сильную статическую типизацию. Потому что она помогает мне, каждый день. Однако я не делаю из эт… twitter.com/i/web/status/9…

14:20

Итак, обещанный на сегодня пример. Пример, понятный нам всем - работа с конфигурационным файлом. Трудно вспомнить з… twitter.com/i/web/status/9…

16:04

Итак, что же такое конфигурация? Это стуктурированный набор данных, необходимых нашей программе для работы. Следова… twitter.com/i/web/status/9…

16:04

Да, с точки зрения компьютера конфигурация - это файл, то есть тупо строка. Но мы не хотим работать со строками, по… twitter.com/i/web/status/9…

16:04

Пример, который вы увидите, отражает декларативный подход к парсингу. Сначала мы определяем типы, отражающие конфиг… twitter.com/i/web/status/9…

16:04

Итак, вот пример: gist.github.com/denisshevchenk…. Код кажется большим, но это лишь потому, что там куча комментариев. Реко… twitter.com/i/web/status/9…

16:04

На неделе с Виталием меня обвиняли в том, что все приводимые мною примеры - это лишь примитивные однострочники. Поэ… twitter.com/i/web/status/9…

16:06

Кстати, используемый на строке 71 Either - это конструктор типа с возможной проблемой. Его реализация предельна про… twitter.com/i/web/status/9…

16:26

То есть когда мы конструируем Either-значение, оно всегда находится в одном из двух состояний:

16:26
На @backendsecret функциональные программисты дошли до парсинга конфига. Фибоначчи уже написали, а то лень искать?

Нет, обойдёмся без них. Конфиг - он как-то душевнее, ближе будет... twitter.com/mtreskin/statu…

16:39
@backendsecret Примеры это круто, но вспоминая прошлого себя я бы подумал "Да вон нахер оно надо, еще типы какие-то… twitter.com/i/web/status/9…

Не всегда обречён. В большинстве случаев - да, но не всегда. Моя цель не в том, чтобы чем-то похвалиться через подо… twitter.com/i/web/status/9…

16:41
@backendsecret Чтоа такое алгебраический тип данных

Алгебраический тип данных (АТД) - это тип, состоящий из других типов. Посмотри на строчку 29 - это АТД. АТД бывает… twitter.com/i/web/status/9…

16:48

Ты спросишь, почему произведение? Здесь же вроде ничего ни на что не умножается. Ответ в математике, ведь речь идёт… twitter.com/i/web/status/9…

16:48

Вот почему, предоставив экземпляр класса FromJSON для типа ReceiverConfig, мы обязаны предоставить такие же экземпл… twitter.com/i/web/status/9…

16:48
@backendsecret Давайте что-нибудь более практичное, с сайд-эффектами. Я немножко хаскель-хейтер, так как считаю, чт… twitter.com/i/web/status/9…

Не всё сразу. :-) Дойдём и до трансформеров. twitter.com/borovikov/stat…

16:50

А упомянутый мною Either - это тип-сумма. Мы пишем data Either a b = Left a | Right b. То есть либо Left, либо Righ… twitter.com/i/web/status/9…

16:52

Однако, повторюсь: вся эта математическая терминология известна мне лишь потому, что я (с определённого момента) за… twitter.com/i/web/status/9…

17:06
@backendsecret Воспользуюсь моментом и кину ссылку на свой канал, где я IMO очень подробно и доступно это расписал… twitter.com/i/web/status/9…
17:42
@backendsecret Примеры это круто, но вспоминая прошлого себя я бы подумал "Да вон нахер оно надо, еще типы какие-то… twitter.com/i/web/status/9…

> строчки из ямла достал и усе

Так нам же не строчки нужны. :-) Нам нужны URL, или порт, или список адресов, или е… twitter.com/i/web/status/9…

17:48
@qnikst @backendsecret Я это понимаю. Но не вижу в реальном хаскел-коде. И непонятно что там выделить можно, если в… twitter.com/i/web/status/9…

Отделение чистого кода от кода, взаимодействующего с внешним миром - это вопрос правильного проектирования. Конечно… twitter.com/i/web/status/9…

17:51
@backendsecret Мой поинт в том, что в real world приложениях чистой логики очень мало. И это уже вопрос не проектир… twitter.com/i/web/status/9…

Смотря о каких real world приложениях идёт речь. Да, есть много таких, где происходят преимущественно IO-действия.… twitter.com/i/web/status/9…

19:00
@troglotit @backendsecret MTL и правда must have. Туториалов по нему, хороших, однако, мало даже на английском :( О… twitter.com/i/web/status/9…
19:10
@backendsecret Избегай успеха любой ценой

Опять... Simon Peyton Jones, один из создателей Haskell, уже объяснял истинный смысл высказывания "Avoid success at… twitter.com/i/web/status/9…

20:51
@backendsecret @ChShersh @troglotit Давно хотел спросить. Не кажется ли недостатком то, что для такой простой задач… twitter.com/i/web/status/9…

Нет, это не кажется недостатком. Напротив, это кажется преимуществом, потому что именно это позволяет жёстко отделя… twitter.com/i/web/status/9…

20:56

А насчёт "довольно непростой абстракции"... Ну вот посмотри на меня: бывший плюсовик, математического образования н… twitter.com/i/web/status/9…

20:57
@backendsecret Я не говорил, что не могут, я говорил, что она непростая. Требует времени для привыкания, и людям мо… twitter.com/i/web/status/9…

> действительно ли такой контроль так нужен

Да, он нужен. Но не в том смысле, что без него нельзя, а в том смысле,… twitter.com/i/web/status/9…

21:29
@backendsecret А какая предистория для названий right,left? Ну right ещё можно понять, но почему left, а не error или wrong?

Не знаю. Очевидно, взяв Right, просто подобрали наиболее естественный антоним, то есть Left. ;-) twitter.com/iflask/status/…

21:34
@backendsecret А удобство изменения ФП-программы при неполных и постоянно меняющихся требованиях со стороны заказчи… twitter.com/i/web/status/9…

Декларативная модель очень помогает сопровождать проект. Известное зло при изменениях - в одном месте что-то поменя… twitter.com/i/web/status/9…

21:40

А когда глобального разделяемого состояния нет - тогда нет и проблем, им порождаемых.

21:41
@backendsecret расскажи где ты работаешь (сори если было) и как нашел (найти) работу на хаскеле. У меня стойкое ощу… twitter.com/i/web/status/9…

Работаю в #IOHK, участвую в создании PoS-криптовалютной системы (конкретно я сейчас в бэкенд-команде нашего кошельк… twitter.com/i/web/status/9…

22:19

Что же касается нужд бизнеса - есть отличное видео об этом: youtube.com/watch?v=ybSBCV…. Это видео от CEO для других CE… twitter.com/i/web/status/9…

22:19
@backendsecret Ищу ментора! пишу на Java, пробовал Kotlin, знания базовые + спринг(использовал для авторизации на с… twitter.com/i/web/status/9…
11:09

Всем привет! Меня зовут Бектур и на этой неделе я буду ведущим. Коротко о себе: занимаюсь исследованиями в области… twitter.com/i/web/status/9…

11:28

Помимо основной работы я так же очень много волонтерил по научным конференциям вроде ACM SIGGRAPH, а так же активно… twitter.com/i/web/status/9…

11:30

Поэтому на эту неделю у меня план рассказать о:

– AR/VR исследованиях и индустрии в целом
– IT работе в Японии
– В… twitter.com/i/web/status/9…

11:33

Ну и так же буду рад ответить на разные вопросы :)

На данный момент правда я пока еще на работе, поэтому отвечать… twitter.com/i/web/status/9…

11:33

Я снова с вами! На самом деле сегодня был мой первый день на новой работе, и шеф по японской традиции сводил меня и… twitter.com/i/web/status/9…

15:54
@backendsecret Ник то зачем менять) ник верни

я спросил у @dcromster и он сказал что можно менять 😅 twitter.com/dcromster/stat… twitter.com/igor_maslik/st…

15:56
@backendsecret Расскажи про AR! Чего стоит ожидать в ближайшем будущем? Будет ли удачное воплощение идеи google glasses?

AR достаточно обширный топик, и всего сразу не ухватишь, поэтому расскажу что интересует сейчас меня:

1) "Демократ… twitter.com/i/web/status/9…

16:00

Тут мне нужно сделать отступление и немного рассказать о самой терминологии в AR/VR.

Термин Augmented Reality прои… twitter.com/i/web/status/9…

16:18

Соответственно на одной части спектра находится реальность, на другой – виртуальность. Все что между ними (исключая… twitter.com/i/web/status/9…

16:18

В MR входят разные "смеси" реальности и виртуальности, включая

Augmented Reality (AR) – дополненная реальность, ко… twitter.com/i/web/status/9…

16:18

Сейчас так же популярен термин XR – eXtended Reality, который вбирает себя MR + VR (исключая R, т.е. реальность)

Т… twitter.com/i/web/status/9…

16:18

Между прочим статья про RV Continuum является одной из самых цитируемых статей в области исследования всего что свя… twitter.com/i/web/status/9…

16:18

Но это еще не все! Проблема в том что сам RV континуум невозможно использовать для качественного сравнения систем (… twitter.com/i/web/status/9…

16:18

Extent of World Knowledge (EWK) – Как хорошо система понимает окружающий мир. Например HoloLens и ARKit могут опери… twitter.com/i/web/status/9…

16:18

Extent of Presence Metaphor (EPM) – Насколько "погружаемой" (?) является система. Сейчас принято использовать слово… twitter.com/i/web/status/9…

16:18

(у presence еще есть замечательное понятие telepresence/teleexistence про которое я расскажу чуть позже)

16:18

Reproduction Fidelity (RF) – качество репродукции, банальное SD vs HD vs 4k, и проч

Про это все можно почитать еще… twitter.com/i/web/status/9…

16:18

так вот ARKit/ARCore на самом деле передвигают гигантскую массу девайсов из одного конца Extend of World of Knowled… twitter.com/i/web/status/9…

16:21

2) Такое количество объемной информации о пространстве вокруг пользователей (а это очень большое количество пользов… twitter.com/i/web/status/9…

16:29
Real-time photogrammetry with #ARKit pic.twitter.com/4kqnI84ypa

например в плане фотограмметрии – реконструкции 3д моделей из различных фотографий при наличии данных о том где был… twitter.com/i/web/status/9…

16:31

3) Все это ведет к идеи о AR Cloud – где фактически есть схожая (или точная) копия реального мира в цифровом виде,… twitter.com/i/web/status/9…

16:31

Видео демо одного из AR Cloud стартапов youtube.com/watch?v=tXwVg2…

16:31

Возвращаясь к изначальному вопросу о Google Glass, на самом деле да, такое в ближайшем будущем нас ждет, и называет… twitter.com/i/web/status/9…

16:34

Моя лаборатория сейчас занимается разработкой OST-HMD на основе TMD (Transmissive Mirror Device). Об этой технологи… twitter.com/i/web/status/9…

16:34
@backendsecret Под андроид ARCore роботает пока только на ограниченом количестве топовых телефонов, так что пока о… twitter.com/i/web/status/9…

Все так! Особенно было весело когда они сначала дропнули поддержу Asus Zenfone AR, а мы только месяц как купили это… twitter.com/i/web/status/9…

16:35
@backendsecret Про IT работу в Японии интересно будет почитать

Про это было несколько вопросов поэтому сейчас буду отвечать на все вместе 👍 twitter.com/raido_future/s…

16:38
@backendsecret Во сколько лет ты впервые полетел в Японию и из-за чего?

В 20 лет, получил стипендию на учебу в магистратуре, которую потом продлили в PhD, и я надеюсь уже в этом году я та… twitter.com/i/web/status/9…

16:39
@backendsecret Очень интересно насколько трудно переехать в Японию, найти там работу. И нужен ли японский или английского будет достаточно?

Начну пожалуй с переезда, для IT людей очень важно наличие диплома, без него берут только если вы очень редкий и кр… twitter.com/i/web/status/9…

16:45

3) Работать в Яндексе и быть сханченым компанией Rakuten (шучу конечно, но почему-то именно там я встречал много лю… twitter.com/i/web/status/9…

16:45

В плане языка без японского очень тяжело. По-английски говорят либо в оч крупных конторах вроде того же Rakuten или… twitter.com/i/web/status/9…

16:45

(если вы сейчас подумали как это я 5 лет прожил в Японии и не выучил языка, то это потому что я не ходил на языковы… twitter.com/i/web/status/9…

16:45
@rbektour @backendsecret Как там школьницы? 😜

В самое холодное время года продолжают ходить в юбках, как сказал один мой знакомый: "За это японским школьницам от… twitter.com/i/web/status/9…

16:46
@backendsecret А как с ЗП программистов в Японии? В какой-то передаче по телеку (года 3 назад) показывали что у сре… twitter.com/i/web/status/9…

По-разному, навскидку:

Джуниоры – $2-2.5k
Мид левел – $3-3.5k
Сениоры – $4 и выше

Но например я видел в объявлени… twitter.com/i/web/status/9…

16:53

Вообще как я слышал в Японии программистов не так уважают, все еще бытует отношение к программистам как к неким кле… twitter.com/i/web/status/9…

16:53

Говорю что слышал потому что как программист я работал только в местных стартапах и NTT Research (что-то вроде япон… twitter.com/i/web/status/9…

16:53
@rbektour @backendsecret насколько сложно перебраться в нихон?
и как уже спрашивали, как там школьницы?

Ответил чуть ниже twitter.com/AlixBreed/stat…

16:53
@backendsecret вкусно было?

попробовал сырой рыбы, вроде норм :) twitter.com/basileska/stat…

16:53
@backendsecret Скажи ему "кусэ кураэ бака яку", продемонстрируй, что знаешь японский 😅

Он про мой японский уже успел пошутить 🤣twitter.com/ochyai/status/…htwitter.com/AstarothAst/st…b

16:54
@backendsecret Очень интересно было бы послушать про культуру работы в Японии, и есть ли там что делать без знания… twitter.com/i/web/status/9…

Интересный вопрос! Действительно, переработка имеет место быть. Из рассказов и собственного опыта я видел:

1) Кома… twitter.com/i/web/status/9…

17:01

2) Команды которые действительно пашут до последнего и спят под столом. Обычно я это видел в топовых лабораториях я… twitter.com/i/web/status/9…

17:01

3) Когда все приходят когда надо и уходят когда надо – бывают команды которые работают по 7 вместо 8 часов например… twitter.com/i/web/status/9…

17:01
Один лайк – один факт о работе в японской компании.

С переработкой много интересных вещей, например ввели целую акцию Premium Friday где тебя выгоняют с работы вовремя… twitter.com/i/web/status/9…

17:01
@backendsecret плюс непонятная культура и незнание языка сильно оттолкнули. Это предубеждение, можно с этим справит… twitter.com/i/web/status/9…

Это увы тоже имеет место быть, про все различия можно мельком посмотреть тут medium.com/@xevix/gaijin-…

Если вкратце,… twitter.com/i/web/status/9…

17:03

С другой стороны это постепенно пропадает в молодых компаниях, поэтому не все потеряно.

С языком к сожалению тяжел… twitter.com/i/web/status/9…

17:03
@backendsecret Есть ли работающие интерфейсы камера-мозг для слепых и слабовидящих людей?

Я как раз сейчас работаю над схожей темой :)

Меня интересуют т.н. эмпатические интерфейсы, которые используют дру… twitter.com/i/web/status/9…

17:11

Так же недавно читал про контроллер для слабовидящих в VR telegra.ph/Trost-kontroll…

17:11

Вообще использование XR технологий для пользователей с ограниченными возможностями (в виду физических ограничений и… twitter.com/i/web/status/9…

17:11

(некоторые считают этот термин стремным маркетинговым ходом, но тем не менее)

17:11

Например лаборатория где я сейчас работаю в прошлом году представили проект с роботизированым креслом-каталкой с VR… twitter.com/i/web/status/9…

17:11
@backendsecret Можно поподробнее почитать где-то про процесс поступления на магистратуру? В этом году заканчиваю ба… twitter.com/i/web/status/9…

Вообще у меня все началось с вот этой статьи habrahabr.ru/post/128545/

Но если вкратце то, устанавливаете контакт с… twitter.com/i/web/status/9…

17:14

Про подачу и получение MEXT есть очень много материалов и даже форум. Например:

medium.com/@jaynepal/mext…

jref.com/forum/studying…

17:14
@backendsecret Небольшой это сколько сотрудников ушли на автопилоте?

почти все ушли на своих ногах 😂

да нас всего четверо было, обычно такое планируется за месяц, но в этот раз как-то… twitter.com/i/web/status/9…

17:15
@backendsecret вообще оффтоп: слышал инфу, что на нашего СНГшного брата вообще спроса нет среди японочек. это вброс… twitter.com/i/web/status/9…

Вроде как есть спрос :) можно поинтересоваться в соответствующих группах на том же телеграме/фейсбуке twitter.com/frontend_sanya…

17:16
@backendsecret маалооо

Да, в целом говорят что хотите больших прогерских зарплат – едьте в штаты twitter.com/50megatonn/sta…

17:17
@backendsecret Да, читал эту статью по наводке Константина. Это получается надо массово спамить интересующие лабора… twitter.com/i/web/status/9…

Я бы посоветовал сделать так:

1) Определиться с областью исследования
2) Найти интересующие публикации/проекты
3)… twitter.com/i/web/status/9…

17:21

Дальше национальных идти не советую, т.к. в префектурных университетах и меньше плохо с финансированием.

И желател… twitter.com/i/web/status/9…

17:21

Так, мне вставать через 6 часов, так что я временно прекращаю вещать, но обещаю вернуться завтра

17:22

Для тех кто хочет работать с AR вещами могу посоветовать послушать/почитать интервью которое я недавно брал у Марка… twitter.com/i/web/status/9…

17:25

Насколько я понимаю сейчас он открыл новую лабораторию в Новой Зеландии и как раз набирает студентов / сотрудников.… twitter.com/i/web/status/9…

17:26

Думаю не столь важно, главное чтобы был перевод этого самого диплома на японский или хотя бы английский. Как правил… twitter.com/i/web/status/9…

17:48
@backendsecret Насчёт диплома. Должен ли это быть диплом крутого российского вуза или диплома вуза с переферии будет достаточно?

См предыдущий твит twitter.com/elephmoon/stat…

17:48
@backendsecret хорошо говоришь на японском?

Увы как я уже писал раньше, довольно паршиво, на уровне N5-N4 twitter.com/ruxeg/status/9…

17:53
@backendsecret Тогда можно и про налоги немного рассказать

С этим у меня немного сложнее, тк будучи студентом на государственной стипендии я платил налоги только с подработок… twitter.com/i/web/status/9…

18:01
@backendsecret вопрос из Haskell чата. Олег Киселёв в Цукубе ещё преподает?

Увы пока не встречал такого. Там университет гигантский, по размеру примерно как UCLA, нужно брать автобус чтобы об… twitter.com/i/web/status/9…

18:20
@backendsecret Похвастайтесь механической клавиатурой!

Пока свой фото архив ковырять лень, но есть видео с моих митапов, которыми я очень горжусь :) twitter.com/Kevroletin/sta…

18:24
@backendsecret не понимаю в чём прелесть механических клавиатур :(

Как правило тактильность и кастомизация. У хобби любителей есть целая наука о том какие комбинации корпуса / свитче… twitter.com/i/web/status/9…

18:38

Есть еще те кто разрабатывает собственные PCB, например для митапа мы делали ограниченный тираж PCB от создателей T… twitter.com/i/web/status/9…

18:38

А еще раздавали PCB от @TheVanKeyboards pic.twitter.com/NNMllEXlBX

18:38

Рандомные фото моих клавиатур с телефона pic.twitter.com/ZnocGjABHG

18:41

И звук тоже! Настоящие фанаты могут на звук отличить линейные свитчи от тактильных, розовые мх от красных, Топре от… twitter.com/i/web/status/9…

18:50
@backendsecret разве нельзя кастомизировать другие типы?

В зависимости от технологии, просто допустим для тех же Cherry MX и их клонов больше т.н. aftermarket вариантов. Се… twitter.com/i/web/status/9…

19:02

С другой стороны я помню как мой друг Энди из @keychatter описывал ощущение печатания на Cherry ML как «битье пальц… twitter.com/i/web/status/9…

19:02
@backendsecret Где такую разноцветную купить?? :) 4я фотка

Это Planck от @OrtholinearKB, а крышечки – 1976 SA (вроде как их сейчас только на reddit mechmarket можно достать)… twitter.com/i/web/status/9…

19:11

Вообще меня хлебом не корми – дай про механические клавиатуры рассказать. Постараюсь эту неделю держать себя в руках 😅

19:14
@backendsecret Да не, ни в чем себя не ограничивай. Нестандартные оффтоп темы самые интересные.

Тогда завтра я расскажу вам историю о том как я увез открытую бадью с 30л жидкого азота на убере из Комптона twitter.com/easymnyeasylif…

19:23

Всем привет, сегодня с вами я, - Дмитрий Симонов, технический директор drimsim.com. Я расскажу про то,… twitter.com/i/web/status/9…

9:16

Как стать тимлидом или техдиром? Кроме базовых гигиенических правил о профпригодности, необходимо общаться практиче… twitter.com/i/web/status/9…

9:24

Продукт - меняет мир и делает его лучше. В него вкладывают усилия разработчики, маркетинг и продаваны. Ваша обязанн… twitter.com/i/web/status/9…

9:33

Эволюция - та ещё сука и на каждый действительно классный продукт приходится с несколько десятков невыстреливших ги… twitter.com/i/web/status/9…

9:35

Вот пример хорошего продукта, которые изменил мир: Яндекс-Такси полностью переформатировал рынок такси. Он настольк… twitter.com/i/web/status/9…

9:40

После выбора удачного продукта и настройки коммуникаций с окружающим миром вы должны обеспечить собственную проакти… twitter.com/i/web/status/9…

9:55

Проактивность, - ключевое профессиональное качество для внутреннего или внешнего найма тимлида. Это простое бинарно… twitter.com/i/web/status/9…

10:12

Хороший пример сравнения проактивного сотрудника от реактивного: "Барин! Почему ты мне платишь всего пять копеек, а… twitter.com/i/web/status/9…

10:57

Проактивный человек - человек, который осознал свои глубинные ценности и цели, действует в соответствии со своими ж… twitter.com/i/web/status/9…

11:30

Т.о. проактивность, - это работа мысли, формирующей внутренний мир, который вы синкаете с внешним посредством комму… twitter.com/i/web/status/9…

14:14

Важный момент, в своём желании нанести счастье окружающим, - быть конструктивным и нетоксичным. Тимлид - это тот, к… twitter.com/i/web/status/9…

14:48

Договариваться со всеми непросто, - каждый раз требуется сводить в единую систему интересы всех и при этом не потер… twitter.com/i/web/status/9…

14:50

Тимлидам непросто: требуется строить отношения с коллективом, постоянно учиться, терпеть относительно невысокую зп.… twitter.com/i/web/status/9…

15:19

Всё самое хорошее должно начинаться с Тебя самого и Твоего внутреннего мира. Упражнение для самопроверки - готовнос… twitter.com/i/web/status/9…

15:23

# Вторник 442 твита

Рецепт легко развиваемого сервиса: бек и фронт должны развиваться независимо, общаясь друг с другом через json.

9:45

Таким образом product owner может развивать интерфейсы в любую сторону по мере проверки гипотез.

9:47

Задача же project manager сводится к правильному обеспечению технической инфраструктуры и слаженной работы админов, беков и фронтов.

9:49

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

9:51

В жизни все сложнее. Команды, которым проект достался готовый, тратят все силы на его познание и пере ориентирование.

9:56

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

9:57

Здесь мы сталкиваемся с разделение.м команд/сотрудников на разведчиков и инженеров. Первые проложат тропинку через любую пропасть.

10:00

Вторые (инженеры) превратят эту тропинку (хоть как-то работающий продукт) в широкополосное скоростное шоссе!

10:00

Работа разведчиков и инженеров отличается кардинально. Легко “сжечь” инженера поставив его на позицию разведчика.

10:02

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

10:09

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

10:21

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

10:23
@backendsecret не лучше ли искать золотую середину? Переделывать всегда дороже, чем делать с нуля
11:37

.Конечно же всегда такая середина ищется, @Borovikov. Как правило настоящая команда формируется только после 1-2х проектов.

11:37
@backendsecret ок, расскажи про управление такой командой. Ведь придется работать вместе людям с диаметрально противоположными взглядами.
11:39

.Они идут след в след друг за другом, @Borovikov. Разведчик совершил подвиг, потом приходит ворчливый инженер и всё перестраивает :)

11:39
@backendsecret разведчики ребята это вроде практикующих проектировщиков?
11:40

.Это чапаевцы, @vladimore - шашки наголо и вперёд в атаку. "Тестировать будем в продакшне, выкатывай!"

11:40
@backendsecret всегда спрашиваю питонистов: зачем Питон?Какие задачи можно решить с его помощью, которые нельзя или сложнее решить Perl'oм
11:41

.Я люблю "американо", а вот супруга предпочитает "латте", @dcromster. И то и другое - кофе. Но строго говоря, мировой тренд - это питон.

11:42
@backendsecret И потом получится silos где будут либо хаки на фронтенде, либо бакенд подогнутый под требования одного фронтенда.
11:43

.Вопрос интеграции решаются на скрам-декомпозициях, @freiksenet_ru. Объяснять, что это такое, требуется?

11:43
@backendsecret "правильному обеспечению технической инфраструктуры" это о чем? можно несколько раскрыть тему?
11:45

.В общем видел, @ivanenok, речь идёт об этаких перилах, которые ведут разработчика от получения декомпозированной задачи к её тестированию.

11:45
@backendsecret боюсь ситуация когда ворчун не просто переделывает, а устраивает скандал "разведчику" довольно частая. да и наоборот, бывает.
11:47

.Это проблема проджекта, @Borovikov. Как правило, после первых же побед команды, все конфликты уходят, - результат-то налицо!

11:47
@backendsecret расскажи плиз, какие видишь пути разрешения конфликтов
11:49

.Я убеждённый сторонник того, что сама работа и её результаты оздоровляют обстановку, @Borovikov. Есть результаты, - все довольны.

11:50
@backendsecret хм, чаще всего, манагеры далеко не спецы в построении процессов разработки, они по сути арбитры и ревизоры, имхо
11:51

.Менеджеры, @ivanenok, делятся на инвесторов, продактов и проджектов. Инвестор даёт бабло. Продакт - продаёт продукт. Проджект - строит.

11:51
@backendsecret я думал что нода в частности и JS в общем мировой тренд
11:53

.На фронте, @dcromster, да. Нода одна из первых. Но бек ни кто не отменял.

11:53
В @backendsecret опять говорят, что скрам работает. Как же так, на моем он исключительно не работал и был максимум поводом биллить за час.
12:00

Это просто холивор, @freiksenet_ru.

12:00
@freiksenet_ru @backendsecret которые билятся: "у нас сегодня был эстимейшн на 6ч и 20 чел, вот вам счет — у нас скрам" ну охуеть теперь
12:15

Это несвязанные вещи, @yuritkachenko @freiksenet_ru. Скрам - это итерационное улучшение работающего продукта, а не способ оценки работ.

12:15
@backendsecret @freiksenet_ru ой да ладно, а христианство это добрая религия.
12:18

Смените религию, @yuritkachenko @freiksenet_ru :)

12:18
@backendsecret ок, но у меня совсем другой опыт. у разных людей разные представления о результате.
12:19

Поделись, @Borovikov! Возможно у меня был аналогичный. Это вообще могут оказаться семейными граблями, - на них ещё мой дедушка наступал!

12:19
В @backendsecret опять со своим скрамом, тьфу
12:20

Я ещё знаю слово "канбан", @iamale_ru :) (контрольный выстрел в голову)

12:20
@backendsecret о да! Только инженер не всегда доволен постоянным переписыванием ;) @Borovikov
12:21

Меняй инженера, @dcromster @Borovikov.

12:21
@backendsecret @ivanenok а в прод эти перила не ведут?:) или речь о тестировании продакшном:) bnj.com/blog/cowboy-co…
12:31

Я ограничен в количестве символов в твите, @yevvers @ivanenok. Разумеется ведут.

12:31
@backendsecret строит девелоперов? :) очень жаль проекты, где PM насаждает процесс и инструменты удобные ему, а не команде.
12:33

Строит продукт, @ivanenok. Это очень плохая практика ради крассного словца перевирать то, что я пишу. Не все поймут!

12:33
@backendsecret получается конфликт интересов. безконфликтные комманды обычно на одной волне. все думают как менеджер или как инженер.
12:37

У всего есть общий знаменатель, @Borovikov - получаемое бабло. Введите премиальную систему Водянова, чтобы знаменатель был виден ещё чётче.

12:37
@backendsecret имхо это уже область ответственности дев-лида, а не ПМа. Ввиду его не полной компетенции в таких вопросах
12:39

Считайте, что я имел в виду дев-лида, @Xedin.

12:39
@backendsecret я там специально поставил смайл. мне сложно представить программера без чувства юмора, можно с ума сойти :)
12:40

Не вопрос, @ivanenok :)

12:40
"@backendsecret найти отдельно разведчиков и отдельно инженеров намного проще, чем универсалов". Как понять, кто есть кто, во время поиска?
13:33

Разведчики, @meAmidos, уверены, что мы живем в лучшем из миров. Инженеры опасаются, что так и есть!

13:35
@backendsecret гляжу на наш продакшен и вижу, что у нас одни разведчики :( как "продать" ПМу идею про инженеров? Спеть про баги в проде?
13:36

Спой, @vladimore, про Стива Джобса и клиентов. Деньги второй раз дают только хорошему сервису с их т.з.

13:39
@dcromster @backendsecret тренд - это то, для чего тебе здесь и сейчас удалось собрать команду. Есть питонисты,то и питон будет трендом.
13:40

Здесь важно держать в головах, @de_gis, какие команды удалось собрать большим компаниям.

13:41
@de_gis можно же искать команду целенаправленно: вот эту задачу лучше решает питон, вот эту Node... разве нет? @backendsecret
13:41

Нет, @dcromster. Опираться надо на собственный опыт. Используй свои сильные стороны!

13:42
@backendsecret хорошо, сферический пример: работаем с текстом. Перл на это заточен, Нода -нет. На ней можно сделать тожесамое, но стоит ли?
13:45

Люди, @dcromster, это тоже часть сервиса. Такая же, как оборудование или технологии.

13:46
@dcromster А я вообще не понимаю зачем всё это нужно, есть жеж Ruby :) @de_gis @backendsecret
13:49

Разумеется, @POS_troi! Если есть в наличии рубисты, пиши на нем! @dcromster @de_gis

13:49
@backendsecret не соглашусь,это больше ф-ции техлида.А PM он управляет РЕСУРСАМИ,в т.ч.и людскими.PM в теории м.б. бараном в разработке
13:52

Есть и такой подход, @de_gis ) В этом плане все верно!

13:53
@backendsecret, как применить этот афоризм на практике? ;) Какой ключевой вопрос / ответ на собеседовании?
14:35

Инженер будет рассказывать про внедрённых технические фишки, -много и с упоением, @meAmidos. Разведчик - про достигнутые бизнесом победы.

14:35
@backendsecret и распри из-за денег только ухудшают отношения в коллективе, это уже проверено.
15:37

Почитайте тут, @Borovikov: megamozg.ru/post/1736/

15:37
@backendsecret @Borovikov Программисты таки не ямы копают. Обьективно оценить качество работы программиста сложно.
15:44

Возьмите 2х программеров, @freiksenet_ru, о они совершенно точно определяться друг с другом, кто из них мастер, а кто подмастерье @Borovikov

15:44
@backendsecret эм, ужас какой-то )) Я скорее согласен с Джоэлем, все это от лукавого:
local.joelonsoftware.com/wiki/%D0%9C%D0…
15:50

Джоэль, разумеется авторитет, @Borovikov. Но какие из этих методов вы тестили в реале? Я вот делюсь своим опытом. А вы?

15:50
@backendsecret особенно страдают "инженеры". их вклад долгосрочен и не очевиден. в итоге весь куш у "разведчиков"
15:57

Хороший аргумент, @Borovikov. Буду думать.

15:57
@Borovikov @backendsecret такая проблема возникает когда команда разношерстная в плане опыта и сами отношения ы тиме нездоровы.
16:13
@backendsecret @Borovikov мы устраивали занятный эксперимент. оценивали задачи как в planning poker, и соответсвенно делили деньги проекта.
16:13
@backendsecret @Borovikov надо заметить что эффект был весьма занятным. оценки стали несколько точнее и браться стали за доступные задачи.
16:13
@backendsecret @Borovikov но дело было в начале 00х и концепт был далеко не аджайловским. простое доморощенное изобретение оч понраивлось.
16:13
@backendsecret очень интересный поток мыслей был :) А я из какого лагеря? )))
18:17

Ты, @xuntaka, отдельный класс под названием "Охуенные Байбара Егор" :)

18:17
@backendsecret Почему не используете elasticcashe, а сами редис ставите?

Был плохой опыт,

0:42
@backendsecret "Gett reference program:
приведи друга - получи 100 000 рублей!🎉Hr только написала. Есть ли у вас во… twitter.com/i/web/status/9…

А ты думаешь HR хатеры меньше стоят? Кстати мне как работнику как то дали 1000$ за то что друга привел и он прошёл… twitter.com/i/web/status/9…

0:53
@backendsecret А Redis Cluster пробовали? сами или в EC?

Нет не пробывали, пока не надо было twitter.com/bardadymchik/s…

10:25
@backendsecret Protobuf какой-нибудь можно взять, если тебе важна скорость, а схема нечасто меняется

Да протобаф тоже шустрый, но там возни больше twitter.com/erthad/status/…

10:26
@backendsecret Postgres в docker запускаете? Есть какие-то официальные за и против от разработчиков?

В докере запускаем в CI и в stage, вот от туда жалобы на скорость поднятия. От разрабочиков только жалобы на миграц… twitter.com/i/web/status/9…

10:28

Кстати life hack если запускать пострес в докере на машинах i3 в амазоне то он стартует за 3 минуты, на обычных m4 20 минут

10:29

Всем доброе утро.
Одна из привелегий работать в IT в Израиле это вставать без будильника(это не помогает от пол год… twitter.com/i/web/status/9…

10:31

В Израиле почему то програмисты, стартапы вся индустрия называет high tech а IT называется это больше help desk.

10:32

Когда работаешь в компанией которая занимается такси, можно понимать погоду на улице не вставая с кровати, просто п… twitter.com/i/web/status/9…

10:38

По просьбам желающих выбран первой темой кубернетес(демократии или как там ее)

11:06

Вообще кубернетес это оркестрация для контейнеров, но это везде написано. Если другими словами то это платформа по… twitter.com/i/web/status/9…

11:08

Он еще умеет делать так чтоб твой сервисы всегда жили.
А главная что это все работает быстро, то есть надо еще 5 ин… twitter.com/i/web/status/9…

11:10

Он не идеальный, есть баги, иногда ломается, но из 3 решений мной провереных это на поряжок лудше
Проверял я ECS, swarm, k8s

11:12

Все сложность с кубом это его установка. Оно бывает разная, в амазоне, на чистом железе, в гугле и так далее.
Амазо… twitter.com/i/web/status/9…

11:14

Пока амазон спали, опен сорсе общество написало решения для установки и управления кубернетесом в амазоне.
Называет… twitter.com/i/web/status/9…

11:17
@backendsecret А как же EKS? Он хоть и beta, но уже есть.

Он preview... Пока не готов будет через пол года, это их пробуждения от сна twitter.com/vlazarenko/sta…

11:18

Все yaml с настройками идут на s3 и там хранится state.
Другой вариант можно получить это как терраформ файлы.

11:19
@backendsecret Kops к сожалению отстаёт по версиям куба нешуточно. Что удручает. А так тул весьма неплох.

Да примерно - 1 всегда twitter.com/vlazarenko/sta…

11:19
@backendsecret вот это интресно, как вообще устанавливать k8s ;), нужно минимум 3 ноды? я пробовал minikube на mac… twitter.com/i/web/status/9…

Новый докер идет с кубом вместе работает без vm twitter.com/lisovskyvlad/s…

12:48
@backendsecret Swarm до прода доходил, или просто игрались?

Игрались и проверяли возможности twitter.com/KostyaEsmukov/…

12:49
@backendsecret А что именно в стекдравере не устраивает?

После перехода в гугл он тормозит.
Не совсем дружит с кубом twitter.com/tru_pablo/stat…

12:50

Ок после того как kops сохраняет yaml на s3, через него можно поднять autoscaling group в амазоне.
Машины поднимают… twitter.com/i/web/status/9…

12:52

Kubelet-это бинари который бежит демоном на машине и управляет всем
Docker
Iptables и так далее

12:53

С этого момента все остальное уже в контейнерах.
На мастерах поднимается etcd, apiserver dns
На всез остальных маши… twitter.com/i/web/status/9…

12:55

Ectd в кубе это база данных, там хранятся все настройки.
Без нее все плохо
Кстати время ответа и живучесь очень сил… twitter.com/i/web/status/9…

12:58
@backendsecret кроме datadog что-то планируете проверять? или их многомиллионный PR делает свое дело?

Newrelic infra
Signal fx twitter.com/tru_pablo/stat…

13:00

Apiserver в кубе это вебсервер, который весит поверх etcd и в него стучатся все ноды за настройками, командами
Есть… twitter.com/i/web/status/9…

13:07

Pod - это что то на подобие докер композ
Набор одного или более контейнеров бегущих вместе, можно между ними папки… twitter.com/i/web/status/9…

13:11

Так что pod это самый маленький обьект в кубе.
Выше него есть replica set. Это обьект проверяет что есть нужное кол… twitter.com/i/web/status/9…

14:24

Через deployment можно указать все что надо чтоб поднять сервис аппликации в кубе.
Там можно указать как делать деп… twitter.com/i/web/status/9…

14:26

Есть еще обьект daemon set, то же самое что deployment в настройках кроме того что не указывается количество реплик… twitter.com/i/web/status/9…

14:28

Есть хорошая интеграции куба с амазон если ставить все через kops.
Можно вообше в амазон не заходить все будет,
Доб… twitter.com/i/web/status/9…

14:35
@backendsecret У нас сварм в проде... Гораздо лучше k8s

Может быть если ва не надо
Автоскалин машин и подов
Подключения volume
Настройка dns
И много других вещей twitter.com/DmitriyLyalyue…

14:37
@backendsecret Ты о глобальном сервисе в сварме? При добавлении ноды сервис будет задеплоен на эту ноду сразу после… twitter.com/i/web/status/9…

Нет если у тебя есть 3 контейнера одного сервиса и по cpu надо больше, а других не надо больше twitter.com/DmitriyLyalyue…

14:59

Поды в кубе между собой общаются через обьект который называется service, он по таг знает какие поду его я балансит… twitter.com/i/web/status/9…

15:15
@backendsecret docs.docker.com/compose/compos… Ну и плюс replicas. Или я опять не верно понял?

Ну вот делать плюс репликам ты сам делаешь или он автоматом умеет когда у тебя cpu 70% на 3 контейнера добавить еще… twitter.com/i/web/status/9…

15:28

Перейдем на другую тему по опросу
а то я так понил куб на пальцах не обьяснить

CI/CD/devops tools

15:44

Начнем с Jenkins
Швейцарский нож для всего что хочется
куча плагинов/API/галочек настроек и так далее
можно делае… twitter.com/i/web/status/9…

16:31

Travis-ci полезная штука для тестов
Плюс легкой настройвать в самом репо для любого програмиста
даешь команде дос… twitter.com/i/web/status/9…

16:38

packer
штука умеет строить image для амазона(AMI) и для других
говоришь в json мне надо машина такого размера, на… twitter.com/i/web/status/9…

17:13
@backendsecret Интересно чем k8s лучше swarm mode. Меня в swarm mode привлекает простота... Хочу понять, чем я за нее буду расплачиваться

@backendsecret
фичерым
поддержка в опен сорс
кубернетем сложен в установки(с kops проще) потом все просто даже о… twitter.com/i/web/status/9…

17:28
@backendsecret кстати, я не очень понимаю, когда и как kubernetes будет поддерживаться в Docker CE? Т.е. они просто… twitter.com/i/web/status/9…

да у меня есть на маке docker там есть опция на kubernetes локальный работает на ура twitter.com/dimaip/status/…

17:33

кто еще не видел kubernetes вместе с docker на маке
работает норм. Вместо minkube без VM pic.twitter.com/BYunMZfTJf

17:34

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

20:23

Настройки в гитхабе у нас такие.
На главные бранчи не кто не пушает толькл делает pull request. Все такие PR проход… twitter.com/i/web/status/9…

20:25

Компании которые хотят делать микросевисы должны привести минимум траты время на создание нового сервиса. Часто это… twitter.com/i/web/status/9…

20:27

Очень полезно когда у вас десятки сервисов иметь одно место где лежат их имена настроки всякие. И желательно чтоб э… twitter.com/i/web/status/9…

20:30

Например хотите создать на ходу конфигурации куба для все сервисов.
Делаем темплет для настроек
Идем в API получаем… twitter.com/i/web/status/9…

20:33

Настройки меняются в одном месте.
Новый сервис появляется в api и тут же он будет везде работать. Кстати там же мож… twitter.com/i/web/status/9…

20:34

Life hack
Можно в jenkins сделать selectbox выбор сервисов как параметр. Список тянется с api динамический, и так м… twitter.com/i/web/status/9…

20:39
@backendsecret Очень полезно посмотреть ещё и сюда: github.com/jdauphant/awes…
10:04
@backendsecret Если использовать conda, можно в одном yaml файле и питон, и пакеджи, и библиотеки описать и ставить… twitter.com/i/web/status/9…
10:11

Nginx. Если вы используете его с докером, то nginx-proxy упрощает жизнь.
В него прокидывается сокет докер демона, ч… twitter.com/i/web/status/9…

10:25

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

10:25

... т.к. живых апстримов нет. Приходится его релоудить после деплоя аппа, чтобы он заново отрезолвил домены из апст… twitter.com/i/web/status/9…

10:25

Также к этой связке легко добавить поддержку LetsEncrypt с помощью github.com/JrCs/docker-le…

10:25

Только скейлить сетап nginx+LetsEncrypt сложнее: нужен общий стор между нодами (челленджи, сертификаты). Да и вообщ… twitter.com/i/web/status/9…

10:25

Также LetsEncrypt предлагает 3 вида челленджей: HTTP, DNS, TLS-SNI. Можно использовать DNS челлендж с одной машины… twitter.com/i/web/status/9…

10:25

Кстати, TLS-SNI челлендж планируют совсем убрать, т.к. легко получить сертификат для домена, который не контролируе… twitter.com/i/web/status/9…

10:25

Альтернатива – traefik.io . У него есть поддержка распределенного LE через K-V store. github.com/containous/tra…

10:25

Если еще не читали статью о том, как в StackOverflow год назад внедряли https – очень рекомендую. Про один wildcard… twitter.com/i/web/status/9…

10:25
Спринт на три недели я ласково зову «водопадик». twitter.com/backendsecret/…
10:34
@backendsecret Если сервис только на одной машине, то для прода это вполне весомое условие, согласен. А падение стейджа чем так критично?

Падение стейджа не критично. Но чем ближе среда прода к среде стейджа, тем меньше риск положить прод. Особенно с ан… twitter.com/i/web/status/9…

12:02
@jyraff @backendsecret У нас в рельсе другая проблема с Docker'ом: чтобы все это дело отдавалось nginx'ом, приходит… twitter.com/i/web/status/9…

В Django тоже такая особенность есть. Если uwsgi еще умеет статику раздавать из контейнера, то Django Channels – ни… twitter.com/i/web/status/9…

12:06

Почему nginx, а не traefik или даже голый веб апп:

12:14

1. Nginx очень качественный и быстрый. Даже я, такой “везучий”, не сталкивался с багами ни разу.

12:14

А вот issue трекер traefik сразу отпугивает: github.com/containous/tra…
Поищите даже по таким базовым вещам как gzip,… twitter.com/i/web/status/9…

12:14

2. Все-таки иногда нужно переопределять локейшоны. Редиректы расставить, заголовки кеширования на статику, robots.t… twitter.com/i/web/status/9…

12:14

3. Nginx может в microcaching: во время наплыва можно врубить кеширование ответов аппа для гостей. У нас снижало на… twitter.com/i/web/status/9…

12:14

Только осторожно с геоипом, куками и заголовками. Надо знать, от чего зависят ответы аппа. И апп не должен слать se… twitter.com/i/web/status/9…

12:14

Если в Django это практически не нужно (проще кеширование из Django через redis заюзать), то для ноды с Server Side… twitter.com/i/web/status/9…

12:14

4. Nginx (и -proxy + LEcompanion) умеет OCSP stapling из коробки. keycdn.com/support/ocsp-s…

Traefik не умеет… twitter.com/i/web/status/9…

12:14

5. Nginx замечательно работает с http/2. Не хватает только server push. Но, честно, пользы от него мало: чтобы брау… twitter.com/i/web/status/9…

12:14

CloudFlare умеет h/2 push. По моим экспериментам, если пушить бандлы вебпака (которые иначе прекрасно кешируются),… twitter.com/i/web/status/9…

12:14

А может кто-то все-таки успешно использует h/2 push? Расскажите!

12:14

CORS исторически у нас всегда был в nginx. Как-то так: enable-cors.org/server_nginx.h…
На первый взгляд вроде всё мило: эко… twitter.com/i/web/status/9…

12:21

На второй не очень:

12:21

3. OPTIONS запросы не доходят до аппа. Django Rest Framework там возвращает инфу по эндпоинту, например, которая мо… twitter.com/i/web/status/9…

12:21

Мониторинг. Минимальный набор у нас это: nginx access logs + Sentry + Zabbix + uptimerobot.com . Настраивае… twitter.com/i/web/status/9…

20:21

Zabbix с версии 3 стал очень хорошим. Появилось TLS шифрование между агентом и коллектором (теперь VPN/LAN для них… twitter.com/i/web/status/9…

20:21

Из коробки легко настраиваются алерты в почту. Можно настроить хоть в телеграм: gist.github.com/KostyaEsmukov/…

Агенты раз… twitter.com/i/web/status/9…

20:21

Но добавлять кастомные метрики в заббикс неудобно. Нужно и в агент конфиг дописать, и в вебморду template сделать (… twitter.com/i/web/status/9…

20:21

Sentry мы очень любим. С Python/Django интеграция вообще прекрасная. По любому непойманному исключению есть куча ин… twitter.com/i/web/status/9…

20:21

Есть Cloud версия. Но надо иметь в виду, что несмотря на наличие встроенного data scrubber на клиенте, часть секрет… twitter.com/i/web/status/9…

20:21

Клиент Sentry для JS чуть похуже питоновского. Инфы отсылается меньше. Также у них их две версии: "raven-js" для бр… twitter.com/i/web/status/9…

20:21

Prometheus хорош. Прожорливый по памяти только, да и разворачивается тяжеловато: куча отдельных компонентов (сам pr… twitter.com/i/web/status/9…

20:21

Из аппа метрики можно экспортить так:

20:21

Если между прометеусом и экспортерами нет защищенной сети (у нас разные проекты мониторятся), то в доках рекомендуе… twitter.com/i/web/status/9…

20:21

Мы спрятали за nginx с клиентскими сертификатами. Работает замечательно, но ансибла вокруг этого всего многовато.

20:21
@backendsecret У вас неправильное противопоставление. Инженерные задачи всегда подразумевают требования бизнеса. В… twitter.com/i/web/status/9…
0:16
@backendsecret При это я считаю глупостью, когда говорят, что инженер принимает бизнес-решения. Он их не принимает,… twitter.com/i/web/status/9…
0:16
@backendsecret Если у вас девелоперы дешевле девопсов, то у вас проблемы. Обслуживание должно обходиться дешевле ра… twitter.com/i/web/status/9…

Хаха, у всех девелоперы дешевле девопсов (если вы не называете девопсами релиз инженеров). Не верите? Почитайте ста… twitter.com/i/web/status/9…

10:25

Девопсы так дорого стоят потому что бизнес видит что введение этой роли решает конкретные проблемы. Из минусов – ха… twitter.com/i/web/status/9…

10:26

И вот тут я начинаю не понимать: инфраструктура интереснее бекенда хотя бы потому что пилить формочки под какой-то… twitter.com/i/web/status/9…

10:33

И я бы не сказал что инфраструктура\девопс это сложно. Нет, это даже проще.

(Я не беру в расчет ребят которые по… twitter.com/i/web/status/9…

10:35
@backendsecret Чот у вас какое-то очень узкое представление о том что такое бэкенд.

Ну или у людей узкое представление о том что такое девопс :) Например: twitter.com/russianlagman/… twitter.com/feelthefrog/st…

10:36
@backendsecret Супердинамичная отрасль с десятом покрытых мхом инструментов. Сколько лет паппету, ансиблу? Не тянет… twitter.com/i/web/status/9…

Достойно :) Хотя последний раз использовал шеф года три-четыре назад. Сейчас же везде контейнеры, правильно? twitter.com/russianlagman/…

10:57
@backendsecret Девелоперы делают условный Продукт, пилят фичи. А девопсы за ними подчищают, фиксят баги. Так себе деятельность.

А QA пишет тесты вместо программистов. Алло, звонили 90-е, просили вернуть их орг. структуры обратно. twitter.com/alcotaran/stat…

10:58

Вообще звучит очень забавно: “Подчищать за программистами”. Некоторые мои знакомые сисадмины примерно так описывают свою деятельность.

11:01
@backendsecret Стейтфул сервисы никто не отменял, их тоже надо обслуживать. Сборка контейнеров мало чем отличается… twitter.com/i/web/status/9…
11:03

Ну вот, мне накидали как в девопсе все тоже плохо. А я хотел попереманивать людей между специальностями.

11:03
@backendsecret Писать скрипты для инфраструктуры это примерно как собирать Лего конструктор, конечно тоже увлекател… twitter.com/i/web/status/9…

Вообще у меня как-то в моих девопс командах программистов обычно больше чем сисадминов\опсов. Интересно почему? twitter.com/radium73/statu…

11:05
@russianlagman @backendsecret то ли дело говнокод на пхп, да? сидишь с 95 года, ковыряешь очередную legacy crm или… twitter.com/i/web/status/9…
11:05

Хотя если вы спросите лично меня, то вот совсем уж имхо, но я люблю плоские структуры с шарингом опыта между людьми… twitter.com/i/web/status/9…

11:10
ахахахахахаха!!!! twitter.com/backendsecret/…
11:25
@backendsecret А кому нужна эта инфраструктура, 99% времени уходит на написать приложение, 1% скрипты/контейнеры чт… twitter.com/i/web/status/9…
11:27

Вообще так трогает наивность с которой люди рассуждают о том как в инфраструктуре все просто :) Интересно, как там… twitter.com/i/web/status/9…

11:28
@borovikov @backendsecret Ну фидбек он вполне имеет право возвращать бизнесу, и если бизнес не совсем дремучий, то… twitter.com/i/web/status/9…
12:10
@radium73 @backendsecret А то, что на бэке у вас своего кода тоже двадцать строчек, а все остальное за вас написали… twitter.com/i/web/status/9…
12:10
@russianlagman @backendsecret как умение freebsd 10 лет назад влияет на знание современных практик и технологий? в… twitter.com/i/web/status/9…

Вот, кстати, отличное мнение. Часто люди если запускали джейлы считают что они знают о инфраструктуре все. А мир ме… twitter.com/i/web/status/9…

12:11
@AstarothAst @backendsecret Кто лучше автора знает что автор хотел сказать? Как там его творение должно запускаться… twitter.com/i/web/status/9…

Ну вот именно. Зачем переносить кучу знаний о внутреннем устройстве кода между головами и между специальностями? Ве… twitter.com/i/web/status/9…

12:12
@BeiZero @truetobetrue @backendsecret Если у вас на проекте уходит 99% времени на скрипты развёртывания, то вы делаете что-то не то и не так
12:17

Хм. Давайте введем разные названия для разных девопсов?

Например девопс-сисадмин, девопс-оператор, девопс-инфраст… twitter.com/i/web/status/9…

13:17

Все что я говорил вчера сводится к тому что девопс сейчас супер широкий тайтл, который можно заменить на “решатель… twitter.com/i/web/status/9…

13:22

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

13:23

Вернемся к мониторингу – девелопер должен мониторить код не только потому что он лучше знает код и имеет больше рыч… twitter.com/i/web/status/9…

13:31
@vgn_xplrr @radium73 @backendsecret Да я не против, просто немного подгорает, когда говорят что есть настоящие прог… twitter.com/i/web/status/9…

Стой, я думал что девелоперы используют труд маркетологов и сейлов. Потому что без них никто бы не знал о продукте. twitter.com/alexgsh404/sta…

13:33
@backendsecret Потому, что поддерживать инфраструктуру проще, чем ее наполнять. В моей практике было 5 сисадминов н… twitter.com/i/web/status/9…

Вообще я о таком только слышал. И часто это симптом оторванности сисадминов от бизнеса. Потому что реальный бизнес… twitter.com/i/web/status/9…

13:44
@backendsecret Вопросы реакции на проблемы - проблемы девопсов. Девелоперы пилят говно, девопсы деплоят и живут в э… twitter.com/i/web/status/9…

Отличная тема, но вообще опсы редко сами могут пофиксить проблему. И чаще дергают девелоперов, чем фиксят что-то са… twitter.com/i/web/status/9…

13:46
@backendsecret Что значит мониторить код?

Блин, я опять. Мониторить сервис. Я всегда имею ввиду мониторить сервис :) twitter.com/hairyhum_/stat…

13:50
@backendsecret Хуевые значит девопсы. Главное умение девопса - быстро разгребать говно. В том числе и в коде бизнес… twitter.com/i/web/status/9…

Всегда интересно, откуда люди берут уверенность в своих словах? Ну то есть вот парень на 100% уверен в том что конк… twitter.com/i/web/status/9…

13:55
@backendsecret Почему вообще девопсы должны фиксить баги продукта, если они работают с инфраструктурой? Может тогда… twitter.com/i/web/status/9…
13:59
@truetobetrue @backendsecret О, ну давайте про девопс. Прогер пишет код, который взаимодействует с redis, oracle, l… twitter.com/i/web/status/9…

Тут такая штука, что да, в проде все по другому. Надо ли девелоперу при разработке учитывать что код будет запускат… twitter.com/i/web/status/9…

14:12
@backendsecret Так тут (как всегда!) вопрос баланса - начнешь думать о всем подряд, и не сделаешь даже того миниму… twitter.com/i/web/status/9…

Тут хитрая штука – делать надо минимум который нужен. Но как проще сделать этот минимум: ставя задачу одной команде… twitter.com/i/web/status/9…

14:23
@backendsecret Поэтому, наверное, стоит рассмотреть вариант пересборки команды, что б в ней были, как специалисты,… twitter.com/i/web/status/9…

Да, мне очень нравится такая структура сквадов. Я впервые о них услышал в докладах от Spotify… twitter.com/i/web/status/9…

14:30

Впрочем, в граммарли мы реализовали что-то подобное пару лет назад. Не знаю как сейчас, может что-то уже и изменило… twitter.com/i/web/status/9…

14:31

Вы в организации разделяете логи как часть UI и логи как набор событий? Если вы пишите логи что б было удобно из ко… twitter.com/i/web/status/9…

16:14

По-хорошему, чтобы написать лог надо спросить себя - может ли мне понадобится информация о этом событии в будущем?… twitter.com/i/web/status/9…

16:16

То есть вместо:
INFO: start super method for user qwe123
INFO: super method end without mistake

можно попробоват… twitter.com/i/web/status/9…

16:21

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

16:21
@backendsecret тут ведь как - если разработчик не занимается локализацией проблем - то ~его надо сжечь~ он рассужда… twitter.com/i/web/status/9…

Ну этим он усложняет локализацию проблем для опсов или кто там ей занимается?

Я думал что мы уже договорились о т… twitter.com/i/web/status/9…

16:23

Организация бизнес ролей по знаку зодиака. Недорого. twitter.com/sleem_muzzy/st…

16:32
@backendsecret @truetobetrue А. Тогда вопросов больше не имею. Да и вообще, судя по всему, человек не сталкивался с… twitter.com/i/web/status/9…
16:48
@backendsecret быстро получать фидбек. сам наговнокодид - сам огрёб. я этот подход продвигаю в своём проекте:)
19:34

Что-то срач о том что должен делать\не делать девопс не утихает со вчера. А вроде твиттер о бекенде. Кстати, как вы… twitter.com/i/web/status/9…

21:46
@backendsecret Я нежно люблю оба языка. У каждого своя ниша. Однако компания в которой я работаю активно избавляетс… twitter.com/i/web/status/9…
21:55

Но в мире инфраструктуры и утилит го заменил питон и руби. В основном из-за того что код очень легко читать и доста… twitter.com/i/web/status/9…

22:02
@backendsecret Go шустрее, но проще python конечно
22:15
@backendsecret Пайтон может и хорош для изучения основ. Но потом он хорош в прикладной сфере, типа датасайенса и не… twitter.com/i/web/status/9…
23:08
@MurcielagoCat @basili4_1982 @backendsecret @truetobetrue Как обещал - подробнее про большие внедрения. Да простит… twitter.com/i/web/status/9…

Начиная с этого твита отличный тред от @AstarothAst twitter.com/AstarothAst/st…

23:19

Вчера я написал о том, что все библиотеки для работы со временем сломаны. Сломаны они в предсказуемых местах, поэто… twitter.com/i/web/status/9…

10:31

Там есть все те же проблемы что и везде, но! метка времени там, это на самом деле две метки времени. Когда вы получ… twitter.com/i/web/status/9…

10:33

а если вы захотите вывести метку времени в лог, будет использоваться обычная метка времени. Монотонной метки времен… twitter.com/i/web/status/9…

10:34

В общем, как обычно с golang, за вас подумали и решили что вам лучше подходит, заодно добавили защиту от дурака.

10:35

По поводу Go. Я делаю на нем один свой pet проект, поэтому довольно много кода приходится писать. Это love-hate rel… twitter.com/i/web/status/9…

10:37

Но как язык это что-то жуткое. Чего только стоит обработка ошибок. В коде на Go слишком часто можно встретить `val,… twitter.com/i/web/status/9…

10:46

Отдельного упоминания заслуживает стандартная библиотека. Там очень много сильно странного. Вышеупомянутый package… twitter.com/i/web/status/9…

10:48

Если вы хотите использовать таймаут, то придется использовать другую функцию - DialTimeout (ведь Пайк считает что п… twitter.com/i/web/status/9…

10:49

Самое ужасное это vendoring и работа с зависимостями. Слежу за одним проектом на Go на Github-е, в один прекрасный… twitter.com/i/web/status/9…

10:53
@backendsecret Вот на обработку ошибок гнать не надо. В других языках тоже пустой catch написать можно. Самое главн… twitter.com/i/web/status/9…

главная претензия это не игнор ошибок, а километровые простыни кода, щедро усеяные if err != nil {...} twitter.com/borovikov/stat…

10:56

которые чаще всегд делают `return nil, err` и все, код который в языке с исключениями писать не надо

10:57
@backendsecret Тебе просто специальной клавиатуры не хватает pic.twitter.com/sSZe7Yud2v
10:59
@backendsecret Pragmatic! Practical! Non-academic!
10:59
@backendsecret Скрлько ты знаешь человек, способных написать радежный код на с++, который бы работал, с исключениям… twitter.com/i/web/status/9…

В С++ это сложно только из-за свойств языка. Нужно осилить RAII и основы написания exception safe кода. В языках с… twitter.com/i/web/status/9…

11:14

С другой стороны, в обработке ошибок в Go есть кое что хорошее, это хорошее - panic. Скажем в С++ сейчас мало кто и… twitter.com/i/web/status/9…

11:18

В результате получается, что код, который работать уже не должен, продолжает работать. Нарушения инвариантов должны… twitter.com/i/web/status/9…

11:20
@backendsecret Если посмотреть на это с другой стороны, то vendoring и dep management в Go это как раз самое сильно… twitter.com/i/web/status/9…

Разница в том что история изменений в гите портится. Стараешься делать атомарные коммиты и писать нормальные commit… twitter.com/i/web/status/9…

11:25

С другой стороны это учит думать о том, что ты не просто зависимость в проект притащил, но семизначное количество с… twitter.com/i/web/status/9…

11:27
we are all going to die pic.twitter.com/fAUyR2S9hX
11:35
@flex_ferrum @backendsecret Еще есть байка про то, что в Новосибирске граница UTC+6/UTC+7 таймзон раньше проходила… twitter.com/i/web/status/9…
15:24

Всем доброе утро и привет из @it_poselok! Сегодня поговорим про методологии разработки. pic.twitter.com/iKSRnmY0Uz

10:52

У нас в компании используется некий гибрид Scrum, Continuous Integration, "хуяк-хуяк, и в продакшен", а также элеме… twitter.com/i/web/status/9…

10:56

Еще какое-то время использовали Planning Poker для оценки задач в спринте, но он отнимал кучу времени. Затем в кома… twitter.com/i/web/status/9…

11:00
А как с такими долгами боретесь? @backendsecret pic.twitter.com/GVwezxoz2p

Отдел коллекшена уверяет, что по таким долгам исправно платят без всяких просрочек :) twitter.com/dcromster/stat…

13:12
Началось!
stepik.org/course/693/syl…

Русскоязычным желающим изучать Haskell очень повезло, у нас есть великолепный онлайн-курс от Дениса Николаевича Мос… twitter.com/i/web/status/9…

7:25
@backendsecret @hmemcpy @_bravit Виталий, расскажите почему вы не выбрали гламурную жизнь разработчика бэкенда?

Я руководствуюсь старым принципом: «кто не может работать, тот учит». Есть ещё, правда, продолжение: «кто не может… twitter.com/i/web/status/9…

7:29
@backendsecret @_bravit а Idris вы тоже в университете преподаёте?

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

7:35
@backendsecret По моему вполне хорошее начало. Я раньше думал, что Haskell это нечто вроде латыни среди языков прог… twitter.com/i/web/status/9…

Учёные мужи пользуются, постоянно придумывают много всего сложного и непонятного, но for the rest of us есть парсер… twitter.com/i/web/status/9…

7:38
@backendsecret Ебать-копать, про настоящий Хаскель?
А правда, что в том примере про quicksort на C vs Хаскеле, кото… twitter.com/i/web/status/9…

Про quicksort правда, вот такой код плох: wiki.haskell.org/Introduction#Q…. Если под правильной реализацией понимать сортиро… twitter.com/i/web/status/9…

7:44
@frank_snijder @backendsecret Если говорить о Common Lisp, то там очень богатая система типов и одна из лучших реал… twitter.com/i/web/status/9…

Спасибо. Я сам не очень хорошо знаю Common Lisp, зато есть отличная книжка: lisper.ru/pcl/, её переводом з… twitter.com/i/web/status/9…

7:59
@backendsecret Прочтя этот тред вы можете увидеть "Проклятье монад" в действии: если ты понял что такое монада, то… twitter.com/i/web/status/9…

Не встречал ни одной попытки объяснения монад без того, чтобы кто-нибудь не вышел с таким наблюдением. На самом дел… twitter.com/i/web/status/9…

8:15

Давайте поретвичу реплаи про интересные и полезные хаскелевские библиотеки. Предлагаю такой формат: «sbv — верифика… twitter.com/i/web/status/9…

9:51
@backendsecret На эту тему прочитал замечательный пост (англ.) про то, почему большинство monad tutorials не работа… twitter.com/i/web/status/9…

Также можно почитать Abstraction, intuition, and the “monad tutorial fallacy” от Brent Yorgey… twitter.com/i/web/status/9…

9:56
@backendsecret hackage.haskell.org/package/servant - создание веб сервисов через декларативное описание (на типах); генерация к… twitter.com/i/web/status/9…
10:33
@backendsecret hackage.haskell.org/package/smallc… - фреймворк для тестирования аналогичный quickcheck, но вместо случайных да… twitter.com/i/web/status/9…
10:35
@backendsecret hackage.haskell.org/package/QuickC… - автоматическое тестирование свойств функций. Может генерировать случайные… twitter.com/i/web/status/9…
10:36
@backendsecret hackage.haskell.org/package/distri… - erlang для Haskell, но типизированный и с каналами, там целая экосистема.
10:40
@backendsecret hackage.haskell.org/package/async высокоуровневый интерфейс для работы с легкими потоками, и задачами выполняемыми в фоне.
10:40
@backendsecret hackage.haskell.org/package/stm - software transactional memory сделанное правильно (и первыми). Основная ли… twitter.com/i/web/status/9…
10:41
@backendsecret это были библиотеки внутреннено потребления, которые могут помочь лучше написать программу, про внешние будет позже.
10:42
@backendsecret interpolatedstring-perl6

Название, не требующее пояснений. twitter.com/voidlizard/sta…

10:52

Про тестирование: к smallcheck и quickcheck можно добавить классический HUnit, а ещё удобно объединить всё это (и в… twitter.com/i/web/status/9…

11:00
@backendsecret hackage.haskell.org/package/gauge - маленький и шустрый фреймворк для бенчмаркинга.
11:10
@backendsecret hackage.haskell.org/package/criter… - не такой маленький и чуть менее шустрый фреймворк для бенчмаркинга, но зат… twitter.com/i/web/status/9…
11:10
@backendsecret Канал про бэкенд всё-таки
hackage.haskell.org/package/hakyll - "генератор генераторов статических сайтов", усло… twitter.com/i/web/status/9…

Hakyll неплох, мы сайт конференции на нём делали: plc.sfedu.ru twitter.com/aelaau/status/…

11:26
@backendsecret Детерминистическое тестирование многороточных программ hackage.haskell.org/package/dejafu
11:26
@qnikst @backendsecret Более модерновый вариант hackage.haskell.org/package/hedgeh…

Вообще для тестирования в Хаскеле много всего, коммьюнити очень заботится о корректности программ. twitter.com/qrilka/status/…

11:27
@backendsecret расскажи про перформанс. Есть мнение, что чистые функциональные языки медленны, потому что GC приходится тяжеловато

Перфоманс Хаскеля, тезисно.
1) Если не задумываться о производительности кода изначально, то будет медленно.
2) Есл… twitter.com/i/web/status/9…

12:04

3) Если задумываться и хотеть сделать красиво, то тоже есть средства, почти наверняка получится медленнее, но не оч… twitter.com/i/web/status/9…

12:06

Главное: чем более высокоуровневый код мы хотим писать, тем хуже будет производительность — это слабость компилятор… twitter.com/i/web/status/9…

12:09
@backendsecret github.com/quchen/stackag… - stackage для offline

А ещё есть acme-everything — чтобы сбилдить себе вообще всё! twitter.com/Cynede/status/…

12:14
@backendsecret Под то, что вы описываете вполне функтор подходит, товарищ учитель :) Он вполне себе цепочки вычислений описывает.

Неплохой тред от пуриста с чёткой идеей несовершенства мира в голове. Математики, кстати, любят чёткие определения… twitter.com/i/web/status/9…

13:12
@backendsecret Вам знакома система Facebook Sigma для борьбы со спамом? Они утверждают что получили достаточную про… twitter.com/i/web/status/9…

Я не разбирался с деталями, но справедливости ради нужно отметить, что главный разработчик этой системы в Facebook… twitter.com/i/web/status/9…

13:30
@backendsecret нанёс страшный удар русскоязычному индустриальному Haskell сообществу, теперь вместо того, чтобы ра… twitter.com/i/web/status/9…

А главное, пишут! twitter.com/qnikst/status/…

13:31
@backendsecret оттуда вышло: поддержка numa; поддержка выгрузки модулей (нужная для hot reload); более адекватная о… twitter.com/i/web/status/9…
13:33
@backendsecret Если серьезно мне нравится это объяснение монад:
adit.io/posts/2013-04-…

Есть много версий для разн… twitter.com/i/web/status/9…

Мне всегда очень сложно пробираться сквозь объяснения на картинках. Мало того, что идею понять надо, так ещё и карт… twitter.com/i/web/status/9…

14:34
Отписался от этого потока сознания в виде @backendsecret
14:38
@backendsecret doctest — автоматическая проверка примеров кода из документации на компилируемость и корректный резу… twitter.com/i/web/status/9…
15:35

Erlang. В принципе, можно было бы ограничиться цитатой Армстронга (создателя): «Although the functional community w… twitter.com/i/web/status/9…

17:55

Сомнительный статус. В принципе, можно считать, что самые простые элементы функциональных языков, такие как функции… twitter.com/i/web/status/9…

17:58

У Армстронга ещё, конечно, издевательский тон по поводу сообщества функциональщиков, которые не смогли придумать ни… twitter.com/i/web/status/9…

18:00

Все же в курсе, что то, что мы знаем как Erlang, в 1985 году было Прологом? Любители Пролога не любят ФП, потому чт… twitter.com/i/web/status/9…

18:01
@backendsecret Об истории Эрланга в крайне захватывающем изложении написано в статье Армстронга A History of Erlang… twitter.com/i/web/status/9…
18:11

Я несколько раз бросал студентов на изучение Эрланга без всякой поддержки и они справлялись. Вчера я писал про студ… twitter.com/i/web/status/9…

18:14
@backendsecret Расскажи как примерно начиналось.
С гаража, доширака и вон того парня? Работали за светлое будущее?… twitter.com/i/web/status/9…

Я не был ни автором идеи. Уже 10 лет я профессиональный имплементатор стартапов, правда сильно увлекающийся. Мы с… twitter.com/i/web/status/9…

2:23
Been thinking about this a lot. I've said this in the past, & I still believe it: you can be a great developer even… twitter.com/i/web/status/9…

Чуток про будущее программирования.
Вот твит Сары Мей, у меня нет сомнений в её искренности.
Но, на мой взгляд, она… twitter.com/i/web/status/9…

2:26

Программирование превращается в в обычную массовую рабочую сине-воротничковую профессию. ИИ заменит бОльшую часть и… twitter.com/i/web/status/9…

2:26
@backendsecret Я слышу песню про эту "замену программистов" с 1995 года. Чё-то всё заменяют, заменяют, да никак не заменят. :-D

Вообще, не с 96-го года, а с появления FORTRAN'а.
Но детки, давайте поможем Даше вспомнить что же произошло в посл… twitter.com/i/web/status/9…

13:42
@backendsecret Поддерживать проекты, которые сейчас пишутся - ещё на десяток лет работы хватит. Потом перерастет в… twitter.com/i/web/status/9…

Для поддержвания существующих проектов не факт, что нужны будут человеки.

twitter.com/iKoduc/status/…

13:44

Я напоминаю, что все наши требования к качеству кода, красивая архитектура и грамотный дизайн -- это всё нужно толь… twitter.com/i/web/status/9…

13:46

ИИ может херачить говнокод и всё с ним будет в порядке. И да, для атомных станций нужны будут люди. Но очень мало.… twitter.com/i/web/status/9…

13:48
@backendsecret У меня есть плиточник знакомый за год заработал 100 тыс$ расстраивается, что высокие налоги. Так что… twitter.com/i/web/status/9…

Плиточника, скорее всего, не заменят суперэффективной машиной. А синевеоротничковые knowledge workers (включая бОль… twitter.com/i/web/status/9…

13:51
N-цать лет спустя. Бля, у нас нет бабок на датацентр для обработки говнокода для управления вторым датацентром, пре… twitter.com/i/web/status/9…

Отличная тема, кстати: раньше люди были дешевле железа, теперь наоборот, потом снова станет наоборот.

Только вот о… twitter.com/i/web/status/9…

13:55
@backendsecret До тех пор, пока цена ошибки программиста относительно велика - бояться нечего.

Да, для софта для атомных станций нужны будут люди. Только ими будут не Сары Мей, которые не хотят жертвовать личн… twitter.com/i/web/status/9…

13:56
@backendsecret А что с ИИ произошло? Придумали какие то новые чудо алгоритмы?

google://весна искуственного интеллекта

twitter.com/aynanenane/sta…

14:02
@flex_ferrum @AstarothAst @backendsecret вообще я не любитель каламбуров, но "в сжатые сраки" это супер!!

Это как-то Асхату Уразбаеву написали "нам нужно внедрить agile в сжатые сраки". Он сказал, что в тот момент он поня… twitter.com/i/web/status/9…

14:04

Кстати, если кто не видел ещё: вот первые шажочки в автоматическом создании сайтов-визиток: thegrid.iotwitter.com/i/web/status/9…

14:21
@NolanRus @backendsecret забыли рабочих, которые руками плитку в эту машину выкладывают из лотка

Эти рабочие даже близко уже не обладают ни зарплатами ни статусом плиточника за $100/yr

twitter.com/ramwoolf/statu…

14:24

Если мы с тобой коневоды начала XX века, то надо смотреть не на то, какие неуклюжие автомобили сейчас, а экстраполи… twitter.com/i/web/status/9…

18:53
@backendsecret Разработки в области ИИ идут, и это хорошо. И действительно, в ближайшие лет 10 ряд профессий будет… twitter.com/i/web/status/9…

Вопрос где будет граница клепания кнопочек. Скорее всего всё то, чему можно научить в буткемпе за год, в эту границ… twitter.com/i/web/status/9…

18:56

Во время второй мировой войны союзники построили много своих авиабаз на удалённых островах в океане. Туземные жител… twitter.com/i/web/status/9…

22:11

Чтобы приманить больших железных птицы, они строили из говна и палок взлётные полосы, диспетчерские вышки, ходили с… twitter.com/i/web/status/9…

22:11

Ну, признавайтесь, кто узнал внедрение agile в большинстве фирм? :-) pic.twitter.com/aGVM9pJwsR

22:12

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

22:13

Отличить таких культистов легко: они орут, что НАААААААДО внедрять TDD, но на вопрос "зачем?" столбенеют. Как вариа… twitter.com/i/web/status/9…

22:15
@backendsecret Что по-поводу Scala скажешь? Она, субъективно, более популярна, чем Haskell. Порог вхождения ниже, и… twitter.com/i/web/status/9…

Да, она более популярна, и вакансий больше. Порог вхождения - да, ниже: меня уверяли, что любой Джавист способен пе… twitter.com/i/web/status/9…

8:02
@kana_its_me @backendsecret А можно для лучшего понимания ещё пример, когда Either используется не как пара ошибка\результат ?

Строго говоря, Either как раз и придумали для того, чтобы представлять пару "ошибка\результат". twitter.com/iflask/status/…

8:05
@backendsecret IDE нету, потому что нету денег в сообществе, или как у Scala по техническим причинам, как демаете?

Я думаю, главная причина в том, что в IDE нет такой уж гигантской потребности. Как минимум 95% всех хаскелистов, ко… twitter.com/i/web/status/9…

8:09
@backendsecret А как вы без IDE справляетесь со сложностью управления разработкой масштабных проектов? Да, парадигм… twitter.com/i/web/status/9…

Почему-то вспомнилось старое:

8:46

Часто слышу мнение, будто сильная статическая типизация ограничивает программиста, тем самым мешая ему. И да, друзь… twitter.com/i/web/status/9…

9:09

Но что такое ограничения? Ограничения - это фундамент гарантий. Любая гарантия обусловлена каким-то ограничением, и… twitter.com/i/web/status/9…

9:09

Гарантия же в свою очередь порождает уверенность. И сильная статическая типизация как раз и укрепляет нашу уверенно… twitter.com/i/web/status/9…

9:09

Обратите внимание: сильная типизация укрепляет нашу уверенность, но не делает её абсолютной. Поэтому в серьёзных Ha… twitter.com/i/web/status/9…

9:09
@cblp_su @theaspect @backendsecret IDE нужна чтоб быстро сходить в реализацию функции и вернуться. Поискать все исп… twitter.com/i/web/status/9…

> А главное, пожалуй, это «проект» - т.е. открыл проект, и вот тебе все его файлы в дереве и поиск по ним.

NeoVim… twitter.com/i/web/status/9…

9:26
@batyshkaLenin @backendsecret Все говорят - без IDE нельзя,
Все говорят - без IDE нельзя,
А я говорю, что буду
10:18

Дискуссия насчёт IDE для Haskell забавляет... Такое впечатление, будто бы мы должны ОПРАВДЫВАТЬСЯ за то, что у нас… twitter.com/i/web/status/9…

11:34

Да, можно просто сидеть и плакать, ах, если бы у нас была такая IDE, наша жизнь стала бы такой прекрасной, ой, как… twitter.com/i/web/status/9…

11:34
@backendsecret Думаю, пора переходить к той части, ради чего стоит страдать без IDE. Как сейчас модно говорить: "пр… twitter.com/i/web/status/9…

Вероятно, вас удивит мой ответ, но "продавать haskell" кому бы то ни было я не собираюсь. У меня нет такой цели, и,… twitter.com/i/web/status/9…

11:50
@backendsecret Никто не просит вас "впаривать", расскажите, в чём профит. Где оно даёт выигрыши и прочие интересные… twitter.com/i/web/status/9…

> расскажите, в чём профит

Первый профит - сильная статическая типизация с выведением типов. Но есть такие, которы… twitter.com/i/web/status/9…

12:01

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

13:29

Один из старых мифов касательно Haskell - отсутствие инструментария для проекта и чрезвычайно скудное число библиот… twitter.com/i/web/status/9…

13:29

Справедливости ради, в прошлом так оно и было. Голый компилятор, и пара десятков библиотек (со скудной документацие… twitter.com/i/web/status/9…

13:29

Сегодня у нас есть Stack, кроссплатформенный инструмент для работы с проектами. Он создаёт пустой проект по заготов… twitter.com/i/web/status/9…

13:29

Stack устанавливает нужное нам окружение (в виде компилятора и набора библиотек) таким образом, что на одном компе… twitter.com/i/web/status/9…

13:29

Вот сайт: haskellstack.org. Вот репозиторий: github.com/commercialhask…. Устанавливается Stack либо через скрип… twitter.com/i/web/status/9…

13:29

Stack - относительно молодой инструмент, релизнулся он летом 2015 года. Его активная разработка продолжается, основ… twitter.com/i/web/status/9…

13:29

И, строго говоря, Stack - не единственный подобный инструмент, однако именно он завоевал наибольшую популярность у Haskell-команд.

13:29

Подчеркну: Stack не идеален. Конечно, сегодня он лучше, чем был 2 года назад, однако иногда он тупит. Например, вын… twitter.com/i/web/status/9…

13:29
@backendsecret Раскажите пожалуйста про альтернативы Haskell Stack

Cabal. Его сайт: haskell.org/cabal/.

Собственно, с него всё и началось, этот инструмент значительно старше St… twitter.com/i/web/status/9…

13:47

Есть, правда, ещё один способ принести Haskell на свой компьютер. Называется Haskell Platform (… twitter.com/i/web/status/9…

13:50

Кстати, кто желает подробностей - вот моя заметка про Stack, на сайте нашего сообщества: ruhaskell.org/posts/utils/20…

13:53
@backendsecret почему не idris?

Потому что Idris и близко не готов к продакшену в той мере, в какой готов Haskell. twitter.com/H311oWorld/sta…

17:36
@backendsecret, а хаскелл только для бекенда хорош или есть ещё области применения?

Вот исследование, подробно отвечающее на этот вопрос: github.com/Gabriel439/pos…. Там области перечислены, и рассказан… twitter.com/i/web/status/9…

18:51

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

20:22

В 2008 году появился Hackage, репозиторий Haskell-пакетов. Название Hackage происходит от "Haskell" и "package". По… twitter.com/i/web/status/9…

20:22

И всё было бы хорошо, но существовала проблема с зависимостями. Суть её предельно проста: мой проект зависит от пак… twitter.com/i/web/status/9…

20:22

И вот создатели Stack предложили решение этой проблемы, так появился Stackage. Название происходит от "Stable Hacka… twitter.com/i/web/status/9…

20:22

Таким образом, если пакеты А, Б и В включены в стабильный список, то упомянутой ранее проблемы с зависимостями не б… twitter.com/i/web/status/9…

20:22

Каждый стабильный список пакетов, называемый LTS Haskell, имеет свою версию. Аббревиатура LTS происходит от Long Te… twitter.com/i/web/status/9…

20:22

Примерно раз в неделю выходит новый список. Вот пример такого списка, версии 10.9: stackage.org/lts-10.9. Список… twitter.com/i/web/status/9…

20:22

Затем в конфигурационном файле проекта указывается версия используемого LTS Haskell. И, как вы уже поняли, стабильн… twitter.com/i/web/status/9…

20:22

Такой подход сильно помогает в командной разработке. Пока у всех членов команды один и тот же LTS Haskell, их проек… twitter.com/i/web/status/9…

20:22

А когда в команду приходит новый человек, он клонирует репозиторий проекта, а затем выполняет лишь две команды:

1.… twitter.com/i/web/status/9…

20:22

Разумеется, я могу установить и такой пакет, который не входит в конкретный LTS. Однако в этом случае гарантий совм… twitter.com/i/web/status/9…

20:22

Кстати, вот он, полный список пакетов в Hackage: hackage.haskell.org/packages/

20:27
@backendsecret в тему этой недели, закончил цикл статей про связь формальной логики и ЯП. Написано очень по-дилетан… twitter.com/i/web/status/9…
23:14
@cblp_su @backendsecret Прилетело очень в тему: twitter.com/Harenome/statu…
23:15

Я смотрю клавиатуры пользуются здесь большой популярностью, поэтому вот вам еще фото с того дня когда я отвез свою… twitter.com/i/web/status/9…

1:39
@backendsecret Компания платит всё.
1:45

Так вот, рассказываю. Прошлым летом я ехал на конференцию ACM SIGGRAPH 17 в Лос-Анджелесе, и там я в том числе долж… twitter.com/i/web/status/9…

2:59

По дороге в аэропорт получаю от него письмо что мол выручай, студентам нужно купить жидкий азот для демо на конфере… twitter.com/i/web/status/9…

2:59

Демо было про рассчитывание сердцевины в 3д принченых объектах для магнитной левитации (на основе жидкого азота) youtu.be/rnRQmN5Hb90

2:59

В общем обзвонил кучу местных компаний, из них ответила только одна контора. Но тут проблема:

1) Они находятся оче… twitter.com/i/web/status/9…

2:59

(Если что Комптон - один из самых преступных районов в ЛА, если не во всех штатах)

2:59

В общем приехали мы со студентами, нам налили 30л бочку азота. Как вы можете заметить, бочка не запечатанная. pic.twitter.com/ULjzzN6ToQ

3:03

Я спрашиваю компанию:

– А как мы это вывезти-то должны?
– Ну не знаем, убер закажите что ли

Короче в итоге мы за… twitter.com/i/web/status/9…

3:03

Кстати в первый раз я рассказывал эту историю Марку Элендту, который недавно получил Оскар за работу над Houdini siggraph.org/discover/news/…

3:03

Нашел видео с самим демо (можно было собирать небольшие игрушки и катать их по воздуху, да) pic.twitter.com/RKJfKS8l6S

5:03

Нетфликс прямо как-будто читает что я пишу 😄 pic.twitter.com/UJ52LPURjz

6:23

У меня через пару часов заканчивается рабочий день, поэтому я снова приду к вам с историями. Про что бы вы сегодня хотели послушать?

9:38

Кратко поясню что я имею в виду под третьим вариантом. По работе (и хобби) я часто занимаюсь тем что контактирую с… twitter.com/i/web/status/9…

9:43

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

9:43

гигантская ракета, местная достопримечательность pic.twitter.com/pDF14nUU8t

11:20

(Это я вас так готовлю к рассказам про японскую науку)

11:38

Кстати да, если есть какие-то конкретные вопросы, можно сразу сюда писать

11:51

так, я вернулся и начинаю вещать!

15:15
@backendsecret ergodox-ez.com можешь что-то об этих рассказать? стоит своих баксов, или можно найти что-то получше?

Уже несколько вопросов про Ergodox. Лично мне он не очень понравился, там проблема в ortholinear layout к которой с… twitter.com/i/web/status/9…

15:17
@backendsecret Купил себе бу Google pixel для разработки и думаю не прогадал )

Google Pixel вроде пока поддерживает ARCore, надеюсь не дропнут через год :) twitter.com/michbil/status…

15:18
@backendsecret Для набора текста лучше cherry blue или red?

Считается что cherry blue, но вообще я знаю и тех кто печатает на линейных (например я) twitter.com/ReTelecaster/s…

15:19
@backendsecret Ctrl Ctrl ____ Alt Alt? Да что ж ты делаешь, злодей?

это шутка про @ctrlaltio twitter.com/bwh1te/status/…

15:20
@backendsecret Третья прям зачёт. Где такие дают и по чем? Хотя бы скажи как форм фактор называется.

Это Winkeyless B.mini winkeyless.kr/product/b-mini… + JTK Debut Purple on White (PoW)… twitter.com/i/web/status/9…

15:21
@vgermaniu @backendsecret На massdrop.com или mechanicalkeyboards.com можно намониторить, но самые круты… twitter.com/i/web/status/9…

Все так, мехкейс команда с массдропа мои друзяшки кстати :) я у них в офисе в СФ даже бывал twitter.com/FapSpirit/stat…

15:22
@backendsecret Какие IT направления являются самыми перспективными в Японии?

Сейчас растут блокчейн стартапы как грибы после дождя. Поскольку в Японии с электронными платежами все еще дикий ха… twitter.com/i/web/status/9…

15:30

C бонусными и платежными картами в Японии очень весело, вот что например я наскреб у себя из стопки на столе. Полов… twitter.com/i/web/status/9…

15:30

Вообще сейчас почти любая хайповая технология из силиконовой долины имеет свой филиал в Японии. Из объявлений я оче… twitter.com/i/web/status/9…

15:30
@backendsecret Каково отношение к публикациям в заведомо слабых журналах/конференциях?

Действительно такая проблема имеет место быть, и стандарты зависят от учреждения. В университете Аизу где я учился… twitter.com/i/web/status/9…

15:41

  • еще какие-то издания/конф. которые утвердили через дотошный процесс ревью, комиссий и тд
  • 15:41

    Еще часто смотрят на размер статьи (например technical paper vs poster)

    Лично мне кажется что эти метрики довольно… twitter.com/i/web/status/9…

    15:41

    В университете Цукуба где я работаю сейчас вроде меньше парятся в плане списка конференций, но у студентов, наприме… twitter.com/i/web/status/9…

    15:41

    В целом как мне кажется если хорошо аргументировать что ваша статья – стоящая, у нее есть внушительная impact стати… twitter.com/i/web/status/9…

    15:41

    (если конечно вы не Computer Science major опубликовавший статью в каком-нибудь "Аграрном вестнике Словении", и такое бывает, да)

    15:41
    @backendsecret Круто! Может вы в курсе, в чем секрет невозможности отправить дроп напрямую в Россию?

    80% уверен что либо налоги, либо почта России. Так-то для европы они доставляют через DHL twitter.com/FapSpirit/stat…

    15:44
    @backendsecret на ErgoDox Infinity не посматриваешь?

    Пока нет, ответил чуть ниже почему twitter.com/Nick27surgut/s…

    15:44
    @backendsecret Как с библиотечками/средствами разработки для AR/VR? Уже можно туда приходить простым девелоперам ил… twitter.com/i/web/status/9…

    Сейчас с этим очень хорошо. Вообще я до сих пор считаю что с приходом ARKit самое крутое это обновление HIG от Appl… twitter.com/i/web/status/9…

    15:48

    У той же Vuforia например нативная документация имелась на уровне комментов в ObjC++ коде что не так весело

    15:48

    Но сейчас все повально используют Unity для демо, особенно после того как они добавили поддержку ARKit (не помню ка… twitter.com/i/web/status/9…

    15:48

    Т.е. в плане оптимизации и стабильности в Unity не всегда хорошо, особенно когда апдейты ломают проект и тд

    15:48
    @backendsecret Если релокейтится в японию, то нужно ли учить японский или для начала английского хватит, а там япон… twitter.com/i/web/status/9…

    Писал про это ранее, если вкратце:

    1) Японский очень желателен
    2) Подтянуть японский тяжело, по крайней мере для р… twitter.com/i/web/status/9…

    16:57

    Рилокейт – по сути подался на стипендию MEXT, прошел, приехал по стипендии в универ, отучился сначала на мастера, п… twitter.com/i/web/status/9…

    16:57
    @backendsecret А можешь немного про Topre рассказать? А то в наших краях эти свичи не потрогаешь.

    Topre это японские электростатические свитчи которые работают по принципу схожему с мембранными клавиатурами. По ощ… twitter.com/i/web/status/9…

    17:02

    Есть разные варианты: 35г (самые легкие), 45г (стандарт), и 55г (тяжелые, похожи по ощущениям на печатную машинку)… twitter.com/i/web/status/9…

    17:02

    Вообще знаю лично менеджера клавиатурного отдела Topre (на самом деле Topre это большая японская компания которая д… twitter.com/i/web/status/9…

    17:02

    Topre очень "радикальные" свитчи, кому-то они нравятся, кому-то нет. Еще проблема есть с износом, порой использован… twitter.com/i/web/status/9…

    17:02
    @backendsecret Заинтересовал, можешь подсказать, какую на пробу взять?

    На плоских клавиатурах потом нет проблем печатать?

    У меня проблем нет с плоскими клавиатурами, но некоторые говорят что потом некоторое время нужно привыкать обратно.… twitter.com/i/web/status/9…

    17:05

    Возвращаясь к IT и науке, и то и другое – темы обширные, поэтому возможно у меня на это уйдет несколько дней.

    17:08

    Пожалуй я попробую рассказать об этих темах в форме ответов на следующие вопросы:

    – Я хочу стать программистом в Я… twitter.com/i/web/status/9…

    17:08
    @backendsecret Ничего другого для кроссплатформы нет, увы :(

    Ну есть еще Unreal Engine, но там C++, и насчет совместимости с AR либами я не уверен как там обстоят дела twitter.com/Dinozavrr/stat…

    17:13

    С согласия @dcromster так же постю следующее объявление:

    Если вы интересуетесь IT работой в Японии и посредственно… twitter.com/i/web/status/9…

    17:17
    @backendsecret Так больше плотют на долине, туда все хотят

    Все так и есть, но у Японии есть и свои плюсы. Навскидку я бы назвал транспорт, безопасность, экологию и внутренний… twitter.com/i/web/status/9…

    17:19

    Итак, вы хотите стать программистом в Японии. Сразу отбросим вопрос "Зачем?!"

    17:39
    Начну пожалуй с переезда, для IT людей очень важно наличие диплома, без него берут только если вы очень редкий и кр… twitter.com/i/web/status/9…

    Про то как попасть я писал тут twitter.com/backendsecret/…

    Пререквизиты: диплом, хотя бы знание английского, а еще луч… twitter.com/i/web/status/9…

    17:39

    В плане переезда пожалуй самая большая проблема это оформить рабочую визу. Там есть целый список документов который… twitter.com/i/web/status/9…

    17:39

    С самим переездом вроде больших проблем нет. Главное опасайтесь квартир на первом этаже ибо там плесень. Вообще опа… twitter.com/i/web/status/9…

    17:39
    Это увы тоже имеет место быть, про все различия можно мельком посмотреть тут medium.com/@xevix/gaijin-…

    Если вкратце,… twitter.com/i/web/status/9…

    На рабочем месте уже могут быть различия с культурой, про это я писал тут:

    twitter.com/backendsecret/…
    twitter.com/backendsecret/…

    17:39

    В целом есть такое понятие как "gaijin card" ака "карта иностранца" – если вы не будете следовать каким-то японским… twitter.com/i/web/status/9…

    17:39

    Поэтому приходите на работу и уходите с нее по расписанию и честно кладите сами знаете что на переработку. Так же н… twitter.com/i/web/status/9…

    17:39

    Из митапов в Токио (а именно там сейчас проходит бóльшая часть всех IT событий в Японии) могу посоветовать… twitter.com/i/web/status/9…

    17:39

    Это был краткий экскурс в IT работу, а теперь о науке. Тут уже имеет смысл вопрос "Зачем?"

    По сути в Японии очень… twitter.com/i/web/status/9…

    18:03

    Так же в японских лабораториях (по крайней мере в моей области работы) не стесняются выделять бюджеты даже на самые… twitter.com/i/web/status/9…

    18:03

    Неудивительно что например в том же MIT Media Lab директор, а так же многие сотрудники и студенты – японцы.

    18:03
    Я бы посоветовал сделать так:

    1) Определиться с областью исследования
    2) Найти интересующие публикации/проекты
    3)… twitter.com/i/web/status/9…

    Как попасть я писал тут:

    twitter.com/backendsecret/…
    twitter.com/backendsecret/…

    Допустим вы уже получили стипендию (или… twitter.com/i/web/status/9…

    18:03

    Теперь все зависит от вашего научного руководителя и лаборатории. Если у вас агрессивная в плане публикаций команда… twitter.com/i/web/status/9…

    18:03

    Ну хорошо, допустим вы что-то поделали, опубликовались, и получили мастера. Дальше вопрос: нужно ли мне получать Ph… twitter.com/i/web/status/9…

    18:03

    С PhD уже сложнее тк тут нужно иметь больше публикаций, уникальную тему исследования, а так же другой склад мышлени… twitter.com/i/web/status/9…

    18:03

    Поэтому в связи с таким кол-вом времени и нервов, в Японии на PhD как правило идут иностранцы, по крайней мере из м… twitter.com/i/web/status/9…

    18:03

    С другой стороны после выпуска с PhD у вас уже гораздо больше возможностей:

    1) Вы можете подаваться в качестве уч… twitter.com/i/web/status/9…

    18:03

    В конце концов вы можете стать профессором с tenure track. Хитрость в том что когда вы получите tenure вас очень тя… twitter.com/i/web/status/9…

    18:03

    Особенность Японии в этом плане состоит в том что вы – иностранец, и не во всех университетах вас будут видеть нара… twitter.com/i/web/status/9…

    18:03

    Но вообще все это и без черных списков очень соревновательно, готовьтесь к частым отказам, написанию различных апел… twitter.com/i/web/status/9…

    18:03
    @backendsecret @zel_enb В Лайн русских почти нет. В Токио совсем без японского попась нереально, а вот в Фукуоку ес… twitter.com/i/web/status/9…
    18:09
    @backendsecret @zel_enb Если вы владеете ML/NLP тоже можно смело писать, скорей всего вас возьмут. Естественно диплом, опыт и английский.
    18:10
    @backendsecret @zel_enb Лайн помогает с переездом и имеет опыт в этом. Есть курсы японского в Фукуоке и все условия… twitter.com/i/web/status/9…
    18:12
    @skkap @backendsecret русские и не нужны. я QA. для меня вакансий не было там :( в Фукуоке холоднее чем в Токио =_= накиньте еще компаний

    Навскидку:
    Rakuten
    Recruit
    CyberAgent
    Microsoft JP
    Google JP
    Mercari

    Может быть еще мои друзья с @codechrysalis мо… twitter.com/i/web/status/9…

    18:21
    @backendsecret Дома пользую механику amazon.com/gp/product/B00…, на работе amazon.com/gp/product/B00…. иногда просто на н… twitter.com/i/web/status/9…

    Главное чтобы нравилось :) мне например нравятся клавиатуры на новых макбуках, хотя многие любители механики от них… twitter.com/i/web/status/9…

    18:24
    @backendsecret А что с теми, у кого образование не профильное (ну у меня маркетинг-менеджмент, а работаю джавистом)… twitter.com/i/web/status/9…

    Вот с этим сразу сказать не могу, желательно спросить кого-нибудь с опытом HR работы или тех же рекрутеров. Мне каж… twitter.com/i/web/status/9…

    18:27

    Кстати если интересно могу завтра рассказать как я занимался изготовлением кастомных клавиатурных кнопок из жидкого… twitter.com/i/web/status/9…

    18:41
    @zel_enb @backendsecret Не скажу где нужны QA, но если в японии то стоит глянуть на Rakuten, Recruit, Indeed, Googl… twitter.com/i/web/status/9…
    18:42
    @backendsecret Кстати в Indeed тоже очень много бывших сотрудников Яндекса, повсюду русская речь :)
    18:49

    Алсо в свое время я создал и вел почти целый год клавиатурный лайвстрим @topclack (сейчас он продолжает жить без ме… twitter.com/i/web/status/9…

    18:54
    @zel_enb @backendsecret Кстати там же и Ракутен и много стартапов. Я не совсем в теме, но там какая-то особая зона… twitter.com/i/web/status/9…
    18:55
    @backendsecret @topclack @Massdrop @OrtholinearKB @InputClub @jamesbardolph Расскажи про японское комьюнити, вижу м… twitter.com/i/web/status/9…

    Частично в этом виноват я, тк митап-то создал, людей пригласил, а все всё равно сидят только в твиттере. Можно поче… twitter.com/i/web/status/9…

    19:37
    @backendsecret как мирится с тем что у механики длиннее ход клавиш и соответственно теор предел скорости печати мен… twitter.com/i/web/status/9…

    Можно пользоваться MX Silver, MX Speed или короткими ML свитчами. Вообще все не так просто twitter.com/oulasvirta/sta…twitter.com/i/web/status/9…

    19:48

    Коллеги! Вчера мы дружно знакомились, а завтра я буду рассказывать о сроках проектов и как их не провалить. Сегодня… twitter.com/i/web/status/9…

    7:10

    Порядок приёма вопросов: под этим твитом я до 23:59 мск собираю вопросы и по мере их поступления отвечаю отдельными… twitter.com/i/web/status/9…

    7:46

    # Среда 284 твита

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

    9:56

    Берите леваки, подработки, шабашки, все, что угодно, расширяющее ваш рабочий кругозор. Кроме того, лишняя работа принесет много контактов.

    9:57

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

    9:59

    Тут важно помнить, что роль, - это роль как у актера, который в жизни лысый импотент, а играет чегевару и казанову в одном флаконе.

    10:01

    Не имеет смысла писать: я программист, архитектор и очень крутой. Имеет смысл рассказывать про косяки, которые всплывали на этих ролях.

    10:02

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

    10:04

    Делитесь опытом решения косяков, “палите” темы, рассказывайте о своих неудачах. ЭТО всем интересно! Но чтобы оно было, - нужна практика.

    10:05

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

    10:06

    Гуру зарабатывают на книжках, а не на разработке. Иначе у них не было бы времени публиковаться. Берите пример с Марка Лемана (автор EV).

    10:08

    Его ценник - около 1 килоевро за один день работы. Ему не надо публиковаться. Ему не надо следить за фигурой. Он просто ебашит!

    10:09

    Посмотрите на Монса! Он преподает перл в МГУ, пишет облако для Мейла и заботится о 12ти кошках) Разве он кричит о том, какой он крутой?

    10:12

    Он просто крут и охуенен! Кто про вас так скажет? Ни кто, если не будете каждый день работать на разных ролях, набирая практику.

    10:14

    Сегодня линейным программистом, завтра консультантом, послезавтра техдиром. А потом снова программистом. Таких, кто так может - мало.

    10:15

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

    10:16

    И лично от себя добавляю еще раз: не верьте на слово ни кому. Проверяйте, практикуйте, учитесь!

    10:18

    Почему я это все пишу? Потому что потребность в работающих есть всегда, а работает по сути ровно 1%. Остальные занимаются сибурде!

    10:23
    В @backendsecret сегодня мотивационная речь и немного скрытой политоты. И любовь, обожание к перлу.
    10:28

    Про мотивацию специально для @freiksenet_ru pic.twitter.com/2MR6FWf61N

    10:28

    Про перл специально для @freiksenet_ru pic.twitter.com/wEsuukJG4t

    10:29
    @backendsecret Может у меня такой пузырь, где перла нет.
    10:53

    Поменяй слово perl на любое другое название, @freiksenet_ru

    10:53

    Пример правильного построения пула воркеров: i.imgur.com/3297BXb.gifv

    14:17

    Давайте про асинхронность. Кто что использует и как дебажит утечки памяти? Указывайте язык, plz!

    21:27
    @backendsecret не только беком. В последнее время у меня спрашивают: как стать девелопером, что читать… На что я отвечаю: бери и пиши код.
    21:33
    @backendsecret вот говоришь "фигачьте фигачтье!" а где же баланс между работой и личной жизнью?
    21:33

    Баланс простой, @dcromster. Работай ровно столько, чтобы денег хватало на личную жизнь)

    21:35
    @backendsecret И что, шаблон должен универсально подходить для всех сервисов, независимо от их назначения?

    Да он должен включать только инфраструктуру и общие вещи которые вы хотите на всех сервисах. Например не прикольно… twitter.com/i/web/status/9…

    9:48

    Когда становится много сервисов начинается проблемы как их настроить локально чтоб можно было проверить локально.D… twitter.com/i/web/status/9…

    11:39

    смотрят на чем написаны ваши сервисы от этого считается когда наступает момент когда локально уже не чего работать… twitter.com/i/web/status/9…

    11:41

    Автомация когда разрабатывает тесты e2e. Нуждаются во всех сервисах рабочих так им проходится поднимать все в облак… twitter.com/i/web/status/9…

    11:43

    вот пример потребления памяти сервисами на Rails и Golang
    разница на лицо сколько можно поместить на машины тех и… twitter.com/i/web/status/9…

    11:46

    думаю сами понимаете кто есть кто pic.twitter.com/0Zdqq83nbG

    11:49

    У нас на данный момент около ~50 environment разработки. Много? да. Потому что команд больше 10 в каждой из низ раз… twitter.com/i/web/status/9…

    11:53

    Тут конешно надо добавить редисы, базы, rabbitmq,nginx короче много всего выходит. Так что кубернетис это упрощает… twitter.com/i/web/status/9…

    11:56

    У нас есть бот на слаке который умеет делать деплой на окружения для разработки, удобно когда тебе надо все сервис… twitter.com/i/web/status/9…

    11:57

    Чтоб укоротить время деплоя в кубернетис желательно иметь маленькие docker image, я тут не давно решил использовать… twitter.com/i/web/status/9…

    12:02

    На rails я быстро понил что это без полезно потому что нет build то есть надо все всегда.На го сервиса очень полезн… twitter.com/i/web/status/9…

    12:06

    Оказалось что это не совсем так
    если работайте с alpine

    12:08

    Кстати бот на слаке написан был на Хакотоне внутренем он не занел первые места что обидно, но зато им все пользуются каждый день

    12:12

    Бот зовут плуто
    Он умеет делать несколько команд и еще гавкать
    команды которые он незнаю просить его научить то ест… twitter.com/i/web/status/9…

    12:18

    Life hack про деплои в прод

    12:21

    Life hack про деплои в прод

    12:22

    DevOps tools в Gett:

    12:35
    @backendsecret Есть статья с описанием? Или гит?

    Нету, но статью надо написать twitter.com/Khorev/status/…

    12:53

    Life hack:
    Маленький тролинг соседей по офису еще не кому не вредил😋 pic.twitter.com/5rSYYhC6HT

    16:36
    @backendsecret На рубимайн есть корпоративная лицензия?

    да есть лицензия еще на goland тоже twitter.com/john_govno/sta…

    17:44
    @backendsecret А базы для сервисов тоже с помощью k8s поднимаете и администрируете?

    Нет там все rds. Мы боимся такие вещи делать сами twitter.com/salikhov/statu…

    19:47
    @backendsecret какие библиотеки вы используете в Go для работы с PostgreSQL (ORM, конструктор запросов, мигратор, и т. п.)

    Gorm,
    Мигратор у нас свой, улучшеный goose, назвали swan twitter.com/vassilevsky/st…

    22:17
    @backendsecret Мы как раз выбрали DNS челендж вместо того чтобы шарить папку или заруливать выписывание только на о… twitter.com/i/web/status/9…
    10:29
    @backendsecret 1. Как масштабировать прометей и бороться с дырками в таймлане метрик?

    1. Насчет масштабирования – federation. Насчет дырок – зависит от их причины. Если это от ребута сервера – то они т… twitter.com/i/web/status/9…

    10:40

    2. Можно прикрыть его nginx с basic auth. По аксес логам видно, какой юзер слал запросы.

    10:40

    Python. На двойке после тройки прям противно писать. Но тройка лично мне, несмотря на проблемы (о них ниже – всё имхо), нравится.

    10:52

    1. Основная проблема 3 это Py2. Где-то ещё приходится писать 2+3 код (это когда пишешь на 2, но так, чтобы оно еще… twitter.com/i/web/status/9…

    10:52

    Многим еще приходится писать на Python 2, потому что миграция большой кодовой базы на тройку это реально дорого, а… twitter.com/i/web/status/9…

    10:52

    Интервью с инженерами из инстаграм о том, почему (typings, community, performance) и как (10 месяцев в 3 стадии) он… twitter.com/i/web/status/9…

    10:52

    Вот интересные сайтики, где показано, сколько из топовых пакетов поддерживают тройку. Спойлер: почти все.… twitter.com/i/web/status/9…

    10:52

    Из моей практики сейчас осталось всего два пакета, которые еще не поддерживают 3: evernote-sdk-python (есть бета дл… twitter.com/i/web/status/9…

    10:52

    Очень больно смотреть на новые (мелкие!) проекты, которые начинают на Python2. Просто потому, что так привыкли. Пож… twitter.com/i/web/status/9…

    10:52

    2. Стандартная библиотека хоть и большая, но местами тухловатая. Например, http клиент (urllib) даже ответ в юникод… twitter.com/i/web/status/9…

    10:52

    Есть поддержка IDNA encoding, но она реализует устаревшую (на 7 лет) версию спеки. Поэтому приходится юзать сторонн… twitter.com/i/web/status/9…

    10:52

    Вместо модуля регулярок re иногда юзают сторонний regex, в котором есть поддержка Unicode codepoint properties (нап… twitter.com/i/web/status/9…

    10:52

    А в Татарстане у нас вообще свой мир: pic.twitter.com/Cimq1YPq1J

    10:52

    3. Performance – это не про пайтон. Говорят, что pypy вместо cpython снижает нагрузку. Но, имхо, от пайтона ждать п… twitter.com/i/web/status/9…

    10:52

    Кстати, в cpython 3.7 будет небольшая оптимизация потребления памяти при использовании GC для shared memory (из-за… twitter.com/i/web/status/9…

    10:52

    4. Куча мяса вокруг доставки зависимостей: easy_install, pip, conda, apt/yum/etc. setup.py, pbr, PEP… twitter.com/i/web/status/9…

    10:54

    В общем, проблем хватает. Но community, на мой взгляд, отличное.

    10:54

    Про синхронизацию состояния между фронтом и бэком поговорим в четверг pic.twitter.com/I3RrdTyXuV

    10:55
    @backendsecret Как организовывать структуру проекта с Django или аналогичного рода фреймворком, когда для фронта An… twitter.com/i/web/status/9…

    Если бэк отдает только API, то однозначно отдельными репами. Мобильные приложения не храните в репе с бэкендом же,… twitter.com/i/web/status/9…

    11:20
    Ещё причина - необходимость работы в энтерпрайзе с RHEL6, где из коробки py2.6 twitter.com/backendsecret/…

    А еще внутренние зависимости энтерпрайза на py2. Это да.

    Мой твит был о мелких проектах, не обремененных энтерпра… twitter.com/i/web/status/9…

    11:25
    Я конечно о своем буду ныть. Вот сколько сил/времени в каждой команде на все это уходит. А это потеря фокуса, несде… twitter.com/i/web/status/9…

    Да, Вы абсолютно правы. Именно поэтому я и затронул Prometheus. На одном Zabbix с современным веб аппом действитель… twitter.com/i/web/status/9…

    13:04

    Помимо community пайтона мне очень близки его принципы из The Zen of Python. Самый известный, наверное, это:

    Expli… twitter.com/i/web/status/9…

    13:10

    А если вы *реально* его прочитали и помедитировали, то вот это может вызвать у вас недоумение:
    There should be one-… twitter.com/i/web/status/9…

    13:10

    Если вы читали код на Python 2+3, то наверняка могли видеть необычные импорты такого вида:

    from __future__ import… twitter.com/i/web/status/9…

    13:20

    Большинство из них касаются Python2, но и для тройки есть парочка:
    generator_stop (с 3.5) python.org/dev/peps/pep-0…twitter.com/i/web/status/9…

    13:20

    Я жду 3.7 ради __future__ annotations, который откладывает evaluation of type annotations, что решит проблему с обя… twitter.com/i/web/status/9…

    13:20

    Еще есть __future__ пасхалка, заменяющая оператор != на <>:

    >>> from __future__ import barry_as_FLUFL
    >>> 1 <> 2… twitter.com/i/web/status/9…

    13:20

    Django. Позиционирует себя как "Web framework that encourages ... pragmatic design", но URLValidator не принимает у… twitter.com/i/web/status/9…

    22:11

    Но в целом принципы, перечисленные на этой странице, вполне соблюдаются и в Django, и в аппах для нее (по моим набл… twitter.com/i/web/status/9…

    22:11

    REST API на голой Django писать неудобно, поэтому для апи практически всегда тащат Django Rest Framework (DRF). Бол… twitter.com/i/web/status/9…

    22:11

    Пермишки проверять надо в BasePermission классах. Отображением и валидацией управлять в Serializer. Фильтрацией в F… twitter.com/i/web/status/9…

    22:11

    Причем креативить то можно. Только потом сплошные страдания от этого. Лишний код (бойлерплейт!), который надо подде… twitter.com/i/web/status/9…

    22:11

    Строгий RESTful никто не навязывает (но из коробки DRF пытается быть похожим). Добавляйте свои нетривиальные экшоны… twitter.com/i/web/status/9…

    22:11

    Изучив все эти абстракции, рапидно разворачивать проекты довольно несложно.
    Разумеется, это утверждение верно для л… twitter.com/i/web/status/9…

    22:11

    Естественно, все эти ништяки аукаются ценой запросов ORM (хотя в среднем они довольно адекватные) и вездесущими cou… twitter.com/i/web/status/9…

    22:11

    Из коробки клёвые админка и гуи для API, которые реюзают часть (если не всю) написанной логики для API. Не надо ник… twitter.com/i/web/status/9…

    22:11

    Накидал модельку-вьюсет-сериалайзер-тесты для новостей, выдал админскую учетку стаффам с пермишками только к этим н… twitter.com/i/web/status/9…

    22:11

    Очень клёвая поддержка geospatial через postgis из коробки. Прям очень. Полигоны, точки, расстояния – всё спокойно… twitter.com/i/web/status/9…

    22:11

    Некоторые вещи приходится кастомайзить. Тот же URLValidator, например. Или пагинатор свой. Но проблем с этим у нас… twitter.com/i/web/status/9…

    22:11

    Очень рекомендую апп django-waffle. Позволяет делать фича-флаги. Мы их используем очень по-разному: для тестировани… twitter.com/i/web/status/9…

    22:11

    И хотя автор DRF не рекомендует отключать DRF Browsable API, оно течёт значениями FK. Например, если у юзера есть F… twitter.com/i/web/status/9…

    22:11

    Мы закрыли DRF Browsable API через django-waffle, показываем только стаффу.

    22:11

    Также значения FK по дефолту рендерятся в html шаблоне админки на странице редактирования сущности. Тут вопрос перф… twitter.com/i/web/status/9…

    22:11

    Django большая. Есть также протухшие куски. Например, поле для картинок не умеет генерить вариации – юзают django-s… twitter.com/i/web/status/9…

    22:11

    Иногда добавляют новые куски. Например, нативный JSONField для PG (в 1.9) или db migrations (1.7) – то, что раньше… twitter.com/i/web/status/9…

    22:11

    План миграции c south великолепный: удалите все миграции и создайте новые. What could possibly go wrong?… twitter.com/i/web/status/9…

    22:11

    Опять про инстаграм: как они апгрейдились с Django 1.3 до 1.8: youtu.be/lx5WQjXLlq8?t=… (ссылка с таймтегом)

    22:11

    До версии 2.0 каждый *.* релиз считался мажорным (как у postgres). С 2.0 маркировка версий немного поменялась: docs.djangoproject.com/en/dev/interna…

    22:11

    Кстати, если вы мейнтейните Django проект и до сих пор не подписались на django-announce mailing list, очень рекоме… twitter.com/i/web/status/9…

    22:11

    Для вебсокетов есть Django Channels: запросы принимает daphne ("HTTP and WS termination server") и через redis/amqp… twitter.com/i/web/status/9…

    22:11

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

    22:11

    Как-то так. Django хейтить у меня получается хуже, чем всё остальное :)

    Про ORM и тестирование напишу отдельно (завтра).

    22:11
    @backendsecret Го читать легче питона и руби?

    Вообще да. Ну если поставить вентилятор в кресло для охлаждения пятой точки от постоянных if err != nil

    По моему… twitter.com/i/web/status/9…

    0:20

    Или о том какой метод суперкласса мы наследуем. Или о том что к нам приходит и по какому методу мы можем к нему обр… twitter.com/i/web/status/9…

    0:22
    @backendsecret В го довольно большой бойлерплейт у слайсов, словарей, строк, регэкспов; нет перегрузки операторов и интерполяции строк
    0:29
    Да ну, про языки сраться это совсем 2015 (tl;dr - Груви рулит). Про DevOps интересней. twitter.com/backendsecret/…
    8:32
    Вот хороший вопрос для сегодняшнего @backendsecret, кстати. twitter.com/sadoperator/st…

    Это кстати не только ко мне вопрос. А какая единица измерения разработчика? Сейчас буду отвечать :) twitter.com/jbaruch/status…

    8:33
    @backendsecret есть люди, которые не то, что не понимают, за что хвалят питон, но им также не особо ясно, зачем нуж… twitter.com/i/web/status/9…
    8:33

    Может быть две причины для того чтобы как-то мерять КПД разработчика\девопса: вы не понимаете делает ли человек что… twitter.com/i/web/status/9…

    8:36

    Вообще выставлять какие-то KPI для дев\девопс\опс чревато тем что у вас останутся только заточенные под этот KPI лю… twitter.com/i/web/status/9…

    8:38

    Возможно у кого-то есть система с KPI по которой можно оценить работу программиста, но этот кто-то держит эту систему в секрете или врёт.

    8:40
    @backendsecret Кажется у @yegor256 что-то было

    Ну я же говорил “врут”. twitter.com/tw_kotalex/sta…

    8:43

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

    Е… twitter.com/i/web/status/9…

    8:49

    Чаще всего вы, как девопс\релиз инженер\инфраструктурщик можете влиять на TTM. Также вы можете влиять на способност… twitter.com/i/web/status/9…

    8:51

    Естественно вы будете влиять и на стабильность приложения. И на кучу всего другого.

    Тут самая важная штука - подо… twitter.com/i/web/status/9…

    8:52

    Ну и конечно надо быть честным с тем какие задачи ты выбираешь и для чего. Процитирую “Гарри Поттера и методы рационального мышления”

    9:00

    Если ты пытаешься выбрать один из двух дорогих чемоданов и тебе нравится блестящий, то уже не важно, какие аргумент… twitter.com/i/web/status/9…

    9:01
    Если ты пытаешься выбрать один из двух дорогих чемоданов и тебе нравится блестящий, то уже не важно, какие аргумент… twitter.com/i/web/status/9…

    Я время от времени вижу как люди придумывают себе причину заниматься какой-то задачей просто потому что она интерес… twitter.com/i/web/status/9…

    9:02

    Так что просто сходите к бизнесу и узнайте его цели. Это может быть и х2 сотрудников через год. Это может быть и 99… twitter.com/i/web/status/9…

    9:15

    А если вы знаете цели бизнеса, то вы сможете поставить себе такие задачи, чтобы помочь бизнесу с достижением его це… twitter.com/i/web/status/9…

    9:17
    @backendsecret А бизнес такой фигак, и выкатил несколько гигабайт текста написанного лучшим канцеляритом: "Вот опис… twitter.com/i/web/status/9…

    Ну это вообще-то проблема – неумение компании доносить свои цели сотрудникам. И я не знаю как эту проблему решать,… twitter.com/i/web/status/9…

    9:21
    @backendsecret Есть такое дело. Всегда говорил что хороший бэкенд девелопер должен понимать всю серверную кухню, чт… twitter.com/i/web/status/9…
    9:21
    @poisoncorpsee @backendsecret Менеджеров как и любые другие квалифицированные надо регулярно воспитывать и обучать.… twitter.com/i/web/status/9…
    9:21
    @backendsecret может лучше подумать про то, как получше написать код? А то вот чуть более чем вся отрасль уже из та… twitter.com/i/web/status/9…

    Вообще интересная точка зрения. Хотя я её не поддерживаю, потому что лично в моей практике люди которые в первую оч… twitter.com/i/web/status/9…

    11:05

    А если случайно делали нужную фигню, то получалось это не эффективно.

    11:06
    @backendsecret Бизнесовые метрики на прямую не годятся для принятия инженерных решений (они вообще не годятся для п… twitter.com/i/web/status/9…

    Если честно, мне сложно понять как метрика “size of tech deb” поможет мне понять двигается ли мой отдел в правильну… twitter.com/i/web/status/9…

    11:17
    @backendsecret Ещё хорошие метрики: test coverage, cyclomatic complexity, number of open bugs.

    Опять же, если у вас весь код будет покрыт тестами, 100% коверейдж, но уже 50 китайских компаний выпустили клон с н… twitter.com/i/web/status/9…

    11:19
    @backendsecret Го читать просто, но больно
    11:19

    Поэтому я и говорю что инженеры (программисты, опсы и девопсы) не должны кукситься в своем мирке с выдуманными идеа… twitter.com/i/web/status/9…

    11:22

    У опсов тоже, кстати, есть свои приколы - типа всё на стабильность, когда стабильность не нужна. Или идиотские прав… twitter.com/i/web/status/9…

    11:23
    @backendsecret А именно: понимать как то, что они делают приносит или экономит деньги.
    Только мне сдаётся, что об… twitter.com/i/web/status/9…
    11:24
    @backendsecret Ооо, безопасность головного моска, я знаю о ней ФСЕ!!! До сих пор совершенно идиотские тикеты в джир… twitter.com/i/web/status/9…
    11:26
    @backendsecret Это понятно, но есть риск, что у вас разработка как загнанная лошадь будет, и ваш time to market рез… twitter.com/i/web/status/9…

    Я это отлично понимаю, поэтому и говорю что это симптоматическая метрика, на которую надо смотреть, как и на другие… twitter.com/i/web/status/9…

    11:35

    Я попробую еще проще: представьте что вы едете на машине в ралли. Вам надо следить за кучей вещей. Но единственное… twitter.com/i/web/status/9…

    11:39

    Ну, если ваш бизнес умеет управлять такой абстракцией разработчика, то да, это может быть такой ценностью. Хотя по… twitter.com/i/web/status/9…

    11:55
    @backendsecret Все это "программист должен думать о бизнесе" хорошо до тех пор, пока бизнес маленький, а программис… twitter.com/i/web/status/9…

    Ну вообще все началось с того как можно измерять полезность работы девелопера\девопса. И вообще я даже скорее не за… twitter.com/i/web/status/9…

    11:58
    @backendsecret Как-то странно получается. Зачем тогда бизнес нанимает разработчиков, если не может донести свои планы?

    От безысходности. Людей которые хотят заниматься какой-то фигней (не зависимо от причин) гораздо больше чем людей к… twitter.com/i/web/status/9…

    12:06
    @axique Из-за когнитивного диссонанса. Если ты веришь в идеальный код с правильной архитектурой, 100% покрытием, а… twitter.com/i/web/status/9…

    Собственно почему девелоперы так любят говорить о техдолге? Потому что им вбили в голову что есть некая идеальная а… twitter.com/i/web/status/9…

    12:13
    @backendsecret когда полностью соглашаешься с "бизнесом" в лице манагера... ну это приводит либо к закрытию конторы… twitter.com/i/web/status/9…

    Интересно посмотреть примеры :) Но вообще да, из-за того что девелоперов\опсов надо продавливать многие менеджеры п… twitter.com/i/web/status/9…

    12:22
    @backendsecret Здравый подход
    Техдолга нет только у мертвого и ненужного продукта
    12:25
    @backendsecret в долгосрочной перспективе архитектура влияет на скорость выкатки фич. Конечно из-за плохой архитект… twitter.com/i/web/status/9…

    Конечно влияет. Я ж не говорю что надо писать код простынями на перле. Возможно у нас разный опыт. Я, лично, неодно… twitter.com/i/web/status/9…

    12:29
    @backendsecret ещё я бы советовал прикинуть какое количество багов генерирует большой техдолг. Нередко боттленеком… twitter.com/i/web/status/9…

    Ещё раз, я же не говорю что надо наращивать техдолг как пивной живот. За всем надо следить. Но ориентироваться на к… twitter.com/i/web/status/9…

    12:31
    @alcotaran @backendsecret Про важность понимания бизнеса у меня несколько иное видение:
    если ты понимаешь, что стои… twitter.com/i/web/status/9…
    12:32
    @backendsecret @axique Систему KPI можно аккуратно прописать, покрыв все нужные аспекты и скореллироваьь их с высок… twitter.com/i/web/status/9…

    Вот если честно не встречал KPI которые бы не превращались в синтетический тест видеокарт. Либо ты не используешь K… twitter.com/i/web/status/9…

    13:06
    @backendsecret А как тех долг превратить в KPI? Что мерять?

    Измеряется в чезанах\минута twitter.com/visualwatermar…

    13:42
    @backendsecret @almaleksia Пытаются делать многие, но не у всех получается. Так же как и не у всех банально получае… twitter.com/i/web/status/9…

    Вот тут есть такая интересная штука – я считаю что если что-то может работать плохо, то надо искать варианты чем ег… twitter.com/i/web/status/9…

    13:52
    @borovikov @backendsecret для меня важнее та метрика, улучшение которой прибавляет мне денег. если менеджмент не по… twitter.com/i/web/status/9…

    Вот так в принципе думает большинство. Хотите больше денег и влияния — не думайте так :) к тому же разбираться в чё… twitter.com/i/web/status/9…

    14:59
    @backendsecret Тоже дело стиля. Атомарный вендоринг, атомарные апдейты завендореных библиотек. Комментарии вида “Ve… twitter.com/i/web/status/9…

    Это все конечно возможно, но ты начинаешь делать работу мейнтейнеров и вся эта работа смешивается с историей измене… twitter.com/i/web/status/9…

    9:02

    Попробую развернуть немного. Давным давно, не дистрибутивы не существовали и администраторы сами собирали все инстр… twitter.com/i/web/status/9…

    9:05

    Мало того что вам нужно было все собирать самостоятельно. Вам нужно было подписываться на списки рассылки и следить… twitter.com/i/web/status/9…

    9:08

    ... и публикуют пакеты. Администратор просто устанавливает готовые пакеты. Для упрощения жизни были придуманы утили… twitter.com/i/web/status/9…

    9:10

    Тут появляется Роб Пайк и заявляет что все это лишнее. Удобнее всего деплоить single binary без зависимостей (таки… twitter.com/i/web/status/9…

    9:13

    Для многих проектов это именно то что нужно. Проблема только в том, что теперь программист должен следить за проект… twitter.com/i/web/status/9…

    9:15
    @backendsecret Рибейс зло надо описать merge
    гайд чтобы пользоваться рибейсом грамотнo. Вроде как при пуле не разрешать комитать

    Имеется ввиду `git pull --rebase origin branch_name`. Тут будут рибейзиться только твои локальные изменения, которы… twitter.com/i/web/status/9…

    9:17

    первое "не" тут лишнее конечно, double negation прямо как в AAVE!

    9:19

    Лучше уж сделать fork репозитория и мерджить upstream вручную. Submodules довольно геморно удалять, плюс ты все рав… twitter.com/i/web/status/9…

    9:22
    @backendsecret К этому рано или поздно все придут. Вот хороший пример github.com/aptible/superc…
    9:23
    @backendsecret Ну и да, аргумент, «а вот тут писать код не надо, оно само» — мягко говоря, слабенький.

    А потом эти люди пишут костыли, для ручной генерации stack trace-ов из ошибок. twitter.com/CuredPlumbum/s…

    11:58

    Пожалуй настало время рассказать про разработку Akumuli. Вот обзорная статья на Хабре - habrahabr.ru/post/345974/.

    14:31

    Когда-то давно я прочитал книгу Малкольма Гладуэлла, название которой не помню, что-то про outliers, в которой расс… twitter.com/i/web/status/9…

    14:40

    но, во многих случаях, это довольно точная нижняя граница для оценки необходимого опыта. В общем, я впечатлился и р… twitter.com/i/web/status/9…

    14:42

    Я пользуюсь одним простым правилом. Стараюсь сделать что-нибудь каждый день. Пусть это всего 20 минут кодинга, либо… twitter.com/i/web/status/9…

    14:45

    Люди очень сильно склонный недооценивать небольшие инкрементальные изменения на протяжении длительных периодов времени.

    14:47

    И в те моменты, когда ты не пишешь код, есть время подумать над тем что делать дальше. И вот это "подумать" у меня… twitter.com/i/web/status/9…

    14:50

    Дольше всего в проекте живет код для сжатия данных. Я написал свое сжатие для time-series еще до того как была опуб… twitter.com/i/web/status/9…

    15:03

    тупо использовали Gorilla paper с небольшими изменениями. Поэтому их алгоритм очень медленно работает (Gorilla это… twitter.com/i/web/status/9…

    15:04

    Сам алгоритм описан вот здесь - docs.google.com/document/d/1yL…

    Для тестирования я использовал фаззинг (american fuzzy lop… twitter.com/i/web/status/9…

    15:11

    Я надеюсь рано или поздно перейти с AFL на libfuzzer, так как сейчас фаззинг очень медленный и долгий. Вот хорошая… twitter.com/i/web/status/9…

    15:12

    Почему не стоит? Представьте, что существует такой input, который можно будет сжать и получить результат, который п… twitter.com/i/web/status/9…

    15:16
    В общем, знайте, что если у человека есть миллиард открытого выдроченного софта в открытом домене или, не дай бог,… twitter.com/i/web/status/9…

    Узнаю себя
    mobile.twitter.com/vasilenkos/sta…
    (на самом деле нет)

    17:06
    @backendsecret @Nattf0dd @it_poselok Мне ваша концепция с поселком не понравилась из-за нарочитого упоминание того,… twitter.com/i/web/status/9…

    Да, @it_poselok – это секта. Недавно у нас был камин-аут в двух частях
    blog.poselok-programmistov.ru/posts/23-n-ste…
    и… twitter.com/i/web/status/9…

    10:48

    Я считаю, что в твиттер нельзя часто писать – это для здоровья опасно. Вот наш бывший губер @NikitaBelyh писал кажд… twitter.com/i/web/status/9…

    10:53
    @backendsecret @Nattf0dd @it_poselok Не знаю когда найти момент спросить про результаты и в целом цели.
    Цель писать код или делать продукты?

    Конечно, делать продукты. В идеале, если бы они вообще без кода получались. Кстати, у многих так могут – например,… twitter.com/i/web/status/9…

    10:56

    Давайте в комментариях к этому твиту поделимся стеком инструментов для разработки и отзывами к нему. Мы используем… twitter.com/i/web/status/9…

    11:01

    Отзыв такой. Bitbucket – нейтрально, только аптайм иногда подводит. Jira вместе с аджайлом – страшновато по интерфе… twitter.com/i/web/status/9…

    11:03
    @backendsecret @Atlassian Мы используем гитлаб, дропбокс пэпер и трелло, ни о чем не жалею

    Гитлаб – это норм, серьезно? Я завтра передаю аккаунт нашей односельчанке Анастасии Власовой, в ее команде запарил… twitter.com/i/web/status/9…

    11:06
    Our MOOCs are now available on our Open edX platform! scala-lang.org/news/2018/02/2… You can enroll, access the course mat… twitter.com/i/web/status/9…

    Пока я манкирую своими обязанностями по ведению твиттера, можете пройти четыре курса по Scala: язык с таким богатым… twitter.com/i/web/status/9…

    8:02

    Проблема Скалы, на мой взгляд, состоит в попытке усидеть на двух стульях: императивность и функциональность, сосуще… twitter.com/i/web/status/9…

    11:48
    @backendsecret Типичный @backendsecret . Вчера критиковал ерлангистов, которые брызгали слюнями на haskell. Сегодня… twitter.com/i/web/status/9…

    Это ещё что, я сейчас сам Хаскель ругать начну. Проникся комментами хейтеров. twitter.com/Odomontois/sta…

    15:52

    Так вот, самый лучший функциональный язык — это, разумеется, Standard ML. Я с ним, к сожалению, поздно познакомился… twitter.com/i/web/status/9…

    16:00

    Вообще всё семейство ML мне нравится (даже F#). Понимаете, это языки без претензий, языки для тех, кому ехать, а не… twitter.com/i/web/status/9…

    16:02

    Посмотрите на объекты и классы Ocaml — вот так по-честному нужно делать ООП в функциональном стиле, а не то, что по… twitter.com/i/web/status/9…

    16:05

    Система типов в ML-языках сложная, но не раздавливающе сложная, как в той же Скале или Хаскеле. Модули замечательны… twitter.com/i/web/status/9…

    16:07
    @backendsecret > Ocaml тоже неплох.
    ждем лайк

    Это нам тут напоминают, что правильно писать OCaml, сейчас придёт бот и лайкнет твит с неправильным написанием. twitter.com/hmemcpy/status…

    16:09
    @backendsecret Не думали в сторону перевода PFPL?

    Речь о книге Боба Харпера Practical Foundations for Programming Languages. Во-первых, там нечего переводить, одни… twitter.com/i/web/status/9…

    16:15

    Читайте «Типы в яыках программирования» Пирса, вот книжка для детей. Как раз бэкендерам пойдёт. newstar.rinet.ru/~goga/tapl/

    16:16

    Причём я ни в коем случае никого не хотел обидеть, это действительно приятно читаемая книжка. Там лямбда-исчисление… twitter.com/i/web/status/9…

    16:20

    Вполне возможно, что я бы какой-нибудь ML читал в университете, но случилось так: когда-то в далёком 2003 году (я т… twitter.com/i/web/status/9…

    16:29

    Я тогда был страшно самоуверенный, заявил, что все языки одинаковые (основываясь на знании гигантского количества я… twitter.com/i/web/status/9…

    16:30

    А что вы хотите? Провинциальный вуз, я и слов-то таких как функциональное программирование никогда не слышал. Тольк… twitter.com/i/web/status/9…

    16:32

    SICP надо читать, хоть над ним в лурке смеются. Первые три главы уж точно, дальше необязательно. Но вот языки семей… twitter.com/i/web/status/9…

    16:37
    @backendsecret Если кто хочет почитать SICP, рекомендую вот этот модернизированный PDF с хорошей типографией github.com/sarabander/sic…

    Но есть и на русском: newstar.rinet.ru/~goga/sicp/

    Спасибо, кстати, @gogabr за перевод! А ещё он Окасаки переводил и то… twitter.com/i/web/status/9…

    16:45
    Это правда. Но решается простыми рекомендациями к стилю кода. И в той или иной степени (обычно меньшей) есть и в др… twitter.com/i/web/status/9…

    Рекомендации к стилю кода редко работают. К тоже же обычно есть противоречивые рекомендации. Но вообще это старый с… twitter.com/i/web/status/9…

    16:49
    @backendsecret Пссс, про ruby чё-нить слышал?

    Ruby — это, конечно, ужас. У нас форум факультетский на Discourse, который на Ruby написан, иногда приходится внутр… twitter.com/i/web/status/9…

    16:54

    Зря про Ruby написал, да? Ну ок. Вы ж имейте в виду, что я вообще чушь несу, тут народ отписывается целыми коммьюнити и ничего!

    17:02

    Слушайте, а эти ребята токсичные. Я всех люблю, на самом деле. Даже рубистов!

    17:07
    @backendsecret Страшным образом для тебя - это в vim? :D

    Оскорблять пытаются. Я с вимом с 1997 года знаком, с первого курса. У нас в дисплейном классе по Enter'у на pas-фай… twitter.com/i/web/status/9…

    17:19

    Вы же поймите. у меня просто интересы другие! Вам нужно что-то запрограммировать. Желательно быстро, чтобы работало… twitter.com/i/web/status/9…

    17:27

    Только он как язык скучный, там вообще ничего интересного нет! Как представлю, что мне пришлось бы Ruby преподавать… twitter.com/i/web/status/9…

    17:28

    Вот Javascript, кстати, я за ним с 2000 года наблюдаю. Он же прикольный! О, это чудесная объектная модель на протот… twitter.com/i/web/status/9…

    17:34
    @backendsecret А может лучше работать и ебашить фичи,а не искать всю жизнь лучший язык программирования, читать тео… twitter.com/i/web/status/9…

    Может, и лучше. Просто у меня другая профессия. Все эти работники, создающие фичи, ведь не с потолка берутся. Хотя,… twitter.com/i/web/status/9…

    17:42
    @backendsecret Если вкратце, там синтаксис как в js, но система типов от ocaml. Это все к тому, что ML подобный син… twitter.com/i/web/status/9…

    Про ReasonML twitter.com/somerandstring…

    17:46

    Я не знаю. Может, кто что посоветует? twitter.com/mtrklb/status/…

    17:51
    @backendsecret Давай про Хаскель ближе к земле.
    Чем и как либы/зависимости устанавливают? Кабалы эти ваши и вот это… twitter.com/i/web/status/9…

    Есть два инструмента: stack и cabal. Они оба работают. Stack ориентируется на относительно небольшой (~2600) набор… twitter.com/i/web/status/9…

    18:00

    Если ничего экзотического не требуется, то оба инструмента работают приемлемо, они оба сейчас активно развиваются,… twitter.com/i/web/status/9…

    18:02

    Для подключения C-библиотек используется FFI — Foreign Function Interface, там нужно поработать над соответствием т… twitter.com/i/web/status/9…

    18:03

    Сейчас в cabal делают новый интерфейс, постепенно переводя его на nix-рельсы. Пока сыро, но пользоваться уже можно.… twitter.com/i/web/status/9…

    18:07

    Рубисты, прекращайте! Увидели, что докладчик идиот — всё, пошли дальше.

    18:09
    @backendsecret Твиттер - инструмент для рассмотрения и ведения конфликтов. Ты просто убегаешь от них. В текущем слу… twitter.com/i/web/status/9…

    Так я честно говорю: компетенции никакой у меня нет! Это к кураторам: позвали какого-то лоха из провинции с экзотич… twitter.com/i/web/status/9…

    18:17
    @alcotaran @backendsecret Большинство проблем, которые приходится решать,никак не связано с языком, на котором прих… twitter.com/i/web/status/9…

    Счастье не наступит. Но вообще ясно же, что сложные задачи на любом языке сложно решать. И в Хаскеле с этим придётс… twitter.com/i/web/status/9…

    18:23
    @backendsecret про руби вы просто из функционального лагеря, а красота руби в ооп. я ненавидел ооп когда писал на п… twitter.com/i/web/status/9…

    Рад за рубистов! twitter.com/oleg_antonyan/…

    18:32
    @backendsecret Не совсем. Сложные задачи на kotlin просто решать

    Про Kotlin не буду писать, а то на меня в JetBrains обидятся, а они хорошие, пользу отечественному образованию боль… twitter.com/i/web/status/9…

    18:55

    Idris — прекрасный язык. Очень полезно для самообразования, книжка отличная от автора языка есть (… twitter.com/i/web/status/9…

    19:03
    @backendsecret С такого комментария уже можно обидиться - "не буду писать". Если обратная связь конструктивна, чего обижаться.

    Это шутка была! Я люблю JetBrains! Kotlin — лучший в мире язык программирования! Ещё у него архитектор замечательны… twitter.com/i/web/status/9…

    19:09

    Ладно. Все поняли, что в языках программирования я ничего не понимаю, и хорошо. Пойду отсюда, пока ещё кого-нибудь… twitter.com/i/web/status/9…

    19:12
    Неделя треша с новым автором @backendsecret

    все меньше понимаю связь авторов с тематикой проекта...

    Не могу не отретвитить на широкую аудиторию, но заявление по собственному желанию писать не буду! twitter.com/devilish_flux/…

    19:45

    Есть интересная классификация степени понимания области.

    1:21

    Карго-культисты -- они даже не специалисты.
    Хорошие специалисты в области agile нередки в индустрии, вполне вероятн… twitter.com/i/web/status/9…

    1:23

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

    1:24

    Но зуб даю, любому опытному человеку дай любую Святыню agile'а и он обязательно вспомнит или сгенерирует пример, ко… twitter.com/i/web/status/9…

    1:27
    @backendsecret Кагбэ да, однако так ли легко бизнесовые требования замоделировать без глобального разделяемого сост… twitter.com/i/web/status/9…

    > так ли легко бизнесовые требования замоделировать без глобального разделяемого состояния?

    А я и не говорил, что… twitter.com/i/web/status/9…

    10:13
    @backendsecret И получается дешевле (по деньгам и срокам) сделать спагетти с глобальным стейтом, чем раскладывать в… twitter.com/i/web/status/9…

    Опять же, всё зависит от проекта.

    Если это проект, который изначально задуман как времянка, и его нужно сделать ка… twitter.com/i/web/status/9…

    10:52
    @backendsecret Беда в том, что 4 стейкхолдера собравшись на митинг всё равно опишут только 20-50%% очевидных кейсов… twitter.com/i/web/status/9…

    > И пойдешь все свои строгие типы на корню переделывать после первого столкновения с реальностью.

    Вполне возможно.… twitter.com/i/web/status/9…

    10:58
    Топишь за язык, будь добр оправдывайся и за IDE. Или зачем вы тут вообще? twitter.com/backendsecret/…

    > Или зачем вы тут вообще?

    Рассказывать об использовании языка. А не оправдываться за то, что для него нет каких-т… twitter.com/i/web/status/9…

    11:32
    @backendsecret Поставим вопрос по другому :)
    Есть ли ограничения или сложности в практическом (как оперативном, так… twitter.com/i/web/status/9…

    > Есть ли ограничения или сложности в практическом ... использовании ФП с различными методологиями: MSF, RUP, гибки… twitter.com/i/web/status/9…

    12:06
    @backendsecret раз уж об отличиях - известна в мире хоть одна хаскеллист-женщина? (никакого сексизма! чистый интерес)))

    Да. И не одна. Например, вот доклад "Haskell is Not For Production and Other Tales" (youtube.com/watch?v=mlTO51…). Он о… twitter.com/i/web/status/9…

    12:13
    @backendsecret Недавно вышла хорошая книжка pragprog.com/book/swdddf/do…. Читается на одном дыхании, как по теме моделир… twitter.com/i/web/status/9…
    13:38

    А вот, кстати, ещё одна прекрасная представительница хаскелистов: youtube.com/watch?v=B19WKs…. Рассказывает о реалиях п… twitter.com/i/web/status/9…

    14:11
    @backendsecret отлично. Кстати, смотрели в сторону ЯП Swift? Видно, что его делали с оглядкой на ФП. Есть и высшие… twitter.com/i/web/status/9…

    Да, Swift впитал в себя дух ФП, это видно даже в синтаксисе. Но сам я не работал с этим языком, поэтому прокомменти… twitter.com/i/web/status/9…

    14:16
    @backendsecret боюсь пробовать хаскелл именно потому что в докладах всё ахриненно круто, а в жизни столкнусь с труд… twitter.com/i/web/status/9…

    > в жизни столкнусь с трудностями

    Конечно столкнёшься! Да, ФП помогает избежать многих проблем, но не всех. И на H… twitter.com/i/web/status/9…

    14:45

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

    14:50
    @backendsecret Реквестирую трудностей - первый пример с Хаскель-кодом хорошо зашёл, но монады в нём зашли похуже.
    Н… twitter.com/i/web/status/9…

    > Реквестирую трудностей - первый пример с Хаскель-кодом хорошо зашёл, но монады в нём зашли похуже.

    Монады - это… twitter.com/i/web/status/9…

    15:00

    "Всякий раз, когда кто-то называет функциональный объект функтором, где-то в мире умирает математик..." (C)

    К чему… twitter.com/i/web/status/9…

    15:43
    @backendsecret Да функтор это жеж прост класс в си-крестах с перегруженными круглыми скобками.
    Ну или лямбда там.… twitter.com/i/web/status/9…

    НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТ! Зачем, зачем ты сделал это?! Ведь только что ещё один представитель математического сообществ… twitter.com/i/web/status/9…

    16:13
    @backendsecret Ну если я аппликацию на хомяках и орешках под бутылочку стаута смог объяснить, то и монады с каким-нибудь зельем смогу
    17:01
    @backendsecret Я правилно понял, что монада, это интерфейс, с правилами реализации, для которого есть синтаксический сахар в haskel?

    Не спрашивайте, пожалуйста. Объяснение будет позже. Если я решусь на это. И не могу обещать, что решусь-таки... :-) twitter.com/zysyg/status/9…

    17:02
    @skv_nskv @backendsecret Вот тут то типы и нужны, можно понять, что чепуха получается, пока ещё тонны кода не написаны.

    Золотые слова! twitter.com/qnikst/status/…

    18:51
    @backendsecret Наша дружная команда очень нуждается в PHP разработчике (уровень middle)
    по уровню , по ключевым на… twitter.com/i/web/status/9…

    Спрашивать о PHP-разработчике на Haskell-неделе... Это похоже на подкол. :-) twitter.com/abystrova1/sta…

    18:52
    Друзья! В один инновационный проект, а именно "Лига ЖКХ" требуются программисты. PHP, PostgreSQL и вот это вот все.… twitter.com/i/web/status/9…
    20:36
    @backendsecret Денис, а что скажете про TDD и Haskell есть ли профит от такого союза?

    TDD - это ведь Type Driven Development, верно? От такого союза самый что ни на есть профит! :-)

    Если же под TDD по… twitter.com/i/web/status/9…

    22:02
    @backendsecret @ditansu На самом деле паттерны программирования в Haskell есть. Но это скорей здравый смысл и часто… twitter.com/i/web/status/9…
    23:27

    Ну что, отдохнули от монад?

    15:06
    Как я пытаюсь изучать хаскель coub.com/view/13ka5l
    15:27

    Ну раз отдохнули...

    15:31

    is.gd/4qRRRy Функциональное программирование - Ярон Мински, Анил Мадхавапедди и Джейсон Хикки - Программ… twitter.com/i/web/status/9…

    15:31

    Функциональное программирование - Ричард Уорбэртон - Java 8 Lambdas: Functional Programming for the Masses / Лямбда… twitter.com/i/web/status/9…

    15:32

    [Computer Science Center] Функциональное программирование на языке Haskel [2015, RUS] is.gd/W9CVQb видео

    15:37

    Душкин Р.В. - Альманах Конкурсы по функциональному программированию за 2013 год [2014, PDF/DjVu, RUS] is.gd/4ysopT

    15:37

    Душкин Р.В. - Альманах Конкурсы по функциональному программированию за 2012 год [2013, PDF/DjVu, RUS] is.gd/QVDOYy

    15:37

    Душкин Р.В. - Альманах Конкурсы по функциональному программированию за 2011 год [2012, PDF/DjVu, RUS] is.gd/eo92jJ

    15:37
    ищу разработчика Python в #Таганрог (#Краснодар или #Ростов или ещё где тоже устроит) как-раз за такие деньги. Ау?!! twitter.com/belliht/status…
    15:42

    Городняя Л. В. - Основы функционального программирования [2004, PDF, RUS] is.gd/u4HLgN

    15:44

    Мартин Одерски - Принципы функционального программирования на языке Scala / Functional Programming Principles in Sc… twitter.com/i/web/status/9…

    15:50

    Функциональное программирование - Бёрд Р. - Жемчужины проектирования алгоритмов. Функциональный подход [2013, PDF,… twitter.com/i/web/status/9…

    15:50

    [TechDays] Практическое функциональное программирование на F# от облачного- и веб-программирования до телефона и иг… twitter.com/i/web/status/9…

    15:50

    [CompSciCenter.ru / lektorium.tv] Функциональное программирование (Haskell) [2012, RUS] is.gd/EZOtha видео

    16:21

    Сошников Д. - Функциональное программирование на F# [2011, PDF, RUS] is.gd/GIsjyx

    16:21

    Больше не буду. Профессор по ФП возмущается пиратским книжкам.

    16:21

    А может у вас есть вакансии? Давайте, поретвичу!

    16:45
    @backendsecret если можно, спасибо twitter.com/GosuAi/status/…
    17:07
    @backendsecret Мы вот в Гамбург сисадмина ищем innogames.com/ru/innogames-r…

    Помогают с переездом, команда дружная, работы море.

    17:07
    @limmopony @backendsecret Насколько я знаю если образование не по ирженерной специальности, могут быть проблемы с в… twitter.com/i/web/status/9…
    3:00
    LINE ищет финансистов/менеджеров для работы в сфере криптовалют (не IT). Японский не значится в списке скилов, но… twitter.com/i/web/status/9…
    5:31

    Как я и говорил. Прямо из гайдбука подачи на гранты для молодых исследователей от JSPS (японское сообщество продвиж… twitter.com/i/web/status/9…

    8:10
    @backendsecret Изначально канал для бекендеров и иже с ними. И я бы хотел все причастных поздравить с неофициальным… twitter.com/i/web/status/9…
    8:33

    Как и обещал, продолжаю вещать!

    Клавиатурное хобби может показаться очень странным человеку извне, но даже в нем е… twitter.com/i/web/status/9…

    9:19

    Мне не нравится вариант перевода с "кустарными" клавишами, поскольку на самом деле по-настоящему профессиональные р… twitter.com/i/web/status/9…

    9:23

    Так что же все-таки представляют с собой артизаны? Допустим вам нравится ваша клавиатура, а так же вам очень нравят… twitter.com/i/web/status/9…

    9:26

    Именно с роботов пошли одни из первых артизанов, Bro Caps, кейкапы назывались Brobot wiki.geekhack.org/index.php?titl… (фото… twitter.com/i/web/status/9…

    9:30

    А дорогие они потому что это ручная работа сделанная фактически в одном экземпляре. Сами авторы как правило не прод… twitter.com/i/web/status/9…

    9:31

    Чтобы понять почему они так дорого стоят даже до перепродажи, советую посмотреть это видео youtube.com/watch?v=QOiyyR…

    9:35

    Это более-менее полный вариант отливки кастомных кейкапов. Вот только одно но, сетап на видео + материалы стоит от… twitter.com/i/web/status/9…

    9:35

    Если вкратце, то процесс происходит так:

    1) Отливаете силиконовую форму для вашей клавиши
    2) Смешиваете жидкий пла… twitter.com/i/web/status/9…

    9:41

    Проблема в том что многие экономят на камерах и в итоге используют китайские аналоги (или еще хуже – китайские паро… twitter.com/i/web/status/9…

    9:43

    Но! Если вы набьете руку, то можно вытворять абсолютно крутые, даже сумасшедшие вещи. Яркий пример – мои друзья из… twitter.com/i/web/status/9…

    9:53

    По примерной оценке авторов на одну такую клавишу уходит до 8-10 часов работы

    9:54

    Я в свое время делал только простейшие даблшоты, но никогда их не продавал тк качество было так себе pic.twitter.com/44otuM8TZz

    10:01

    Из по-настоящему крутых артизанов могу назвать:

    KeyKollectiv
    Booper
    Binge (Hunger Work Studio)
    Bro Caps
    Doom caps… twitter.com/i/web/status/9…

    10:11

    На этом бизнесе, правда, шибко не заработаешь, особенно если вы делаете у себя на дому. Некоторые из артизанов это… twitter.com/i/web/status/9…

    10:24

    Но в этом нет ничего плохого. Наоборот, автоматизация экономит время. Например Binge убухал кучу денег чтобы создат… twitter.com/i/web/status/9…

    10:28

    купить его можно тут techkeys.us/products/synth

    10:29

    Однако не ожидал что мои рассказы про клавиатуры будут пользоваться такой популярностью. Хотите расскажу как дизайн… twitter.com/i/web/status/9…

    11:55
    @backendsecret А как дела с шумом от них в опенспейсе? Оч хочу перейти, но боюсь, что:

    Я сижу в лаборатории из 30 студентов, 20 из них на механике. Проблем не замечал twitter.com/zobninatn/stat…

    12:04

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

    Судя по “многочисленным” ответам тут мало кто занимается работой на низком уровне, а следовательно большими нагрузками. Поднимаемся выше!

    8:18

    Кто использует в работе какие фреймворки или CMS-ки? Какие бд? Мускул? Постгря? Монга? Redis-ка? Эластик-серч? Мемкеш?

    8:20
    @backendsecret только Plack, только Postgre, только хардкор! Ну и Redis еще
    8:22
    @backendsecret нода, монго и редис
    8:25
    @backendsecret так о ликах или о тредах тема? Вещи весьма себе перпендикулярные :)
    8:26

    Использование тредов или асинхронности, @ivanenok, влечет за собой проблемы ликов и дебага. То есть вопрос про фактическую работу.

    8:28
    @backendsecret в managed окружениях типа JVM и .NET с памятью все просто, треды за тобой чистят, но нужен тюнинг иногда.
    8:39

    А с самой памятью, @ivanenok, как там? “Хеллоу, ворлд“ сколько занимает в виде веб-сервера?

    8:41
    @backendsecret дебаг многопоточности еще тот геммор и потому предпочтительно тратить больше времени на проектирование.
    8:44

    Странный тезис, @ivanenok! Программируете сначала на доске/бумаге? Я слышал про подобные собеседования в гугле.

    8:46
    @backendsecret само окружение жрет память, но под задачи типа Hello World, нужно брать подходящие инструменты типа пыхи, ноды и тд :)
    8:47

    Это отмазки, @ivanenok. Какой размер?

    8:47

    И как впечатления, @Chudesnov?

    9:07
    @backendsecret @ivanenok подстрелить соломки в местах всяких рейс-кондишенов на этапе проектирования это всегда хорошо. И доска тут непричем
    9:07
    @imdefined @backendsecret я больше о проектировании. типа какие данные шарятся, что с этим делать и как минимизировать сваливание в кернел.
    9:07
    @backendsecret для дебага использую лимитированные очереди везде, где можно. вместо ликов - режекты.
    9:08

    Поясни про лимитированные очереди, @Borovikov. У нас (перл) нет такого понятия.

    9:08

    Про него слышал только название мельком, @freiksenet_ru. Про что эта история?

    9:10
    @backendsecret любая асинхронная задача выполняется через пул потоков, задачи кидаются вначале в очередь, а пул разгребает.
    9:10

    Это знакомо и есть аналоги, @Borovikov. И?

    9:11
    @backendsecret если эту очередь выбрать ограниченной, то при попытке засабмитить слишком много тасков получаем эксепшен
    9:17
    @backendsecret получается fail fast, и смотрим какой метод пытается переполнить пул и ищем проблему в нем.
    9:17
    @backendsecret ситуации там как правило типовые, например таски создаются в цикле. или забыли дожидаться окончания тяжелого вызова.
    9:17
    @backendsecret Язык запросов интересный, сериализуется и выполняется на сервере.
    9:19
    @backendsecret node, mongo, redis, postgress, lua
    9:20
    @backendsecret Rails + Postgres + Redis + Memcached + Sidekiq
    9:20

    В первый раз слышу про sidekiq, @bytecheg! В бою он под какие задачи юзается?

    9:21
    @backendsecret ты может и код первый день пишешь? @bytecheg
    9:25

    Бгг, @graff_z @bytecheg :)

    9:25
    @backendsecret сначала прочитал "В БД" :) Как обычно: любые, требующие много времени и/или надежности. Например, публикация в соцсети.
    9:33

    Очень интересно, @bytecheg! Я так понимаю она на тоже на рубях написана и имеет развесистый интерфейс функций?

    9:34
    @backendsecret Да, ruby. Функции: разные очереди с разными приоритетами, retry провалившихся задач,web-интерфейс для управления и статистики
    9:38

    Кроновский эмулятор, @bytecheg, должен быть по идее. Не пробовали все периодические задачи на sidekiq пересадить?

    9:39
    @backendsecret 1/2 это не совсем крон. Крон только по времени отрабатывает. А в sidekiq можно кидать задачи прямо из приложения, что удобно.
    9:41

    Я понимаю, @bytecheg. Сталкивался с аналогичными решениями для питона и перла. Мне интересна возможность отказаться от крона. Пробовали?

    9:42
    @backendsecret для ruby есть clockwork - легковесный ruby-процесс,аналог cron'а.Он и секунды поддерживает, и приложение загружать не надо.
    9:46

    Мегасупер, @bytecheg!

    9:47
    @backendsecret Mongo, NodeJS, SailsJS, Redis на сервере
    9:54
    @backendsecret раз уж пошла такая пьянка: Расскажите, сталкивались ли вы с хранением в БД данных весом в 5Тб и больше? Какая БД была?
    11:38

    Да, есть такая попаболь, @lopinopulos. У нас десятки миллионов мелких файлов на огромные тб. Живём на go + aerospike.

    11:40

    Решение по стореджу, @lopinopulos, готовил facebook.com/profile.php?id…. Стукнитесь к нему, - он расскажет много чего интересного!

    12:12
    @backendsecret Perl, Catalyst, Mojolicious, Postgres, MongoDB, Redis, memcached. Ansible, Docker.
    12:20
    @Bugagazavr @backendsecret супер, спасибо! А кто там следит за временем? Они встраиваются в процесс самого сайдкика или что?
    12:49
    @bytecheg @backendsecret да, оно встраивается в сам процесс sidekiq
    12:49

    У кого какие сисадмины? Добрые и помогающие? Заносчивые и вечно спрашивающие “Тикет есть?” Параноидальные? Участвуют ли в вашей разработке?

    15:13
    @backendsecret тикет есть? :)
    15:52
    @backendsecret вот это интересно, что в k8s никто ничего персистентного не держит теперь... А цены на DBaaS кусаются!

    Ты можешь настроить кубернетис для баз, есть много решений для этого готовых и есть крупные компании которые так де… twitter.com/i/web/status/9…

    0:07

    Кубернетис самый шустрый и живой опен сорсе проэкт который я видел, там есть очеред на мерджи в мастер, супер сложн… twitter.com/i/web/status/9…

    0:12

    Если писать PR не кубернетис а в его модули типо autoscaling то вообще за день могут посмотреть и замерджить код.

    0:13

    Все ровно есть иногда баги даже там, сегодня поймал такой в кластере, пошол искать по гитхабу, нашел что починили у… twitter.com/i/web/status/9…

    0:15
    @backendsecret А для локального девелопмента какой оркестратор используете? Minikube?

    У разрабочиков каждый кто что хочет локально. Большинство или просто поднимают по 2-3 сервиса руками, если надо бол… twitter.com/i/web/status/9…

    3:32
    @backendsecret А почему aws, а не gcloud (или вообще 3rd party bare metall), хотя бы для CI/CD? Они же дешевле

    Aws историческая причини
    Другие можно прикрутить но бфдет содержать накладно потому что другие конфиги twitter.com/dpoddubny/stat…

    8:23
    @backendsecret Если во время билда нужна база (разогреть кэш), это норм, или что то не так с архитектурой?

    Во время докер билд не нужна база, это немного анти патерн twitter.com/dpoddubny/stat…

    8:25

    Поговорим про Израильский high tech. Тут индустрия сильная даже по мировым рынкам. Был на конференции амазона в вег… twitter.com/i/web/status/9…

    9:55

    Израильские компании можно делить на 3 вида

    10:00

    Второй вид.
    Компании которые выросли из стартопов и не продались, примерно от 100-500 человек. Часть из них прибылн… twitter.com/i/web/status/9…

    10:04

    Третий вид.
    Крупные международные компании у которых есть офис в израиле или они израильские.
    Facebook, google, che… twitter.com/i/web/status/9…

    10:06

    Работы разработчикам хватает, есть последнии несколько лет есть серьезная нехватка инженеров. Это отражается в зарп… twitter.com/i/web/status/9…

    10:10

    Есть компании которые открыли офисы свои в Украине или даже несколько.
    Почему именно эти страны? Близость, отсутств… twitter.com/i/web/status/9…

    10:12

    Последний шик Израиского high tech. Новое здание в центре тель авива.Сьем офиса наверно очень дорогой. Там амазон с… twitter.com/i/web/status/9…

    10:15

    Пример израильские компании в high tech

    10:21

    У многих компаний в Израиле есть офисы в Америке, обычно это sales или "HQ" чтоб было легче деньги собирать.

    10:25
    @backendsecret чем программист-еврей оличается от программиста-русского?

    Не чем. И у тех и у тех 10 пальцев и одно голова. twitter.com/slesh93/status…

    10:26

    В Израильском high tech большой процент русско говорящих. В любой компании выше 5 человек будет кто то кто знает русский.

    10:30

    Переписка внутри компании или наружи прянето на английском. Часть потому что есть офисы не в Израиле, часть потому… twitter.com/i/web/status/9…

    10:35

    Потому что много success story, типо продаж стартапов ща милионы долларов. Есть куча людей которые думают что они м… twitter.com/i/web/status/9…

    10:44
    @backendsecret Стартапы это хорошо, у меня есть крутая идея. Grammarly для русского языка, думаете взлетит?

    Наверно :) только если будет работать на мобильных twitter.com/otakahuynyaa/s…

    10:48

    Есть много компаний который занимаются информационной безопасностью. Тут принето модно слово для них "cyber". У час… twitter.com/i/web/status/9…

    10:51

    Все эти компании Cyber обычно крутят большие деньги. Они работают как страховые компании, пугают что в интернете ес… twitter.com/i/web/status/9…

    10:54
    @backendsecret Что ты думаешь о portnox.com

    Без понятия, первый раз вижу twitter.com/L0ndra_/status…

    11:01
    @backendsecret А в какой индустрии Израиля их мало? :))

    Такситы, там их мало twitter.com/vlazarenko/sta…

    11:09

    Знаешь как сделать docker image с rails + pg client + ubuntu чтою было меньше чем 700-900мега? twitter.com/maksfromspb/st…

    11:45

    Как у вас работат CI E2E?

    12:18
    @backendsecret Я в феврале прошлого года из 10 взятых такси в Тель Авиве поймал только одно, в котором был израильт… twitter.com/i/web/status/9…

    где вы ловите? я на такси ездию примерно 3 раза в неделю нет и их мало twitter.com/vlazarenko/sta…

    12:38
    @backendsecret А расскажите, пожалуйста, как проводите миграции в pg? Используете ли какие-то тулзы?

    Мы взяли и переписали goose, назвали swan.Там он умеет смотреть на sql и говорить разработчику что миграция плохая… twitter.com/i/web/status/9…

    16:40

    В тяжелых случаях делают миграции брут форсом. То есть обрывают конекшины в базу гоняют миграции за секунды и возра… twitter.com/i/web/status/9…

    16:42

    Судя по опросу у малого количество людей CI e2e работает на ура. И это понятно, оказывается набрать команнду, напис… twitter.com/i/web/status/9…

    16:46
    @backendsecret У нас в @neoscms @DXTestCafe работает на ура в CI на Travis.

    E2E или юнит тесты? twitter.com/dimaip/status/…

    18:33
    @backendsecret Миниатюры проще генерить на лету с кешированием через nginx + image_filter или гошными тулзами. Зара… twitter.com/i/web/status/9…

    Это когда media хранится у тебя (или гоняется через тебя). Но взять S3-alike сторадж проще в обслуживании, имхо. Пр… twitter.com/i/web/status/9…

    9:47
    @backendsecret Мы тут совместно уютным чатиком написали FAQ для заинтересованных github.com/amureki/django…
    9:49
    @salikhov @backendsecret И после этого какой-то умник натравит скрипт в цикле запрашивающий размеры с изменением в… twitter.com/i/web/status/9…

    А другой умник при тех же затратах пойдёт плодить сущности через ваше REST API. Абузить можно много чего.

    Также ко… twitter.com/i/web/status/9…

    10:05

    Django ORM. Действительно очень прагматичная штука. Селекты с джойнами ей даются очень легко. Immutable и lazy quer… twitter.com/i/web/status/9…

    10:22

    Надо ко всем запросам приджойнить FK? Не вопрос, в модельку пихаешь менеджер, который модифицирует дефолтный QS (se… twitter.com/i/web/status/9…

    10:22

    Надо отпагинировать ответ? BasePagination принимает QS и нарезает его лимитами-оффсетами как угодно (постранично, к… twitter.com/i/web/status/9…

    10:22

    Тут следствие: Django без её ORM юзать в принципе можно, но вы не сможете использовать практически ничего из неё: а… twitter.com/i/web/status/9…

    10:22

    В любой момент можно скатиться до сырого SQL. Причём в двух вариантах: "низкоуровневый" для записи и обернутый в Ra… twitter.com/i/web/status/9…

    10:22

    Модельки можно наследовать. Например, один раз мы закодили модерацию, и теперь просто подмешиваем её модельку/сериа… twitter.com/i/web/status/9…

    10:22

    Неадекватные запросы (лично у меня) бывают только для монстров с GROUP BY. И то по тестам сразу становится понятно,… twitter.com/i/web/status/9…

    10:22

    DELETE/INSERT испортить сложно :).
    Есть bulk_create для одного INSERT с кучей VALUES.
    Но нет постгресовского ON CO… twitter.com/i/web/status/9…

    10:22

    Есть сигналы: чтобы после сохранения сущности можно было что-то сделать: счётчики пересчитать, имейл отправить и т.… twitter.com/i/web/status/9…

    10:22

    Проблема с сигналами в том, что для запросов по нескольким строкам они не вызываются. Например, для bulk_create и д… twitter.com/i/web/status/9…

    10:22

    Есть и ряд других нюансов в угоду прагматичности, расстраивающих DBA и перфекционистов:

    10:22

    2. Те самые choices (как SQL enum), о которых я вчера писал, на самом деле хранятся как varchar, а не как enum. Воз… twitter.com/i/web/status/9…

    10:22

    3. Валидаторы не переносятся в constraints бд. Даже такие простые как choices и min/max. И при ретриве из бд объект… twitter.com/i/web/status/9…

    10:22

    4. Перед сохранением при валидации проще сделать несколько селектов и сформировать ошибки, чем сразу пытаться сохра… twitter.com/i/web/status/9…

    10:22
    @backendsecret привет! А можешь заретвитить вакансию плз, возможно кто-то из читателей мечтает писать на Elixir в большом проекте.

    Aviasales twitter.com/fliptheweb/sta…

    11:18

    Django + DRF tests. Тестраннер из коробки адекватный (но докинуть pytest + линтер стоит).
    Кто-то может удивиться, н… twitter.com/i/web/status/9…

    12:10

    Теоретически, нормальные unit тесты (работающие <1 сек) можно получить, если заморочиться с моками кучи джанговской… twitter.com/i/web/status/9…

    12:10

    Но на практике [нам] это не сильно мешает. Приложение разбито на мелкие аппы. Тесты аппа, в свою очередь, на отдель… twitter.com/i/web/status/9…

    12:10

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

    12:10

    С HTTP запросами в тестах проблема решается с помощью vcrpy (аналог рубишного vcr): при первом запуске HTTP запросы… twitter.com/i/web/status/9…

    12:10

    К вопросу о необходимости тестов и о покрытии, скажу так: непокрытое кусает за задницу в самый неподходящий момент.… twitter.com/i/web/status/9…

    12:10

    Переходим к фронту. Хочу обсудить с вами хипстерский тренд: пихание SPA во все щели вместо обычных HTML шаблонов на… twitter.com/i/web/status/9…

    17:08

    Если коротко: на SPA проще и быстрее делать модный фронт, меньше дублирования кода на бэке (API всё равно надо). Но… twitter.com/i/web/status/9…

    17:08

    (+) Удобнее сборка. Не надо думать, как втащить в ваш бэкенд coffeescript/uglifier/sass/yui, а потом – oh SHI💩 – вы… twitter.com/i/web/status/9…

    17:08

    Во фронте всё меняется быстрее, чем на бэке. У нас уже давно evergreen браузеры. Место IE уже успел занять Safari.… twitter.com/i/web/status/9…

    17:08

    (+) Компоненты дают удобную структуру: вёрстка и стили рядом с логикой, реюзаются хорошо, BEM не нужен (простите).

    17:08

    (+) Управление состоянием в шаблоне это сложно. Сделать интерактивную загрузку аватарки так, чтобы она сразу везде… twitter.com/i/web/status/9…

    17:08

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

    17:08

    Для ангуляра это *частично* тоже корректно, но не совсем: типично данные из HTTP запросов один раз стекаются в шабл… twitter.com/i/web/status/9…

    17:08

    (+) Навигация быстрее, интеракция быстрее => UX лучше (при прочих равных).

    17:08

    (-) Нужна куча инфраструктуры вокруг. SPA без SSR грузится заметно дольше, чем шаблоны. А SSR это сразу nodejs в прод тащить надо.

    17:08

    Нельзя просто так взять вебпаковый фронт, собрать dist и задеплоить его в 2 разных окружения: CDN/API урлы и прочие… twitter.com/i/web/status/9…

    17:08

    (-) Типичный SSR из коробки возвращает на любой запрос http status 200. Редиректов нет. Еретики!
    (справедливости ра… twitter.com/i/web/status/9…

    17:08

    (-) Поддерживать древние браузеры сложнее. С SSR прочитать сайт смогут все (пренебрежём поехавшей вёрсткой на IE8),… twitter.com/i/web/status/9…

    17:08

    (-) При перегрузах API сервера SPA фронт практически ни на один запрос не выдаст адекватный ответ: для рендеринга н… twitter.com/i/web/status/9…

    17:08

    (-) Требуется решать проблему с пробросом загруженных в SSR данных до аппа в браузере. В реакт-редуксе замечал 2 гл… twitter.com/i/web/status/9…

    17:08

    (-) Иногда очень сложно сделать выбор. react/preact? redux/mobx? cssmodules/CSSinJS? (в Ангуляре с этим сильно прощ… twitter.com/i/web/status/9…

    17:08

    (-) i18n на бэке и на фронте разный. Тексты лежат в разных местах и иногда дублируются. Правила плюрализации могут отличаться.

    17:08

    (-) Появляется проблема показа-сокрытия доступных кнопочек-формочек. Из REST апи просто так эту информацию не всегд… twitter.com/i/web/status/9…

    17:08

    Да ещё и кнопочки эти надо для каждого объекта из длинного списка рисовать. Без замусоривания сущности флагами дост… twitter.com/i/web/status/9…

    17:08

    (-) Есть клиенты, у которых одна версия SPA во вкладке живёт больше суток. Даже если этот SPA – единственный консью… twitter.com/i/web/status/9…

    17:08

    (*) Ни один вариант не решает проблему дублирования логики (валидации, подсчёта символов в твите).
    Ну, тут всё зави… twitter.com/i/web/status/9…

    17:08

    *нет, не предлагайте мне писать API на nodejs в монорепе, оно того не стоит*

    17:08

    В общем: шо то говно, шо это говно, и обе эти … ну вы поняли.

    17:08
    @backendsecret Trello просто периодически просит перезагрузить страницу

    Jira великолепно проблему устаревания кода фронта решает (правда, там не SPA): хочешь видеть свежий бэклог во время… twitter.com/i/web/status/9…

    18:17

    А todoist (реакт) вытаскивает такую кнопочку в контекстное меню: pic.twitter.com/2VgxM4lPag

    18:17
    @AstarothAst @backendsecret Ну и вообще, все эти «идеальные кодеры» на скрамах обычно ведут себя как полные мудаки,… twitter.com/i/web/status/9…
    11:01

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

    11:07

    Правило 1: перед тем как интервьюировать человека, подумайте о том что он будет делать и задавайте вопросы конкретн… twitter.com/i/web/status/9…

    11:08

    Если вы спрашиваете алгоритмы, то вы либо идиот который не знает зачем он задает вопрос, либо вы Гугл и у вас прост… twitter.com/i/web/status/9…

    11:12

    Был случай: знакомый решил спрашивать на интервью вещи которые он недавно прочитал в книге по ЯП и которые он до эт… twitter.com/i/web/status/9…

    11:17
    @backendsecret Хосспади, ну хоть один нормальный человек! как упрутся в эти алгоритмы, и все, хоть стой, хоть падай… twitter.com/i/web/status/9…
    11:18

    Можно задавать разные теоретические вопросы, но лучше всего делать это на скрининге, где вопросы будут простые, про… twitter.com/i/web/status/9…

    11:20

    А в остальных случаях пишите код! Разве это не то чем вы будете заниматься? Сядьте рядом, посмотрите как кандидат п… twitter.com/i/web/status/9…

    11:34
    @backendsecret А чем писать небольшой классический алгоритм с *нюансом* плох (судя по предыдущему твиту про вредность знания алгоритмов)?

    Так а на какой вопрос вы хотите ответить такой задачкой? Может есть вопрос получше на который можно ответить? twitter.com/cybran111/stat…

    11:48
    @backendsecret Та ладно. Как один из фильтров вполне годный. Необязательно спрашивать угар E задач первого дивизион… twitter.com/i/web/status/9…

    Окей, если совсем не может, то да, заржавел. Но сравнивать за какое время кандидаты развернут дерево – не правильно… twitter.com/i/web/status/9…

    11:50

    То есть если человек решает задачу с алгоритмом это нам мало что о нем говорит. Если не решает или решает медленно,… twitter.com/i/web/status/9…

    11:51
    @AstarothAst @mtrklb @backendsecret А О-нотацию знать?

    О-нотация это удобно. Хотя если человек не знает конкретно нотацию, то можно узнать понимает ли он принципы и научи… twitter.com/i/web/status/9…

    11:54
    @backendsecret Навыки реализации конкретных алгоритмов дают представление о сложности алгоритмов, знакомят с вполне… twitter.com/i/web/status/9…

    Кстати, спрашивать по структурам данных обычно очень интересно. Но опять же, спрашивать стоит в рамках практических… twitter.com/i/web/status/9…

    11:55

    Это идеальный случай. Ну то есть здорово было бы нанимать только таких людей. Но по факту большая часть из этих реб… twitter.com/i/web/status/9…

    12:19
    @backendsecret Перефразирую твит выше: посмотреть, как кандидат пишет код, обсудить идеи, посмотреть, как он думает… twitter.com/i/web/status/9…
    12:20

    Самурай без меча во всем подобен самураю с мечем, только без меча. twitter.com/mtrklb/status/…

    12:21
    @mazur_igor @backendsecret Развернуть дерево что бы что?

    Вот это правильный вопрос. twitter.com/Rashid80/statu…

    12:22

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

    12:34

    С алгоритмами и остальным та же фигня: вместо того чтобы спрашивать знает ли человек О нотацию - возьмите какую-то… twitter.com/i/web/status/9…

    12:37

    Про практические задачки есть и обратная сторона: встречал людей которые соловьем заливались по паттернам, тонкостя… twitter.com/i/web/status/9…

    12:38

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

    12:40
    @backendsecret Профита "для проекта" вообще не существует. Проект - это процесс.
    Убеждение "ну я же знаю как развор… twitter.com/i/web/status/9…
    12:43

    Вторая важная вещь о которой все забывают или не думают – продавайте себя и компанию. Продавайте на интервью миниму… twitter.com/i/web/status/9…

    13:03
    @backendsecret Вот это многие забывают. У меня были случаи когда чуть ли не открытым текстом шла речь про ‘мы уныло… twitter.com/i/web/status/9…
    13:06

    Потому что потом в вашу компанию никто не пойдет? twitter.com/ngalayko/statu…

    13:18

    Третье: дайте понять кандидату что его никто не оценивает. Что вы его уважаете и просто пытаетесь понять будет ли е… twitter.com/i/web/status/9…

    13:22

    Поэтому нет ничего плохого в том чтобы сказать: “Дружище, у тебя очень интересный опыт, но вот что мы ожидаем от че… twitter.com/i/web/status/9…

    13:23
    @backendsecret Но это ж не правда, вы ж его оцениваете на самом-то деле. Win-win тут будет показать, что оценивают не только его, но и он.

    Вообще не правда. У меня есть множество знакомых которых я собеседовал в одно место и они там не подошли, но отличн… twitter.com/i/web/status/9…

    13:26
    @backendsecret Да ладно. Вот один товарищ в чате приглашал на работу программистов. Больше никакой информации о ком… twitter.com/i/web/status/9…

    Очень смешной тред :) twitter.com/turinkay/statu…

    13:32
    @backendsecret Тут два пути, либо продавать себя, либо продавать то, что делаешь.

    Угу. Работают оба. Кстати, вот лично мне всегда лучше удавалось продавать то, что я делаю.
    Наверное потому что я н… twitter.com/i/web/status/9…

    13:34

    Вообще, старайтесь думать о кандидате. Например не оставлять длинных пауз, не наваливаться толпой в 5 человек, дава… twitter.com/i/web/status/9…

    13:37

    Опять же, если человек не прошел сейчас, то это не значит что он не пройдет через год или два. Или он может помочь… twitter.com/i/web/status/9…

    13:39

    Я вот сейчас скажу очень спорное утверждение и я понимаю его слабые стороны, но выбирая между человеком (10/10 прия… twitter.com/i/web/status/9…

    13:45
    @backendsecret Брошу лайк вместо камня
    13:47

    А теперь про вопросы на интервью для девопса:

    линукс - системные вызовы, дебаг и трейсинг, файловое и сетевое IO… twitter.com/i/web/status/9…

    13:50

    Системная архитектура: балансировка, планирование, прочность систем, проверка на модульность и расширяемость.

    Мон… twitter.com/i/web/status/9…

    13:52

    Впрочем, я считаю что этими знаниями должен обладать любой инженер. Это такой минимальный набор для построения совр… twitter.com/i/web/status/9…

    13:56

    Потому что даже java девелоперам неплохо знать и понимать как их виртуальная машина взаимодействует с ядром или что… twitter.com/i/web/status/9…

    13:58

    И я слишком часто сталкивался с тем что человек неплохо знающий алгоритмы пишет плохой код, просто потому что не по… twitter.com/i/web/status/9…

    14:11
    @backendsecret что такое минимально распределенная система? чем он от программиста отличается тогда, раз программы должен уметь писать?

    Тем что девопс знает немного больше чем “обычный программист”? twitter.com/truetobetrue/s…

    14:12
    @backendsecret Я думал девопсы и в экономике разбираются)) вроде это общие понятия. раз уж они на все руки мастер.

    Кстати, между делом порекомендую книги “Как устроена экономика” и “Фрикономика”. Мне в свое время очень зашли. twitter.com/shkarlat/statu…

    14:50
    @backendsecret Годнота)
    Дополню, что в понятие "приятно работать" больше вкладывается обучаемость и восприимчивость… twitter.com/i/web/status/9…
    15:27
    если он успешно на всё ответит, спросить, почему он хочет в ваше сраное НИИ twitter.com/backendsecret/…

    Первый шаг для этого — работать в крутой компании типа neuromation.io twitter.com/AzatKhadiev/st…

    15:28
    @karbonio @backendsecret И знаете, я за не видел ни одного проекта, который бы не представлял собой бестолковое наг… twitter.com/i/web/status/9…
    17:13
    @karbonio @backendsecret Весь сыр-бор с алгоритмами из-за того, что их все время спрашивают, но редко применяют
    Поэ… twitter.com/i/web/status/9…
    17:48
    @backendsecret A good one, worth a translation for my friends: "If you ask algorithm related questions on an interv… twitter.com/i/web/status/9…
    18:00

    Что-то много агрессии на твит о бинарных деревьях. Вот вы сможете за час написать код, который развернет бинарное д… twitter.com/i/web/status/9…

    19:12
    @karbonio @backendsecret Мы опять пришли к обратно. Я перефразирую исходный посыл. Я считаю, что если человек знает… twitter.com/i/web/status/9…

    Вот тут мы и пришли к самому интересному – что значит “нравится мне”? Это может быть просто случайная симпатия пото… twitter.com/i/web/status/9…

    20:15

    Кстати, есть одна интересная практика – если кандидат тебе нравится, то попробуй себя убедить в том что он тебе не… twitter.com/i/web/status/9…

    20:16

    Еще одна важная часть собеседования - хватит уже писать код на бумажке. Вы хотите самоутвердиться или что? Писать к… twitter.com/i/web/status/9…

    20:46

    Если задача требует использование алгоритмов, то вы сами сможете увидеть как человек выбирает между ними и заодно о… twitter.com/i/web/status/9…

    20:47
    @backendsecret Например, понимает что я ему говорю, а я понимаю что он мне говорит; слушает когда надо слушать, гов… twitter.com/i/web/status/9…
    21:59
    @backendsecret Ну там отношение к работе, софтскиллы и ответственность, короче говоря. Потому что этому не научишь… twitter.com/i/web/status/9…
    21:59
    @backendsecret ты же можешь ещё и наш подкаст посоветовать послушать, кому интересно! ;)
    bit.ly/1srvAcw
    9:29
    @backendsecret но ведь и для C++ придётся притащить весь рантайм (он просто меньше по объёму будет)

    Ну в общем то да. Не факт что меньше. Часть libstdc++ это хедеры с кучей шаблонов, раздувающие размер исполняемого… twitter.com/i/web/status/9…

    9:33
    @backendsecret А не хочешь пачку твитов про время объединить в блог-пост?

    Так ведь это и есть самый настоящий блог, с приставкой "микро", но тем не менее :) twitter.com/dronnix/status…

    9:34
    @backendsecret У Питера Норвига есть эссе на данную тему (в т.ч. ссылается на Malcolm Gladwell)
    norvig.com/21-days.html
    9:35

    Всем привет! Меня зовут Анастасия Власова, и сегодня я буду спамить всякой фигней, чтобы вам не скучно было работат… twitter.com/i/web/status/9…

    8:48

    Алексей Конышев обещал вчера, что я расскажу про гитлаб. История простая: прошлой весной гитлаб упал на несколько д… twitter.com/i/web/status/9…

    8:50

    К тому же, гитлаб внезапно ввел странную монетизацию на свой CI - по минутам, из-за чего этот самый CI вдруг стал о… twitter.com/i/web/status/9…

    8:51
    @backendsecret Про поселок расскажите что-нибудь? Сам одно время хотел туда. Как там в целом живется? Особенно семейным?

    В целом живется хорошо :) Красиво, соседи хорошие, дом комфортный, Киров нравится - что еще нужно для счастья? Дете… twitter.com/i/web/status/9…

    12:04
    @backendsecret А почему вдруг переехали в такое закрытое поселение? :)

    А чем у нас оно такое закрытое? За все это время отказали только одному человеку, который хотел построить конную до… twitter.com/i/web/status/9…

    12:11
    @backendsecret Окей, с гитхабом понятно. А на какой CI вы планируете перехать?

    Мы уже переехали, на Travis, пока все устраивает twitter.com/pvl_loud/statu…

    12:16

    Немного ruby в ленту: в текущем проекте мы используем небольшую часть фреймворка Traiblazer, его формы… twitter.com/i/web/status/9…

    12:20
    @backendsecret Нет школ/садов/больниц. До ближайшей цивилизации ехать и ехать. с трёх сторон лес с волками и прочей дичью.

    "ехать и ехать" - 10 минут до всех магазинов/школ/садов/больниц, 50 минут - до центра города в 500к жителей, а дичь… twitter.com/i/web/status/9…

    12:28

    В поселке нет идеологии, религии, запретов и т.п. Это не родовое поселение, не экопоселение, не секта. Здесь обычны… twitter.com/i/web/status/9…

    12:30
    @dcromster @backendsecret Почему нет сравнения качества образование в Мск и этом городе на 500к?

    А как можно объективно сравнить образование в одном месте и в другом? Я училась в физико-математическом лицее Толья… twitter.com/i/web/status/9…

    13:42
    @Faceless_Rebel @SamoilovVlad12 @backendsecret То есть, курящие люди все-таки там могут жить? И употребляющие алкоголь?

    Могут :) Это не запрет, а скорее тренд. У нас нет никаких запретов, кроме обычных общегражданских. И кстати, инфа н… twitter.com/i/web/status/9…

    13:51
    @backendsecret Теперь мои вопросы:
    1) Как часто мотаетесь в Киров? Не задолбало? Только давайте честно, как дауншиф… twitter.com/i/web/status/9…

    Два-три раза в неделю в среднем. Иногда подзадалбывает, но вспоминаешь Питер и Москву, где час - это минимум, еще и… twitter.com/i/web/status/9…

    13:59
    @backendsecret 2) Вы, которые не из Кирова и области, как с родными и друзьями видитесь?
    3) Как часто приходится ма… twitter.com/i/web/status/9…

    2) я летаю к своим на самолете или мы с мужем вместе ездим на машине
    3) почти каждый день, здесь комфортно передвиг…