Linker Unsafe
220 subscribers
182 photos
24 videos
18 files
859 links
Собираю ржавые и лямбдообразные новости, прикольные цитатки с форумов, ссылки на статьи и всё такое. В-общем, сюда я тащу такие крупицы, которые мне будет жаль потерять в цифровой бездне. Возможно, они покажутся интересными и вам.

Фи сюда: @nlinker
Download Telegram
Новые научные идеи побеждают не потому, что их противники признают свою неправоту, просто противники эти постепенно вымирают, а подрастающее поколение, не обремененное предрассудками, усваивает новые идеи сразу. (Макс Планк)
😜
Время откровений в rust_offtopic
https://t.iss.one/rust_offtopic/256243

T-34 85:
ты из пайтона в раст пришёл?

Nick Linker:
Нет, на питоне я время от времени что-то писал, но основным языком он у меня никогда не был.

T-34 85:
а что основное? Просто любопытно

Nick Linker:
Начинал с C++, учавствовал в написании сервера показаний датчиков и оконной либы. Потом C# 3 года, бекенд. Потом Java, бэкенд, J2EE и прочие ужасы. Потом Scala (я как раз застал болезненный переезд на коллекции в 2.8, но оно стоило того).
Потом я устроился в одну аутсорсинговую компанию, где был полный фарш, клиенты с чем только не приходили, были проекты и на шарпе, и на питоне, и на js, и (2 штуки) на scala, но в-основном java.
(О, кстати, там был проект, где вся логика была на хранимках, это просто нечто). Я там проработал почти пять лет и ушёл, потому что на те джавовские проекты уже не мог смотреть.

Не, против джавы я ничего не имею, но так получилось, что спринг стал стандартом де факто, и я с этим работать не могу и не хочу. Те кто может - спокойно пилят свои бины и получают XXXX долларей и в ус не дуют.

Оттуда я сбежал в другую компанию на офигенный проект на scala (с релизами каждые 2-3 дня, заказчик своеобразный), и потом второй проект длился 4 года, там я наконец получил боевой опыт Haskell в продакшене (до этого только делал небольшие программы для души после работы).

Затем был год ML, ну можно сказать что я удовлетворял своё любопытство в этой области оценок, метрик и нейронок, но вряд ли можно сказать что основным языком был питон. Я склонен считать, что питонячий стек для машинного обучения и для джанги - это два совершенно разных языка, и ключевую роль здесь играет знание библиотек, (catboost, pytorch, tf и так далее).

Ну пока я игрался в ML я наконец окончательно подсел на Rust, на чём сейчас и зарабатываю на еду.
https://t.iss.one/TeamLeadTalks/126726

[Forwarded from Victor Fabrichenko]
Полностью согласен, я бы сказал, что те, кто понял, что поддержка это и есть основная работа, стали бы на все смотреть совершенно под другим углом

[Forwarded from Pavel E]
Мы на работу устраиваемся не что б поддерживать, а чтобы писать новый код!!1 Чтобы изучать новые технологии, внедрять их в продакшен и в резюме, чтобы потом уходить на +20% в след место.
Голдштейн раскрывает сущность ордунга
https://t.iss.one/rust_offtopic/256770

Вот немецкий источник
https://www.e-anwalt.de/abmahnung-ip-daten.htm
Я не знаю немецкого, поэтому прогоняем через deepl:
> Раньше предупредительная служба могла получить доступ к данным пользователей платформы обмена только путем подачи уголовного иска против неизвестного лица и последующей проверки файлов. Прокуратуры часто буквально завалены тысячами жалоб. Затем законодатель ввел § 101 UrhG, который предоставляет потерпевшей стороне прямое право на получение информации от провайдера.
Раскопки древних косточек раста
https://t.iss.one/rust_offtopic/198610

Αλεχ Zhukovsky:
https://venge.net/graydon/talks/intro-talk-2.pdf ехех, неплохо

забавно, насколько он сильно поменялся, но остался тем же

obj swap[T](tup(T,T) pair) -> tup(T,T) {
ret tup(pair._1, pair._0);
}
fn main() {
auto str_pair = tup(“hi”, “there”);
auto int_pair = tup(10, 12);
str_pair = swap[str](str_pair);
int_pair = swap[int](int_pair);
}

раст образца 2008 года
Из книги по FRP, отлично сформулировано

There are mathematical reasons behind the “complexity wall” experienced in commercial software projects: state mutation creates a maze of possible data dependencies such that unraveling them is an intractable problem. This makes programming harder and complicates parallelism and optimization. Object-oriented programming brings order to state mutation, but this just entrenches an approach that doesn’t help software or hardware designers.
Злая ржавая магия, не стоит это использовать в продакшене, но если очень нужно, то...
https://t.iss.one/rust_offtopic/257967

T-34 85:
Он, кстати, жаловался на отсутствие CT reflection. Но, кажется, этого и в Rust нет?

Hirrolot:
Угу, вот себе даже игрушку написал: https://gist.github.com/085ac73a40c8513e4a1177425c736277

Doge Shibu:
У меня на нём автовыводы трейтов сделаны, вполне удобно, когда не хочется с процедурными макросами париться.

И за счёт оптимизаций компилятора ещё и бесплатно
Когда-то я игрался с этим Феликсом, худо бедно с ним можно научиться работать и даже понимать его плюсовый выхлоп, но когда у тебя есть Rust, всё это не нужно.
https://t.iss.one/rust_offtopic/258210

