oleg_log
1.76K subscribers
1.86K photos
131 videos
9 files
2.79K links
Shelter for antisocial programmers "Oleg"

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
Уважаемый Вадим подкинул статью об устройстве LB Cloudflare

https://blog.cloudflare.com/high-availability-load-balancers-with-maglev/

На самом деле Maglev идёт из ресерч статьи https://research.google/pubs/pub44824/

(и всё таки у них есть к8с, поэтому-то мне и скинули :)
еее, пины и хекседитор
Forwarded from Hermitage
VSCode 1.46

Релизу 2 дня, но мне было не до того. В числе прочего полезного наконец-то занесли pinned tabs. Как мало надо для радости.

Мои хайлайты:
- Undo across files, even if the files have been closed in the meantime
- Automatic debug configurations improvements [и] "Step Into Target" feature that displays UI for directly stepping into the function you are interested in
- нативные Settings Sync все еще в Preview, но есть прогресс
- удобные доработки в Remote/Containers
- новый родной Hex Editor экстеншен (!), пока еще куцый, но начало положено (следил и в числе прочих возмущался в ишшуях отсутствию поддержки бинарных форматов еще пару лет назад), и в этой связи:
- finalized the API for custom binary editors (!). [API] lets extensions create custom webview-based editors […] can be used for previewing asset files, such as images or 3D models, directly within VS Code, or for building more specialized editing interfaces for specific file types
- Windows ARM64 Insiders (дамоклов меч 😏)
- и многое другое.
Наверное вы слышали о течении, связанном с переименованием бранчей (master -> main или подобное).

Так вот, если у вас CI/CD захардкожен на масте - что-то может отпасть. Самое время подумать, не шлепнется ли пайплайн на выходных.

Распространи, пионер. За подсказку спасибо @golanglibrary & @devopslibrary

Виновник торжества справедливости https://www.hanselman.com/blog/EasilyRenameYourGitDefaultBranchFromMasterToMain.aspx
Такое предчувствие, что все сидят читают release notes #go 1.15 (сужу по чатам и лс)

https://tip.golang.org/doc/go1.15

- vet ругается на string(x)
- неправильный каст интерфейсов
- -spectre если вы параноик
- линкер хорош: 20% faster, 30% less memory
- плагины под osx !
- обрадую вас:sync.Map.LoadAndDelete
- да и всякое по мелочи

Хороший релиз будет.
Долгожданная поддержка HTTP/3 в Nginx, пока еще превью сбоку, но видно в 2020 это будет зарелижено.

https://www.nginx.com/blog/introducing-technology-preview-nginx-support-for-quic-http-3/

Немного обидно, что каждый делает свой "велосипед". У Сloudflare (опять они!) своё на Rust https://github.com/cloudflare/quiche Envoy подозреваю напишут свой и так каждый.

Понятны причины, но велосипедостроение порой удручает. Байты не на то тратятся!
oleg_log
К P A C U B 0 https://www.youtube.com/watch?v=DuB8VUICGqc // will occasionally show ads https://www.youtube.com./watch?v=DuB8VUICGqc // will not show ads тред https://www.reddit.com/r/webdev/comments/gzr3cq/fyi_you_can_bypass_youtube_ads_by_adding_a_dot/
Как сломать Firefox on Windows

Цитирую:

Заходишь на домен с точкой -> сайт что-то сохраняет в локальное хранилище -> под это создаётся папка в профиле -> у папки есть точка в конце, и какие-то вызовы (большинство, вроде) винды не переваривают точку в конце папки -> сломано хранилище Firefox -> все расширения сломаны.

Решение: удалить все папки из \storage\default с точкой в конце названия, cygwin для этого подходит.

Будьте внимательны, прости, Пётр)
Фраза чуть избитая, но её часто забывают, хотя она правдивая
Мой хороший друг опубликовал одну библиотеку для React Native, поддержите звездочкой, очень прошу :) А еще лучше скажите своим коллегам, им может пригодиться.

https://github.com/flyerhq/react-native-keyboard-accessory-view

