• Павел Дуров раскритиковал Facebook и развеял три мифа о Telegram
    0

    Я так и не понял, что такое «мои контакты». Вообще непонятный какой-то концепт. Вроде бы, в списке чатов появляются вообще все люди, которые мне когда-то писали. Но их ещё иногда (хз по какому принципу) предлагается добавить или не добавлять в какой-то скрытый «контакт-лист».


    Чёрт знает что, если честно.

  • Линус Торвальдс объяснил, почему он не будет покупать Mac на чипе M1
    +1

    Простите, не могли бы вы провести небольшой эксперимент? Попробуйте быстро нажимать на вашем Макбуке клавишу A (английскую) и Caps Lock.


    В идеале, у вас должна получиться вот такая строка: aфaфaфaфaфaфaф


    У меня это почему-то ужасно работает, раскладка практически не переключается при быстром нажатии. Пришлось накатывать какой-то волшебный патч через Karabiner (который обещает отвалиться не то на Big Sur, не то на M1, я пока не понял).

  • ICFP Contest 2020 от идеи до воплощения. Как организовать контест и выжить
    +1

    Не подумайте, что это был камень в чей-то огород :)


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

  • TeX в SVG: опенсорс-решение в помощь веб-разработчикам образовательных проектов
    0

    Когда мне нужно было решить подобную задачу (преобразовать LaTeX-формулу в SVG), то я воспользовался библиотекой, которую сейчас мейнтейню — WPF-Math.


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

  • ICFP Contest 2020 от идеи до воплощения. Как организовать контест и выжить
    +3

    Мне очень понравилась та часть контеста, где нужно было реализовывать виртуальную машину и исследовать галактику, но к моменту настоящего контеста (когда нужно было писать ботов) запал уже, к сожалению, иссяк :(


    Атмосфера вами была сделана просто великолепно, и организация на хорошем уровне.


    Однако, с CI у нас была одна проблема: оказалось, что в вашем Докер-образе для Haskell не хватает каких-то там библиотек, и из-за этого несколько участников нашей команды сначала долго и старательно запиливали какой-то крутой модуль для работы с HTTP, а потом так же долго и старательно его выпиливали, когда мы не смогли запустить его в вашем образе, и не смогли даже после нескольких принятых вами пул-реквестов развернуть там все нужные зависимости :(

  • Нейросеть «Порфирьевич» дописывает тексты и стихи на русском языке
    +1

    Девять месяцев спустя читать это стало очень интересно.

  • Вызываем конструктор базового типа в произвольном месте
    +2

    Конструктор родительского класса можно вызывать в любом месте конструктора дочернего класса в JS и CoffeeScript.


    Однажды я на это очень хорошо напоролся, когда переводил кодовую базу с CoffeeScript на одну из относительно ранних версий TypeScript, в которой так делать было нельзя (по крайней мере, тогда; как сейчас — уже не знаю). Пришлось довольно нефигово приседать, чтобы пофиксить все связанные с такой миграцией проблемы (да, само собой как-то нечаянно получилось, что код оказался завязан на это поведение; самому неприятно).


    Во всяком случае, точно могу сказать, что проблема не надуманная, а в рабочем (допустим, не вполне аккуратно написанном) коде сама собою образовалась.

  • Пользователь нашел простой способ просмотра видеороликов на YouTube без рекламы, а также онлайн-статей без подписки
    +2

    У меня провайдерские блокировки так и остались, рутрекер с точкой не работает.

  • Объясните мне, как вы для себя разобрались в моделях типизаций — они же все размыты
    +1

    Анонимные рекорды в F# пытаются играть по примерно таким же правилам, кстати.

  • Обновление KB4556799 для Windows 10 вызывает проблемы со звуком и создает новый временный профиль пользователя
    0

    Самое обычное дело. Например, для компиляции PDF из LaTeX-документа latexmk тоже много раз перезапускает процесс, покуда не получится удовлетворительный результат (впрочем, там этому есть логичное объяснение).

  • Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
    +1

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

  • Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
    +1

    Вроде в какой-то версии это допилили. У меня работает, например, такое:


    [<Measure>] type cm
    [<Measure>] type xx = cm ^ (1/3)
    
    let a = 10<cm>
    let b = 10<xx>

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

  • Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
    +3

    В F# есть такая встроенная фича, называется units of measure. Очень удобная, в моём физическом коде пару ошибок помогла поймать.


    Во многих других функциональных языках, в которых есть конструкции вида newtype, это также делается достаточно изящно.


    (забавный факт: автор обсуждаемой статьи как раз тоже топит за F#)

  • Пора на свалку
    +8

    Дедфуду интересен подход, при котором «компилируется — значит, работает», побольше всяких там компилтайм проверочек, побольше всего в системе типов, побольше обоснованной уверенности в коде.


    Delphi, Pascal — ну вообще не про это.

  • Знаменитые дизайнеры vs научные исследования про читаемость шрифтов
    0

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

  • Критика протокола и оргподходов Telegram. Часть 1, техническая: опыт написания клиента с нуля — TL, MT
    +2

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

  • Критика протокола и оргподходов Telegram. Часть 1, техническая: опыт написания клиента с нуля — TL, MT
    0

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

  • C++ против C#
    +14

    Вы выбрали изначально не кроссплатформенный пример. Точно так же и на плюсах нельзя закодить какое-нибудь MFC-окошко, не выходя из Linux (что, имхо, не говорит в пользу MFC, но вряд ли годится в качестве аргумента против плюсов).


    А давайте теперь рассмотрим кроссплатформенный пример. На плюсах мы возьмём портабельную технологию Qt, а на C# — портабельную технологию Avalonia. И… ну, у нас выйдет закодить бинарник с окошком, не выходя из Linux. С некоторыми приседаниями мы его тут же заодно скомпилируем под Windows и macOS.


    Что дальше? Какие выводы можно сделать, и нужно ли их делать?

  • Интегрируем команды Linux в Windows с помощью PowerShell и WSL
    0

    Да, спасибо, я это понял и просто на всякий случай предупредил о более общих проблемах, которые возникают на практике, и поделился смешными историями.


    Ну, мало ли, вдруг кто-то из участников дискуссии считает, что уже давно на всех Windows-машинах диск остался только один? :)


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

  • Интегрируем команды Linux в Windows с помощью PowerShell и WSL
    0

    Буква диска обычно не нужна, только если у вас всё на одном диске.


    Само по себе утверждение, на мой взгляд, опасное — вон, ребята в Meteor в течение очень долгого времени не могли починить старт приложения с любого другого диска, кроме C — из-за того, что думали сходным образом :)


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

  • Интегрируем команды Linux в Windows с помощью PowerShell и WSL
    0

    Все известные мне системные API давно умели в прямые слэши в путях (кроме разных интересных случаев с UNC и т.п.). Ну то есть как минимум с XP, а то и с NT4 это работает нормально.


    Единственная существенная проблема, если вы пытаетесь перейти на использование прямых слэшей везде — это cmd.exe, он не любит такие слэши в некоторых случаях (в большинстве?). А всё остальное обычно работает.

  • Интегрируем команды Linux в Windows с помощью PowerShell и WSL
    +1

    Начиная с какой-то версии они начали встраивать PSReadline, в котором Ctrl-R работает из коробки. Попробуйте :)

  • Презентация как код, или Почему я больше не пользуюсь Powerpoint-ом
    0

    Диффалка там есть в меню Review → Compare.
    Вроде бы она служит и мержилкой тоже, 3-way merge я там, к сожалению, не нашёл (простите, если ввёл в заблуждение, сам думал что оно есть, а его нет).


    Для диффа у меня на гитхабе лежит вот такой pwsh-скрипт, его можно интегрировать с гитом: https://github.com/ForNeVeR/ExtDiff

  • Презентация как код, или Почему я больше не пользуюсь Powerpoint-ом
    +1

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

  • AMA с Хабром v.9.0. Подкаст, конференция и концепты
    0

    «Часто»? То есть иногда они отображаются? А можете, пожалуйста, дать ссылку на статью, где с формулами всё ок? Мне бы хотелось на своём устройстве проверить.


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


    Для инлайн-формул это форменное издевательство. Бывает, прочитаешь статью с неудовольствием — обещали про физику или математику рассказать, а подсунули простыню текста без вычислений и доказательств. А потом с удивлением открываешь ту же статью на десктопе и видишь формулы :(


    Хоть бы баннер повесили вместо не отрисованных формул, а-ля «[а на этом месте мы опростоволосились, переключитесь на десктоп-версию]».

  • Мне было видение… Откровения нового Нострадамуса
    +1

    Кстати, «не отражается» можно по-всякому трактовать. Если там просто чёрный силуэт будет в зеркале — получается, что мы получили абсолютно чёрное тело (ну, раз оно свет не отражает, кроме тех случаев, когда свет воспринимается непосредственным разумным наблюдателем), которое можно использовать как минимум для поглощения ненужного излучения (и интересно было бы посмотреть, в каких именно диапазонах оно будет поглощать).


    А если оно не отражается в вампирском смысле (то есть человек в экранном доспехе не будет виден в зеркалах, а то, что за ним — будет видно), то можно попробовать для всяких стелс-самолётов и стелс-пехотинцев это использовать. На радаре не будет их видно, наверное?


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

  • Мне было видение… Откровения нового Нострадамуса
    +2

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


    Мне тоже с вами побеседовать было интересно, спасибо!

  • Мне было видение… Откровения нового Нострадамуса
    +1

    А чего нам его обосновывать? Я учёный, мне хочется его исследовать. Как минимум для костюмированных вечеринок доспех из таких экранов пригодится, разве нет? :)

  • Мне было видение… Откровения нового Нострадамуса
    +1

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

  • Мне было видение… Откровения нового Нострадамуса
    +1

    Ну одной из косвенных задач как раз и является попытка вывести их из себя, чтобы они что-нибудь такое «придумали» именно в ответ на действия земного сопротивления. Это будет означать, что мы таки хоть капельку впереди их!

  • Мне было видение… Откровения нового Нострадамуса
    +1

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

  • Мне было видение… Откровения нового Нострадамуса
    +1

    А почему человеческой реакции? Я себе представляю, как две автоматические системы обмениваются данными, используя API сайта как канал связи. И это будет иметь смысл даже в пределах земного шара, вон там нехилый профит получается даже без учёта замедления сигнала, которое добавляют всевозможные маршрутизаторы и пр. «классическое» оборудование.


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


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

  • Мне было видение… Откровения нового Нострадамуса
    +1

    5. Раскладываем секретные документы в открытом виде на столе в очень секретном месте, а потом сотрудники ФСБ смогут спокойно их читать с помощью сайта, верно? И никто, глядя на мониторы сотрудников с помощью сайта, не сможет понять, что именно они читают.


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


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

  • Мне было видение… Откровения нового Нострадамуса
    +3

    Спасибо за ваши ответы!


    1. Хорошо, но для подземной базы должно сработать? А над водой это как работает — по поверхности дна или по уровню воды? Кажется, что подлодки или подводные базы тоже помогут. Поэтому Ельцин в своё время хотел встретиться с Клинтоном на подводной лодке, да? Он что-то знал? Нужно с помощью сайта проследить за Ельциным — есть подозрение, что некоторые из людей в прошлом уже были в курсе ограничений технологии. Впрочем, максимальная известная глубина погружения сегодняшней подлодки — около 1 км, что меньше объявленного лимита. Поэтому, наверное, Клинтон и не согласился — тоже всё знал, зараза?


    4. Окей, тут всемогущие инопланетяне меня победили :)


    5. Работа с документами — это в том числе их чтение (для ознакомления с секретными материалами — наверное, в первую очередь именно оно?). Читать документы с помощью технологии можно и «по телевизору», если знаешь, где они расположены, или где они располагались раньше. Ну и небольшое ноу-хау: можно формировать другие изображения из фрагментов трансляции сайта. Например, берём две трансляции, со светлым и тёмным фоном, и вместо foreground у текста ставим


    6. Ну а человек в гипотетическом «доспехе» из экранов (повёрнутых наружу) зацензурируется? А где-нибудь в глазах смотрящего мы не сможем разглядеть изображение, на которое он смотрит? Ну и давайте тогда внедрять везде проекторы вместо экранов (ну или иные технологии просмотра данных, которые не приводят к цензуре), чтобы защиту пользователей нивелировать. Необязательно это делать топорно, можно и более-менее рыночными методами — субсидии вводить на производство проекторов, вкладывать ресурсы в нецензурируемые технологии. Инопланетяне хотят от нас что-то скрыть, и мы им будем мешать это делать.


    7. То есть, если я сгенерирую фотографию, пиксель в пиксель соответствующую реальной фотографии — то по моей фотографии поиск не будет работать, а по реальной будет? Он как-то отслеживает источники каждого идентичного набора битов?


    Ну и вот вам ещё одна интересная идейка: можно ли сайт использовать для мгновенных коммуникаций в пределах земного шара? Если с помощью сайта я смогу в реальном времени следить за отдалённой от меня на 16 тыс. км. точкой пространства — это экономия примерно 0.05 с (если я не ошибся в расчётах), что довольно немало; HFT-торговцы революционизируют свой бизнес. Хотя они и так его революционизируют, когда смогут к тому же следить за будущим :)


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

  • Мне было видение… Откровения нового Нострадамуса
    +5

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


    1. Ограничение в 2033 м — правильно ли я понял, что имеется в виду, что нам доступна для просмотра полоса от 2033 м ниже уровня моря до 2033 м выше уровня моря? Это означает, что:
      • Мы сможем хранить секретные материалы вне этого диапазона. Согласитесь, нетрудно представить себе секретные эксперименты где-нибудь на высокой горе или вообще на орбитальной станции, ну или хранение опасных материалов где-нибудь в глубоченной скважине.
      • Непонятно, как это будет работать с поиском людей по фотографии. Если они выйдут за пределы диапазона — что из этого получится? Мы сможем выйти за пределы ограничений в 2033? А камеру там крутить можно будет? А двигать? Похоже на дыру в системе.
      • Следует запустить группу каких-нибудь нейросетей на автоматическое исследование всех доступных фрагментов поверхности Земли и мирового океана на пределах видимости сайта. Возможно, мы сможем найти там что-то интересное — какие-нибудь неучтённые постройки или элементы инфраструктуры, ведущие «в никуда», которые на самом деле приведут нас в логово тех, кто всё это замыслил. Зачем нейросети? А на случай, если фрагменты изображений будут цензурироваться: по несоответствиям границ кадров или ещё каким-нибудь косвенным признакам можно будет попробовать это установить.
    2. Очень интересным кажется свойство защиты от лукавого, вот вам несколько идей:
      • Во-первых, нужно исследовать границы технологии: маскируются только прямые трансляции непосредственно с сайта? А что, если смотреть их в записи? А что, если смотреть фрагменты записей? Фотографии, вырезанные из записей, или и фрагменты? А что, если художник, глядя на фотографию записи, будет её перерисовывать краской — в какой момент будет включаться цензура, и что она будет цензурировать?
      • Видится, что действия пользователей сайта всё равно можно будет отслеживать, просто наблюдая за движениями их рук (какие клавиши нажимают на клавиатуре) или подслушивая их голосовые команды.
      • Ну и, наконец, как вам такое? Наши сотрудники будут работать с документами не напрямую, а разглядывая их через средства сайта. Таким образом, нельзя будет понять, с чем же работает сотрудник, и некоторый уровень секретности будет сохранён.
      • Нарядим наш спецназ в костюмы, на поверхность которых проецируются изображения с сайта. И встроим прожекторы, которые на все окрестности тоже проецируют изображения с сайта. Приведёт ли это к полноценному цензурированию всех освещённых поверхностей? Можно ли будет на сайте что-то рассмотреть во время применения такой «светомузыки»?
    3. Поиск людей по фотографии — тоже интересная затея сама по себе. Что, если взять фотографии, снятые до временной отсечки? Ну, Туринскую плащаницу какую-нибудь, а — ведь говорят, что она тоже была создана типа фотографическим способом? Или изображения с камер-обскур, если сохранились. Попахивает как минимум ещё одной волной сектантов :) А что, если мы начнём искать мёртвых людей — будет ли сайтик показывать нам, где находятся их тела, или же покажет из загробную жизнь? А что, если генерировать лица людей и пытаться найти по ним что-нибудь? Это будет работать? Не найдём ли мы таким способом чего интересного, если сгенерируем триллион зелёнокожих лиц? Не попадём ли рано или поздно в одного из инопланетян?
  • Зависимые типы — будущее языков программирования
    +9
    У вас почему-то ссылка с текстом «F#» ведёт на сайт языка F*, а это разные вещи вообще-то. В оригинале у автора именно F* :)
  • F# меня испортил, или почему я больше не хочу писать на C#
    +4

    Вы исходите из предпосылки, что F# — это только про ФП. А между тем там есть и ООП-штуки, и некоторые из них очень интересные — object expressions, например, которых временами не хватает в C#.

  • F# меня испортил, или почему я больше не хочу писать на C#
    0

    Писанины сразу станет значительно больше.

  • F# меня испортил, или почему я больше не хочу писать на C#
    +10

    Это очень хороший и интересный язык, но, кажется, он умер? Поддержки .NET Core нет, растительности нет, жизни нет :(

  • F# меня испортил, или почему я больше не хочу писать на C#
    +3

    Не каждый: React поддерживает и функциональные компоненты.