Pull to refresh
1
0
Алексей Ивушкин @Morgan_iv

Студент, программист C/C++/C#

Send message
 ~  apt list --installed | grep sane
# ...
sane-airscan/jammy,now 0.99.27-1build1 amd64 [installed]
# ...

Вот и я, оказывается, пользуюсь, большое спасибо за работу!

У меня у одного ссылка на википедию с этой статьей подменена на какую-то странную abcdef.wiki?

Если путь начинается с первого шага, то относителен, если со слеша - абсолютен

const a = 0;
const b = 7;
const p = 11; 

for (let x = 0; x <= p; x ++) {
  for (let y = 0; y <= p; y ++) {
    if (y**2 % p === (x**3 + a * x + b) % p) {
      console.log(`(${x}, ${y})`);
    }
  }
}

А почему верхняя граница цикла включает p, т.е. почему x <= p и y <= p, а не x < p и y < p? Учитывая, что вычисления мы ведем по модулю, разве не было бы правильно не включать p?

Часто ли встречаются сайты, на которых данные подгружаются через API и вместо парсинга используете это самое API?

Полностью согласен с идеей, но Oberon-07, имхо, слишком мертв на данный момент. На мой взгляд, один из лучших учебников программированию - "Программирование - введение в профессию" за авторством Столярова. Автор, конечно, довольно едко проходится по Windows и различным GUIшным штукам, но сама идея паскаля как первого языка и линукса/макоси (точнее, их эмулятора терминала) как первой ОС, на мой взгляд, безусловно верна и даст лучший результат именно в обучении программированию как концепции

Вот и в Rust можно только в точке .await'a, тем более это язык, компилируемый в нативный код - просто взять и из кода приложения сказать виртуалке остановиться не получится, потому что нет ее, этой виртуалки

Чтобы не быть как Алан по большей части достаточно помнить, чем отличаются синхронные функции от асинхронных.

Синхронная функция в скомпилированом виде - это цельный кусок машинного кода. Мы не можем остановить ее выполнение посередине или даже поставить на паузу, если мы не хотим/не можем пользоваться инструментами, которые нам предоставляет ядро (например, таким инструментом будет SIGINT+обработчик, или выведение синхронной функции в отдельный поток, а затем остановка этого потока из другого потока нашей программы)

Напротив, асинхронная функция - это конечный автомат, по сути - множество синхронных функций с промежуточными точками между ними. Каждая (кроме последней) из этих синхронных функций, представляющих собой этапы выполнения большой асинхронной функции, возвращает нам "Я частично готова, можно пока выполнить что-то еще". Последняя же возвращает сам результат.

Мы можем прервать выполнение асинхронной функции в любой такой точке, можем послать на исполнение (в т.ч. так же с середины) другую асинхронную или синхронную функцию, а затем вернуться к первой, а когда в Rust завезут async iters - сможем в таких точках получать промежуточные значения и сразу посылать их дальше. С синхронной функцией мы такого сделать не можем.

Собственно, в этом и есть главный плюс и главный минус асинхронного подхода. С одной стороны, неблокирующее IO благодаря промежуточным точкам. С другой стороны - при неаккуратном использовании можно получить то, что получил автор в первом примере - асинхронная функция выполнилась частично, была остановлена на середине, а поскольку она внутри себя меняла некоторую внешнюю структуру - эта самая внешняя структура была оставлена в неконсистентном состоянии.

Предложение автора дать асинхронным функциям гарантированное завершение звучит очень странно. Их же как раз делали в т.ч. для того, чтобы можно было спокойно отменить выполнение уже ненужной функции прямо пока она работает, и это было бы нормальным поведением. Предложение отказаться от .await еще хуже - сейчас вызов асинхронной функции без .await означает создание того самого конечного автомата, который можно затем отдать какому-нибудь executor'у, а вызов .await означает создание в текущей асинхронной функции точки останова и встраивание в нее конечного автомата той функции, на которой был вызван .await

По итогу, статья очень спорная, со странными примерами и (на мой взгляд) плохими предложениями. Алану я бы рекомендовал почитать Async Book - это должно помочь ему не делать таких ошибок на ровном месте

