• Как обнаружить FinFisher. Руководство ESET
    +1
    Хороший разбор, жаль что VM довольно таки примитивная. Хотелось бы больше узнать про «функция переключения между x64 и x86, которая выполняется в режиме процессора» в дроппере
  • Ubuntu 18.04 LTS: что нового?
    +2
    Ага, а если ты добавляешь несколько репозиториев один за другим и обновить хочешь только после добавления всех?
  • Сравнение технологических подходов к решению задач по извлечению данных
    0
    Поскольку это вводная статья, думаю пока критиковать преждевременно :) Пожалуйста продолжайте
  • Вредный Кейворд «Interface»
    0
    Вопрос создания интересного и полезного — это совершенно ортогональная верифицируемости штука.


    Верификация возможна и без статической системы типов (да, это так, можно верифицировать например control-flow).

    А вообще, это уже звучит как hujak-hujak-production-driven development.


    Верификация, как и другие подходы, нужна для того чтобы делать что-то интересное и полезное. Не вижу причин называть плохими словами все неизвестное
  • Вредный Кейворд «Interface»
    0
    Я не уверен, что макросы это могут заменить хоть в каком-то виде.


    А они это не заменяют. Они работают над выразительностью совершенно другим путем.

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


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

    Хаскелевский TH — мощнейшая штука, равно как и идрисовский элаборатор/рефлектор (но с ним я пока ещё не игрался).


    Я обязательно изучу и это тоже. Мне нравится рассматривать разные подходы и разные задачи
  • Вредный Кейворд «Interface»
    0
    И что из них заменяет выразительную систему типов?


    На мой взгляд (я не претендую на правоту) макросы лиспа — это совершенно иной подход к выразительности, по мощности не уступающий системе типов.

    как-то лучше пользоваться языками, где это из коробки.


    Не сказал бы. За возможность запилить без титанических усилий async/await или горутины или еще какие штуки любители этих штук отдали бы многое. Полагаю, как минимум из-за любви к тому, что выдается в коробке они сидят на игле своих языков. Как насчет получить в коробке кухню и попробовать самому готовить? В коробке там тоже много чего есть, если что…
  • Вредный Кейворд «Interface»
    0
    Там есть много других друзей, товарищей и братьев. Они тоже могут быть настолько полезными, что после не понимаешь, как можно без них обходиться.

    Кроме того, там есть возможность расширения, которая позволяет добавить все что нужно самому (привет тем, кто ждет годами новой версии стандарта или новых фич).
  • Вредный Кейворд «Interface»
    0
    Неприятность в том, что у нас больше нет привычного молотка. Но плюс в том, что больше не нужно забивать гвозди
  • Вредный Кейворд «Interface»
    0
    Вообще-то есть. Там строгая динамическая типизация.
  • Вредный Кейворд «Interface»
    0
    >> Из того, что теоретически идеально, но я использовать не буду — LISP.

    Почему?
  • Всё простое опять стало сложным
    +1
    На самом деле дело не в человеческом эго и неизбежности устаревания знаний: нет никакой неизбежности. Если технология реализована концептуально целостно — она не переизобретает сама себя, девальвируя уже усвоенные знания. Просто, возможно, пора признать — веб сделан гораздо хуже, чем его можно было сделать, и значительно хуже чем более концептуально сильные системы — взять тот же UNIX
  • Чего боятся программисты?
    +2
    Ну почему же. Когда на первом этаже прорубили несущую, чтобы сделать вход в магазин…
  • Умный минидрон Tello
    +1
    Мне было бы интересно поиграться с написанием программ под него и исследовать возможности программирования дрона на более низком уровне, чем Scratch. Возможно, производитель оставил лазейки для изменения прошивки, например
  • Представления знаний в интеллектуальных системах, экспертные системы
    0
    Я использовал самописную продукционную экспертную систему для задач автоматизации поиска работы. Подход себя оправдывает. Хотелось бы несколько более развернутого экскурса в историю, с примерами развития концепций экспертных систем
  • Каково это — быть разработчиком в России, когда тебе сорок
    0
    Ух ты, мне было бы очень интересно узнать, как так получилось — настоящий триллер )
  • Файловая система, дешево и быстро
    0
    Редактирование определенно необходимо. Я бы даже очень был рад полному интерфейсу
  • Пол Грэм: Что мы хотели знать еще в школе
    0
    Не надо думать, что школьники не способны воспринять то что сказал Грэм. Практически каждый может осознать все изложенные здесь смыслы и полностью перевернуть свою жизнь, руководствуясь этим пониманием. Например, перестав ждать от школы или института откровений и истин, поняв изьяны системы образования и бесполезность попыток революционного преобразования в отдельно взятом учебном классе
  • Хорошо настроенный Emacs
    0
    Не стоит заблуждаться — конец кругозора — это еще не конец века по меткому выражению Шопенгауэра
  • Haskell в продакте: Отчёт менеджера проекта
    +1
    Это расхожее предубеждение. JavaScript вообще вне конкуренции со своими }); }); }); });.
  • Пол Грэм: Что мы хотели знать еще в школе
    +1
    Если бы я получил доступ к этому тексту когда выпускался из школы — это бы полностью перевернуло мою жизнь. Все те ответы, которые пришлось находить вслепую здесь описаны с абсолютной ясностью
  • Парадигма ситуационно-ориентированного программирования
    0
    Поддерживаю и считаю далее ненужным кормить тролля
  • Парадигма ситуационно-ориентированного программирования
    0
    en.wikipedia.org/wiki/Intentional_programming и «исполняемые спецификации»

    Описывая поведение в таком стиле мы можем модифицировать уже работающую программу с возможностью отката без остановки (горячая замена кода, отвечающего за поведение) и удобно разделять знания между коллективами разработчиков
  • Парадигма ситуационно-ориентированного программирования
    0
    Можно в личку скинуть ссылку на гитхаб с исходниками?
  • Парадигма ситуационно-ориентированного программирования
    0
    Я тоже считаю подход внутренне противоречивым. Однако, как на ваш взгляд можно было было бы устранить хотя бы часть этих противоречий?
  • Парадигма ситуационно-ориентированного программирования
    0
    Если подход вам кажется бесперспективным — Смысл тратить время на комментирование? Иначе: почему бы не приложить усилия и сделать прототип самостоятельно, чтобы продвинуть обсуждение вперед?
  • Парадигма ситуационно-ориентированного программирования
    0
    Полиморфные вирусы — отличный пример. Выскажу гипотезу, что самомодификация используется только в полиморфных вирусах именно потому, что инструменты, которые мы используем затрудняют написание в самомодифицирующем стиле чего-то большего по объему и сложности, чем полиморфный вирус.

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

    Пока я не вижу заинтересованности в предложенном подходе с вашей стороны, так как не вижу усилий в конструктивном русле. Однако я вижу множество негативных комментариев — как прикажете вас понимать?
  • Парадигма ситуационно-ориентированного программирования
    0
    «Сделай сам» (с)
  • Парадигма ситуационно-ориентированного программирования
    0
    Стоит опробовать подход чтобы это понять
  • Парадигма ситуационно-ориентированного программирования
    0
    Мне кажется автору стоит взять вас в научные руководители при написании этой курсовой работы или дипломного проекта. Я бы тоже присоединился ради того чтобы опробовать подход. Спасибо за ценное указание на VHDL и информацию о способе его работы
  • Парадигма ситуационно-ориентированного программирования
    0
    >> придётся или производить отписку\подписку…

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

    >> потенциально может упростить процесс автоматизированного изменения поведения программ

    Уважаемый потенциальный Папа Римский, задумайтесь о возможностях, которые открываются, когда одни программы могут автоматизированно (и осмысленно) изменять другие программы. Может быть если поднапрячься и стать католиком, пробраться на самый верх католической церкви и сделать ее инструментом прогресса — оно таки будет стоить того?
  • Парадигма ситуационно-ориентированного программирования
    0
    ИМХО Вы ошиблись, пожалуйста перечитайте статью
  • Парадигма ситуационно-ориентированного программирования
    0
    >> Самомодифицирующаяся программа еще хуже, чем куча goto.

    «Пулемет гораздо хуже чем ружье, потому что во всей России не хватит заводов сделать столько патронов»

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

    Предложение реализовать модельный пример типа тетриса или игры в дурака горячо поддерживаю
  • Парадигма ситуационно-ориентированного программирования
    0
    Мне кажется что это близко к нему
  • Парадигма ситуационно-ориентированного программирования
    +1
    На нижнем уровне — именно так. Но программировать с этим легче — проще думать о ситуации и поведении внутри нее, а все остальное спрятать под капотом
  • Парадигма ситуационно-ориентированного программирования
    0
    Если аннотировать вручную или автоматическим анализом все выходные воздействия внутри ситуации, то топологическая сортировка вовремя предупредит о цикле в графе обработчиков. Я даже представляю как это написать
  • Парадигма ситуационно-ориентированного программирования
    +1
    Предлагаю называть это ситуацией. Тогда ситуация — это абстракция, состоящая из:
    — условия входа, т.е. возникновения ситуации (условием можем считать булеву формулу от набора состояний)
    — выходного воздействия, т.е. поведения внутри ситуации, выраженного в инициировании других событий и/или изменении состояний.
    — Можно еще добавить условие выхода из ситуации, если необходимо отразить некоторые аспекты реальности, когда однажды возникшая ситуация не прекращается если исчезли условия ее возникновения

    Таким образом каждая ситуация — это сценарий поведения системы внутри набора условий, которые характеризуют сумму состояний системы.

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

    Благодарю за отличную концепцию!
  • Парадигма ситуационно-ориентированного программирования
    +1
    Это надстройка над событийно-ориентированным программированием.

    Отличается наличием диспетчера, который мониторит состяние и запускает «ситуации», если «условия» сработали.

    Позволяет упростить программирования за счет абстрагирования от разделяемого состояния. «Ситуации» и «условия» как раз его и абстрагируют

    Рекомендую Шалыто «Программирование с явным выделением состояний» «Автоматное программирование» — там предложена реализация такого диспетчера
  • Парадигма ситуационно-ориентированного программирования
    +1
    Таким образом мы видим, что «ситуация» — это абстрация, построенная вокруг «условий», которые обращаются к состоянию, выбирая из него лишь те, которые для «ситуации» важны
  • Парадигма ситуационно-ориентированного программирования
    0
    >> Что такое «текущий» пользователь?

    $_SESSION[current_user]

    >> На основании чего меняется переменная внутри этого домена?

    Она меняется внутри «ситуаций», в которых явно аннотирование изменение этой переменной. А ситуации вызываются диспетчером при срабатывании их условий. Так что можно сказать, что эта переменная меняется на основании срабатывания условий тех ситуаций, которые явно могут менять эту переменную