Обновить
65
0
Андрей @DistortNeo

Математик, программист

Отправить сообщение

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

Окей, ситуация: есть дорога с небольшой пропускной способностью, но по которой можно добраться быстрее. Вопрос: что случится, если этот маршрут будет рекомендоваться всем как самый короткий и быстрый? Ответ: там очень быстро возникнет пробка.

И с каких это пор у нас пор на идеи распространяются авторские права?

Без него можно было бы тупо первым шагом поделить все элементы по единичке, а вторым шагом собрать их в новые группы. Это не интересно.

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

Решение дотнета в данном случае предпогалает, что функционал потока может меняться в рантайме, поэтому статические проверки здесь не подойдут.

Именно так. Функционал потока может измениться прямо в процессе работы. Например, сокет можно зашатдаунить только в одном направлении, и он резко из IReadableWritable становится или IReadable, или IWritable. Можно зашатдаунить в обоих направлениях - какой у него в этом случае должен быть тип?

Ну и чего там хорошего? Прямо в IOBase есть:

  • fileno - может бросить исключение, а может и не бросить;

  • isatty - то есть это реализовано не через интерфейс, а флажком;

  • readable, seekable - всё как в C# (CanRead, CanSeek);

Ну вот смотрите: у Stream могут быть интерфейсы: IReadableStream, IWritableStream, ISeekableStream, IBufferedStream, IAsyncReadableStream. IAsyncWritableStream, которые могут быть по-разному скомбинированы. А ешё это может быть какой-нибудь NetworkStream со своими интерфейсами.

Ну да, можно обмазаться дженериками и писать что-то типа:

void MyMethod<TStream>(TStream stream) where TStream : IReadableStream, IAsyncReadableStream, IBufferedStream, ...

Но это реально уродство получается, ещё и ограничениями, потому что нельзя перегружать функции с одниаковыми сигнатурами, но разными трайтами. Куда проще просто один if внутри функции воткнуть.

Короче, баланс разумного должен быть.

Вы путаете неспособность принимать новое с желанием принимать неудобное.

Я ещё нехило так увидился, когда в nvtop посмотрел на потребление видеопамяти (для нейросеток это критично): XFce отжирает значительно больше видеопамяти, чем Plasma.

А мне поведение с переключением раскладки по нажатию Alt+Shift в Linux, а не по отпусканию в винде, наоборот, нравится больше, и я бы очень не хотел, чтобы этот "баг" фиксили.

В винде при быстром наборе текста постоянно раскладка не переключается, и это ужасно бесит. В линуксе же переключение железное, за пару лет активного использования линукса на десктопе проблемы непереключения раскладок не случилось ни разу. Конфликтов с шорткатами не имею.

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

Что совершенно не мешало его акциям расти. Вот инвесторы-то тупые, правда?

Во, я то же самое делал, только наоборот, пережимал файлы с телефона/фотоаппарата в hevc с пресетом пожёстче для уменьшения размера. И ещё была команда в меню для архивации директории в sqfs.

Как минимум, удобно, когда в разных ОС используется один и тот же инструмент. Не нужно привыкать к разным хоткеям и функционалу.

В far2l можно нажать Ctrl+O, а затем F3 — и вся длинная выдача (включая историю) откроется в стандартном просмотрщике far, да ещё и сохранением подсветки. А по F4 ещё и в редакторе откроется.

Это, кстати, для меня одна из киллер-фич far2l, которой нет в виндовом far.

У меня универсальность ассоциируется ещё и с покрытием кейсов, для которых используются узкоспециализированные языки.

Стандартная бибилиотека как раз std::string предоставляет. Но разработчики библиотек используют кто во что горазд, потому что C++ не принуждает к использованию только стандартной библиотеки.

И это пример того, что случится с любым языком, претендующим на универсальность. Он тупо окажется слишком сложным, и люди будут пользоваться лишь небольшим его подмножеством.

Парки надо строить и возле домов, и подальше от них. Просто кому хочется именно пошуметь, будут вынуждены идти в парк подальше.

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

Высокая скорость передвижения возможна только при малом числе остановок. Но когда остановок мало, расстояние до останавок получается большим, и нужна дублирующая ветка с частными остановками.

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

Автобус два раза в сутки ...

Это как раз следствие низкой плотности населения и как следствие, низкого спроса на ОТ. В городе же не успел на метро - следующий поезд через 2 минуты.

скажете что типа "тут город, а ты деревню приводишь в пример"...так размер мегаполиса и так огромный..

Ну так и вы сравнивайте деревню того же размера. Сколько площади будет занимать деревня с населением 10-15 млн человек?

Вот как пример можно Сербию взять - население в 2 раза меньше Москвы, плотность населения 100 чел/км2 (как раз нижняя граница субурбии). Но вот дорога из одного конца в другой занимает 500 км.

т.е. при неудачных маршрутах можно часа по 2-3-4 тратить на дорогу с пересадками

Ну вот я возле шоссе жил. Дойти до рынка на противоположной стороне шоссе - 5 минут, доехать на личном авто - 15 минут, если не рисковать на 5000 рублей штрафа.

Информация

В рейтинге
Не участвует
Откуда
Сербия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer
Senior