TGViewer
Channel Public Channel
How to Go wrong

How to Go wrong

@howtogowrong

Subscribers
1.67K
Photos
12
Videos
1
Links
241
Recent Posts 20 shown
Post #291 475
How to Go wrong Race Detector в Go – одна из моих любимых фич. Очень люблю читать подобные глубокие обзоры: https://theconsensus.dev/p/2026/09/06/data-races-and-the-limits-of-threadsanitizer-in-c-and-go.html
А зачем нам нужен race detector? Правильно, чтобы бесстрашно использовать конкурентность в Go. Вот и новый пост (размером с мини-книгу) об этом подъехал: https://antonz.org/go-concurrency-distilled/
antonz.org Go concurrency distilled Interactive mini-book on concurrent programming in Go.
  • 👏 7
  • 👍 4
Post #290 1.09K
Post #287 1.89K
How to Go wrong Если вы вдруг хотели знать, чем занимается rsc после ухода с позиции техлида Go и забрасывания gaby/oscar’а, то я вам отвечу: * делает онлайн энциклопедию целочисленных последовательностей (что?! да!); * вайб-пишет тикеты. Удивительно, конечно. P.S. Ну и…
А если вы вдруг хотели знать, чем занимается Ian Lance Taylor после ухода из Google, то я вам тоже скажу: вместе с другими бывшими Гуглерами делает exe.dev, пишет в их блог: https://blog.exe.dev/we-taught-sqlc-to-invalidate-our-caches
exe.dev We Taught sqlc to Invalidate Our Caches - exe.dev blog How exe's proxies stay fast and correct without anyone hand-writing invalidation logic.
  • 👍 13
Post #285 1.41K
How to Go wrong rsc выложил исходники: https://github.com/rsc/gaby
Если вы вдруг хотели знать, чем занимается rsc после ухода с позиции техлида Go и забрасывания gaby/oscar’а, то я вам отвечу:
* делает онлайн энциклопедию целочисленных последовательностей (что?! да!);
* вайб-пишет тикеты.

Удивительно, конечно.

P.S. Ну и да, действующий сотрудник Google использует Claude, не Gemini/Antigravity.
  • 👍 14
  • 🤣 6
  • 👏 2
  • 👎 1
Post #281 2.31K
Post #280 2.71K
Post #279 2.21K
В продолжение темы выноса всякого полезного кода из FerretDB: https://github.com/AlekSi/xfail
Очень простоя библиотека для ожидаемо падающих тестов проверяющая, что они всё ещё падают.
Как обычно, ставьте звёзды 😁️️
GitHub GitHub - AlekSi/xfail Contribute to AlekSi/xfail development by creating an account on GitHub.
  • 👍 9
  • 🤣 1
Post #278 2.93K
Не прошло и 11-и лет (а только 10,5): https://github.com/golang/go/issues/12854#issuecomment-4256916067 Осталось 9 месяцев до релиза дотерпеть.
Вообще, интересный тренд, когда добираются до всё более и более старых proposal’ов.
  • 👍 18
  • 🤔 2
Post #277 3.17K
Весь свой выходной день делаю одну штуку, связанную со сравнением значений разными способами (почти как 4 года назад), перечитываю спеку языка раз за разом. И вдруг заметил такое бревно в глазу языке, что теперь не могу развидеть.

В спеке есть понятия comparable и strictly comparable: «The equality operators == and != apply to operands of comparable types. The ordering operators <, <=, >, and >= apply to operands of ordered types». Ordered операторы применяются к ordered типам – всё нормально. А вот equality операторы применяются к comparable типам – используется другое слово, как-то немного странно, но сойдёт.

Но дальше хуже. Есть в стандартной библиотеке пакет cmp, название которого явно происходит от слова compare, и название функции Compare говорит о том же. Что должна делать это функция? Если comparable типы – это про equality операторы, то, по идее, она должна просто (может, с поправкой на NaN) использовать ==. Но нет, она использует ordered операторы и типы.

Пошёл смотреть почему же нет cmp.Equal. И это просто портал в ад:


Equal([2]float64{nan, 456}, [2]float64{123, nan}) // true


Какая же мораль? Как обычно, NaN всё портит. Go – не такой простой язык, как кажется (никакой язык не такой простой, как кажется, но мы же тут про Go), но английский – ещё сложнее. А мне, видимо, надо отдыхать в выходной день без чтения спеки.
  • 👏 5
  • 👍 1
  • 🤔 1
Post #276 2.73K
How to Go wrong Оказывается, 11 дней полыхала драма, и одно крошечное, но могучее изменение откатят в 1.26.1: https://github.com/golang/go/issues/77653
В 1.26.1 откатили это, но отладка кода с race detector’ом осталось сломанной. Ждём 1.26.2: https://github.com/golang/go/issues/77597
GitHub runtime: segmentation violation when debug and using race detector · Issue #77597 · golang/go Go version go version go1.26.0 linux/amd64 Output of go env in your module/workspace: AR='ar' CC='gcc' CGO_CFLAGS='-O2 -g' CGO_CPPFLAGS='' CGO_CXXFLAGS='-O2 -g&#...
  • 🤣 9
  • 👍 2
Post #275 2.53K
Поддержку генерации UUID уже скоро завезут в стандартную библиотеку. В полном соответствии с законом тривиальности Паркинсона (a.k.a. bike-shedding), сейчас там полыхает драма. 😁
GitHub uuid: add API to generate and parse UUID · Issue #62026 · golang/go I would like to suggest the addition to the standard library of a package to generate and parse UUID identifiers, specifically versions 3, 4 and 5. The main reason I see to include it is that the m...
  • 🤣 6
  • 👍 1
Post #274 2.11K
Не прошло и… всего восьми лет, как proposal про const решили отклонить: https://github.com/golang/go/issues/27975#issuecomment-4000712203 Мир изменился, мы изменились, уже даже автор не считает предложение таким уж нужным – и только команда Go верна себе. 😁
GitHub proposal: spec: immutable type qualifier · Issue #27975 · golang/go This issue describes a language feature proposal to Immutable Types. It targets the current Go 1.x (> 1.11) language specification and doesn't violate the Go 1 compatibility promise. It also...
  • 👍 5
  • 😢 3
Post #273 2.53K
How to Go wrong https://go.dev/blog/go1.26 https://go.dev/doc/go1.26 Отличный подарок на день рождения 😁
Оказывается, 11 дней полыхала драма, и одно крошечное, но могучее изменение откатят в 1.26.1: https://github.com/golang/go/issues/77653
GitHub cmd/go: change `go mod init` default go directive back to 1.N · Issue #77653 · golang/go Proposal Details I was surprised to see #74748 in 1.26. I think this behavior is confusing: ❯ cat t.go package main import "fmt" func main() { fmt.Println(new(42)) } ❯ go run t.go 0x4a524...
  • 👍 6
  • 🤔 4
  • 🤣 2
  • 👎 1
  • 😢 1
Older posts →

About this channel

How can I read @howtogowrong without a Telegram account?
TGViewer shows the public web preview Telegram publishes for How to Go wrong: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does How to Go wrong have?
How to Go wrong (@howtogowrong) has 1.67K subscribers on Telegram, refreshed roughly every 30 minutes.
Does How to Go wrong know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →