oleg_log
1.73K 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
Поделюсь отличной новостью - наконец-то опубликовали исходный код SQLancer для логического фаззинга в СУБД. Когда я нашел статью о новом подходе, то поинтересовался у автора планирует ли он выложить исходный код фаззера. И хотя автор заверил, что опубликует код в ближайшее время, я сомневался в этом до последнего момента. Потому что когда я такой же вопрос задал автору фаззера для графических шейдеров с помощью метаморфического тестирования, то мне сначала пообещали, что дадут попробовать, а потом появилась новость, что компанию GraphicFuzz купил Гугл, потому что фаззер успешно находил баги в видеодрайверах. Правда потом код фаззера всё-таки опубликовали. C SQLancer похожая ситуация - есть статья, которая описывает концепт и есть список багов в популярных СУБД, найденных с помощью такого подхода. Идея достаточно простая — построить какое-нибудь AST-дерево с условиями, задать SQL запросы и проверить, нет ли логического бага. Разработчики sqlite пишут, что sqlancer это AFL нашего времени:

"One fuzzing researcher of particular note is Manuel Rigger, currently (as this paragraph is written on 2019-12-21) at ETH Zurich. Most fuzzers only look for assertion faults, crashes, undefined behavior (UB), or other easily detected anomalies. Dr. Rigger's fuzzers, on the other hand, are able to find cases where SQLite computes an incorrect answer. Rigger has found many such cases. Most of these finds are fairly obscure corner cases involving type conversions and affinity transformations, and a good number of the finds are against unreleased features. Nevertheless, his finds are still important as they are real bugs, and the SQLite developers are grateful to be able to identify and fix the underlying problems. Rigger's work is currently unpublished. When it is released, it could be as influential as Zalewski's invention of AFL and profile-guided fuzzing."

P.S. Есть альтернатива sqlancer на Golang от PingCAP - https://github.com/chaos-mesh/go-sqlancer
You can see pretty straight borders with geo-based routing, however latency-based shows a different picture. Most of the ISPs in central Europe prefer to use Frankfurt to exchange traffic between each other. Also, the latency-based map shows how this routing allows us to fully utilize our PoP in Berlin (purple hexagons): with geo-based routing, we saw performance degradation for our users there (most likely because their ISPs have not had PNIs with us in Berlin). Because of that, with geo-based routing, we were using this PoP only for whitelisted ISPs.

Статья вполне интересная, если помните что-то по геоднс(доклады/посты) или прочим оптимизациям латенси - закиньте в лс @olegkovalov

https://dropbox.tech/infrastructure/intelligent-dns-based-load-balancing-at-dropbox
Что-то новенькое, даже похоже подробное. Интересно.
Forwarded from Generative Anton
Интересный обзор внутренностей Фуксии (это которая ОС Гугловская)
Forwarded from корк ома
разработчики: микросервисы отстой, только геморрой один, нужно разворачивать окружение из кучи микросервисов чтобы вообще какая-то возможность поработать была
алсо разработчики: для запуска монолита нужно развенуть базу, редис, рэбит, еще кучу какой-то непонятного и обязательно десяток отдельных моков для внешних сервисов
Apple Plans to Announce Move to Its Own Mac Chips at WWDC

(правда там пейвол по ссылке на Блумберг, короч просто ждем)

https://twitter.com/business/status/1270301761094459393
Generative Anton
Интересный обзор внутренностей Фуксии (это которая ОС Гугловская)
Пасхалочка, хехе. На самом деле статья годная, я многих вещей не знал, хоть никогда не увлекался внутренностями ОС. Некоторые критикуют Фуксию, но она действительно прикольно смотрится. Вопрос только в одном: куда гугол её потащит? Только мобайл и часы? хром бук? а может полноценный десктоп? сложнааа.

Авторы оказываются еще им дырки позакрывали разные, хоть они бы ничего толком и не дали, в силу архитектуры.
Для тех, кто работает с базами из IDE от JetBrains, рекомендую посмотреть этот видос:
https://www.youtube.com/watch?v=I4Ifpg5_CIs

Использую DataGrip с начала ее появления, и удобнее тулзы для работы с базами я не видел.
На винде использовал IDE от sqlmanager.net, но после переезда на мак приходилось страдать.

В видосе полезно приблизительно все. Я не знал процентов 80 и теперь боюсь подумать о том, сколько же времени я мог сэкономить, если бы знал хотя бы половину.
Один переход между таблицами по FK чего стоит!

Функционал DataGrip встроен и в другие IDE, поэтому будет актуально для пользователей всех продуктов JetBrains.

Кстати, разрабы завели баг-трекер с человеческим лицом в виде чата в телеге, где довольно любезно отвечают на запросы юзеров. Я уже зарепортил парочку :)
https://xn--r1a.website/datagrip
Вечно теряю эту ссылку, придется оставить здеся. Там сравнение разных задержек + по годам можно посмотреть динамику.

Latency Numbers Every Programmer Should Know

https://colin-scott.github.io/personal_website/research/interactive_latency.html
oleg_fov
#db https://www.youtube.com/watch?v=HOho4HyKqTE
А вот это очень крутой и важный доклад. Всем пионерам нужно знать.
Уважаемый Вадим подкинул статью об устройстве 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