How to Go wrong
1.57K subscribers
11 photos
1 video
191 links
Download Telegram
Сегодня был мой последний день в Sidero Labs (до недавнего времени — Talos Systems, я писал про них выше). Работа была очень интересной, с огромным диапазоном проблем на любой вкус — от «поправить документацию, чтобы пользователям было понятнее» до «после обновления чёрный экран, никаких логов нет, ничего не работает, надо разобраться». Писать ОС на Go очень интересно, отлично расширяет горизонт и углубляет понимание. Маленькая мотивированная команда, делающая фантастические вещи. Никакой бюрократии. Сообщество энтузиастов и платящие клиенты. Отличная зарплата, в конце концов.

Другими словами, подавайтесь на вакансию.

Почему же ушёл из такого прекрасного места? Напишу завтра. Комментарии пока отключу, гадайте поодиночке. (Хотя @oleg_log уже почти наверняка догадался)
Итак, куда же я ушёл? Что может быть лучше такого прекрасного стартапа?

Только свой (потенциально ещё более прекрасный) стартап.

Я тут писал выше про MangoDB. Так вот – это мы делаем. Реакция на анонс месяц назад была настолько большой и позитивной, что мы решили заняться этим более серьёзно и пошли делать проект фул-тайм, попутно пытаясь понять, как на этом заработать. Сегодня мы анонсировали новое имя и наши имена.

Когда вы прочитаете это сообщение, зайдите, пожалуйста, на https://news.ycombinator.com/newest, найдите там "MangoDB has a new name" (через More внизу, не поиском), и плюсаните.

P. S. И если вы ждали подвоха с Sidero Labs / Talos Systems – так его нет. 😃 Подавайтесь на вакансию.
👍1
Через 50 минут буду в Go Time рассказывать про GitHub Copilot.
Что про него рассказывать-то? Подскажите.
Не писал ничего про log4j, так как это не по теме канала, но мимо этого пройти не могу.

К И Б Е Р В А К Ц И Н А Ц И Я

https://github.com/Cybereason/Logout4Shell
Путём ручного удаления тысяч строк кода нашёл эпичный баг в Go. И задумался — а есть ли инструменты для автоматического уменьшения примеров, воспроизводящих проблему? Если нет, то как сложно такой сделать? Чтобы не просто упрощать код, а прямо удалять его, пока проблема воспроизводится.
Заменил

var dbFound bool
for _, d := range dbs {
if d == db {
dbFound = true
break
}
}

на

dbFound := slices.Contains(dbs, db)

и заплакал
Всех с годом, когда в Go завезут дженерики!
🎉44🤩16😱13🔥10👎2
Despite using golang, working with the absolute impenetrable monster that is kubernetes (I refuse to believe anyone actually understands this tool), taking on a helpdesk like on-call experience for one week at a time tending to configuration files over code, and not touching C++ at all, I feel more rewarded in my work than I ever did writing any amount of C++ in my entire life.

C++ довёл человека до OCPD.

https://izzys.casa/2021/12/wrapping-up-2021/
How to Go wrong
Crazy craziness, или что показать коллегам, которые думаю, что в Google работают боги: https://github.com/google/gopacket/commit/4370cf9687c957859fefd7963611f49f23338357
Если вы хотели спросить чего это это я первого января полез в gopacket… Что-то на моём Маке выкачало несколько гигабайт за полчаса через телефон в режиме модема, при этом в Activity Monitor’е ничего не было видно. Снял дамп Wireshark’ом, полез разбираться. Оказался какой-то косяк с iCloud / nsurlsessiond; перезагрузка помогла.

Кроме этого забавного комментария – отличная библиотека, рекомендую.
👍2
12-ого выступаю с докладом на митапе GDG Berlin про FerretDB. Что бы вы хотели на нём узнать?
👍5
Кстати, вы знаете, что не так с кучей кода, делающей os.Getenv("GOPATH")?

edit: То, что go env -w влияет на команду go и рантайм, но не на код, который забыл про этот флаг.