Search took 1.05 seconds

Search for '#nargery' in texts

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: да, но нет. В ^этом сценарии повсеместно установленные двери довольно скоро начинают систематически оставлять незапертыми. Дальше вы знаете.

 ‎· Vlad "Two Cats" Kaznacheev 3
Avatar for 9000

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

Comment

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

 ‎· 9000
10 more comments
Comment

@dma: "любой код - нативный" ^ vs "ES6 / Node" из поста слегка противоречат друг другу. А так да, вещь относительно новая ⇒ относительно сырая, не обросшая ещё удобствами везде.

 ‎· 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.

 ‎· There is no neutron beam 11
Avatar for 9000

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

Comment

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

 ‎· doucheчиватель 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

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

 ‎· вкладкой ошибся
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
8 more comments
Comment

Надо сказать, я выбрал себе прикольный дистрибутив: https://www.voidlinux.eu/news/2018/05/serious-issues.html «The current project leader has disappeared. We have had no contact with him since the end of January, and no meaningful contact for well over a year. This itself would be concerning, on its own but no threat to the project.» И таки да, всё работает, апдейты идут, но. Надо попробовать Nix поднять на досуге, что ли.

 ‎· 9000 1
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.

 ‎· doucheчиватель 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.

 ‎· doucheчиватель 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
Avatar for 9000

#CoffeeScript is like #Perl (or maybe even J). Expressive, concise, and unforgiving. One punctuation character away from a legal and correct program lies another legal and correct program doing an entirely different thing. #programming #nargery

Avatar for 9000

On being descriptive. #picture #nargery

Avatar for 9000
» posted to 9000 and gorydetails

Написал декоратор, который генерирует декоратор. Живо вспомнил примерно 2002-й год, когда мне пришлось написать xslt, который генерирует xslt, чтобы быстро создавать рендерилки страниц по их xml-описанию. #nargery

Comment

Кадется, в Кложе так трансдюсеры делают

 ‎· circlejerk of misery
6 more comments
Comment

@alf: :slowclap:

 ‎· 9000

1 2 3 4 5 6 7 8 9 10