• Двойное Дно: пост про современную экосистему, в которой мы платим данными за все, а еще про быстрые Blockchain Protocols
    +2

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

  • Двойное Дно: пост про современную экосистему, в которой мы платим данными за все, а еще про быстрые Blockchain Protocols
    0

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

  • Comment from a drafted post.
  • C++20 и Modules, Networking, Coroutines, Ranges, Graphics. Итоги встречи в Сан-Диего
    0
    Всенепременно откроет (если уже не открыли, с тьюринг-полными шаблонами). Но тем
    интереснее:)
  • Схема разделения секрета Шамира
    +10
    Огромное спасибо за статью, я врубился:) Пишите еще на тему криптографии, очень интересно. Именно то, какие возможности в принципе предоставляет современная криптография, какие задачи решает а какие нет.
  • C++20 и Modules, Networking, Coroutines, Ranges, Graphics. Итоги встречи в Сан-Диего
    +6

    По сути все идет к тому что в каждом компиляторе C++ будет встроенный интерпретатор C++. Интересный путь развития…

  • File management done wrong — Часть 1: Родом из 90х
    0
    FAR как-бы консольный.
    Если бы в Windows консоль была бы более развита, FAR мог бы стать аналогом линуксового MC. Но поскольку «из коробки» консоль весьма примитивна (даже размер окна динамически не изменить, не говоря уже об отсутствии ssh), то смысла в FAR по сравнению с TC особого нет. Консоль подразумевает консоль во всем, а например контекстное меню для файла (весьма часто используемый инструмент) — графическое, т.е. получается некая мешанина консоли и GUI. Иконки файлов — графические, FAR не отображает. Всякие табы, изменяемые ширины столбцов, тулбары с полезными программами (они опять же иконки) в концепцию FAR не вписываются.
    Хотя вот если бы в винде была более развитая консоль, то FAR был бы практически обязательной программой, как MC в Linux:)
  • Приверженцы статической и динамической типизаций никогда не поймут друг друга. И TypeScript им не поможет
    0
    Ну я тоже не сторонник абсолютно жестких систем типизации — когда между int и bool заставляют явно преобразовывать. Формально они правы конечно… но соглашение ноль==false, не ноль==true кажется вполне однозначным.
    Вариант С/С++ (впрочем с некоторыми улучшениями — что-то я бы усилил, что-то ослабил) мне нравится больше всего (хотя наверное здесь есть фактор привычки).
  • Приверженцы статической и динамической типизаций никогда не поймут друг друга. И TypeScript им не поможет
    +1
    Да нисколько. В моем примере нет структур, а просто у каждого аргумента добавлен тип — можно рассматривать это как часть имени. Структуры это уже посерьезнее, когда понятно что код становится достаточно общим и универсальным, «закрепляется» в проекте как часть архитектуры.
    Я тоже не люблю лишнюю писанину. Но только ли в этом вопрос?
  • Приверженцы статической и динамической типизаций никогда не поймут друг друга. И TypeScript им не поможет
    +11
    Непонятно что вы имеете в виду с интерфейсами. Я бы просто написал (псеводкод на некотором типизированном языке, «void=>void» — тип для функции, не принимающей никаких параметров и не возвращающей никакого значения)
    function createDialog(string title, string content, string footer, void=>void onSubmit, void=>void onDismiss) {
      // do something
    }

    Меня вот просто выводила из себя (до желания стучаться головой о стенку) ситуация, когда я смотрю код на php или js, там какая-то функция с аргументами, или просто какие-то переменные, и я НЕ ПОНИМАЮ, каких они типов. Чего мне ждать — числа, строки, структуры (если структуры то какой, с какими полями каких типов), функции (опять же с каким списком аргументов)? Что я имею права с ними делать а что нет? Ну хорошо, что в вебе в основном строки. В основном — но не всегда. Вот честно, не представляю как вы с этим живете :)
  • Как писать на Objective-C в 2018 году. Часть 1
    0
    А можно ли использовать последние версии ObjC не на MacOS?
    Реализация Swift для Linux вроде есть (правда я не знаю, самая последняя или нет).
    Какой-то ObjC входит в состав GCC, но вроде бы там нечто весьма древнее, и фичи, описываемые в данной статье, там скорее всего недоступны.
  • Приверженцы статической и динамической типизаций никогда не поймут друг друга. И TypeScript им не поможет
    +8
    Я вот тоже сторонник статической типизации. И поскольку статью писал человек мыслящий также как я, то его точка зрения вполне понятна. Но крайне интересно было бы прочитать аналогичную статью, написанную разработчиком на JS. Именно с развернутой критикой статической типизации и демонстрацией преимуществ динамической, на реальных примерах. Ну или хотя-бы развернутый комментарий. Мне кажется, такое погружение в противоположную точку зрения здорово расширяет восприятие, ну и вообще интересно.
  • Приверженцы статической и динамической типизаций никогда не поймут друг друга. И TypeScript им не поможет
    +8
    Это не динамическая типизация, а низвоуровневый доступ к памяти. Такой доступ нужно делать явно, и применяется он только в очень специальных ситуациях.
  • Хватит кормить издателей. ЕС разрабатывает правила обязательного бесплатного доступа к научным работам
    +1
    Возможно, рецензирование исследований должно быть государственным. Я например был бы только за, если бы часть моих налогов отправлялась на проверку научных публикаций и оплату труда ученых.
    Но доступ к знаниям должен быть бесплатным, это совершенно однозначно. Знания генерируются учеными (как правило на государственные деньги), нужны они обычно другим ученым, зачем здесь какие-то коммерческие посредники?
  • File management done wrong — Часть 1: Родом из 90х
    +1
    Не, Total Commander самый лучший. Да, жалко что он не кроссплатформенный и с закрытым кодом… аналоги под линукс к сожалению не дотягивают.
    Для работы с фотографиями, музыкой, видео, книгами и прочим медиаконтентом по идее нужны специальные менеджеры — просто потому что там слишком много специального функционала.
    Есть еще проблема файловых систем, то что метаинформация хранится в самом файле а не в файловой системе в виде именно метаинформации. Т.е. чтобы отсортировать картинки по разрешению, нужно открыть каждую картинку и прочитать заголовок — что накладно, куда проще было бы стандартизировать несколько десятков тегов для всех основных типов контента и хранить это непосредственно в атрибутах файла. Но это проблемы файловых систем, а не файловых менеджеров…
  • Детерминированные исключения и обработка ошибок в «C++ будущего»
    0
    Скорее ввести новый формат объектных файлов, ориентированных на модули и содержащих достаточно метаинформации. Заодно и реализовать компиляцию шаблонов в промежуточное двоичное представление.
  • Детерминированные исключения и обработка ошибок в «C++ будущего»
    0
    Да, наверное вы правы, так еще больше неявности…
    Тогда еще вариант: если функция может генерировать исключение, то компилятор должен убедиться, что оно где-то обрабатывается, иначе — ошибка компиляции. Можно ввести в прототип функции информацию об исключениях, которые она может сгенерировать.
    Конечно, программист может влепить глобальный catch куда нибудь в main, и тогда никаких ошибок компиляции не будет… но я например ни в коем случае не буду так делать, а напротив — постараюсь перехватить исключения как можно раньше.
  • Детерминированные исключения и обработка ошибок в «C++ будущего»
    –1
    Ну не разматывать, а просматривать.
  • Детерминированные исключения и обработка ошибок в «C++ будущего»
    0
    Еще мысль. Я как-то думал о том, какими должны быть исключения… и пришла в голову такая мысль (возможно странная): было бы хорошо, если бы функции были написаны некоторым универсальным образом, таким, что один и тот же оператор мог бы и генерировать исключение, и возвращать код возврата — в зависимости от того, как устроен вызывающий код. Т.е. объединить throw и return в специальный общий оператор.
    Например, если выше в стеке вызовов явно были try{} catch{} — то генерируем исключение; если контекст вызовов такой, что исключений этого типа быть не должно (или например какой-нибудь блок noexcept{} ) — возвращаем код возврата. Это не исключает возможности всегда явно генерировать исключения или всегда явно возвращать код возврата.
    Как такое сделать? Например, какой-то глобальной таблицей/стеком активных блоков try, т.е. при входе в блок try в этот глобальный стек заносится какой-то объект, при выходе — извлекается. При необходимости бросить исключение — проверяется, а нет ли в этом стеке объекта соответствующего типа. При нормальной (успешной) работе функций это вроде бы никаких накладных расходов не создает.
    Зато это дает возможность использовать одни и те же функции и в коде без исключений, и в коде с исключениями, и никаких сюрпризов типа необработанных исключений не будет.
    Добавлю, что такое наверное можно даже специальной библиотекой реализовать… Только нужно в точке «try {» знать какие будут «catch», можно сделать макрос и явно прописывать, но компилятор с этим справился бы лучше.
  • Детерминированные исключения и обработка ошибок в «C++ будущего»
    +1
    Даже не знаю. У меня неоднозначное отношение к исключениям. С одной стороны, это удобный механизм обработки ошибок. С другой — мне дико не нравится, что любая функция может выбросить исключение, это такой современный goto. Особенно по всякой фигне типа невозможности преобразовать строку в число потому что в строке попалась буква.

    С одной стороны хочется чтобы все явно. С другой — писать для каждой функции какие исключения она может выбросить, будет сильно утомительно. Спецификатор try перед вызовом — с одной стороны хорошо что явно, с другой плохо что писанина. И еще груз совместимости со старыми исключениями… Просто не знаю:)

    А если бы проектировать язык с нуля, с учетом ошибок дизайна предыдущих языков программирования, то какой бы вы видели идеальную систему исключений?
  • Пекин введёт социальный рейтинг для жителей города в 2020 году
    +1
    Ну что-ж… по моим скромным представлениям об этапах развития разных народов, в Китае сейчас что-то вроде 60-х годов в СССР. Старшее поколение — необразованные деревенские жители, наводнившие города, их дети — уже образованные и стремящиеся к городской жизни с соответствующими ценностями и мышлением. Пара десятков лет, и можно ждать социальных волнений. Думаю, этот рейтинг только подогреет почву для новой революции.
  • Comment from a drafted post.
  • Comment from a drafted post.
  • ReactOS 0.4.10 — теперь со вкусом BTRFS и весёлыми иконками для папок
    +2
    Все клева, только интерфейс удручает, как-то винтажно на 2018.
    Иконки, тоже прошлый век.

    Так разве это плохо? Наоборот преимущество.
  • В России появился законопроект о предоставлении данных пользователей соцсетей неограниченному кругу лиц. Соцсети против
    0
    На самом деле здесь интересно зачем делается такой вброс. Пока непонятно, но я почему-то уверен что за этим вбросом стоит какая-то другая цель, а не «предоставление данных из соцсетей широкому кругу лиц».
  • В России появился законопроект о предоставлении данных пользователей соцсетей неограниченному кругу лиц. Соцсети против
    0
    Для этого должна набраться критическая масса электората, готовая поддержать таких политиков.
  • В России появился законопроект о предоставлении данных пользователей соцсетей неограниченному кругу лиц. Соцсети против
    0
    Да, я последнее время тоже думаю об этом. Децентрализованные p2p технологии типа i2p и соцсети словно созданы друг для друга — т.к. это разрешает проблему поиска в p2p сетях: пользователи будут сами через социальный граф и группы по интересам непрерывно структурировать информацию и обеспечивать ее доступность.
  • UX/UI дизайн новой VS 2019
    0
    Я думаю, никто это и не будет делать. Возни много, толку мало.
    Кому действительно надо — проще купить мощный комп
    Как коммерческая идея тоже скорее всего несостоятельная — клиенты у которых нет денег на мощный комп, скорее всего и плагин покупать не будут
    Ну а оперсорсники живут в своем опенсорсном мире и студия им как правило неинтересна.
  • UX/UI дизайн новой VS 2019
    0
    Да ладно, 4G RAM, никаких SSD, Win7 с отключенными обновлениями, все студии ставил до 2017 включительно — полет нормальный, хотя версии после 2010 подтормаживают уже заметно (хотя да, я вручную ставил пакеты обновлений от simplix).
    Пока я не видел решений с использованием новейших компиляторов от MS в старых IDE, но вроде когда-то где-то писали что 2010 — та версия, в которую уже можно втыкать более новые компиляторы. Но это было бы интересно — от оболочки мне почти ничего не надо, но есть одна вещь, которая ИМХО у Студии мне нравится — отладчик; в том же QtCreator отладчик гораздо менее удобный и взаимодействие с ним какое-то глючное (причем компилятор и отладчик те же, от студии).
  • UX/UI дизайн новой VS 2019
    +4

    Перепишите ее обратно на c++/winapi/mfc!
    Каждая новая версия все тормознее и тормознее.
    Я понимаю что вы это не сделаете, это скорее крик души.
    Ну или сделайте плагин для как можно более ранней версии Студии (оптимально 2010 или 2008), позволяющий интегрировать в нее самый последний компилятор msvc и все сопутствующие библиотеки… это уже более реально:)

  • Comment from a drafted post.
  • Регистратор доменных имён Google Registry и новые gTLD
    +2
    Все бы хорошо, но во-первых Гугл уже прославился закрытием многих своих сервисов, как-бы и тут такого не вышло; во-вторых, тут вчера была новость что Гугл якобы будет сотрудничать с режимом, так что лишний раз задумаешься — стоит ли связываться, если есть чисто зарубежные регистраторы.
  • Роскосмос может потерять крупнейший заказ из-за ФСБ
    +1
    Жалко конечно простых технарей из Роскосмоса, у них, должно быть, зарплаты и так небольшие. А государство — не жалко, опричники сами себя наказывают (пусть и очнеь косвенно). Поэтому пусть лучше достанется Маску.
  • Таиланд без стереотипов
    –2
    По поводу написания «Тайланд» — да все так пишут, и ИМХО это как раз тот случай, когда можно вспомнить о том что русский язык — не застывшая навсегда догма, а живой организм, и внести в очередную редакцию правил равноценность обоих вариантов написания. Единственное — не уверен, что это не приведет ни к каким юридическим казусам:)
  • Как «эффективные менеджеры» утопили Flickr
    +3
    А что за прогнозы?
  • Неизбежным старение делает физика, а не биология
    +13
    Совершенно очевидно что биологическая система способна преодолеть старение, и также совершенно очевидно что для этого необходима постоянная (как минимум регулярная) коррекция этой системы извне — что требует и дополнительной энергии, и дополнительной внешней «упорядоченности» — то есть простого «эликсира бессмертия» однократного действия (принял и бессмертен) не будет и быть не может, а вот с помощью сложных технологий, регулярной очистки/коррекции организма на микроуровне, исправления накопившихся на клеточном уровне ошибок и т.д. — можно будет продлевать жизнь практически неограниченно.
  • История об одном глазе и 20 операциях (не читать впечатлительным) или он хотел быть летчиком, а его не пускали в небо
    0
    А интересно, появятся ли нехирургические методы лечения близорукости? Ну на уровне тонкой биохимии или даже коррекции генома?
  • Справочная: “Архив Интернета” — история создания, миссия и дочерние проекты
    0
    Интересно, а удаленные видео с Youtube они тоже хранят?
  • Сеймур Пейперт: Восхитительное открытие «ничего»
    +3
    ИМХО все говорят "-20" и никто — «температура поднялась с 10 до 20» когда речь об отрицательных температурах. По крайней мере с таким никогда не сталкивался.
  • Хватит делать сайты с бесконечной прокруткойǃ
    +5
    Тоже не люблю бесконечные прокрутки.
    А лучшим вариантом пагинации считаю умную пагинацию с метками времени. То есть если за какой-то период времени сформировалось достаточное количество контента (скажем от N1 до N2 элементов), то формируется страница, ссылка на которую содержит метку времени свободного формата: начиная от года (когда контента очень мало) и заканчивая год&месяц&день&час&минута (когда контента очень много).
    Что это дает? То что на любую страницу можно сослаться постоянной ссылкой, и то что из этой ссылки понятно к какому периоду относится контент. Кнопки «вперед/назад» вполне вписываются в это, ну и для любителей бесконечной прокрутки — тоже можно ее сюда вписать, опцией в виде чекбокса, который всплывает прямо над/под лентой новостей. «Включить бесконечную прокрутку» — и она появляется, «выключить» — и исчезает вся бесконечная лента кроме текущего (просматриваемого в данный момент) фрагмента.