Size: a a a

2020 April 17
oleg_log
свой первый стендинг-деск я собрал в 26 (спасибо Маше за помощь :)
источник
oleg_log
Без нее я бы никак не справился, она всячески поддерживала меня и физически, и морально. Как хорошо, когда рядом есть человек, который готов быть с тобой в трудную минуту (когда приходит стол из икеи, например). Спасибо, любимая. Я не знаю, чтобы я делал без тебя. - хотел сказать Олег, но написал просто "спасибо Маше".
источник
oleg_log
Если бедного Салтыкова-Щедрина все же разбудят, то он скажет, что люди до сих пор не могут нормально настроить jwt и получают за это дырки в безопасности. Жесть, если честно.

The Authentication API prevented the use of alg: none with a case sensitive filter. This means that simply capitalising any letter e.g. alg: nonE, allowed tokens to be forged.

https://insomniasec.com/blog/auth0-jwt-validation-bypass
источник
oleg_log
Следующие выходные полностью посвящаются Go (а еще выпуск @generictalks по плану)

25го https://www.meetup.com/GolangKazan/events/269888458
26го https://goremotefest.com/

(на последний еще CFP открыт, до конца дня вроде)
источник
oleg_log
Сильный доклад про выгорание. Очень советую. Особенно пригодится тимлидам и прочим руководящим. Хотя и отчаявшиеся найдут советы.

https://www.youtube.com/watch?v=9aLUe44dSvY
источник
2020 April 18
oleg_log
Если скучно, почитайте историю сооснователя Cloudflare. Талантливый был человек.

the resident genius, the guy who could focus for hours, code pouring from his fingertips while death metal blasted in his headphones. He was the master architect whose vision had guided what began as a literal sketch on a napkin into a tech giant with some 1,200 employees and 83,000 paying customers

https://www.wired.com/story/lee-holloway-devastating-decline-brilliant-young-coder/

И ХН с деталями и мнениями https://news.ycombinator.com/item?id=22878136
источник
oleg_log
#meme
источник
oleg_log
Какую CI систему вы используете?
Анонимный опрос
40%
GitlabCI
5%
GithubCI
9%
Teamcity
3%
Bamboo
30%
Jenkins
2%
TravisCI
3%
azure/aws/gcp
1%
spinnaker
3%
CIrcleCI
2%
DroneCI
Проголосовало: 2777
источник
oleg_log
Я на днях стал обладателем ps4 (спасибо друзьям). Решил поиграть в spider man. Случайно оказался выбран русский язык локализации и...

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

Как по мне - оч забавный баг. Или неправильно размеченные дорожки, или все же чтение диалогов как попало. Еще весело, что редко бывает.
источник
2020 April 19
oleg_log
стыдно, что капец, ну кто меня просил мутить рефакторинг, перед тестами?.. нормальное ж воскресенье было...
источник
2020 April 20
oleg_log
источник
oleg_log
По пути домой задумался о такой вещице, слегка подсмотренной в другом треде: возьмем jwt токен, даже два. Стандарт json (опять о нём) не гарантирует порядка ключей в объекте, это просто set.

Гениальная идея: берём {"a":1,"b":2} и {"b":2,"a":1} и внезапно получаем 2 разные подписи для одинаковых json-ов. Понятно, что подпись считается из обычного куска байтов, поэтому проверить подпись всегда можно со 100% гарантией, но! перезаписать (десериализация а потом сериализация) со 100% гарантией уже нельзя.

Дело даже не в cross-language совместимости, а в рамках одного языка и одной либы, ведь гарантий нет! Что звучит дыряво.

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

PS. да, даже пробел между ключами может все поломать.
источник
oleg_log
jgrahamc (Cloudflare CTO), HN thread:

I posted this hours ago and then stepped away. The story captures so much about the Lee I knew so well. I'll add one piece of praise for Lee's early architecture of Cloudflare.
Everything was controlled by a single Postgres database that made very heavy use of stored procedures, that called other procedures, that called others. It was one giant program inside the database. It took me a while to comprehend what he'd done but it was really great. The database ran everything and all those functions made sure that audit logs were kept, that the calls were allowed for the user ID being passed in, and some of these procedures made external calls to APIs including getting things like SSL certificates.

It was a magnificent monolith inside a database.

I worked on the periphery of the database (it was truly Lee's domain) and he'd tell me what output to expect or API to create and I'd code to his spec. and we'd just hook it up.

If any single artefact represents what he did at Cloudflare, it's that database. And he used to code it on a laptop we called "The Beast" because it was so crazily heavy and overloaded with memory etc. that he'd carry around a mini, test Cloudflare wherever he went.
источник
oleg_log
Note #66: Go плайграунд теперь исполняет код в multi-threaded linux контейнере
   
Если у вас есть необходимость в демонстрации многопоточного кода на Go, который использует несколько горутин и которые, в свою очередь, используют один поток (thread) операционной системы или несколько потоков (threads), которые используют разные ядра. В общем теперь можно изучать go параллелизм в плайграунде 🙌

package main

import (
 "fmt"
 "runtime"
)

func main() {
 fmt.Printf("GOOS[%s] GOARCH[%s] GOMAXPROCS[%d] NumCPU[%d]", runtime.GOOS, runtime.GOARCH, runtime.GOMAXPROCS(0), runtime.NumCPU())
}
// OOS[linux] GOARCH[amd64] GOMAXPROCS[8] NumCPU[8]


P.S. объяснение от Брэда Фицпатрика:
Это стало возможным после того, как удалили поддержку Native Client (GOOS=nacl) в Go 1.14, и теперь go плайграунд запускается с помощью gVisor.
https://github.com/golang/go/issues/25224
https://github.com/golang/playground/commit/4d362417fd14b0b8349150cb28c3e8f2e756932e
источник
oleg_log
Забавно и очевидно. Там еще фотки примеров других поисковиков, исход тот же - фотки с полосками.

https://github.com/elsamuko/Shirt-without-Stripes
источник
2020 April 21
oleg_log
источник
oleg_log
источник
oleg_log
Стало интересно, а гугл делает вакуум своих индексов?

За последние 20 лет не один сайт пропал, как и далеко не 1 страница стала 404 и вот интересно - удаляют ли они это?

Вроде как и не надо, ведь все равно оно дальше, чем 1я страница выдачи, с другой стороны, все равно оно есть. А еще и археологическая сторона вопроса присутствует.

Возмжоно такие вещи можно в какое-то холодное хранилище сливать, всё равно никому ненад.
источник
oleg_log
источник
oleg_log
источник