эхххххх (ХН эффект если что)
http://michaelyingling.com/random/calvin_and_hobbes/
Warning: mysql_connect(): User yingling_sandbox already has more than 'max_user_connections' active connections in /home/content/41/5598741/html/random/calvin_and_hobbes/search.php on line 10
Unable to connect to database! Please try again later.
http://michaelyingling.com/random/calvin_and_hobbes/
Michaelyingling
Calvin & Hobbes Search Engine - by Bing
Calvin and Hobbes Search Engine
This media is not supported in your browser
VIEW IN TELEGRAM
Powerful yet simple to use screenshot software 🖥 📸
https://github.com/flameshot-org/flameshot/
Из минусов - ставить ручками на макось (ручками == билдить из исходников)
https://github.com/flameshot-org/flameshot/
Из минусов - ставить ручками на макось (ручками == билдить из исходников)
Оригинальненько
Learn the Zig programming language by fixing tiny broken programs.
Где-то я похожее встречал, или это у меня с exercism.io перекликается просто
https://github.com/ratfactor/ziglings
UPD: в коментах подсказали оригинал(?) от Rust https://github.com/rust-lang/rustlings
Learn the Zig programming language by fixing tiny broken programs.
Где-то я похожее встречал, или это у меня с exercism.io перекликается просто
https://github.com/ratfactor/ziglings
UPD: в коментах подсказали оригинал(?) от Rust https://github.com/rust-lang/rustlings
GitHub
GitHub - ratfactor/ziglings: Learn the Zig programming language by fixing tiny broken programs.
Learn the Zig programming language by fixing tiny broken programs. - ratfactor/ziglings
Почти полностью согласен, сам такое в голове прокручивал. Но есть плюс, за это всегда платят)) правда своими нервами тоже))
Forwarded from There will be no singularity
Что лично меня больше всего бесит в процессе написания кода - это тулинг и настройки окружения.
Нельзя просто взять и начать нормально работать. Сначала надо прочитать мануалы по настройке. И... обломаться, потому что с момента написания мануала сменилось 2 мажорные версии.
Почитать все релевантные ишью на гитхабе, пролистать stack overflow, откатиться к версиям, которые использовали на момент написания мануала.
Зафиксировать версии, чтоб случайно что-то не обновилось...
Через некоторое время все начнет тормозить. И опять по кругу - ишью на гитхабе, мануалы на medium, stack overflow...
Но если ты решил что-то поменять...
- "Обнови npm! Вышла новая мажорная версия! У тебя 6.14, а вышла 7.5". ЭЭЭ... А где были 7.1-7.4? Ну ок... Слетают все сохраненные токены к приватным репам. Как ты их настраивал - хз. Лезешь в доки, разбираешься.
- "request перестали поддерживать, замени на другое". Ладно, что там у фронтов? axios? Что может пойти не так? Это же просто http клиент... 3 часа ищешь как установить лимит на request timeout. Знаете как? НИКАК! Ну т.е. в интернете есть пяток (!) рецептов, но ни один не работает...
- Пора поменять flow на ts. Да, знаю, это другое, но все-таки... Нужен аналог
- Так, что там с ts в качестве тестранера используют... Ага, убираем ava, берем jest... Хз, что там в джесте происходит, но тесты, которые отрабатывают за 20 секунд при запуске через ava, на jest я выключил через 5 минут, потому что мне надоело. ПЯТЬ МИНУТ!!! Если запускать тесты по одному - работает, но занимает в 3-4 раза больше времени...
Думаете так только в js? Ха! Java, python, haskell, c, c++ - я всякое пробовал. Везде ад. Где-то лучше, где-то хуже, но везде. На go плюс-минус ничего, но только если вы смогли настроить GOPATH и не забили на этом этапе :) Ну и если все нужные вам пакеты доступны на гитхабе и подходят под ту версию рантайма, которую вы используете...
"А давайте изобретем сборщик на java и будем им билдить плюсы!" Ну, бл, давайте... Помогло? Нет конечно! Но теперь у нас есть +1 сборщик, с которым нужно разбираться (bazel).
Я не понимаю, почему до сих пор нет отдельных вакансий на писателей конфигов для линтеров и вебпаков, нет публичных реп от известных компаний с настройками IDE (с зафиксированными версиями пакетов и тестами на это) и вот этого всего. Мало того, что человек, на которого компания тратит в лучшем случае 500k в месяц (да-да, налоги, офис, больничные...), большую часть времени не думает, а работает как наборщица текста (купите tabnine), ему еще приходится и этой хренью заниматься.
Все это убивает время и увеличивает энтропию. От этого выгорают зумеры! (хотя зумеры от всего выгорают...)
Однажды Резерфорд зашел поздно вечером в свою лабораторию и увидел там, несмотря на неурочный час, одного из своих подававших надежды сотрудников.
«Что вы делаете здесь так поздно?» — удивился ученый.
«Работаю», — ответил подававший надежды.
«Что же вы, в таком случае, делали днем?»
«Разумеется, работал».
«А утром? Неужели и утром вы тоже работали?»
«И утром тоже».
«Позвольте, — неподдельно изумился Резерфорд, — а когда же вы думаете?» — и перестал возлагать на этого сотрудника особые надежды.
Нельзя просто взять и начать нормально работать. Сначала надо прочитать мануалы по настройке. И... обломаться, потому что с момента написания мануала сменилось 2 мажорные версии.
Почитать все релевантные ишью на гитхабе, пролистать stack overflow, откатиться к версиям, которые использовали на момент написания мануала.
Зафиксировать версии, чтоб случайно что-то не обновилось...
Через некоторое время все начнет тормозить. И опять по кругу - ишью на гитхабе, мануалы на medium, stack overflow...
Но если ты решил что-то поменять...
- "Обнови npm! Вышла новая мажорная версия! У тебя 6.14, а вышла 7.5". ЭЭЭ... А где были 7.1-7.4? Ну ок... Слетают все сохраненные токены к приватным репам. Как ты их настраивал - хз. Лезешь в доки, разбираешься.
- "request перестали поддерживать, замени на другое". Ладно, что там у фронтов? axios? Что может пойти не так? Это же просто http клиент... 3 часа ищешь как установить лимит на request timeout. Знаете как? НИКАК! Ну т.е. в интернете есть пяток (!) рецептов, но ни один не работает...
- Пора поменять flow на ts. Да, знаю, это другое, но все-таки... Нужен аналог
$PropertyType Type, 'prop'Похоже, что это
Pick Type, 'prop'... Чет не так работает.... А потому что это вам не это! Аналог -
Type['prop']Сцукоооооо....
- Так, что там с ts в качестве тестранера используют... Ага, убираем ava, берем jest... Хз, что там в джесте происходит, но тесты, которые отрабатывают за 20 секунд при запуске через ava, на jest я выключил через 5 минут, потому что мне надоело. ПЯТЬ МИНУТ!!! Если запускать тесты по одному - работает, но занимает в 3-4 раза больше времени...
Думаете так только в js? Ха! Java, python, haskell, c, c++ - я всякое пробовал. Везде ад. Где-то лучше, где-то хуже, но везде. На go плюс-минус ничего, но только если вы смогли настроить GOPATH и не забили на этом этапе :) Ну и если все нужные вам пакеты доступны на гитхабе и подходят под ту версию рантайма, которую вы используете...
"А давайте изобретем сборщик на java и будем им билдить плюсы!" Ну, бл, давайте... Помогло? Нет конечно! Но теперь у нас есть +1 сборщик, с которым нужно разбираться (bazel).
Я не понимаю, почему до сих пор нет отдельных вакансий на писателей конфигов для линтеров и вебпаков, нет публичных реп от известных компаний с настройками IDE (с зафиксированными версиями пакетов и тестами на это) и вот этого всего. Мало того, что человек, на которого компания тратит в лучшем случае 500k в месяц (да-да, налоги, офис, больничные...), большую часть времени не думает, а работает как наборщица текста (купите tabnine), ему еще приходится и этой хренью заниматься.
Все это убивает время и увеличивает энтропию. От этого выгорают зумеры! (хотя зумеры от всего выгорают...)
Однажды Резерфорд зашел поздно вечером в свою лабораторию и увидел там, несмотря на неурочный час, одного из своих подававших надежды сотрудников.
«Что вы делаете здесь так поздно?» — удивился ученый.
«Работаю», — ответил подававший надежды.
«Что же вы, в таком случае, делали днем?»
«Разумеется, работал».
«А утром? Неужели и утром вы тоже работали?»
«И утром тоже».
«Позвольте, — неподдельно изумился Резерфорд, — а когда же вы думаете?» — и перестал возлагать на этого сотрудника особые надежды.
угадайте кто ночью 4 раза просыпался и делал
k delete pods -n kek lol дада, это я. кубернетес чтобы рестартить сервисы руками, как тебе такое, Kelsey?*детские и взрослые слезы радости*
In this repository you'll find the fully reversed source code for GTA III (master branch) and GTA VC (miami branch).
https://github.com/GTAmodding/re3
In this repository you'll find the fully reversed source code for GTA III (master branch) and GTA VC (miami branch).
https://github.com/GTAmodding/re3
oleg_log
*детские и взрослые слезы радости* In this repository you'll find the fully reversed source code for GTA III (master branch) and GTA VC (miami branch). https://github.com/GTAmodding/re3
- Is it true that NPC cars are not checked for collision? And collision checking only starts when something happens near?
- This is sort of true, they are "on rails" (meaning no physics calculations are performed) until something collides with it, like a bullet, a car or a player. At that point they are handed off to a more expensive process which includes checking physics each frame.
и это красиво.
https://news.ycombinator.com/item?id=26130320
- This is sort of true, they are "on rails" (meaning no physics calculations are performed) until something collides with it, like a bullet, a car or a player. At that point they are handed off to a more expensive process which includes checking physics each frame.
и это красиво.
https://news.ycombinator.com/item?id=26130320
Вы же наверное слышали, что в Python завозят pattern matching. Как всегда не все довольны.
Как по мне, подобная фича нормально заходит в дизайн языка, ведь где-то там станет проще писать и что-то читать.
Да и конструкция довольно популярна в других языках, супер-сомнительного новаторства нет.
У меня как-то даже болело, что все приходится писать через
https://github.com/gvanrossum/patma (спасибо Антону за пинг)
Как по мне, подобная фича нормально заходит в дизайн языка, ведь где-то там станет проще писать и что-то читать.
Да и конструкция довольно популярна в других языках, супер-сомнительного новаторства нет.
У меня как-то даже болело, что все приходится писать через
elif (else+if который), когда и так было понятно, что мог бы быть свитч.https://github.com/gvanrossum/patma (спасибо Антону за пинг)
GitHub
GitHub - gvanrossum/patma: Pattern Matching
Pattern Matching. Contribute to gvanrossum/patma development by creating an account on GitHub.
Готовитесь к собеседованиям? (Перед тем как ругаться на варианты ответа, вспомните про 10 вариантов и то, сколько есть причин и видов собесов, поэтому «имеем что имеем»)
Anonymous Poll
10%
Да, я джун
25%
Да, я мидл
25%
Да, сеньор
4%
Нет, джун
11%
Нет, мидл
17%
Нет, сеньор
2%
Другое (в коменты)
7%
Не применимо
Пока люди хвастаются, как они продали биткоин по 28к (когда он перепрыгнул 50к), я дебажу network policies в Kubernetes. Это веселее.
Как оказалось проблема простукивания пода в другом неймспейсе была не связана с кривым селектором, скорее данными которые мы процессим.
Советую https://github.com/ahmetb/kubernetes-network-policy-recipes (тут как раз это было в ридми, мол сделай
(UPD мем в профанкторе как раз про это)
Как оказалось проблема простукивания пода в другом неймспейсе была не связана с кривым селектором, скорее данными которые мы процессим.
egress:Все смотрится ок, да? Вот только лейблов
- to:
- podSelector:
matchExpressions:
- key: app
operator: In
values:
- kek-api
- namespaceSelector:
matchExpressions:
- key: name
operator: In
values:
- FOO
name=FOO на неймспейсе FOO не было.Советую https://github.com/ahmetb/kubernetes-network-policy-recipes (тут как раз это было в ридми, мол сделай
kubectl label namespace/other team=operations и дерзай, но это сложнее чем кажется)(UPD мем в профанкторе как раз про это)
GitHub
GitHub - ahmetb/kubernetes-network-policy-recipes: Example recipes for Kubernetes Network Policies that you can just copy paste
Example recipes for Kubernetes Network Policies that you can just copy paste - ahmetb/kubernetes-network-policy-recipes
Осмелюсь (хоть и частично) не согласится с данным постом https://t.me/manandthemachine/650 (тлдр про систем дизайн/архитектурное интервью)
Я давно в @oleg_log_plus (внезапно реклама) про это говорил и суть проста: если вы будете спрашивать только про лоад-балансеры, всякик NoSQL, CAP (зачем-то) и другие крутые слова, то вы ничего не проверите, ну разве что кто-то пролистывал Медиум по теме.
На джуна эти вопросы скорее вне их компетенции и понимания, для мидла они особо ничего не дадут, а сеньор вам скорее нагонит туфты и будет казаться, что понимает.
Возвращаясь к посту, который я накатал ранее. Спрашивать надо про дизайн системы доставки пиццы, как автоматизировать эскалаторы в ТЦ и как должен работать ЦУП.
Вот тут-то вы и проверите, насколько ваш кандидат умеет мыслить над проблемой, анализировать требования и задавать каверзные вопросы, пытаясь не зафейлить собес.
Джуна таким утюжить смысла нет, мидла не каждого, а вот сеньоров и прочих умников за милую душу.
Пожалуй эта часть собеса (дизайн интервью) единственное, что интересно проходить в FAANG, ведь можно интересно поговорить с умным человеком.
Еще одно: надо не только вам задавать эти вопросы, но и самим ходить на подобные собесы, тупо умнеть будете.
Я давно в @oleg_log_plus (внезапно реклама) про это говорил и суть проста: если вы будете спрашивать только про лоад-балансеры, всякик NoSQL, CAP (зачем-то) и другие крутые слова, то вы ничего не проверите, ну разве что кто-то пролистывал Медиум по теме.
На джуна эти вопросы скорее вне их компетенции и понимания, для мидла они особо ничего не дадут, а сеньор вам скорее нагонит туфты и будет казаться, что понимает.
Возвращаясь к посту, который я накатал ранее. Спрашивать надо про дизайн системы доставки пиццы, как автоматизировать эскалаторы в ТЦ и как должен работать ЦУП.
Вот тут-то вы и проверите, насколько ваш кандидат умеет мыслить над проблемой, анализировать требования и задавать каверзные вопросы, пытаясь не зафейлить собес.
Джуна таким утюжить смысла нет, мидла не каждого, а вот сеньоров и прочих умников за милую душу.
Пожалуй эта часть собеса (дизайн интервью) единственное, что интересно проходить в FAANG, ведь можно интересно поговорить с умным человеком.
Еще одно: надо не только вам задавать эти вопросы, но и самим ходить на подобные собесы, тупо умнеть будете.
Telegram
Человек и машина
#машины_разное #люди
Время от времени я провожу system design интервью, которые в простонародье известны как архитектурные. Многим моим читателям такой вид собеседования должен быть знаком: предлагается спроектировать что-то, и у вас 45 минут чтобы собрать…
Время от времени я провожу system design интервью, которые в простонародье известны как архитектурные. Многим моим читателям такой вид собеседования должен быть знаком: предлагается спроектировать что-то, и у вас 45 минут чтобы собрать…
1 из аргументов, почему бояться N**2 не надо. https://twitter.com/BruceDawson0xB/status/1120381406700429312
Forwarded from Протестировал
Захватывающая история о неработающей синхронизации в rsync, причиной которой был баг 24-летней (!) давности в реализации протокола TCP Linux ядра. Буквально через несколько часов после появления письма с описанием проблемы в рассылке Neal Cardwell подготовил патч с исправлением (фикс из двух строк). Знаю Neal Cardwell как автора packetdrill - утилиты для функционального тестирования TCP, IP протоколов. С её помощью тесткейсы для тестирования можно описывать на DSL в декларативном стиле и они выглядят короче и нагляднее, чем такой же тексткейс, но на Си.
https://engineering.skroutz.gr/blog/uncovering-a-24-year-old-bug-in-the-linux-kernel/
Create a listening TCP socket.
0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
+0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
+0 bind(3, ..., ...) = 0
+0 listen(3, 1) = 0
// Establish a new connection.
+0 < S 0:0(0) win 32792 <mss 1000,sackOK,nop,nop,nop,wscale 7>
+0 > S. 0:0(0) ack 1 win 29200 <mss
1460,nop,nop,sackOK,nop,wscale 6>
+.1 < . 1:1(0) ack 1 win 257
+0 accept(3, ..., ...) = 4
// sequence number out of window!
+.010 < R. 29202:29202(0) ack 1 win 257
// verify that the connection is OK
+.010 write(4, ..., 1000) = 1000
+0 > P. 1:1001(1000) ack 1
https://engineering.skroutz.gr/blog/uncovering-a-24-year-old-bug-in-the-linux-kernel/
GitHub
GitHub - google/packetdrill: The official Google release of packetdrill
The official Google release of packetdrill. Contribute to google/packetdrill development by creating an account on GitHub.