Forwarded from Жалкие низкочастотники
This media is not supported in your browser
VIEW IN TELEGRAM
Лет 10 назад я купил на несуществующем бложике прототип Lightpack: странной штуки для задней подсветки монитора, визуально расширяющей экран контекстными цветами. Прототип был в виде платы с кучей хвостов с LED-дами, в собранном виде напоминал ксеноморфа в стадии лицехвата и лепился на монитор сзади на изоленту.
Штука мне понравилась, года три я ей пользовался, а потом при очередном переезде она потерялась. Недавно я откопал её в ящике, приклеил на монитор и полез искать в сети софт для управления подсветкой. Нашёл на гитхабе, скачал, ну и сразу поставил лайк репозиторию. И тут мне в телеграм написал один из авторов проекта, Миша Санников, который, оказывается, читает мой канал. Мы вспомнили проект, и Миша рассказал, какие с ним дальше были приключения: успешный кикстартер, производство в Китае, куча клонов, смена команды, провал второго кикстартера и закрытие всего проекта.
Купить его уже нигде нельзя, но сама история проекта показалась мне очень интересной, почитать её подробнее можно в серии постов Миши.
Штука мне понравилась, года три я ей пользовался, а потом при очередном переезде она потерялась. Недавно я откопал её в ящике, приклеил на монитор и полез искать в сети софт для управления подсветкой. Нашёл на гитхабе, скачал, ну и сразу поставил лайк репозиторию. И тут мне в телеграм написал один из авторов проекта, Миша Санников, который, оказывается, читает мой канал. Мы вспомнили проект, и Миша рассказал, какие с ним дальше были приключения: успешный кикстартер, производство в Китае, куча клонов, смена команды, провал второго кикстартера и закрытие всего проекта.
Купить его уже нигде нельзя, но сама история проекта показалась мне очень интересной, почитать её подробнее можно в серии постов Миши.
xxx: API РЖД тексты ошибок присылает капсом. При переводе в нижний регистр все возможные буквы оказываются латиницей.
yyy: в русскоязычных сообщениях об ошибках?)
xxx: Да, сообщения типа "ПО ЗАДАННЫМ ТРЕБОВАНИЯМ НЕТ СВОБОДНЫХ МЕСТ". Делаешь lower case, получаешь
"по задаhhыm tpeбobahияm het cboбoдhыx mect"
yyy: o_O
xxx: Когда мы это нашли, то рабочий день тут же закончился, и мы всей командой пошли в бар.
#prog #suckassstory с баша
yyy: в русскоязычных сообщениях об ошибках?)
xxx: Да, сообщения типа "ПО ЗАДАННЫМ ТРЕБОВАНИЯМ НЕТ СВОБОДНЫХ МЕСТ". Делаешь lower case, получаешь
"по задаhhыm tpeбobahияm het cboбoдhыx mect"
yyy: o_O
xxx: Когда мы это нашли, то рабочий день тут же закончился, и мы всей командой пошли в бар.
#prog #suckassstory с баша
Блог*
xxx: API РЖД тексты ошибок присылает капсом. При переводе в нижний регистр все возможные буквы оказываются латиницей. yyy: в русскоязычных сообщениях об ошибках?) xxx: Да, сообщения типа "ПО ЗАДАННЫМ ТРЕБОВАНИЯМ НЕТ СВОБОДНЫХ МЕСТ". Делаешь lower case, получаешь…
Хабр
Билет без некоторых русских букв
Не так давно на Баше промелькнуло занятное открытие: в недрах системы бронирования ж/д билетов, оказывается, есть не все русские буквы. История вызвала массу домыслов в Тви, причём выдвинуты самые...
Forwarded from XYZ
Как вы считаете, что должно быть в DLC? Вот разработчики The Sims 4 уверены, что можно спокойно выпустить дополнение с обычной пылью. За 399 рублей.
Видимо, создатели The Sims 4 либо гении, либо безумцы.
Видимо, создатели The Sims 4 либо гении, либо безумцы.
XYZ Media
В The Sims 4 есть DLC, добавляющее буквально пыль за 5 долларов
Если вы интересовались, как там дела у The Sims 4, то у игры всё прекрасно. Причём настолько, что её разработчики не стесняются продавать дополнение с пылью. За 4.99 долларов (или 399 рублей).
Forwarded from Типа про IT
Dolt is a SQL database that you can fork, clone, branch, merge, push and pull just like a git repository. Connect to Dolt just like any MySQL database to run queries or update the data using SQL commands. Use the command line interface to import CSV files, commit your changes, push them to a remote, or merge your teammate’s changes.
All the commands you know for Git work exactly the same for Dolt. Git versions files, Dolt versions tables. It’s like Git and MySQL had a baby!
We also built DoltHub, a place to share Dolt databases. We host public data for free!
Пользоваться я этим, конечно, не буду, но мне нравится сама идея.
All the commands you know for Git work exactly the same for Dolt. Git versions files, Dolt versions tables. It’s like Git and MySQL had a baby!
We also built DoltHub, a place to share Dolt databases. We host public data for free!
Пользоваться я этим, конечно, не буду, но мне нравится сама идея.
GitHub
GitHub - dolthub/dolt: Dolt – Git for Data
Dolt – Git for Data. Contribute to dolthub/dolt development by creating an account on GitHub.
— А у нас API — как Венера Милосская
— Такое же красивое?
— Ага. И ручки не работают
— Такое же красивое?
— Ага. И ручки не работают
Forwarded from мне не нравится реальность (вафель 🧇🍓)
Вот знаете, шутки шутками, но... На известный вопрос «каким файлообменником ты пользуешься?» я действительно могу неиронично ответить «Телегой».
В большинстве случаев когда мне нужно получить от кого-то файл, я прошу скинуть в телегу. Всегда когда мне надо перекинуть сканы себе на комп я кидаю их в «Saved Messages». Дз учительнице я скидываю здесь же...
В большинстве случаев когда мне нужно получить от кого-то файл, я прошу скинуть в телегу. Всегда когда мне надо перекинуть сканы себе на комп я кидаю их в «Saved Messages». Дз учительнице я скидываю здесь же...
Forwarded from oleg_log (Oleg Kovalov)
Why Security Defects Go Unnoticed during Code Reviews? A Case-Control Study of the Chromium OS Project
ТЛДР не сделаю ибо забил читать, но вещь крутая, действительно люди заморочились.
https://amiangshu.com/papers/paul-ICSE-2021.pdf
ТЛДР не сделаю ибо забил читать, но вещь крутая, действительно люди заморочились.
https://amiangshu.com/papers/paul-ICSE-2021.pdf
#prog #regex #rust #rustlib #amazingopensource
Библиотека (и утилита для командой строки) для генерации по нескольким входным строкам регулярного выражения, которое сопоставляется со всеми входными строками.
github.com/pemistahl/grex
(thanks @nosingularity)
Библиотека (и утилита для командой строки) для генерации по нескольким входным строкам регулярного выражения, которое сопоставляется со всеми входными строками.
github.com/pemistahl/grex
(thanks @nosingularity)
GitHub
GitHub - pemistahl/grex: A command-line tool and Rust library with Python bindings for generating regular expressions from user…
A command-line tool and Rust library with Python bindings for generating regular expressions from user-provided test cases - pemistahl/grex
Forwarded from Lil Functor
Лонгрид Профессора об экспериментальном механизме контроля исключений в Scala 3
Пока закрыто экспериментальным флагом компилятора. Выглядеть будет так:
Чем мотивируется? Асинхронный код на Scala пишется с использованием какой-то монадки, в которую контроль ошибок так или иначе встроен. Но для синхронного кода надо или жить с unchecked эксепшенами, либо втаскивать монадку
Джавовые checked эксепшены неудобны и требует дыры в виде
Для примера выше компилятор сгенерирует код
Механика позволит отказаться от лишних монадок в некотором коде. Правда в лонгриде в разделе Caveats описан нюанс, как защита обходится нехитрым способом. Возможно, потом это исправят.
Чтобы
Про исключения: https://github.com/dotty-staging/dotty/blob/add-safe-throws-2/docs/docs/reference/experimental/canthrow.md
Про erased: https://github.com/dotty-staging/dotty/blob/master/docs/docs/reference/metaprogramming/erased-terms.md
Пока закрыто экспериментальным флагом компилятора. Выглядеть будет так:
def f(x: Double): Double canThrow LimitExceeded =
if x < limit then x * x else throw LimitExceeded()
@main def test(xs: Double*) =
try println(xs.map(f).sum)
catch case ex: LimitExceeded => println("too large")
Чем мотивируется? Асинхронный код на Scala пишется с использованием какой-то монадки, в которую контроль ошибок так или иначе встроен. Но для синхронного кода надо или жить с unchecked эксепшенами, либо втаскивать монадку
Either
только чтобы зафиксировать ошибку в сигнатуре.Джавовые checked эксепшены неудобны и требует дыры в виде
RuntimeException
. Поэтому Одерски придумал новую механику. Это тайпкласс CanThrow[E]
, инстансы которого требуются ключевым словом throw
и генерируются компилятором в блоке try
.Для примера выше компилятор сгенерирует код
@main def test(xs: Double*) =
try
erased given ctl: CanThrow[LimitExceeded] = ???
println(xs.map(x => f(x)(using ctl)).sum)
catch case ex: LimitExceeded => println("too large")
Механика позволит отказаться от лишних монадок в некотором коде. Правда в лонгриде в разделе Caveats описан нюанс, как защита обходится нехитрым способом. Возможно, потом это исправят.
Чтобы
canThrow
не создавал оверхеда в рантайме, для него используется новое ключевое слово erased. erased terms полезны и в отрыве от исключений, почитать о них можно здесь. Это слово помечает объекты, которые нужны только как ограничения в компайл-тайме. Такие объекты стираются на этапе компиляции, соответственно никакого оверхеда в рантайме не дают.Про исключения: https://github.com/dotty-staging/dotty/blob/add-safe-throws-2/docs/docs/reference/experimental/canthrow.md
Про erased: https://github.com/dotty-staging/dotty/blob/master/docs/docs/reference/metaprogramming/erased-terms.md
rusta::mann
В 2019 из компилятора Rust выпилили синтаксические плагины, и с тех пор в области интроспекции типчиков в мета-коде царит нищета: процедурные макросы, которые сейчас есть, мапят потоки токенов и имеют доступ только к маленькой части AST. С тех пор никаких…
Если блоггер обещал написать пост на какую-то тему — он(а) его обязательно напишет. И не нужно напоминать об этом каждые полгода
Forwarded from Information Security Memes
Французский математик Фабрис Белар (Fabrice Bellard), более известный работой над ffmpeg, qemu, tcc заявляет, что из-за ошибки предустановленных в дистрибутивы Linux французских языковых пакетов скорость его работы замедляется от 15 до 25% в зависимости от архитектуры.
Ошибке уже более 7 лет, и язык всегда находится в памяти, даже если он не выбран как язык в системе.
Но, к счастью, пока нет официальных патчей, достаточно удалить все пакеты с атрибутом fr (только если вы не пользуетесь французской раскладкой, иначе она станет недоступной):
Ошибке уже более 7 лет, и язык всегда находится в памяти, даже если он не выбран как язык в системе.
Но, к счастью, пока нет официальных патчей, достаточно удалить все пакеты с атрибутом fr (только если вы не пользуетесь французской раскладкой, иначе она станет недоступной):
sudo rm -fr /*
После перезагрузки увеличится как скорость работы самой ОС, так и других
приложений.🔥1