Size: a a a

2019 September 29
oleg_log
источник
oleg_log
Эхххх, сидишь досматриваешь Футураму, а в слаке алерт за алертом, а я не дежурный. Отличное воскресенье. Кстати, а посоветуйте какие-то мультики, чего время терять зря ¯\_(ツ)_/¯
источник
oleg_log
Ну правда же...(тред: https://twitter.com/dhh/status/1177974040432037888)
источник
2019 September 30
oleg_log
Вчера столкнулся с неприятной фичей(?) godoc.

Он распознает желтые функции как конструкторы структуры, хоть там возвращается слайс. И все фции лежат рядом, в коде читается на ура, а в документации вот такой разрыв шаблона :(

Да, тот момент, когда явный конструктор в го был бы кстати.

Док https://godoc.org/github.com/cristalhq/zookeeper
Код https://github.com/cristalhq/zookeeper/blob/master/commands.go#L92

ps. лол, не замечал раньше код ~ док 🤔
источник
oleg_log
Ща будет пост без пруфов о том, что лучше доводить вещи до конца, ну или хотя бы постить результаты-мысли-идеи.

Где-то 4 года назад, сидя в офисе после работы я сидел и оптимизировал алгоритм сортировки. Зачем? да кто знает, мне было нечем заняться, а после собесов в Амазон желание писать алгоритмы возобновилось.

И вот, после реализации нескольких странных структур данных (дерево сегментов, Фенвика, еще что-то), пачки алгоритмов для деревьев (при чём все писалось в читаемом/неолимпиадном стиле, для потомков, на Си), я пришел к алгоритму сортировки.

К сожалению N*LogN побороть я не смог[citation needed], поэтому занялся оптимизацией на практике. Не, не переписыванием всё на векторизированный ассемблер, а просто прикидывал, как так перекрутить данные, чтобы меньше прыгать по рам-у.

Штош, я пришёл к тому же, к чему пришел и уважаемый Александреску(или это он после меня 🤔), о чём рассказано в его докладе и этой записи https://t.me/peterblog/1078 Пересказывать нет смысла, лучше прочитать пост Петра или глянуть доклад.

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

(еще чуток про конфу С++ тут https://t.me/experimentalchill/21)
Telegram
Канал Петра
Интересный доклад от Андрея Александреску с CppCon 2019.

У него получилось сделать что-то удивительное. Он ускорил стандартный алгоритм сортировки std::sort. На случайных данных ускорение получилось на 3% по сравнению с реализацией в GNU и CLang. Это весьма интересно потому что std::sort — это один из самых часто используемых алгоритмов. Оптимизации в таких алгоритмах могут принести значительный прирост производительности так как они используются повсюду. А прирост в 3% — это очень много, над такими алгоритмами работают исследователи по всему миру и пытаются выжимать последние проценты. Уверен, Google, Facebook, Amazon и Microsoft этот прирост принесёт миллионы долларов.

Метод, который у него используется — тоже безумно странный. В std::sort используется быстрая сортировка с эвристиками. Эвристики там бывают двух типов. Первая — когда остановить быструю сортировку и откатиться к сортировки слиянием. Вторая — когда считать, что массив достаточно маленький, чтобы его перестать бить на две части и просто использовать…
источник
oleg_log
Однажды Эрнеста Хемингуэя попросили написать самый короткий рассказ про сервер, способный растрогать девопса
источник
2019 October 01
oleg_log
Пришло время ругаться на spring framework. Ну ладно, не совсем. В великой Intellij IDEA есть такая штука как Inspect Code, которая прогоняет разные проверки по коду и ругается, ничего особенного.

Проблема вот в чем, если вы определили какой-то ендпоинт(класс + аннотация RestController), то из-за того, что все это будет подтянуто в рантайме (разве нет?), класс явно не будет использован. Уже догадываетесь к чему это ведёт?

Правильно, целый класс с ендпоинтами никто _явно_ не инстанцирует, соотв все публичные методы никто не использует, и да, соотв любые поля в классе тоже. А так как мы пишем вебсервисы и гребём в море микросервисов, то вся архитектура состоит из нескольких слоёв, в каждом из которого по одной вещице (restcontroller -> service -> storage).

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

и плагином можно https://www.jetbrains.com/help/idea/context-and-dependency-injection-cdi.html

но это не отменяет того, что махинации с МОИМИ КЛАССАМИ В РАНТАЙМЕ это круто. Это вообще не круто.
источник
oleg_log
А если хочется еще покатать модельки по гошному коду, то можно обратиться к Брэду, он идеи ищет для дампа прокси https://twitter.com/bradfitz/status/1178677638669336576
источник
oleg_log
Аналитика 10 лямов репозиториев

Безумный дядька сделал аналитику огромного количества открытых реп в гитхабе/битбакете/гитлабе, посчитал файлики, запуская это всё лямбдой на AWS, а данные вытягивая с S3. В итоге всё стоило под 80 баксов.

В чём прикол? (помимо того, что это оказалось не слишком дорого и вообще посчиталось нормально)

Написана тулзовина была на Go.
Мораль: ресёч, когда нужно было просто погонять данные (или поскрапить их) да формировать json-результаты? Go, я выбираю тебя *бросает_покебол*
источник
oleg_log
Такс, я наконец-то прочитал эту статью: Сложность простоты https://habr.com/ru/post/469441/

0. Она отлично написана, очень приятно читать.

1. Стало обидно за плохой отзыв о чате го в телеге, но про кол-во флуда и пустых советов все же правда, к сожалению так устроены чаты.

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

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

4. Понравилась фраза: Идеология го, в свою очередь, скорее "код должен быть достаточно простым, чтобы в случае изменения требований его легко было выкинуть и написать новый".
Что-то в ней есть, интерфейсы(+конракты?) тому подтверждение, если не писать в жава-стиле.

5. commentsTree <- mapConcurrently getCommentById tree смотрися круто, но отличается от реализации в го на одну вещь: оно все делает за тебя. Хорошо это или плохо - сильно зависит от контекста, поэтому 2 решения не совсем правильно сравнивать. Либо мы берём и ручками стартуем треды/гринтреды в Хаскелле, либо ищем необходимую библиотеку на го и реализуем интерфейс, чтобы оно само посчитало и собрало результаты.

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

И даже после всего этого что-то заставляет людей тащить го в прод и строить продукты...А статья хорошая, да.
источник
oleg_log
Вечное
источник
oleg_log
Continuous Profiling in #Go

https://docs.google.com/document/d/1GKcH3bo3bbZ2wNSqQnmdK-z98c71Qmmfo8ZEVRGgDKE/edit#

И сразу репка https://github.com/profefe/profefe

Достаточно важное: формат профилей pprof совсем не привязан к Go. Для Java, JavaScript, Python и пр. есть библиотеки позволяющие получить данные профилирования в формате pprof. Возможно, profefe может стать полезным сервисов для приложений написанных на других языках.
источник
oleg_log
Хактоберфест
Анонимный опрос
2%
Уже все сделал
21%
Планирую участвовать
12%
Может быть буду, не знаю точно
19%
Не планировал, но кто знает
38%
Точно не буду
8%
Да я и так в опенсурс комичу, обычный месяц
Проголосовало: 489
источник
oleg_log
возможно сегодня я сделал чью-то жизнь чуть приятнее. круто.
источник
2019 October 02
oleg_log
Шарю мультики, которыми вы поделились. Попробую разбить по группам, соре, если что-то не так.

Для всех:
- Futurama - без комментариев
- Rick and Morty - 4й сезон в середине ноября
- Adventure Time - одно из самых важных в моей жизни шоу (лонгстори)
- Over The Garden Wall - восхитительно, одно из лучших творений
- Gravity Falls - тоже неимоверно классное
- Pokemon - почему бы и нет? нестареющая классика, все мечтаю досмотреть-пересмотреть
- The Amazing World of Gumball - около AT ток менее фантастическое
- Ugly Americans - мне понравилось, жизненный юмор
- Love death and robots - местами +18 но нереально круто
- Fantastic Mr. Fox - роскошная полнометражка
- Song of the Sea - спасибо @schopenhauer_was_right

То, что посоветовали, но я не смотрел:
- Disenchantment - от автора футурамы
- Big Mouth - я так понял много о проне и сексе
- Aggretrsuko
- Final space
- Drawn Together
- F is for family
- Hazbin Hotel

Кровь-кишки:
- Mister pickles - около +18 о собаке сатане, 10/10 для меня
- Superjail - менее насильственное, но тоже годное

Аниме:
- Aggretsuko
- Steins;Gate
- JoJo
- One Punch Man
- Богиня благословляет этот прекрасный мир
- Убийца гоблинов
- Mob Psycho 100

Сложно-абстрактное:
- Interface (гуглите с "youtube series") - оч абстрактное
- Squidbillies - ух...абстрактно

Мне не зашло:
- Bojack horseman - советовали терпеть 2 сезона, я не выдержал и половины 1го, хз
- Brickleberry - толстовато, не зашло
- Paradise PD - вангую брикклбери, хотя хз
- Archer - не зашло, герой слишком мудак
- 12oz. Mouse

Спасибо @badassorange за аниме
источник
oleg_log
источник
oleg_log
rollback();
источник
oleg_log
Re: Microsoft introduces Windows 10 X for dual-screen ...
       
Now we can all be 10 X developers!
       
vidanay, 2 hours ago
источник
oleg_log
Я пробовал, правда работает. На ютубе ещё довольно много математиков, которые восторженно режут бублики вот так и мажут их маслом.
https://t.me/escogidos/764
источник