Search took 0.77 seconds

Search for '#nargery' in texts

Avatar for 9000

При разборке бэклога (которую я настойчиво провоцировал) не удержался и добавил одному тикету тег [正名], а тег [tech-debt] предложил переименовать в [dukkha], ибо любой живой продукт неизбежно не лишён тех. долга. Коллеги повеселились. Удобно, когда в команде много китайцев и индусов, так что все понимают твои культурные референсы! #nargery

Comment

Пост культурно аппроприирует!

 ‎· Стадо овец 12
Comment

^ Мультикультурно! (А также в лайках, надо понимать, перепись читавших Кун Цзы. В следующий раз предложу заменить тег [quality-of-life] на [仁].)

 ‎· 9000 1
Avatar for 9000

Наблюдаю в конторе забавный момент. Ковбойский метод разработки, привычный для инженеров, работающих тут со времён, когда это был маленький стартап и вся технология умещалась в одной голове, начинает давать сбои. Корпоративный метод разработки, с дизайном, планированием, документами про это и пр., однако, ещё несколько не готов. #nargery

Avatar for 9000

Так и запишем. Начал работать с grpc-node: где-то в марте. Послал им первый абсолютно тривиальный патч: конец мая. Патч принят: конец июля. Вышел релиз, включающий его: начало сентября. Это весьма активный проект, поддерживаемый гуглом. #nargery #software

Comment

Абсолютно тривиальный патч sounds like anything but.

 ‎· retweet machine 1
Comment

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

 ‎· псы в рапиде
Comment

Ну, патч чинит реальный баг, не косметика. Я в основном о скорости процессов. Например, у меня две недели заняло поймать compliance officer и подтвердить у него, что я могу подписать contributor's license.

 ‎· 9000
Comment

@9000: ну оно так и бывает в промышленном производстве софта. Билды, тесты, комплаенс, интеграция, куча народа последовательно чего-то должна сделать, оно и набирается. Ценность патча здесь очень вторична, обычно в этом деле важен сам факт изменений и иногда масштаб. Я видел случаи, когда срочный и важный QFE удавалось зарелизить только через девять месяцев из-за длинных цепочек зависимостей, расписаний и релизов, но зато тогда мы пошутили примерно все шутки про роды.

 ‎· Редкоземельный барахлит 3
Comment

^ Промышленное-то мне хорошо знакомо. А тут open source, хотя, наверное, гугл внутри себя тоже этим пользуется, хотя место, которое я чинил, специфично для ноды, а её в гугле вроде особо нет (в смысле, не видел ни разу).

 ‎· 9000
Avatar for 9000

Работа в не очень большом стартапе внезапно напоминает университетские курсовые. Давайте сделаем небольшую действующую модель того, сего, чего-то хорошо известного, что готовое взять не получается (например, слишком дорого для наших масштабов). Всё понятно и теоретически нетрудно, и примерный результат хорошо известен, и rocket science абсолютно не предполагается, но и не запрещается, и вообще особо жёстких рамок нет. Это довольно развлекательно. #nargery

Comment

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

 ‎· 9000 5
Avatar for 9000

Потратил два дня, чтобы убедить человека, что писать код с [redacted] плохо в целом, а в разрабатываемой новой системе безопасности — и подавно. Года полтора назад потратил тоже пару дней, чтобы убедить другого коллегу в другой конторе, что в авторизации внешнего API надо использовать [best practices по списку], а не [тоже redacted, но другое]. Полагаю, что примерно ради такого меня конторы и нанимают (ну, или должны бы). #nargery

Comment

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

 ‎· 9000 5
Comment

С другой стороны вспоминаю хорошую, как это по-русски, parable. Вот вообразим, что в 2000 году какой-нибудь здравомыслящий чувак убедил FAA и ICAO, что двери в кабину пилотов рейсовых самолётов должны надёжно закрываться, во избежание проникновения вооружённых посторонних лиц. Пусть к лету 2001-го все авиалайнеры приличных компаний снабдили бы кабины пилотов стальной дверью с замком. И не было бы 9/11, тысяч трупов, досмотров со снятием ботинок и ремней в аэропортах, запрета на пронос маникюрных ножниц на борт, войны дронов в Пакистане, вот этого всего. И никто бы не узнал, разумеется, о том чуваке; наоборот, может, причастные к отрасли считали бы, что из-за этого параноика-самодура приходится лишние 70 кг металла таскать на борту.

 ‎· 9000 12
Comment

@9000: да, но нет. В ^этом сценарии повсеместно установленные двери довольно скоро начинают систематически оставлять незапертыми. Дальше вы знаете.

 ‎· kaznacheev 3
