All streams
Search
Write a publication
Pull to refresh
2
0
Дмитрий Маракасов @AMDmi3

Разработчик свободного ПО

Send message
Вот на scummvm бы эти квесты кто портировал…
Я ниже писал почему hosts — это не выход.
Если так пойдёт дальше, доберутся и до адреса. Потом, адрес вообще штука эфемерная: завтра хостера поменяли по независимым причинам, послезавтра IPv6 понадобился, и потом я не уверен что на адрес делают https сертификаты. И дикость это — в hosts что-то руками прописывать. .onion же будет жить пока живёт tor, не будет разделегирован, не зависит от смены хостера и не требует ручных телодвижений.
Вот поэтому и нужно зеркало в .onion.
> Я еще раз повторюсь — на руках пользователей сотни миллионов торрентов с вполне определенными прописанными в них трекерами. Из сменить нет никакой возможности. Более того, в новых торрентах с теми же раздачами должны быть прописаны те же трекеры, в противном случае облако пиров будет дробится между двумя (или более) трекерами.

Подождите. Трекер один, просто появляются дополнительные способы до него достучаться. Сейчас — только http, должно быть, по-хорошему, ещё https и http (или https, в данном случае наверное не важно) по .onion адресу. Трекер один, облако пиров одно. Все старые торренты продолжают замечательно работать по plain http потому что ничего больше не знают, но и трекер по http по-прежнему доступен. А в новых, по-хорошему, http должен быть заменён на https (чтобы пользователи без tor получили безопасное соединение), и добавлен .onion адрес (чтобы пользователи с tor получили обход блокировок без дополнительных настроек).

Кроме того, насчёт дробления облака: разве клиенты используют не все доступные трекеры сразу, и, соответственно, видят всех пиров? Потом, разве отменили peer exchange, так что даже если не все клиенты используют все доступные трекеры, полный список всё равно распользётся через пиров?
> 2) Это как палить из пушки по воробьям — вам всего то надо настроить обход элементарной блокировки одного домена по доменному имени.

Ну, во-первых, если настроен tor, для .onion адреса не нужно больше настраивать ничего — он заработает из коробки. Для домена же нужно совершать дополнительные телодвижения (плюс зависимость от exit нод, необходимость исключать российские и ослабленная безопасность из-за возможности MITM, гарантированной пока нет https и теоретической даже с ним (уязвимости в SSL, старый софт)). И не для одного, на самом деле — заблокированных сайтов всё больше и больше, и пора бы им уже открывать .onion зеркала массово, а трекер тут мог бы подать неплохой пример.

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

> 3) Я слабо представляю как будет работать битторрент-клиент из под тора. Даже в том случае если он будет находить обычные ipv4 пиры — скорость будет значительно меньше нормальной.

Нет, клиент пока замечательно будет работать через clearnet, на то он и p2p. А вот трекер — уязвимое место, к нему нужны альтернативные, защищённые и надёжные пути доступа.
У rutracker нет https, значит вместо того что вы хотите скачать на exit node вам вполне могут завернуть зловреда; российские exit node нужно исключать руками, да и вообще черех exit'ы работать медленнее потому что их мало. Трекер действительно должен иметь .onion зеркало.
Стартапы просто заблокируют. Выживут в таких условиях только полностью децентрализованные проекты.
Интересно, приведёт ли это к распространению среди подростков p2p соцсетей типа диаспоры.
> заменяются на 100 – гигабитные. И здесь вопрос эффективности использования резко возросшего потенциала пропускной способности канала сталкивается с ограничениями существующей технологии передачи данных TCP

Вопрос эффективности использования канала на практике определяется количеством соединений, коих обычно десятки тысяч.
Вопрос насколько это касается возможности распространения флеша через штатные пакетные репозитории ОС и дистрибутивов.
Чудинова ещё позовите.
И кто-то ещё будет говорить что windows пригодна для разработки?
Собственно, готово.
Каждое web-приложение это глубокая печаль. Вот, казалось бы, самое оно где-нибудь в дороге поисследовать эту игру, но нет — никакого тебе оффлайна, с постоянно отваливащимся мобильным интернетом играть — только нервы портить, сохранений нет, батарейку браузер жрёт и при этом тормозит, игровое окно ограничено так что по горизонтали занимает только половину экрана, а по вертикали не влезает. А ведь это не очередной match3, а всё-таки творение Рэндела с юмором и смыслом.

Поэтому я собираюсь написать для него нормальное десктопное приложение, благо арт доступен под CCbyNC. Proof of concept тут: https://github.com/AMDmi3/hoverboard-sdl, пока можно просто листать карту.
> На видео видно, что 3 парашюта не хватило чтобы замедлить достаточно капсюль с людьми

Я предполагаю что это не пыль от сильного удара, а как раз таки работа тормозных двигателей мягкой посадки.
Тормозите, исключения прокидываются на уровень выше. Плохим стилем же обычно считается безусловное игнорирование исключений (catch(...){})
Хотел написать оговорку, но забыл. Да, loop неактуален, но это был просто пример.
switch совершенно не обязан работать за O(N) (https://en.wikipedia.org/wiki/Switch_statement#Compilation). Скорее всего он скомпилируется в таблицу и оверхед составит всего лишь пару инструкций на каждую смену состояния. Но да, с goto в данном случае будет быстрее и лучше читается.
Никак не могу ожидать от человека считающегося авторитетным ни участия в споре о goto, ни попытки его разрешить. Спора ведь нет. То что выглядит как спор — это процесс самообучения новых разработчиков, которые выросли из «goto нельзя» начальной школы, начали думать своей головой, задавать вопросы и анализировать информацию. А установка «goto нельзя» очень нужна, потому что в неумелых руках он опасен. В остальном — обычный инструмент. Теперь по содержанию:

> оптимизация производится на уровне машинных кодов

В общем случае неверно, оптимизация производится на разных уровнях, начать можно непосредственно с AST. Для примера, даже простой транслятор может перевести for в инструкцию loop вместо dec/inc + cmp + jxx. Для оптимизации произвольных переходов уже нужна сложная логика.

> Отдельную функцию можно оформить в виде inline-функции… Но тогда программа будет занимать больше памяти

Не будет, с чего бы ей занимать больше памяти?

> Конечные автоматы (пример кода) // Достойных реализаций без GOTO не обнаружено

Плохо искали. Посмотрите, например, ragel — он умеет несколько способов представления сгенерированных автоматов, в том числе с goto. И с ним, к слову, не всё однозначно: «In general, the goto FSM produces faster code but results in a larger binary and a more expensive host language compile.»

> в которых без него порой никак (C, C++

Мне правда интересно было бы увидеть пример где без goto действительно «никак» в C++. В C, например, на нём реализуются деструкторы, и лучшего решения действительно нет, но в C++ для этого есть встроенные средства.

Information

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