• Как они это делают? Обзор технологий анонимизации криптовалют
    +1

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

  • «Ростех» начал продажи офисного телефона «Круиз-К» за 85 000 руб
    0
    Кажется, что «есть» это то что подчиненный отвечает командиру, а «отставить» — командир говорит подчиненному. Не знаю есть ли в армии какая-то команда типа «выполняй» но ИМХО она была бы логичнее.
  • «Ростех» начал продажи офисного телефона «Круиз-К» за 85 000 руб
    +2
    Вот по поводу фоток из кремля, сразу вспомнил:
    image
  • «Ростех» начал продажи офисного телефона «Круиз-К» за 85 000 руб
    +2
    За такие деньги какой-то он слишком офисно-попсовый. Герба РФ на нем не хватает, вместо «ОК» нужно «Добро!», вместо звездочки — пятиконечную звезду, а вместо решетки — православный крест. Вот тогда да, будет стоить этих денег :)
  • Google+. Sic transit gloria mundi…
    +1
    Почему не судьба просто взять и сделать его понятным? Полностью переделать интерфейс и возможно внутреннюю архитектуру, чтобы он стал прост как молоток и понятен всем без исключения?
  • Google+. Sic transit gloria mundi…
    0
    G+ с самого начала был странным и непонятным. Я зашел туда, нифига не понял и вышел. Неужели в Гугле не нашлось ни одного человека, который бы мог сказать это разработчикам???
    Если бы Гугл пригласил меня на работу, я бы им это сказал, и сказал бы как надо сделать — и сейчас они были бы монополистами в соцсетях :)
  • Израильские учёные разработали универсальное лечение против рака
    +5
    Почему нет? Вот здесь очень хорошая статья про еще один способ борьбы с раком, организм же как-то вывел убитые раковые клетки. В крайнем случае можно и операцию сделать (если опухоть большая), это уже давно умеют. Главное — победа над раком на микроуровне.
  • Шифрование трафика в Direct Connect, ч.1
    0
    Технология требует хабов, их нужно где-то найти. А рядовой пользователь даже слов таких не знает. Так что эту технологию я бы рассматривал как промежуточный шаг к децентрализации, но не более того; будущее за полностью децентрализованными технологиями, которые вообще ничего не требуют, кроме запуска клиента — на это пользователи все-таки способны:) Вся информация должна искаться через DHT.
  • Что нового в Swift 5?
    –2
    Ну да, типа такого. Только чтобы вместо # можно было использовать любую последовательность, определяемую пользователем (мало ли, что мы хотим сохранить в raw-строке — может там как раз много символов #).
  • Вам не нужен блокчейн: 8 популярных юзкейсов и почему они не работают
    0
    У меня в голове крутится еще одно возможное применение блокчейна — для управления децентрализованными сетями. Но я пока не могу точно и правильно сформулировать. Сам блокчейн использует децентрализованную сеть. Но иногда ценностью может быть сама сеть и контент в ней, а блокчейн будет обеспечивать, скажем так, систему доверия и рейтинга участников в сети.
  • Язык программирования Zig
    0
    Спасибо за комментарий! Похоже Perl это действительно неисчерпаемый кладезь идей для языков программирования, а я как-то про него и забыл:)
  • Что нового в Swift 5?
    +1
    Raw-строки никто так правильно и не сделал ни в одном языке. Здесь получается что это обычные escape-строки со спецсимволом «решетка» (а не обратный слэш или что там еще бывает).
    В моем понимании настоящая raw-строка это строка, перед которой задается произвольная пользовательская терминальная последовательность, далее идет строка, которая может содержать что угодно, пока не попадется еще раз эта терминальная последовательность.
  • Помещаем строки в параметры шаблонов
    +2
    И это все потому, что разработчики языка не разрешили использовать обычные человеческие константные строки в качестве параметров шаблонов…
  • «Яндекс.Телефон» не пользуется спросом
    +9
    Приложение Яндекс.ФСБ все равно останется:)
  • Есть мнение: IPv6 провалился — кто и почему так считает
    0
    Интересно, возможна ли технология, в которую изначально будет заложено сопротивление цензуре и блокировкам интернета? Т.е. некая адресация, не привязывающая контент к каким-либо адресам вообще и исключающая возможность отследить адрес получателя. Т.е. сделать весь интернет без исключения i2p-подобным, или как-то так.
  • Язык программирования Zig
    0
    На картинке только часть кода, непосредственно относящаяся к корутинам. Переменные a_promise и final_result глобальные, функция seq выводит строку на экран, в отличие от оригинального примера, где она заполняет массив буквами, соответствующими точками вызова.
  • Язык программирования Zig
    0
    Как я понимаю современные тенденции, удобнее парсить когда в начале известное, а за ним новое имя. В c++ на это напоролись и пришлось вводить typename перед именами типов в некоторых случаях в шаблонах. Во всех языках последнего поколения пишут обычно
    var x: type = value

    Здесь var/let/const — всегда известное ключевое слово, дальше имя, а тип опционален ибо в тренде автоматический вывод типов.
  • Язык программирования Zig
    0
    Именно 65535 бит. Почти 8К (без одного бита). Тут интересно почему не 65536, куда бит дели:)
  • Как работает Zig?
    +2
    Неплохо. Я сейчас тоже готовлю статью по Zig. Язык действительно интересный и своеобразный, производит впечатление некой альтернативы Си, с более строгими правилами, оригинальной реализацией обработки ошибок (что-то вроде исключений, но другое), сопрограммами и встроенным метапрограммированием непосредственно на самом языке (блоки comptime позволяют писать код на Zig который будет исполняться прямо во время компиляции). Кстати, то что начинается с собачек («builtin functions») это не только встроенные функции, но и встроенные синтаксические макросы, предоставляющие доступ к компилятору. Т.е. под одним названием собрано и то и другое.
  • Новые ключевые слова в Java
    +2
    Просто брать и ломать совместимость. Перекомпилировать программу и заменить те слова, которые стали ключевыми, на что-то другое это в общем делается максимум в пределах рабочего дня, а в современном мире с интернетом распространить измененный код любых библиотек можно очень быстро.
  • Первый коммерческий квантовый компьютер — IBM
    +1
    Может быть, наступают старые добрые времена 2.0?
  • Субъективное видение идеального языка программирования
    0
    Не факт. Например, если я объявляю массив на 1000 таких структур в драгой структуре, у меня внезапно тратится килобайт памяти, хотя структуры пустые. Можно конечно спросить — зачем делать массив из пустых структур, но такое может получиться случайно при метапрограммировании.
    Вообще ситуация интересная, нужно думать.
  • Субъективное видение идеального языка программирования
    0
    Указатель на метод это указатель на функцию, там проблем нет.
    А если нужен указатель на объект без полей для передачи его в качестве «this», то он все равно не должен использоваться (полей-то нет) — поэтому компилятор может или выкинуть неявный аргумент this вовсе, или передавать null. Если же есть виртуальные методы, по появляется поле vfptr, значит уже не 0 байт.
  • Субъективное видение идеального языка программирования
    +1
    Ну если размер объекта 0 байт, то объекта не существует в памяти, не так ли? И совершенно логично, что операции перемещения по байтам в памяти для такого объекта бессмысленны. Фактически, объекты и массивы типа void, если их ввести в некий язык программирования, могут существовать только на этапе компиляции, для каких-то целей обобщенного метапрограммирования. В скомпилированной программе никаких следов таких объектов оставаться не должно.
    Компилятору известно что объект 0 байт, стало быть он может выдать ошибку при попытке получить адрес такого объекта (или возвратить NULL, не знаю как лучше), и т.д.
  • Почему я боюсь стать «прокачанным человеком»
    +6
    Чем ситуация с аугментацией будет отличаться от того что есть сейчас? Человек у которого есть автомобиль более прокачанный чем тот у кого нет? Автомобилисты считают пешеходов недолюдьми?
    Или человек у которого есть смартфон более прокачанный чем тот у которого нет? И т.д.
    Все это лишь инструменты, и по мере появления инструментов будут появляться и правила их использования.
  • Субъективное видение идеального языка программирования
    +2
    Причина — инерционность человеческого мышления.
    Ну и порог вхождения самого языка. Это же еще и библиотеки/фреймворки, и среды разработки, и отладчики.
  • Субъективное видение идеального языка программирования
    +1
    Такие типы легко реализуются с помощью обычных классов в любом языке программирования.
  • Субъективное видение идеального языка программирования
    +2
    Очень интересная тема! Огромное вам спасибо за нее, и комментарии очень интересные. У меня на хабре практически все статьи так или иначе не эту тему.
    Почти со всеми хотелками согласен. Немножко прокомментирую.
    Синтаксическая чистота. Глядя на незнакомый код, программист должен четко понимать — где тут операторы, где ключевые слова, где идентификаторы и т.д. То есть в языке должны быть простые правила разделения всех возможных синтаксических сущностей на категории, и по виду сущности сразу должно быть понятно к какой категории она относится. Это же огромное облегчение для syntax highlighter'ов.
    Кортежи. Я в свое время написал аж две статьи здесь, на тему кортежей и своих хотелок с ними связанных. Да, кортежи должны однозначно быть частью языка, они должны лежать в основе синтаксиса языка а не прикручиваться снаружи как это зачастую бывает. По сути в любом языке «последовательность чего-то через запятую» — базовый кортеж, и от этого нужно строить весь синтаксис.
    tagged unions Штука полезная, поддержка со стороны компилятора должна быть, но хотелось бы, чтобы чистые перечисления и чистые (низкоуровневые) unions остались.
    константы — все верно. Вы очень точно сформулировали про виды констант.
    Call-by-name семантика Интересны вопросы реализации. Это может быть рантайм — неявно генерируемая лямбда-функция, или compile-time — тогда это шаблонная функция, принимающая фрагмент кода шаблонным параметром.
    преобразования да, идея с явным разрешением (или явным запретом) преобразований очень красивая. Для разных программистов и для разных целей может требоваться разный уровень «неявности» преобразований.
    рефлексия — может тоже опцией? хотим сгенерировать для класса метаинформацию — добавляем какое-то ключевое слово перед описанием класса, или ставим глобальную прагму. А кому-то может наоборот нужно оставить в бинарнике как можно меньше следов:)
    Значения, ссылки, указатели примитивные типы не должны притворяться, они должны быть объектами — но при этом оставаться примитивными типами! Не понимаю почему так не сделать. Ну и по шаблонам в С++ — это концепты, то есть по сути введение нормальной статической типизации в систему шаблонов. Все те гигантские error'ы, которые вылазят, если в шаблон передать не то что ожидается — прелести динамической типизации:)
    Минимум сущностей вот здесь не согласен. Поля, методы и свойства — это разные сущности, пускай и будут разными. Делать все поля приватными насильно — не хочу.
    Макросы однозначно да. Я писал об этом статью со своим видением, впрочем с тех пор уже кое-что поменялось, да и в дискуссии выяснились некоторые дополнительные факты — в частности, людям нужен универсальный код, который можно выполнить и в runtime и в compile-time.
    Функции внутри функций Ну это вообще очевидная вещь. В расширениях GCC она реализована давно, но в стандарте до сих пор нет. Почему?
    Substructural type system пока не очень понятно
    Сборка однозначно не так как в С++. Во всех следующих языках все сделано гораздо лучше.
  • Субъективное видение идеального языка программирования
    0
    А кстати, каким образом?
  • Бесплатные аккаунты на GitHub смогут [почти] без ограничений работать с приватными репозиториями
    +12
    Для гита-то? Элементарное. Делаем локальную копию, удаляем открытый, создаем закрытый, заливаем локальную копию:)
  • Бесплатные аккаунты на GitHub смогут [почти] без ограничений работать с приватными репозиториями
    +16
    Часто нужно просто кусок кода найти, чтобы понять как та или иная штука делается.
  • Клинические испытания на пороге – интервью с Обри де Греем
    +1
    Надо видеть не только синапсы, но и фактически внутренние состояния каждой клетки, ее химическую и электрическую активность (т.е. разрешение неплохо бы увеличить еще на несколько порядков). Причем снимать образ нужно одномоментно, иначе мы получим фотографию оживленной улицы, снятую скажем на 10 Mpix фотоаппарат, у которого каждый пиксель считывается последовательно каждую миллисекунду. Все 10 миллионов считаются за 2.7 часа:)
    Ну и наконец, самое забавное: а что с этим снимком делать? Каждый мозг уникален и постоянно меняется во времени, как вернуть этот образ обратно в нейроны мозга (и какого мозга)?
  • Клинические испытания на пороге – интервью с Обри де Греем
    +1
    Хотел бы конечно. Я же не говорю что не хотел бы, и я не говорю что с появлением технологий омоложения прогресс должен останавливаться. Просто бэкап мозга это куда более сложный процесс чем омоложение.
  • Клинические испытания на пороге – интервью с Обри де Греем
    +1
    Тысячелетия потрачены, но прогресс в биотехе также был достингут за последние «менее 100 лет». Антибиотики, анестезия и современная хирургия, открытие клетки и ДНК, изучение биохимии организма (простейшие анализы крови — этого в течение «тысячелетий» не было!), современные медикаменты, включая разные гормональные препараты и теперь вот генные терапии… То есть скорость развития биотеха и IT сопоставима. Проблема в том что биотех на сколько-то порядков сложнее. Но благодаря IT мы сможем компенсировать эту сложность — без компьютеров современная биология бессмысленна и невозможна. Так что мы идем по верному пути. Хорошо бы идти побыстрее — и для этого нужно помогать биотехнологиям всеми силами. В том числе популяризацией.
    Хотя в идеале нам нужен некий «мост», который позволил бы преодолеть порог сложности биотехнологий как можно большему количеству людей. И думаю, тут айтишники могут очень пригодиться:)
  • Клинические испытания на пороге – интервью с Обри де Греем
    0
    Вы хотите все и сразу. Первые компьютеры занимали огромные залы, а по возможностям недотягивали до современных калькуляторов.
    Естественно, мы не можем все и сразу. Естественно, нужно пройти весь путь, чтобы придти к идеальному результату.
  • Клинические испытания на пороге – интервью с Обри де Греем
    0
    Да дело не в бессмысленности. Дело в высочайшем coupling'е биологических систем.
    Даже замена одного единственного гена может привести к непредсказуемым последствиям в непредсказуемых местах (хотя может и не привести). И в общем все во что мы упираемся — СЛОЖНОСТЬ. Огромная, фантастическая сложность биологических систем. Современные суперкомпьютеры с трудом моделируют только что-то совсем простое. Возможно появление квантовых суперкомпьютеров в чем-то поможет…
  • Клинические испытания на пороге – интервью с Обри де Греем
    0
    Ну то есть фактически новая биология с нуля. И даже не совсем биология.
    Если говорить о биотехнологиях, то мы сейчас едва подходим к уровню «уверенного пользователя», который может иногда что-то простое подправить в конфиге; а это — задача уровня полного проектирования всего железа, всего программного обеспечения и всех сетевых протоколов с нуля:) И то эта аналогия недостаточно передает всю сложность задачи, которую вы затронули.
  • Клинические испытания на пороге – интервью с Обри де Греем
    0
    Возможностей-то действительно много, только вот боюсь они очень неравнозначны в реализации…
    А вам наверное для начала нужно сформулировать, чем должны искусственные клетки отличаться от настоящих, так будет понятнее.
  • Клинические испытания на пороге – интервью с Обри де Греем
    +1
    Ну так это не искусственные клетки, а обычные генетически модифицированные. То есть мы вносим минимальные изменения рамках стандартной архитектуры, предусмотренной природой. Особенность этого в том, что мы, даже не понимая полностью как работает клетка, можем вносить такие изменения и смотреть что получится (например, гены которые делают клетку прозрачной, могут заодно сделать ее нежизнеспособной — но в данном случае нам повезло и клетки оказались жизнеспособными).
    Такие изменения вполне нам по силам, и именно подобными изменениями будет осуществляться терапия против старения.
  • Клинические испытания на пороге – интервью с Обри де Греем
    0
    Ну вот вы хотите заменить клетки мозга на какие-то улучшенные. Очевидно, что эти улучшенные должны быть во всем как оригинальные клетки (т.е. как минимум правильно реализовывать все биоэлектрические и биохимические интерфейсы ввода/вывода), но быть еще в чем-то лучше (интересно в чем?). Вам нужно спроектировать и создать совершенную микромашину, которая, имея те же параметры по размерам, энергопотреблению и интерфейсам взаимодействия, имея тот же функционал, еще и превосходит в чем-то живую клетку. В общем, эта задача эквивалентна проектированию Жизни с нуля, созданию новой альтернативной биологии.
    Фактически, ничего даже близко подобного этому мы не делаем. Одна из сложнейших задач, решаемых нами на микроуровне — проектирование микропроцессоров — по сути примитивнейший примитив по сравнению с этой задачей. Этот уровень недоступен нашей цивилизации и не будет доступен еще сотни, если не тысячи лет.