• Обсуждение бесплатной лицензии PVS-Studio для проектов, размещённых на GitHub
    0
    про SaaS у них уже спрашивали, уверен, что неоднократно, как-то всё с этим никак
  • Бытовой мультиметр, которого я так и не нашел на рынке
    0
    зачем ему телефон — хороший вопрос, я не знаю.
    Могу только предположить: большой цветной экран высокого разрешения, с сенсорным управлением. Нормальный динамик, процессор который умеет скажем, проговаривать значения вслух на человеческим языке, и всякие прочие фишки, вроде бы не нужные, до тех пор, пока не начинаешь ими пользоваться.

    Мой поинт был только в контексте подключения: лично я не поверю никакой гальванической развязке внутри девайса, при подключении по кабелю. Очень велик соблазн на этом сэкономить. Радиоканал — очевидный вариант.

    Кстати, отдельная батарейка может быть в каких-то случаях удобнее, где-то тут в комментариях приводили примеры, что не всё звонят. Сколько там из смартфона по USB-OTG можно вытащить, этого будет достаточно? Для USB-C всё еще актуально, ничего там не отменили? А через яблочный Lightning?

    И конечно, я не считаю, что необходимость раз в несколько лет обновить батарейку — это прям большой недостаток. Не помню сколько раз за лет десять менял в своём домашнем Unnn батарейки, но по-любому у меня дома всегда есть свежие CR'ки, AAA, AA — куча разных потребителей, начиная от весов заканчивая пультами и погодной станцией.
  • Бытовой мультиметр, которого я так и не нашел на рынке
    0
    Да-да-да, конечно, опто-пары и вот это всё.
    Не так давно olartamonov тут пару статей постил, о том, что реально внутри электроники бывает, от которой ожидаешь одного, а по факту…

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

    Из своего опыта: использовали мы rs232-ethernet конвертеры с гальванической развязкой. Постоянно (вот почти каждый раз), подбегали манагеры и спрашивали, а зачем мы отдаем по $100 за порт, если вон, на алиэкспрессе по $10 «такие же» девайсы. Мне хватало занудности каждый раз тыкать пальцем в спецификацию с просьбой найти пункт «EV 20Kv protection on Serial Line» или что-то такое, напоминать о цене оборудования которое мы подключаем и просить с заказчика взять письменное снятие с нас ответственности, если ему по сети прилетит что-нибудь, да выгорит его железяка на сотни тысяч долларов. Но боюсь, таких людей сейчас исчезающе мало. А вот таких «давайте сэкономим, ну что случится?» — очень много.

    Залезать в каждую железяку искать там гальваническую развязку, даже если она есть в спецификации я точно не буду, и в суд в случай чего подавать, тоже очень хлопотно.
  • Бытовой мультиметр, которого я так и не нашел на рынке
    0
    вы без задних мыслей подключите к смартфону нечто, от которого два провода в розетку?

    Лично я лучше потрачу 1000 рублей на физчески отдельный девайс.
  • Как я писал самый большой скрипт для Altium Designer
    0
    На мой вкус, ссылки на исходники, даже если лицензия не очень свободна, очень полезные ссылки.

    Но «без гита» — в 2018 году звучит странно (я это читаю как «без контроля версий», может быть не прав?)
  • Сопоставление товаров при помощи Elasticsearch для сервиса мониторинга цен конкурентов
    0
    Автор и рассказал — способ индексации — elasticsearch.
    Если нтересно «больше внутренностей» — apache lucene — вокруг это библиотки elastic построен
  • Это электробус: что мы знаем о транспорте с батарейкой
    +2
    еще как будем.
    Потому, что сейчас вместо рассказа про батареи, рассказ про электробус, прям начиная с заголовка статьи.
  • Это электробус: что мы знаем о транспорте с батарейкой
    +4
    к словам «очень дорого», хорошо бы цифры вида
    * контактная сесть на столько-то километров стоит в год столько-то
    * обслуживание столько-то зарядных станций для покрытия такого-же расстояния маршрутами столько-то
    * время простоя единицы транспорта на зарядной станции столько-то

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

    Кроме самих цифр, хорошо бы ссылки на источник этих цифр, публично доступный.
  • Критическая уязвимость серверов 1Cloud
    +3
    только я не вижу в этом комментарии ничего про шаблон c Windows?
  • Делаем «умный» контроллер для кондиционера на ESP8266
    +1
    за ближайшие 10 лет ни разу не видел сплит-систем, которые бы не умели держать температуру.

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

    Но максимальное использование встроенных в кондиционер возможностей должно позволить меньшими затратами жить на батарейке
  • Optane DC Persistent Memory — Optane в формате DIMM
    +1
    это хорошо показывает, как компания Intel относится по крайней мере к читателям Хабра.
  • Как начать писать код на Lisp?
    0
    Языки, на которых легко писать DSL, есть еще, это не только лисп.

    Наермиер, в рамках питона можно соорудить DSL поиск по «python dsl» вываливает кучу статей и даже видео. В той же группе, скажем и ruby.

    Из этого направления выпадает java, и может еще какие-то…
  • Как начать писать код на Lisp?
    0
    Кому-то нужен неигрушечный лисп в нотации json?

    Мне кажется, кому сейчас нужен современный клевый лисп — все на closure перешли.
  • Как начать писать код на Lisp?
    +2
    что такое «в нотации json»? Фигурные скобочки вместо круглых? Идентификаторы в кавычках?

    Кажется, что написать интерпретатор лиспа в любой нотации — это такой проект-на-выходные. Не удивлюсь, если внезапный 'npm install js-notated-lisp' вытащит пакет и установит. Хотя это скорее троллейбус из буханки хлеба…
  • Как начать писать код на Lisp?
    +1
    на вопрос «что писать на лисп?» ответ простой — всё.
    А вот «зачем?» — да, вопрос.

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

    Ломать парадигмы в голове, на мой вкус лучше хаскелем (и потом на хаскеле тоже можно писать всё). По крайней мере, после сотен тысяч строк кода, что мне довелось читать за свою жизнь, очень хочется, что бы авторы были не ближе к машине, а ближе к сути прикладной задачи.
  • Создаем калькулятор с единицами измерений
    0
    оставлю это для пытливых
    github.com/typelevel/squants
  • Будьте осторожны, — Байкал-Т1! Или история одного проекта с попыткой применения «импортозамещения»
    +2
    очнуться от чего?
  • Будьте осторожны, — Байкал-Т1! Или история одного проекта с попыткой применения «импортозамещения»
    +3
    Меня тоже этот момент удивил, причем тут ключи от сейфа?

    Более того, знаю несколько небольших компаний где сбором и отправкой такого рода формальных бумажек занимаются офис-менеджеры. То есть картина в примерно такая:

    — технический специалист прорабатывает тему.
    — по мере возникновения вопросов, или согласует с начальством, или сразу бумажную-формальную работу отдает коллеге, который (которая) вот эту часть сделает легко, быстро, и без ошибок.
  • Яндекс открывает Алису для всех разработчиков. Платформа Яндекс.Диалоги (бета)
    0
    майнер?

    — Алиса, посчитай найди для блока: 1213149287593485374563
    — Записывайте: 82762846284245
  • Яндекс открывает Алису для всех разработчиков. Платформа Яндекс.Диалоги (бета)
    0
    кстати, про голос.
    «Алиса, позови Бормотова» — и дальше мужским голосом. На фоне того, что в процессе общения с навыком, ни самой Алисы нет, ни других навыков, совсем другой голос наглядно бы показывал это.

    Воде же очевидный вариант кастомизации генератора речи, не?
  • Почему не стоит использовать двухуровневую архитектуру при разработке клиент-серверных приложений
    0
    «Как нужно делать» — сильно зависит от целей. От целей того, кто делает.

    Например, есть цель «заработать денег», а за написание вот такого кода платят больше — то нужно писать такой вот код.

    Хотя, конечно, можно «продать начальству» другой подход, показав на примерах, что если писать код по-другому, можно заработать еще больше денег.
  • Почему не стоит использовать двухуровневую архитектуру при разработке клиент-серверных приложений
    0
    > не стоит тратить время на подобные методы углубления в БД.

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

    > есть куда более важные вещи которые стоят внимания

    кроме способа оценки нужны метрики важности

    > основной массе стоит давать то, что сейчас очень востребовано на рынке.

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

    > не иметь очень большое количество знаний, которые ему скорее всего не пригодятся

    что бы не иметь «лишних знаний», нужно больше уделять внимание базовым дисциплинам (так, кто сказал «матан» и тихонько хихикает?) и концепции, практику воспринимать именно как способ закрепить эти самые базовые знания.




    мне, например, регулярно приходится смотреть в сотни тысяч строк кода на Oracle PL/SQL, который до сих пор пишут. Среди основной команды разработки есть светлые головы, пишут они вполне себе современны код, насколько им позволяет инструмент и характер хадачи.

    Как-то в одном из подкастов обсуждали подходы к legacy, и человек сказал «за более чем 10 лет практики разработки софта, только один раз была возможность начать проект, всё остальное — работа с legacy». Помните об этом. 90% всего, что нужно — уже написано.

    Что бы эффективно выкидывать код написаный не в рамках концепции, которая вам нравится, нужно уметь хорошо такой код не только читать, но и понимать.

    В конце концов, PL/SQL — это просто еще один язык.
    У того же Оракла, например, есть ОО-расширение в PL/SQL. Подозреваю, что для кого-то это окажется открытием. Еще, например, есть ключевое слово deterministic, подсказывает компилятору, что функция чистая (привет, ФП!), и её можно использовать для построения индексов.

    Как бы то ни было, это всего-навсего один из способов записать ваши мысли. Важно учиться думать широко и уметь выбрать из множества способов тот, который в конкретном случае эффективнее.
  • Почему не стоит использовать двухуровневую архитектуру при разработке клиент-серверных приложений
    0
    видимо, вы очень мало занимаетесь разработкой.
  • Обзор системы Comindware Business Application Platform
    0
    2018 год, в разделе «Цены» — запросить цены?

    Это смешно.
  • Почему опытные разработчики пишут тупой код и как распознать новичка за километр
    0
    не понимаю в чем проблема.

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

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

    Практически вся эта статья в одной фразе.
  • Почему опытные разработчики пишут тупой код и как распознать новичка за километр
    +9
    производительность процессоров растет быстрее, чем производительность людей.
    В тех 7% где не растет — будет не тупой код, и комментарий «не трогайте тут, выигрываем несколько тактов»
  • Meltdown: влияет не только на производительность
    +1
    «просадка будет значительная» — это прекрасное, неоспоримое доказательство.

    Да, я понимаю, что лично замеры не делали.
  • Meltdown: влияет не только на производительность
    +11
    Всегда будут люди, которым хочется показать фон рабочего стола, это понятно.

    Если человек хочет показать цифры, то он покажет цифры. Для этого даже скриншоты не нужны.
  • Визуальное программирование на языке ДРАКОН
    –1
    Проблема некоторых программистов, что они видят строки, то есть не очень далеко ушли от кодеров.
    Графическое представление алгоритма как раз и нужно для того, что бы наглядно логику алгоритма, то есть более высокий уровень.

    Не думаю, что есть готовый инструментарий, но посмотрите на пару-тройку-пятреку-десяток лет назад, сколько было удобный инструментов для JS? Сколько сейчас?
  • Визуальное программирование на языке ДРАКОН
    0
    нет никаких проблем отследивания зависимостей.

    Блок-схема (диаграмма итд) — это всего-навсего одно из представлений.
    Какие проблемы сделать diff?

    Есть же для xml diff, который не тупо строки сравнивает, а структуру документа, точно так же можно и для этого сделать. Если нужно, конечно
  • Перекрестное опыление: управляем Linux из-под Windows, и наоборот
    0
    простите, что немного оффтопик, но для меня было новостью, что microsoft умеет таки пакеты выкладывать в репозитории.

    Тогда еще большей остается загадкой, почему свои Linux Integration Services, они раздают через задницу в виде ISO'шника, с адовыми скриптами, и вот это всё.
  • Двойная бюстгалтерия* глазами программиста
    +1
    хочу сказать, что ваш начальный тезис — ошибочен.

    Везде говорят, что для минимизации ошибок нужно избегать дублирования информации,


    1. непонятно что такое «везде»
    2. вот я привел несколько примеров, когда наоборот — избыточная информация позволяет не только выявлять ошибки (CRC) но и корректировать их (ECC и прочие), или даже просто примитивное дублирование (RAID 1) повышает надежность хранения информации — то есть, в случае возникновения ошибок на этом уровне, это не приводит к ошибкам далее — используют ту копию, которая осталась целой.

    На статью с парадоксальным выводом хотелось бы ссылку.

    Что же касательно двойной записи в бухгалтерии, то судя по вашим комментариям к этой статье, вы не разобрались, и даже желания разобраться не видно.
  • Двойная бюстгалтерия* глазами программиста
    +1
    Избыточное кодирование — это все-таки не просто дублирование.


    RAID 1 — просо дублирование.
  • Двойная бюстгалтерия* глазами программиста
    +1
    Везде говорят, что для минимизации ошибок нужно избегать дублирования информации,


    В этом месте всем передает привет CRC, ECC, и прочие способы избыточно кодировать информацию, что бы было легко обнаруживать ошибки, корректировать и так далее.
  • НАСА предлагает избавить мир от угрозы Йеллоустонского супервулкана за $3 млрд
    0
    Билл Гейтс раздает деньги на полезные проекты, в больших количествах.
  • Хаос устраняет потребность в Мультивселенной
    0
    странно, что вы не дочитали буквально пару предложений
    что конкретно сделать — не очень понятно, а что получить — вот же, прямым текстом:

    Какое свойство человека делает его таким хорошим ситом?


  • Умный замок, взгляд параноика
    0
    кстати, ни слова не говорил о том, какой у меня уровень паранойи.

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

    Например, я могу доверять компилятору из кого-нибудь линукса. Или нет, линукс, это не достаточно параноидально. OpenBSD. То есть, нужно попросить автора прошивки, собрать свою прошивку вот этим компилятором. которому я доверяю, и выдать бинарники мне для проверки.
  • Умный замок, взгляд параноика
    0
    Берется такая же версия компилятора и линковщика, если полученный бинарник соответсвует представленному, занчит представленный собран из тех же исходников.


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

    К чему это я? Проверить, что вот эти бинарники из этих исходников получились имеет смысл только если процесс «получились» — уже проверен на безопасность.
  • Фантом: большая сборка мусора
    0
    В системе Фантом вы не видите никаких серьёзных проблем со ссылками, поэтому я предполагаю, что у вас в голове есть какая-то модель её функционирования.


    повторюсь: ОС Фантом на одном физическом хосте — это (грубо) одна копия jvm/.net или любой другой VM. А разные программы в ОС Фантом — это суть разные нити внутри этой самой jvm. Есть сейчас какие-то вопросы по управлению ресурсами внутри одной копии jvm? Примерно такой-же набор вопросов в ОС Фантом.

    Ключевое отличие от текущей ситуации с jvm:
    — если вы однажды сказали new SomeClass — вам не нужно предпринимать какие-то дополнитлеьные усилия по его сохранению/восстановлению между перезапусками самой системы — это делает ОС сама.
    — память-диск-сеть — для вашего процесса представляется единым API, который суть просто передать ссылку на объект.

    Само по себе persistance никакой не прорыв — есть в каком-то виде наверное вообще для всего.
    Сетевая прозрачность тоже давно известная штука, у jvm есть RMI, например. У того же erlang сетевая прозрачность вообще в базовой концепции. Наверняка можно найти еще примеров успешных промышленных реализаций в этом направлении для других популярных инструментов.

    Разница только в том, что в Фантом дадут всё это сразу, в удобном виде, как базовое API.

    Навскидку, если сейчас на jvm взять комплект akka + akka-cluster + akka-persistance, то можно с помощью напильника и какой-то матери получить примерно такую же среду выполнения как планируется в Фантоме. Список современных инструментов, у которых разное проникновение в промышленность, и для которых в виде библиотек реалихзована персистентность и сетевая прозрачность можно продолжать.

    ответы

    1. конечно, у каждого ресурса есть владелец
    2. при завершении процесса, сборщик мусора освободит все ресурсы, которыми владел процесс
    3. Очевидно, что если владелец передал ссылку на ресурс куда-то наружу, но не передал (разделил?) право владения, то возникает вопрос выбора — что с этим ресурсом делать.

    Сборку мусора по счетчику ссылок, в терминах владения можно сформулировать так: если объект получил у «системы» ресурс, и передал ссылку на него в другой объект — то в этот момент он разделил право владения ресурса с тем другим объектом. У ресурса число ссылок — суть число владельцев.

    Посмотрите на Rust, из того, что сейчас на слуху, это самое интересное место, где люди пытаются вот эти вопросы владения/передачи как-то красиво формализовать, что бы обеспечить автоматическое управление ресурсами.
  • Фантом: большая сборка мусора
    0
    как это копирование или некопирование данных влияет?

    Вы предлагаете каждому ресурсу добавить метку — PID владельца.

    это не я предлагаю. Вот, у меня windows вокруг, там есть такая утилита ProcessExplorer, которая залезает во внуренности системы, и показывает очень много чего. Мне, на самом деле, не важно технически, как именно это сделано, потому, что совершенно очевидно, всё это начинается со списка процессов, и далее там как-то к этим процессам подвязано.

    Вот есть документ в памяти, сейчас его владелец — ОС. Документ передали на редактирование какому-то приложению, что произойдёт?


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

    Процесс приложения при редактировании выделил у менеджера памяти пару новых блоков и добавил их в объект документа. Кто владелец новых блоков? Что с ними произойдёт при убиении процесса?


    Вот та функция внутри программы внутри jvm/.Net/итд (которой дали ссылку на объект) запросил еще памяти, ему выдали, что происходит? Кто владелец новых блоков?

    Могу сходу ответить на «что происходит после завершения функции» — если эти ссылки из этой функции никому больше не попали (функция не отдала эту ссылку в результатах своей работы), у них будет ref count = 0, и эти блоки освободит сборщик мусора.