Еще можно почитать, зачем и почему https://dev.to/demchenkoalex/making-a-right-keyboard-accessory-view-in-react-native-4n3p
oleg_log
Мой хороший друг опубликовал одну библиотеку для React Native, поддержите звездочкой, очень прошу :) А еще лучше скажите своим коллегам, им может пригодиться. https://github.com/flyerhq/react-native-keyboard-accessory-view Еще можно почитать, зачем и почему…
Подскажите еще пожалуйста каналы о моб. разработке, бложики, новостные ленты и прочее, стало интересно, что там происходит. Можете кидать сюда @olegkovalov

Можно еще каналы с подборками/лентами опенсурс вещей скинуть, я парочку потерял.

Потом, как всегда, опубликую список.
Оп-па http://jepsen.io/analyses/postgresql-12.3

Results
In most respects, PostgreSQL behaved as expected: both read uncommitted and read committed prevent write skew and aborted reads. We observed no internal consistency violations. However, we have two surprising results to report. The first is that PostgreSQL’s “repeatable read” is weaker than repeatable read, at least as defined by Berenson, Adya, Bailis, et al. This is not necessarily wrong: the ANSI SQL standard is ambiguous. The second result, which is definitely wrong, is that PostgreSQL’s “serializable” isolation level isn’t serializable: it allows G2-item during normal operation.
tic-tac-toe in a single call to printf (Written for IOCCC 2020)

while(*d) printf(fmt, arg); (главное параметры правильные дать)

#ненормальное https://github.com/carlini/printf-tac-toe
This media is not supported in your browser
VIEW IN TELEGRAM
no one: ..
parsers:
Сижу я пью чай и придумываю вопрос вам. Вот что придумал: а скажите, что во вашему мнению должен иметь каждый self-host продукт?

Тот самый, который вы можете запустить у себя на ноуте/сервере. Считайте что речь про Postgres, Github/lab, нода tor или тому подобное (речь скорее про вебсервис, который отдаёт что-то по хттп).

Наверное глобальное как "должно иметь конфиг, хоть какую-то документацию, сайт/репо" писать не стоит. Интересны детали, дьявол в мелочах, так сказать.

Пишите -> @olegkovalov
Посту уже месяц, но я только сегодня дошёл до него. И не зря. Довольно интересная история, как на одной машине перестал работать DNS.

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

Конечно читая статью это уже понятно и очевидно, но на самом деле, заметная доля багов по стороне пользователя - misconfiguration.

https://cloud.google.com/blog/topics/inside-google-cloud/google-cloud-support-engineer-solves-a-tough-dns-case
Мне надо в кое-чём признаться, я забыл, что в #go есть пакет testing/iotest (https://pkg.go.dev/testing/iotest?tab=doc)

Там разные io.Reader/Writer которые возвращают ошибки. Но самого главного не было! Самого простого ErrReader, который сразу отдаёт ошибку (давайте честно, это пожалуй самое очевидное, что можно использовать).

Его вот и добавили https://github.com/golang/go/issues/38781 Правда сюдя по всему увидим мы его в 1.16, аж в феврале 2021 :(
Автор Graphics Programming Black Book да и известный человек в графике/играх https://en.wikipedia.org/wiki/Michael_Abrash
Вот есть 1 сервис, чуть нагруженный и чувствительный к цпу. На одной машине чаще случаются таймауты из-за проседания цпу. Что же является причиной?

Конфиг? - нет, все на Mesos ходит на том же конфиге. Железо? - нет, соседние машины такие же. Шумные соседи? - нет, другие сервисы почти незаметны. Баг железа? - нет, все тесты проходят нормально.

Так вот. Оказалось, что в этой версии сервера DELL в биосе стоят плохие настройки для NUMA nodes per socket (1 вместо 4), соотв время от времени эту проблему мы и замечали.

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

Cloud is just someone else's computer.
https://steveklabnik.com/writing/today-is-my-first-day-at-oxide-computer-company

Oxide: Hyperscaler infrastructure for the rest of us

We are building a new kind of server.
True rack-scale design, bringing cloud hyperscale innovations around density, efficiency, cost, reliability, manageability, and security to everyone running on-premises compute infrastructure.

Интересные штучки делают люди