Avatar for 9000

[#nargery] В конторе мне сейчас досталось много писать на ES6 / Node. А там promises. Немедленно пригодились знания о монадках и их законах (для promise под определённым углом работают все, с одной выколотой точкой). Немедленно в коде возникли currying и point-free style, просто потому, что это понятнее и короче. Немедленно await воспринимается как `<-` внутри хаскелевской do-notation.

Comment

Самое приятное, что promises пошли в мэйнстрим, и все библиотеки либо выставляют их напрямую, либо обладают обёртками для преобразования интерфейса. Глядишь, и разумные паттерны в сообществе постепенно закрепятся.

 ‎· 9000
13 more comments
Comment

@oleksandr_now: Не, promise ≠ thread, и порождать их надо не на каждый чих, а там, где API напрямую этого требует. Вообще, конечно, мне ещё сильно помогает то, что условные 25 лет назад я писал GUI-программы для Windows 3.1. Там та же система событий и concurrency в одной нитке, очередь сообщений и callbacks по их приходу, что и в ноде, и в реакте, только удобств вокруг неё сильно меньше. Могла бы и macos classic быть, там так же идейно. (Эрланг да, actor systems великая вещь.)

 ‎· 9000 1
Avatar for 9000

Python performance on Apline/musl vs vanilla Linux/glibc vs ClearLinux/glibc (from https://www.phoronix.com/scan.php?page=article&item=docker-summer-2018&num=4) — nearly 2x difference. #nargery #link

Comment

Apparent explanations: glibc does platform-dependent optimizations (https://clearlinux.org/blogs/transparent-use-library-packages-optimized-intel-architecture) and Clear Linux adds more (https://clearlinux.org/blogs/boosting-python-profile-guided-platform-specific-optimizations); all via https://news.ycombinator.com/item?id=19861990

 ‎· 9000 1
Comment

Винды не хватает

 ‎· Glory to Mankind
Comment

@walkin: Они server-oriented, но по теме вопроса — да, сравнения с виндой на каких-нибудь тестах с numpy было бы уместным, реалистичный сценарий для интерактивной работы.

 ‎· 9000
Comment

@9000: да чего реалистичного, кто вообще локально питон запускает сейчас? все сидят в жупитерах, который кто-то ушлый поднял в лавке.

 ‎· адский хардлайн в засаде
Comment

@larhat: for some values of все. наблюдал немало и локального.

 ‎· 9000 1
Avatar for 9000

Пропагандирую среди коллег тестирование поддержки Unicode, и они проникаются. #programming #nargery

Comment

☑ Процитировать Витгенштейна в процессе обсуждения наиболее правильных имён в коде.

 ‎· 9000 4
Comment

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

 ‎· адский хардлайн в засаде
Comment

@larhat: Это да, но коллега, кажется, не знал классики, пришлось поправить положение. (А Элроя я и сам не знаю.) В качестве развития темы думаю ввести на гитхабе тег 正名, китайцы в команде оценят.

 ‎· 9000 2
Comment

пропущена четвёрка перед квантором всеобщности

 ‎· стреляй по часам! 3
Avatar for 9000

Reputation is when people add you to a pull request that has four approvals already, saying that maybe you could spot something. #nargery

Comment

My reputation is when people decide to add someone like you to my pull request, despite it having four approvals already.

 ‎· You and Mie-Grüneisen 11
Avatar for 9000

Кто не зарезал полгода назад на ревью кусок кода, который причудливо перемешивает логику и эффекты, тот сидит чинит баг в production, вызванный им. Коллеги, не знает ли кто краткого и внятного англоязычного текста или набора слайдов, рассказывающего в остальном грамотным инженерам, почему логику и эффекты полезно разделять и вредно перемешивать? Типа как есть про опасности goto, или про тот же railway-oriented programming. #nargery

Comment

Эффекты as in графическая анимация? Текста не знаю, но по-моему в 2018-м как-то самоочевидно должно быть, что нельзя такое смешивать. Ну хотя бы из идеологии MVC это элементарно выводится.

 ‎· Пью каркаде. Продолжаю работать. 1
7 more comments
Comment

@ayoshi: Блин, хоть пиши :) Но тут я, кстати, чувствую некоторый недостаток кристальности понимания; надо доработать.

 ‎· 9000 2
Avatar for 9000

Today was the first day when someone else (not me) posted a link to "Railway-oriented programming" in the corporate Slack. #nargery

Comment

I immediately reminded them that Kleisli arrows are simple and damn practical.

 ‎· 9000 1
Avatar for 9000

Коллеги, кто разбирается во фронтенде, поругайте мне Mithril? Задача: проект не по работе, маленький UI, но не настолько, чтобы хватило пары функций jQuery, а больше не сто́ит. Vue / Angular / Knockout: не хочу two-way binding, хочу unidirectional / FRP. React и даже Elm: не хочется толстого слоя трансляторов (хотя Elm, конечно, радует). Cycle.js: как-то там много писать руками, кажется. Что я упускаю? #nargery

Comment

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

 ‎· 9000
6 more comments
Comment

^ Спасибо! Я в основном спрашивал ради возможных ответов "да все же знают, что [ключевой недостаток]", или "я пробовал, и мне не понравилось [список]". Но, похоже, никто не пробовал! :)

 ‎· 9000
Avatar for 9000

Коллеги, положим. у вас есть задача отслеживать небольшие изменения в больших объёмах данных. Вообразите для примера ежедневный список запросов к 100k URLs; со вчера какие-то стали отдавать 404 или 500, какие-то — наоборот, и таких изменений — ну, полдесятка. Какой существующий инструмент вы возьмёте, чтобы генерировать ежедневный отчёт о таких изменениях? (Вопрос со звёздочкой: а если меняющиеся данные — не одно число, а небольшая структура, типа пары строк json, какой инструмент вы возьмёте, чтоб он умел показать изменения в этой структуре?) #nargery

Comment

Также, разумеется, если мне нужна история изменений за 10 дней, я не хочу хранить данные за 10 дней, они на 99% одинаковые. Хочется хранить только дельты.

 ‎· 9000
15 more comments
Comment

^ А вот и нет. Эти друзья дали мне spark cluster и сказали: ну ведь твоя задача решается на нём в 20 тривиальных строчек? Ну да, решается. Всего 2 недели на получение нужных разрешений, въезжание в спарк и пр., и таки да, теперь всё просто. Изящная деталь: сначала у меня не получалось ничего сохранять в таблицы, ошибка формата и всё. Промучавшись день, я пошёл к владельцам кластера с вопросом. Они сказали: ха, да тебе дали доступ не к тому кластеру! Этот read-only для аналитики, а тебе нужен вон тот.

 ‎· 9000 1
Avatar for 9000

Захотел поправить одну строчку в ▒▒▒▒▒▒, на котором у нас весь ▒▒▒▒▒ ▒▒▒▒▒▒▒▒ держится. Нашёл исходник на питоне, посмотрел нужное место, нажал git blame, запомнил имя. Пошёл налить чаю, чтобы дать ненужным эмоциям схлынуть. #nargery

Comment

И нельзя ведь сказать, чтоб автор плохо написал. Аккуратно написал, подумавши. Просто он, наверное, фанат Go или другого какого языка про copy-paste, и вышло у него на 80% длиннее, чем могло бы. Но это легко лечится. Удивительно же (и печально) мне то, что человек, очевидно, с мозгами, совершенно не увидел этого, или, увидев, не счёл сколько-нибудь важным. И ревьюеры все поступили так же, надо понимать.

 ‎· 9000
Comment

Возможно, что были ещё какие-то факторы, не очевидные сразу?

 ‎· retweet machine
Comment

@whatever: Возможно. Но какие факторы заставили скопировать строго идентичные 5 строк примерно 10 раз, в строго линейном в остальном коде, мне пока догадаться не удалось. Код этот обрабатывает ошибки; не меняется даже сообщение об ошибке. На review я бы обратил внимание по крайней мере на это.

 ‎· 9000
Comment

на Golang, жывотнае!

 ‎· Бэтман 白左 1
Comment

@vinsentru: ненене, не будучи жывотнам, я держусь в стороне от golang; пока острой необходимости в нём, к счастью, не возникало.

 ‎· 9000
Avatar for 9000

Из рабочего слака: "What do we tell to the god of reproducible tests? — Not `.today()`!". #nargery

Comment

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

 ‎· 9000
Avatar for squadette

<раскланивается>

Comment

Open Sound Control?

 ‎· стреляй по часам! 1
Comment

@hotgiraffe: online schema change

 ‎· псы в рапиде
Comment

oh, thanx

 ‎· стреляй по часам!
Comment

#nargery :-]

 ‎· 9000 1
Avatar for 9000

(1) Step on a problem. (2) Google for it, to no avail. (3) Start writing a StackOverflow post about it. (4) While collecting the minimal reproducible example, understand the source of the problem, and the solution. (5) Close the StackOverflow posting page, without posting anything. #nargery

Comment

StackOverflow as the ultimate #rubber_duck. (Some patience required.)

 ‎· 9000 12
Comment

confessionbear.jpg

 ‎· пердотвратетль 2
Comment

^ https://www.memecenter.com/fun/2638703/confession-bear

 ‎· silpol
Avatar for 9000

На SO спрашивают про «Singleton without any state». Сразу понятно, про какой язык идёт речь. #nargery

Avatar for 9000

(В рамках предновогодней #programming #nargery в ленте:) Любопытно, сколько лет нужно толковой идее, чтобы стать более-менее массовой, "модной". Garbage collection: 1960-е (Lisp) -> 1990-е (Java, Perl, Python, ObjC). ООП: 1970-е (CLOS, Simula) -> 1990-е (C++, Java, Perl 5, Python; Smalltalk массовым не стал). Hindley-Milner types: 1969 / 1978 -> 2010s (Rust; мне трудно считать Haskell и тем более OCaml особо популярными / модными, увы). Это не считая некоторого возрождения идей Lisp (1958) / Scheme (1970) -> 2010-е (Clojure).

Comment

Соотв. можно прикинуть, сколько времени пройдет до (возможной) популярности идей, показавшихся на поверхности 10, а то и 5 лет назад.

 ‎· 9000
13 more comments
Comment

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

 ‎· Sierżant Bóbr
Avatar for 9000

Warning: #nargery and #красноглазие ahead. Поскольку хочется радикально разделить "частное" и "рабочее", а покупать физически другой лаптоп для "частного" (пока) лень, поставил себе на рабочий макбук линукс в виртуалке, с десктопом и всеми делами. В качестве дистрибутива, вместо многолетнего традиционного дебиана, выбрал VoidLinux.

Comment

Почему не дебиан: потому что systemd (да, удаляется), потому что emacs 24 и апдейты раз в год, и потому, что полезно иногда пробовать что-то новое. К сожалению, к меня нет столько времени, чтобы всерьёз поставить радикально новое, например, Urbit. В этой же штуке нашёлся не только свежий emacs, но и, к примеру, свежий zerotier-one и hplip, так что воткнуть принтер оказалось тривиально.

 ‎· 9000
9 more comments
Comment

Void Linux показывает себя хорошо, и пора, видимо, переставить его из виртуалки как основную ОС, поскольку лицензионная винда на конторском лаптопе говорит:

 ‎·  cannot-run-windows-top.webp ‎· 9000
Avatar for 9000

Some people run strange things on their #Android devices! For instance, XMPP or Git servers. https://play.google.com/store/apps/details?id=com.icecoldapps.serversultimate.packe

Comment

And me, I just wanted to install a git client. (MGit it is.) #nargery

 ‎· 9000
Comment

I remember feeling the mixture of excitement and ultimate stupidity while installing SSH and FTP servers to my first jailbroken iPhone.

 ‎· Пью каркаде. Продолжаю работать. 1
Comment

@seliv: why, ssh is utterly useful (for sftp); I have it :) but most of the time it's off.

 ‎· 9000
Comment

Well, the mere idea of installing whatever *server* components to the *phone* sounded insanely crazy back in 2007.

 ‎· Пью каркаде. Продолжаю работать. 1
Avatar for 9000

https://news.ycombinator.com/item?id=12847576 – Finally the original promise of #Java language is being fulfilled! #WebAssemby is being tested in all major browsers, and it uses a stack machine with bytecode, a verifier, etc. Mere 25 years passed. #nargery

Avatar for 9000

My new job is pretty buzzword-compliant: big data, natural language processing, machine learning, #functional #programming. The catch is that all of this is somehow small-scale yet (except maybe the entire codebase in #Scala). #personal

Comment

(а также #панталоны_фрак_жилет; на русском получился бы почти сплошной транслит.)

 ‎· 9000 1
14 more comments
Comment

@random: Справлюсь, куда ж я денусь; спасибо за заботу! Полезный опыт, опять же.

 ‎· 9000 3
Avatar for 9000

Притащили в набор инструментов штуку, написанную на Scala (gatling.io). CTO ухмыльнулся и сказал, что выдаст $20 тому, кто сумеет протащить к нам что-либо, написанное на Haskell. Ну что ж, #ChallengeAccepted. #nargery

Comment

https://github.com/begriffs/postgrest Вот эта штука вообще на раз находит применение, например отчётики внутренние выдавать графопостроителю какому-нибудь.

 ‎· адский хардлайн в засаде
Comment

^ спасибо, надо поиграться с этим.

 ‎· 9000
Avatar for 9000
» posted to 9000 and gorydetails

Just a random line from `/etc/password`: kafka:x:666:666::/opt/kafka:/bin/bash #nargery

Comment

(Not specifically planned; zookeeper took 665, etc.)

 ‎· 9000

1 2 3 4 5 6 7 8 9 10