Ты не поверишь, но таких попыток "улучшить C++" было десятки, если не сотни.
Например, вот
https://github.com/felix-lang/felix достойная попытка, да, с двунаправленным мэппингом в C++, но - мёртвая!
Kitsu учит плохому 24x7
https://t.iss.one/rust_beginners_ru/64751

Oleh Bozhok:
Привет, изучаю раст бук
и мне стало интересно, как сделать так, чтобы такой вариант кода компилился?

pub fn search_case_insensitive<'a>(query: &str, contents: &'a str) -> Vec<&'a str> {
let query = query.to_lowercase();
let mut results = Vec::new();

let contents = contents.to_lowercase();
for line in contents.lines() {
if line.to_lowercase().contains(&query) {
results.push(line);
}
}

results
}

Kitsu:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=ef57ac8a12e9a312a8482f452fbb3376
моя любимая рубрика вредных советов

Антон:
Помой рот с мылом
Если вдруг не терпится окунуться в теорем-пруверы, то тут начальник скалы из банки подготовил фак:
https://t.iss.one/ebanatics_learn/15698

Alex Gryzlov, [21.05.20 02:36]
есть много статей постов и текстов
про то чтобы кто то делал единый мук с обзором не слышал
есть еще всякие подходы к пруверам: классическая логика как в изабелле, логические фреймворки как в твелфе и белуге, экстенсионалка как в нупрле и андромеде

Oleg ℕizhnik, [21.05.20 02:40]
[In reply to Nikita Vilunov]
Кок - продакшон реди прувер с тактиками и солидными либами и динамически переопредедяемым синтаксисом.
Типичный фаел на коке это такой скрипт на 5000 строк, выглядит как АБАП, нифига не понятно, но это и не важно, пока зелёное.

Агда - наркоманская фигня с миксфикс нотацией и абузом юникода, каждый файл выглядит как заклинание.
Но термы хотя бы выглядят как функции.Там же есть кубикал расширение для пруванья хотта.

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

Аренд - штука которая вся построена на \keyword синтаксисе, размашистая как жава, но с кучей встроенных в язык хомотопических штук и офигенной иде.

В принципе отличий между любой парой из них больше, чем между скалкой и жовкой.

Alex Gryzlov, [21.05.20 02:42]
ну идрис с агдой были изначально оч близки

(, [21.05.20 02:42]
Лин есчо

Alex Gryzlov, [21.05.20 02:42]
но в последнее время стали расходиться
агда пошла в кубы и соответственно ещё большие проблемы с компиляцией, идрис в линтипы и сопутствующие им протоколы
лин да, это такой кок от майкрософтовских ботаников
та же система в основе, тоже быстрый но ориентирован на то чтобы математики делали в нем хуяк хуяк

Oleg ℕizhnik, [21.05.20 02:48]
мне кажется лин по отношению к коку это как пурс к хашкелю или котлин к скале

типа мы ща сделаем всё правильно, инженерно, часть просто реимплементят, большую часть не имплементят, есть отдельные новые фичи, которые вызывают некоторые вопросы
Forwarded from Блог*
#prog #rust #article

Обстоятельное эмпирическое изучение ошибок в реальных программах на Rust. Деление на safe/unsafe код действительно помогает, но все баги с излишней блокировкой были найдены в safe коде. Особенности Rust делают некоторые паттерны ошибок более вероятными, чем в других языках. Изучение этих паттернов позволило создать статические анализаторы, которые вскрыли ранее незамеченные ошибки.

Читайте, когда найдётся свободное время, статья объёмная.

cseweb.ucsd.edu/~yiying/RustStudy-PLDI20.pdf
Мастрид ^^^
Собес Попова, ждём-с
https://t.iss.one/rust_offtopic/260467

Roman Proskuryakov:
а ты не думаешь, что проблема в тебе?
я так, просто интересуюсь
хочешь, проведём с тобой интервью
игрушечное

Stanislav Popov:
давай
По мнению Доге, нормальный кошачий (в смысле cats) код
https://t.iss.one/rust_offtopic/262097

Тут так себе код в некоторых местах, но так, энтерпрайз в ФП стиле:
https://github.com/pauljamescleary/scala-pet-store
Ещё один язык без КЦ. чатлане могут проходить мимо
https://t.iss.one/rust_offtopic/262819

Doge Shibu, [24.05.20 00:06]
https://github.com/u2zv1wx/neut
Forwarded from Politeconomics
На каком этапе карантина вы сейчас?
Anonymous Poll
4%
Отрицание
5%
Гнев
5%
Торг
14%
Депрессия
40%
Принятие
32%
Не соблюдаю
Q: А как здесь относятся к gradual typing?
A: Matthias Felleisen занимается исследованиями в этой области кучу лет (10+) и он пришёл к выводу, что это дохлое направление.
https://www.youtube.com/watch?v=5DlEj6daNEo
https://www.ccs.neu.edu/home/asumu/slides/popl-2016-01-21.pdf
https://www2.ccs.neu.edu/racket/pubs/popl16-tfgnvf.pdf

via https://t.iss.one/rust_offtopic/262942
А я предпочитаю, чтобы это делал Rust :-P
Matwey Kornilov, [26.05.20 16:12]
Мне кажется, меня обижает borrow чекер

℣ badt, [26.05.20 16:18]
пожалеть тебя?

Matwey Kornilov, [26.05.20 16:18]
да

℣ badt, [26.05.20 16:18]
все наладится

😃

via https://t.iss.one/rustlang_ru/304317
rust-like язык с ГЦ, но со статическим анализатором, таким образом освобождая память, где он смог доказать, что это можно, а остальное отправляя в ГЦ.

https://github.com/doctorn/micro-mitten