У них есть страницы и страницы

Перевод тоже гуглу доверили? Кстати, гугл переводит именно как «страницы и страницы». В оригинале — «There are pages and pages of these», что в данном контексте явно переводится как «И такое идет страница за страницей» или «Таких страниц там просто куча», а не как «У них есть страницы и страницы»
Согласен, что все упирается в институты. Невозможно решить политические и правовые проблемы с помощью технических инноваций. Но с помощью технических инноваций можно упростить решение этих проблем самими людьми.

Применительно к авторским правам на художественные произведения (изображения, музыка, книги, видео, игры) можно представить себе некую фирму, которая будет автоматически регистрировать в блокчейне NFT.

При этом она будет брать очень маленькое вознаграждение (или вообще не будет его брать) с авторов, которые хотят отказаться от отчислений и просто зафиксировать авторство, а проверять истинность заявления об авторстве просто по хэшу произведения.

С тех, кто хочет что-то заработать, будет собирать комиссию побольше, но сверять так же по хэшу — в случае судебного спора из этих денег будет выплачиваться компенсация пострадавшей стороне.

А для крупных авторов (издательства, киностудии) какой-нибудь корпоративный тариф, или вообще свое собственное подразделение регистрации. Кстати, YouTube уже сейчас может автоматически проверять кто из какого видео вырезал кусок и куда его вставил по запросу от официального правообладателя — на мой взгляд, им такое подразделение для регистрации NFT для видео будет сделать относительно просто.

Заметим, что так тоже все упирается в институты таких «нотариусов авторских прав», а так же в честность судов, разбирающих спорные дела о неверной регистрации. Вообще говоря, такой реестр можно сделать и централизованным образом, будет какой нибудь ЕГРАПХП или еще более дурацкая аббревиатура. Но тут уже я больше верю в функционал и качество работы независимого децентрализованного сервиса на блокчейне, да и доверяю такому больше.

При этом решить проблемы, связанные с авторскими правами, такие как «кому платить деньги за использование X» и «у кого и где искать другие такие же крутые штуки как Y» будет проще. ИМХО, как минимум, ради этого стоит пожелать NFT удачи в развитии, а не клеймить всю технологию пузырем сразу после обычного падения перегретого рынка
Вообще-то добавляет. NFT основаны на блокчейне, и в этом главное отличие от традиционной торговли правами на цифровой контент: традиционно все упирается в институты государства для ведения реестра принадлежности цифровых прав (патенты, торговые марки, авторские права). С NFT как минимум эту часть можно перенести на блокчейн, что потенциально может дать большие плюшки от автоматизации или вообще привести к появлению новых рынков. Получится или нет — думаю, что получится, но дальше спорить на эту тему в комментах не буду.

Ну а то что сейчас это был обыкновенный пузыреобразный хайп на новой технологии, на мой взгляд, было очевидно с самого начала. Думаю, про NFT с более-менее нормальной реализацией и адекватным использованием мы услышим еще лет через 5-10-15

С одной стороны, довольно странно в 2021 году видеть ТАКУЮ реализацию модулей в современном языке. С другой стороны, это же C++ с его стремлением сохранить обратную совместимость со старыми принципами и фичами, хорошо что хоть сейчас и хоть так ввели

Очередная статья о том, почему крипта (и ее производные) это плохо, ужасно и не надо ей пользоваться.


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


Каким образом вдруг получилось, что NFT это пузырь? Где-то в статье был серьезный анализ экономической части NFT, который я пропустил? Рынок перегрет, это очевидно, скоро начнет остывать (точнее, уже начал), но лопаться тут нечему.


Каким образом вдруг получилось, что NFT это огромная угроза окружающей среде? Давайте посчитаем, сколько энергии тратится на обеспечение работы мировой финансовой системы, сколько энергии и ресурсов тратится на работу галерей современного искусства, на работу больших аукционов и на их офромление. Не будем даже вспоминать, сколько уходит на работу правительств различных стран, чтобы не пугаться. Затем посмотрим, сколько же тратит крипта в целом, сколько от этого тратит именно эфир, и какой процент транзакций эфира обеспечивает работу NFT. Еще вспомним, что майнят крипту всегда (или по крайней мере стараются) там, где цены на энергию минимальны, а лишняя энергия просто может сбрасываться, как попутный газ на нефтяных разработках, если ее не потратят на майнинг.


