oleg_log
1.74K subscribers
1.88K photos
131 videos
9 files
2.82K links
Shelter for antisocial programmers "Oleg"

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
Forwarded from Generic Talks (Oleg Kovalov)
Generic talks 0006 с Богданом и Олегом.

https://soundcloud.com/generictalks/0006-podozhdyom-v-ocheredi

00:00 - Начнём с очереди
10:00 - Capacity planing, metrics
23:25 - Когда работать асинхронно, как правильно? Архитектура SEDA
42:28 -Твит Кармака о Python, C++, C# и Java и что уже железо
47:40 - Не С++ единым, Rust no_std
56:28 - И снова вернёмся к очередям
1:02:05 - Классический race condition, о котором не все знают.
О! еще о наболевшем. Когда приходят в лс/чат/коменты к подкасту и говорят, что слишком затянут эпизод на ютюбе, слишком короткий подкаст, мало мяса, много мяса, а я мимокрокодил.

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

Разница между "потрачу 6ч выходного дня/вечера ради 1ч контента с 0 отдачей" vs "потрачу час(обычно 2 :) ради 1ч контента с такой же отдачей" еще существенна.

Фидбек это приятно и полезно, даже если он неприятный, указывающий на косяки. Но для этого он должен быть аргументирован 👌
А вы знали, что в #go неправильно вызывать t.Fatal в горутине?

Начиная с 1.15 это будет в vet включено. Возможно это хорошая вещь, которую можно затащить в go-critic 🤔

Баг аж с 2013 https://github.com/golang/go/issues/5746
Во вторник мне не посчастливилось зайти в Декатлон и купить шмот для гор по бонусу. Кроме упавшей кассы на винде с вечным рестартом приложения и циклическим падением, пришлось увидеть их CRM.

Эта штуковина постоянно кидала 401ю ошибку 4 раза подряд для сотрудника, после чего пропускала дальше (не шучу, из-за последующих проблем в сабмите формы, приходилось перелогиниваться).

И тут меня накрыло: этож сколько софта написано в мире для автоматизации рутины, сколько человеко-часов убито над этим, сколько денег потрачено на все вместе (без поддержки) и в итоге ничего не работает!

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

Но я ведь просто хотел поменять дефолтный язык в Spring....
Самое забавное, что это еще не начало и не конец.

Есть 1 стд класс для этого абстрактного ресурса ReloadableResourceBundleMessageSource

А сам он основан на другом
public abstract class AbstractMessageSource extends MessageSourceSupport implements HierarchicalMessageSource
такс-такс, резервируйте даты, будем покорять
ХАКАТОН ПРОФУНКТОРА 17-19 ЯНВАРЯ

Словарь определений:
Команда — от 1 до 5 человек пилящих один проект, из них один капитан
Капитан — автор идеи, презентует проект на демо
Чекпоинт — команда сабмитит текущий прогресс судьям
Судьи — админы профунктора
Проект — что угодно что можно задеплоить или по тегам: telegram, memes, profunctor api, ML, dev tools, whatever

Формат:
17-ого (ПТ) в 21-00 МСК дедлайн заявок команд, LIVE где пересчитываем тимы и стартуем
18-ого (СБ) в 15-00 МСК первый чекпоинт
19-ого (ВС) в 12-00 МСК второй чекпоинт
19-ого в 20-00 Финиш, публикуем ссылки на проекты, LIVE где капитаны презентуют проекты
22-ого судьи совещаются и объявляют победителей

Как подать заявку (идею) ?
Через бота @libmustdie_hackaton_bot

Где?
Все онлайн и ремоут. Команды сами координируют действия и пользуются удобными тулами.

Как найти тиму?
Зайти в чат и выбрать идеи из запиненного поста: https://xn--r1a.website/joinchat/DWka6hBjhmayFl3g0_wv9A

Какие призы?
Уникальные.

Сode of Conduct:
В случае неадеквата: БАН БАН БАН

Еще вопросы:
https://xn--r1a.website/joinchat/DWka6hBjhmayFl3g0_wv9A
Опубликовали интересный язык Beef (мясцо).

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

https://www.beeflang.org/

