This media is not supported in your browser
VIEW IN TELEGRAM
Backend: machine learning, AI, highload, distributed computing.
Frontend:
(https://twitter.com/ulyanovskui/status/1170072317642321921?s=12)
Frontend:
(https://twitter.com/ulyanovskui/status/1170072317642321921?s=12)
Самсунги анонсировали KV SSD, другими словами: если мы уперлись в софт, давайте перенесем работу на железо. Вроде бы и ничего нового, а приятно. Пожалуй 1 абзац, который все объяснит:
Key-value SSDs have the potential to offload significant work from a server's CPUs when used to replace a software-based key-value database. More importantly, moving the key-value interface into the SSD itself means it can be tightly integrated with the SSD's flash translation layer, cutting out the overhead of emulating a block storage device and layering a variable-sized storage system on top of that. This means key-value SSDs can operate with much lower write amplification and higher performance than software key-value databases, with only one layer of garbage collection in the stack instead of one in the SSD and one in the database.
https://www.anandtech.com/show/14839/samsung-announces-standardscompliant-keyvalue-ssd-prototype
Key-value SSDs have the potential to offload significant work from a server's CPUs when used to replace a software-based key-value database. More importantly, moving the key-value interface into the SSD itself means it can be tightly integrated with the SSD's flash translation layer, cutting out the overhead of emulating a block storage device and layering a variable-sized storage system on top of that. This means key-value SSDs can operate with much lower write amplification and higher performance than software key-value databases, with only one layer of garbage collection in the stack instead of one in the SSD and one in the database.
https://www.anandtech.com/show/14839/samsung-announces-standardscompliant-keyvalue-ssd-prototype
Собственно слова адекватного инженера:
This meme needs to die. Kubernetes is not overkill for non-Google workloads. In my current work, we run several Kubernetes clusters via GKE on Google Cloud Platform. We're a tiny company — less than 20 nodes running web apps, microservices and search engines — but we're benefiting hugely from the operational simplicity of Kubernetes. Much, much, much better than the old fleet of Puppet-managed VMs we used to run. Having surveyed the competition (Docker Swarm, Mesos/Marathon, Rancher, Nomad, LXD, etc.), I'm also confident that Kubernetes was the right choice. Kubernetes may be a large and complex project, but the problem it solves is also complex. Its higher-level cluster primitives are vastly better adapted to modern operations than the "simple" Unix model of daemons and SSH and what not. The attraction isn't just the encapsulation that comes with containers, but the platform that virtualizes physical nodes and allows containers to be treated as ephemeral workloads, along with supporting primitives like persistent volumes, services, ingresses and secrets, and declarative rules like horizontal autoscalers and disruption budgets. Given this platform, you have a "serverless"-like magically scaling machine full of tools at your fingertips. You don't need a huge workload to benefit from that.
https://news.ycombinator.com/item?id=20781208
This meme needs to die. Kubernetes is not overkill for non-Google workloads. In my current work, we run several Kubernetes clusters via GKE on Google Cloud Platform. We're a tiny company — less than 20 nodes running web apps, microservices and search engines — but we're benefiting hugely from the operational simplicity of Kubernetes. Much, much, much better than the old fleet of Puppet-managed VMs we used to run. Having surveyed the competition (Docker Swarm, Mesos/Marathon, Rancher, Nomad, LXD, etc.), I'm also confident that Kubernetes was the right choice. Kubernetes may be a large and complex project, but the problem it solves is also complex. Its higher-level cluster primitives are vastly better adapted to modern operations than the "simple" Unix model of daemons and SSH and what not. The attraction isn't just the encapsulation that comes with containers, but the platform that virtualizes physical nodes and allows containers to be treated as ephemeral workloads, along with supporting primitives like persistent volumes, services, ingresses and secrets, and declarative rules like horizontal autoscalers and disruption budgets. Given this platform, you have a "serverless"-like magically scaling machine full of tools at your fingertips. You don't need a huge workload to benefit from that.
https://news.ycombinator.com/item?id=20781208
Если вы забудете или захотите понять в чем смысл Cooperative vs. Preemptive scheduling, какие бывают Threading model, то предложу вам эту статью. Все довольно просто и понятно все описано + сравнение по языкам (а еще картинки там полезные)
https://medium.com/traveloka-engineering/cooperative-vs-preemptive-a-quest-to-maximize-concurrency-power-3b10c5a920fe
https://medium.com/traveloka-engineering/cooperative-vs-preemptive-a-quest-to-maximize-concurrency-power-3b10c5a920fe
oleg_log
Если вы забудете или захотите понять в чем смысл Cooperative vs. Preemptive scheduling, какие бывают Threading model, то предложу вам эту статью. Все довольно просто и понятно все описано + сравнение по языкам (а еще картинки там полезные) https://medium.com/traveloka…
Как заметил один из ВНИМАТЕЛЬНЫХ читателей этой статьи, там есть ошибка:
one service that hogged all of its host’s RAM because the Java app had a total of 10 thousand threads running. With the default JVM thread stack size for a 64bit VMs which was 1024 bytes, it meant that we allocated around 10GB memory for thread stack alone
10k threads * 1024 bytes != 10gb
По дефолту для 64битных платформ мин. стэк будет 1 мб, и как раз 10к * 1мб = 10гб.
Спасибо, внимательных Александр.
one service that hogged all of its host’s RAM because the Java app had a total of 10 thousand threads running. With the default JVM thread stack size for a 64bit VMs which was 1024 bytes, it meant that we allocated around 10GB memory for thread stack alone
10k threads * 1024 bytes != 10gb
По дефолту для 64битных платформ мин. стэк будет 1 мб, и как раз 10к * 1мб = 10гб.
Спасибо, внимательных Александр.
Forwarded from Tech Cheat Sheet (Oleg Kovalov)
Есть такой бот как https://t.me/YearProgress который постит сколько % прошло с начала года.
Видел подобного бота в твиттере, вроде бы ничего особенного, но этот написан на баше, даже читаемом баше.
https://github.com/RedL0tus/YearProgressBot
Видел подобного бота в твиттере, вроде бы ничего особенного, но этот написан на баше, даже читаемом баше.
https://github.com/RedL0tus/YearProgressBot
Заметил миграцию на Github Actions на этих выходных (в твиторе кто-то писал, где-то еще нотификация, вон VictoriaMetrics тоже переехала).
И я тоже решил пересесть с иглы Travis на Github Actions, вышло довольно просто и шустро (действительно работает быстро), правда под винду не взлетело (добавлял ради интереса).
Итого: объявляю себе неделю миграций на Github Actions 🎉
Пример конфига https://github.com/cristaloleg/sabotage/blob/master/.github/workflows/main.yml
(там билд падает на 1.12, мне лень фиксить)))))
И я тоже решил пересесть с иглы Travis на Github Actions, вышло довольно просто и шустро (действительно работает быстро), правда под винду не взлетело (добавлял ради интереса).
gofmt check правда без зеленой галочки, очевидно возвращается какой-то результат, который неочевиден для гитхаба, надо будет подправить позже.Итого: объявляю себе неделю миграций на Github Actions 🎉
Пример конфига https://github.com/cristaloleg/sabotage/blob/master/.github/workflows/main.yml
(там билд падает на 1.12, мне лень фиксить)))))
Надеюсь победитель выложит модель на гитхаб, это ведь отличная тулза для инди разрабов или иллюстраторов (почему-то подумал про авторов детских книжек или около)
Congratulations to our GauGAN contest winner
https://twitter.com/NVIDIADesign/status/1168992064782159872
Congratulations to our GauGAN contest winner
https://twitter.com/NVIDIADesign/status/1168992064782159872
А раздел про Productivity я и не заметил. Довольно ведь важный раздел. Советую полистать всю пдф
https://t.me/rxd_txd/1671
https://t.me/rxd_txd/1671
oleg_log
А раздел про Productivity я и не заметил. Довольно ведь важный раздел. Советую полистать всю пдф https://t.me/rxd_txd/1671
схема напомнила еще вооооот это, правда детализация разная https://t.me/oleg_log/1081
Telegram
oleg_log
oleg_log
Надеюсь победитель выложит модель на гитхаб, это ведь отличная тулза для инди разрабов или иллюстраторов (почему-то подумал про авторов детских книжек или около) Congratulations to our GauGAN contest winner https://twitter.com/NVIDIADesign/status/1168992064782159872
OH BOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
Да, оно есть онлайн, это просто шедевр, спасибо Егору.
http://nvidia-research-mingyuliu.com/gaugan/
Да, оно есть онлайн, это просто шедевр, спасибо Егору.
http://nvidia-research-mingyuliu.com/gaugan/
Прикольный пост о истории и применении инструкции popcount, оказывается она зародилась в недрах NSA.
Примеры слехка поверхностные, похожее можно и про or/and/xor рассказать, но все равно интересно /shrug
https://vaibhavsagar.com/blog/2019/09/08/popcount/
Примеры слехка поверхностные, похожее можно и про or/and/xor рассказать, но все равно интересно /shrug
https://vaibhavsagar.com/blog/2019/09/08/popcount/
Сложный вопрос, поэтому не сердчайте: допустим вы слушатель подкаста, самое главное это...
Anonymous Poll
1%
Слушать live, а не запись
5%
Выбрать/предложить тему для огласки
13%
Послушать обзор новостей за последнее время
30%
Наслушаться историй от других коллег по цеху
1%
Пообсуждать все это в чате (логично live)
7%
Изумительно хорошее качество записи
39%
Приятные ведущие и участники (как аудио так и личности)
2%
ЗаДоНаТиТь
2%
Другое? @olegkovalov
👷♂️ Build images with images
Tiler is a tool to create an image using all kinds of other smaller images (tiles). It is different from other mosaic tools since it can adapt to tiles with multiple shapes and sizes (i.e. not limited to squares).
https://github.com/nuno-faria/tiler
А теперь вишенка на торте (как на пикче): это не ваши вот глубокие обучения, все сделано на простых изменениях изображения.
ВНЕЗАПНО ОТЛИЧНАЯ ВОЗМОЖНОСТЬ ПЕРЕПИСАТЬ ЭТО С ПИТОНА НА GO/RUST/D/любое компилируемое и добавить GPU.
Tiler is a tool to create an image using all kinds of other smaller images (tiles). It is different from other mosaic tools since it can adapt to tiles with multiple shapes and sizes (i.e. not limited to squares).
https://github.com/nuno-faria/tiler
А теперь вишенка на торте (как на пикче): это не ваши вот глубокие обучения, все сделано на простых изменениях изображения.
ВНЕЗАПНО ОТЛИЧНАЯ ВОЗМОЖНОСТЬ ПЕРЕПИСАТЬ ЭТО С ПИТОНА НА GO/RUST/D/любое компилируемое и добавить GPU.
содомиты, по што так сложно пишете, что приходится читать
https://github.com/volatiletech/authboss/blob/master/otp/twofactor/sms2fa/sms.go#L130
Authboss.Core.Router :(https://github.com/volatiletech/authboss/blob/master/otp/twofactor/sms2fa/sms.go#L130
Питон 2 - всё
We are volunteers who make and take care of the Python programming language. We have decided that January 1, 2020, will be the day that we sunset Python 2. That means that we will not improve it anymore after that day, even if someone finds a security problem in it. You should upgrade to Python 3 as soon as you can.
https://www.python.org/doc/sunset-python-2/
Даже часики добавили https://pythonclock.org
UPD: да, я слоупок, так надо
We are volunteers who make and take care of the Python programming language. We have decided that January 1, 2020, will be the day that we sunset Python 2. That means that we will not improve it anymore after that day, even if someone finds a security problem in it. You should upgrade to Python 3 as soon as you can.
https://www.python.org/doc/sunset-python-2/
Даже часики добавили https://pythonclock.org
UPD: да, я слоупок, так надо