Каким образом вдруг получилось, что NFT это обязательная игра с нулевой суммой, и если есть победители, то есть и проигравшие? Автор оригинала статьи как будто не выбрался из дискурса марксистов начала 20 века, в котором если кто-то кому-то доброволльно предоставляет услугу или труд за деньги, то это обязательно эксплуатация, а win-win стратегий не существует. Конечно, среди всех покупателей NFT существуют люди, которым все это искусство побоку, они просто деньги сделать хотят перепродав токен кому-то еще, но опять же, какой процент таких людей? Автор, видимо, даже не предполагает, что в интернете действительно есть люди, которые ХОТЯТ вот эту КАРТИНКУ В ИНТЕРНЕТЕ, и чтобы в каком-нибудь публичном реестре было записано, что эта картинка ПРИНАДЛЕЖИТ ЕМУ, и он готов ЗАПЛАТИТЬ ЗА ЭТО ДЕНЬГИ, и чтобы можно было еще друзьям и знакомым ХВАСТАТЬСЯ, что это вот его картинка. И таких людей не один и не два, вообще-то, а хвастаться и гордиться чем-то вообще (почти) каждый человек готов, если вещь или достижение ему близки.


Единственная претензия к NFT по сути (кроме перегретости рынка, что характерно для всех новых хайповых технологий) была высказана не в статье, а в комментариях к ней, за что большое спасибо хабру и его обсуждениям. Да, в NFT лежит только ссылка, а самого произведения цифрового искусства на блокчейне нет, максимум хэш. Надеюсь, в будущем с новыми форматами токенов это решится, будут хранить где-нибудь в FileCoin или IPFS, подтверждать факт владения в ETH, и связывать это все через что-то вроде ChainLink или PolkaDot. Может, тогда и я себе какой-нибудь мем с котиком прикуплю.

extern бывает как из Rust наружу, так и снаружи в Rust. Первое не требует unsafe, второе требует

Ну вот некоторая часть либералов (в США, на мой взгляд, таких либералов большинство) в какой-то момент решила не полагаться на свободный выбор и добрую волю людей и запретила с помощью государства некоторые идеи, такие как идеи Геббельса и Гитлера. К сожалению, это открыло ящик Пандоры, и теперь Столлман, ну или там республиканцы это "literally nazi", а в общественно-политической жизни США происходит то, что происходит

Не используйте библиотеки и обертки, которые недостаточно протестированы и в которых может твориться настоящий ад из утечек и повреждений памяти. Emdedded — это всего лишь малая часть от всего кода на Rust, и в обычных проектах чувство безопасности у клиентского кода вовсе не будет ложным. При этом, если писать на C++ такие же обычные проекты, избежать ошибок памяти без опыта использования современных фич C++ очень сложно, а избежать UB вообще считай что невозможно.
Мне очень нравится Rust как технология, писал на нем пару pet-проектов, очень хочу на нем написать что-нибудь на работе. И мне очень больно смотреть, как подобные фрики портят информационный контекст вокруг языка, как из-за таких людей нормальные разработчики на всякий случай отворачиваются от языка, чтобы их не «отменили»
Имхо, про DevOps важно раскрыть это стремление друг к другу администрирования и программирования: если раньше сервера часто настраивались «руками», то теперь и саму инфраструктуру пытаются представить как код, чтобы автоматизировать администрирование и развертывание приложений, особенно с приходом облачных технологий и увеличением масштабов проектов
P.S. про облака тоже что-то стоит сказать
Извините, а в каком месте на БАК тупик? Там планы по развитию и исследованиям до 2034 составлены, и их еще продлить хотят. Как по мне, достаточно большой срок, учитывая, что самые главные открытия он уже сделал

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity