All streams
Search
Write a publication
Pull to refresh
4
0

User

Send message

Таки возвращается не строка, а указатель на её первый символ. А дальше может быть что угодно.

У NXT есть продолжение — Ardor, где можно будет создавать дочерние цепочки, вроде как, по типу Lightning у Bitcoin, т.е. с занесением конечных расчётов в главную цепь Ardor и отсечением промежуточных транзакций. Пока тестнет, запуск скоро™, обещали в третьем квартале сего года, но он уже почти закончился.


Основная фича, с моей точки зрения, в инновационной синхронизации цепи, которую тоже пока только обещают-проектируют. На данный момент в тестнете качаются все блоки как обычно, но позже хотят сделать лишь раздачу снапшотов всех адресов и балансов, и хэш этого снапшота будет писаться в блок. Таким образом, кардинально снизятся требования к хранилищу, достаточно будет держать лишь все балансы сети (они не создаются на каждую транзакцию, как в биткоине), а не все транзакции с начала времён. Чтобы убедиться в верности снапшота, нужно будет скачать компактные блоки и убедиться, что хэш в последнем сходится с хэшем снапшота. Ну это очень упрощённо, и скорее всего, не целиком верно, но идея такая. Разработчикам предстоит ещё много чего продумать, чтобы система была защищена от подделок снапшотов и блоков, но если всё получится, это можно будет считать полноценным next gen, ибо у любой более-менее популярной современной криптовалюты требования к месту на диске и IOPS (по крайней мере, на стадии начальной синхронизации) непомерные.

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

К сожалению, не всем доступна разметка...

Да, сервер выделенный есть, но lockstep всё же более важный аспект, чем p2p (который был в упомянутых в статье играх, скорее, как дань времени, когда выделенные серверы были дороги и сложны в установке). Десинки в Factorio нередки на экспериментальных версиях, а ещё они почему-то случаются с некоторыми модами. Казалось бы, моды работают на куда более высоком уровне абстракции, чем движок, но вот такая ситуация.


А проблемы там не только при большом числе игроков, но и в самом масштабе симуляции: по конвеерам ездят тысячи объектов, передавать все их данные даже на 10 UPS — это прорва трафика, и оптимизации с группировкой объектов в батчи вряд ли сильно улучшат ситуацию. Так что даже если использовать клиент-серверную модель для игроков, байтеров и поездов, фабрику всё равно надо симулировать локально. А раз 90% игры использует lockstep, чего уж переусложнять остальное.

В Factorio используют Lockstep, но там наверно без него и не получится, слишком большой масштаб всего.

Там не в знаках считается, а в битах. В статье сказано, что мантисса составляет 23 бита, так что максимальная достижимая точность на целых числах будет, когда между 2^E и 2^(E+1) (отбросим для простоты -127) будет 2^23 чисел, тогда каждому числу можно противопоставить одно значение мантиссы. Если же этих чисел больше, то можно найти такое число, которому уже не сопоставишь своё выделенное значение мантиссы, вот я для примера выбрал участок, где 2^24 чисел, т.е. в два раза больше. Поэтому у чётных чисел есть своё значение мантиссы, а нечётным уже не хватает, и происходит «округление».

Ну тут имеется в виду как раз абстрагирование от политики — the rights of all software users. FSF важно, чтобы кто угодно мог распоряжаться программой по своему усмотрению, и чтобы это право было унаследовано производным кодом (хотя вирусность присуща, вроде как, только GPL и её вариантами). Никакая политика не должна иметь возможности помешать этому принципу, поэтому есть смысл описывать именно свободу кода, а не пользователей, т.к. у пользователя она уже как следствие появляется.

Не-не, использование и распространение — это разные вещи, тем более, когда ограничивается лишь распространение программы (суть исходников и/или бинарника). Если кто-то решил ограничить распространение, это лишь значит, что он отказывается добровольно раздавать экземпляры кода кому-либо, это их право. Никто не может принудить кого-либо распространять программу. Но если джинн выпущен из бутылки, то есть, хотя бы одну копию кому-то выдали, то дальше код сможет (хотя и необязательно, опять же) распространяться без согласия самых первых разработчиков. Всё это не без оговорок, понятно, но к нашей ситуации применимо — есть куча зеркал, тот же Яндекс, а если перекроют распространение для РФ целиком, что ж, есть нидерландские зеркала, французские, немецкие и т.д. И все эти обходы ограничений совершенно согласуются с лицензией.


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

FSF борется за свободу непосредственно ПО, а что там люди между собой нарешают в вопросах рас, вероисповеданий и цвета волос, их не касается. Это очень хорошо, на самом деле, потому что когда политика пролезает в технологию, начинается сами видите что (вокруг). Пока есть такие бастионы как FSF, не всё потеряно.

Более-менее понятно. Интересное следствие: из такой формы следует, что уже у сравнительно небольших чисел, порядка 2^24, падает точность представления даже целой части (потому что мантисса делит всегда на 2^23 элемента, и если элементов между двумя точками будет больше, то каждому второму не достанется своего значения):


#include <iostream>

using namespace std;

int main() {
  cout << (16777215.f == 16777216.f) << endl;
  cout << (16777216.f == 16777217.f) << endl;
}

Выведет 0 и 1, т.е. во float-представлении 16777216 равняется 16777217. Мне кажется, этот пример даже интереснее известного многим 0.1+0.2.


Интересно было бы почитать в доступной форме, как производятся математические операции с float-числами в таком виде и как можно эффективно перевести число из обычной строки во float.

Моё понимание такое: GPL всего лишь форсирует предоставление исходников и четырёх свобод для тех, кто получает программу в скомпилированном виде. Это важно, потому что сама программа необязательно распространяется свободно (т.е. на каждом углу). Так что если вам дали бинарник, то по запросу обязаны дать и исходники к нему, а дальше вы с ними можете что угодно делать, можете самостоятельно собрать и раздавать получившийся продукт кому угодно. Но просто так исходники вам давать никто не обязан, равно как и бинарь, пусть они хоть трижды GPL. Свободы не подразумевают обязательств по распространению, что позволяет делать внутренний софт для компании на основе GPL-кода, не предоставляя всему миру исходников, ведь вы этот софт не распространяете. К ситуации с Fedora это тоже в принципе применимо, никаких прав и свобод у вас не отняли, ведь вам в первую очередь не дали сам дистрибутив, а значит, действие лицензии на вас уже не распространяется.

Это закраска красным при смерти, а не рендер.

По-моему, сделать с нуля — это именно что написать такое приложение самостоятельно. Вот такое было бы интересно, разбор этой защиты и её блокировка на уровне программного кода.

Это потому что фотография плоская. Если смотреть обоими глазами на такое изображение в реальности, оно будет выглядеть не настолько реалистично.

Вообще ИМХО надо учить людей УМЕТЬ обходиться без Интернета

Так в России к этому и идёт.

Не освещён вопрос расширения словаря. Я так понимаю, токеном перевода является слово, а если нужно добавить ещё слов, то сеть нужно снова обучать с нуля?

Вот тоже сразу об этом подумал, только не к акселерометру (ему тоже питание нужно), а просто механическая энергонезависимая конструкция, реагирующая на свободное падение. Смысл должен быть типа ремня безопасности, максимально тупая и надёжная система.

Сколько строк кода — я не считал (как-то не дождался, когда отработает рекурсивный wc -l)

Более правильно подсчитывать с помощью специальной утилиты cloc (и в репозиториях обычно есть).

А бывает ещё такое веселье, когда своп выключен (например, в системе 16 Гб RAM), но при нехватке памяти HDD всё равно начинает гореть ровно, и тормозит вообще всё. Информации по этой теме прямым текстом практически нет, но вроде как такое происходит из-за выкидывания образов программ из RAM и загрузке их с диска, когда выполнение доходит до выкинутой страницы. В целом да, проблема имеется, и лучшее решение — поставить больше памяти, чтобы не доходить до заполнения а 90%+. Ещё бывают тормоза при записи на флешку, хотя такое я видел и на Win7, внезапно. Похоже, многие линукс-специфичные баги на винду таки портировали.

Information

Rating
Does not participate
Registered
Activity