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
∏ρ؃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. Хочу сделать это всё максимально полезным, с выводами о том, как делать надо, а как не надо (спойлер: как в питоне не надо). Берите билеты, записывайтесь в волонтёры, приходите знакомиться.
Вот эта статья вынесла мозги (друзьям и мне). Да, все же ловить сегфолты в Постгресе неприкольно, хотя хорошо, что скоро будет пофикшено.

The core idea of this approach is to automatically generate queries for which we ensure that they fetch a specific, randomly selected row, called the pivot row. If the DBMS fails to fetch the pivot row, the likely cause is a bug in the DBMS. We tested our approach on three widely-used and mature DBMS, namely SQLite, MySQL, and PostgreSQL. In total, we reported 123 bugs in these DBMS, 99 of which have been fixed or verified, demonstrating that the approach is highly effective and general.

https://arxiv.org/abs/2001.04174
From 15,000 database connections to under 100: DigitalOcean's tale of tech debt

Архитектурный ужас от DigitalOcean, с 2011 на RoR. Конечно их можно понять, не мы такие, а времена такие, но....

Хотя все довольно шустро работает (с точки зрения пользователя), даже с RabbitMQ, видно просто надо уметь готовить.

https://blog.digitalocean.com/from-15-000-database-connections-to-under-100-digitaloceans-tale-of-tech-debt/
The performance ceilings aren't that different, and not that impactful, at least not until you get to FANG scale, and I mean literally only FANG scale. We were running a billion dollar business with on 8 fairly small VMs for the API layer, which handled all of the ecommerce transaction handling. I remember at one point we encountered a memory leak of some sort in node, and the instances were falling over and dying about once an hour, but restarting and recovering- this was causing a few % error rates to our customers. I was insistent that we get all hands on deck to figure this out ASAP, and our head of Ops type person said "kevstev, we can throw hardware at this problem to meet SLOs until you get it under control. Your monthly server costs are less than my studio apartment cost me per month in Jersey City 15 years ago."
Вот эта заметка (https://xn--r1a.website/musly/34) меня натолкнула на мысль: а на сколько много фич гита нам надо?

Я сходу смогу назвать 10, которые важны в моем рабочем дне (хах, ирония). Да, умение залезть в reflog полезный навык и спасает при сильных пожарах, но серьезно, нам это все надо?

10 алиасов для красивого вывода/автоматизации, основные команды для добавит и получить код. Все остальное в вебе после ревью (и там тоже ничего сложного).
oleg_log
Вот эта заметка (https://xn--r1a.website/musly/34) меня натолкнула на мысль: а на сколько много фич гита нам надо? Я сходу смогу назвать 10, которые важны в моем рабочем дне (хах, ирония). Да, умение залезть в reflog полезный навык и спасает при сильных пожарах, но…
Как верно заметил @sqaunderhood - так можно сказать про любую тулзу, что ssh, vim, dd. Гит просто роднее. Стало интересно форкнуть гит, выкинуть все ненужное (ну вы поняли) и посмотреть что будет.
Такс. у нас сегодня-завтра хакатон (я про работу, не профанктор)(ладно, я про работу-работу, а не работу-работу)(ну вы поняли).

Сегодня играемся с экосистемой ноды. прошло полчаса, из 10 человек только 3 поставили node/npm/eslint без проблем, без крашей, без ошибок доступа, без проблем обновления до последней версии, без "хм а это ваще не гуглится".

Продолжаем следить дальше.
Forwarded from Numbers Station Omeґа
Гайд как резолвить мерж конфликты. Жаль, что в таком виде не сработает, но идея мне нравится
https://twitter.com/erdgeist/status/1197283439000637441?s=19
Forwarded from DevOps&SRE Library
Manual Work is a Bug

Since February 2015, the SRE (site reliability engineering) team at Stack Overflow has switched from a mixture of Python and Bash to Go. Even though Go isn't a scripting language, for small programs it compiles and runs nearly as fast as Python takes to start. At Stack Overflow we tend to prefer compiled, type-checked languages for large programs, especially when multiple people are collaborating, and, therefore, no one person is familiar with every line of code. Our policy was that Bash scripts couldn't be larger than 100 lines and Python programs couldn't be larger than 1,000 lines. Those seemed like reasonable limits. Rewriting scripts when they grew beyond the limit, however, was a lot of work. It was better to start in Go and avoid the conversion.


https://queue.acm.org/detail.cfm?id=3197520
Хотел затащить тему в подкаст, но лучше тут. А именно по поводу релиза исходного кода игры VVVVVV и бугуртов с "да как так можно было накодить????"

Все возмущения можно заткнуть оч быстро: он сделал рабочий продукт. Так-то плохого кода в мире много. Тут лишние абстракции, тут не хватает тайп-сейфети, а здесь строка 82 символа. Ух мой zookeeper любимый.

Конечно это не аргумент в пользу «да пофиг работает», но надо учиться балансу. А еще он писал 1 как помню, поэтому делал понятные абстракции самому же, это сильно добавляет контекста.

А еще это одна из первых игр что я купил в своей жизни (вроде была распродажа на humble bundle тогда)(может сервачок Террарии поднять?)
oleg_log
Такс. у нас сегодня-завтра хакатон (я про работу, не профанктор)(ладно, я про работу-работу, а не работу-работу)(ну вы поняли). Сегодня играемся с экосистемой ноды. прошло полчаса, из 10 человек только 3 поставили node/npm/eslint без проблем, без крашей,…
Продолжая тему вчерашнего хакатона....2 мака погибли. Один был залит чаем, другой перестал реагировать на втыкивание в юсб порты.

Буквально позавчера на митапе обсуждали современную технику, и что всякие маки и бизнес леново заточены под бизнес(внезапно) клиентов. Сломалось - сотруднику дают новое устройство, сломанное отдают в сервис по гарантии, а там уже не интересно.

Вот в такое время бизнес-потребительства мы и живем.
Прикольно, в #go есть почти офиц код с распределением Zipf (почти из-за x/exp пакет)

А еще интересный видос советую глянуть
https://www.youtube.com/watch?v=fCn8zs912OE

И код конечно https://godoc.org/golang.org/x/exp/rand#Zipf
Programming Language Checklist аж с 2011, а ведь все актуальным и осталось. Рекомендуемо к залипанию.

https://famicol.in/language_checklist.html
Rob Pike at 3:49: "Most people don't know that when I got to Bell Labs Bjarne Stroustrup was my officemate. Uh-- we didn't get along." (то есть: мы не поладили)

А еще просмотр таких видосов с открытым микрофоном (интервью? забыл как называется) на скорости 0.5 похоже на посиделки в баре после 4 утра.

https://www.youtube.com/watch?v=u-kkf76TDHE

UPD: как подсказал @carrollired это называется Panel (talk), хм, я как-то по другому запомнил