Кстати автор один из разрабов Plants vs Zombies (co-founder of PopCap Games)
В VSCode-python возможно нашли троян. Все началось с того, что мне написал наш отдел безопасности (хоть я и на маке). Посмотрим что это, мы хоть не одни.

https://github.com/microsoft/vscode-python/issues/9474

UPD Умные люди подкинули ссыль на код, false positive, но все же https://github.com/fabioz/PyDev.Debugger/blob/master/pydevd_attach_to_process/windows/inject_dll.cpp
Я до вторника отпаду из сети, поэтому докину еще одну либу на #go В этот раз OAuth2. Если вы сталкивались с авторизацией в Go, то кроме офиц пакета ничего толком нет.

Ну правда, оно работает, все круто, да, нет модулей, код запутан, ну и что? Но вот я с этим просто не согласен. Поэтому опять 🚴‍♂️

Апи просто как палка, все легко читается без магии интернал папки. Есть вопрос многопоточного обновления токена (просто мютекс на хттп-запрос не хочется, а что именно мне понравится - хз). И еще 1 полезная фича, которую доделаю позже.

В небольшом тестовом проекте работает (как логин гитхаба/гитлаба/битбакета), либа с бОльшим количеством клиентов (аля goth, которые тоже плохо читаем) будет где-то в феврале. ВНЕЗАПНО сервисы не могут едино реализовать/трактовать протокол и приходится чуть поплясать, поэтому я еще играюсь с апи для пользователя либы.

Опять попрощу звездочек на погоны репу https://github.com/cristalhq/oauth2 #hq
До хакатона неделя! Уже есть с десяток проектов в которые можно вписаться, причем часть из них очень даже zaebis! Что не менее важно есть и те, кто пока не в тиме и, возможно, именно ваша идея придется им по душе.

Милости просим в чат: https://xn--r1a.website/joinchat/DWka6hBjhmayFl3g0_wv9A

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

И еще… снимаем шляпу перед всеми, кто выступил инфопартнёрами затеи, пошерив анонс. Лучи респекта в направлении таких каналов как:

@lukanat
@archivechan
@neuronach
@kiriharu
@count0_digest
@about_your_mom
@young_devops_notes
@tech_b0lt_Genona
@punitive_cooking
@gophernews
@nosingularity
@pnegodyay
@nrjwolf_live
@sv9t_channel
@cyberhermitage
@kuska_channel

И особенно big boyz:
@shitty_android
@RussianHackers_Channel
@catops
@devopslibrary
@we_use_js
@it_virologist
oleg_log
разметка поехала, класс, там так должно было быть: Diff(want, have) Diff(have, want)
Подкинули ссылку по теме
diff(want, got) vs diff(got, want) в контексте #go

https://github.com/golang/go/wiki/CodeReviewComments#useful-test-failures

Тлдр: "Note that the order here is actual != expected, and the message uses that order too. Some test frameworks encourage writing these backwards: 0 != x, "expected 0, got x", and so on. Go does not."

Спасибо Денису
∏ρ؃uñçτØρ Øπτµç∑ | 👁‍🗨››››
Photo
Если что, Дэн это автор фреймворка React для фронта, он что-то там написал про код ревью. Не читал еще, но вроде там то, что приходит прост с опытом и спокойствием в голове.

Upd: не автор, а контриб, но автор Redux. Спасибо метким одминам @defront @libmustdie <3
Be very careful when writing example code. This is the code everyone will copy. — Reilly Grant

Вот поэтому пример из ридми должен быть оформлен как тест (example test) и гоняться на CI.

Да, я о #go по большей части, из-за явного определения example tests.
Forwarded from ITGram
Хаос зависимостей в Python — моё интервью для Moscow Python Conf++. Интервью получилось довольно классным, команда конференции вложила огромный труд, чтобы мои слова перевести в текст и структурировать в статью.

Сама конференция пройдёт в марте, я планирую довольно много рассказать: про форматы зависимостей, развитие всей этой экосистемы, про резолвинг в DepHell. Хочу сделать это всё максимально полезным, с выводами о том, как делать надо, а как не надо (спойлер: как в питоне не надо). Берите билеты, записывайтесь в волонтёры, приходите знакомиться.