Забавные новости 0й-Ti :)

Тема в разделе "WASM.HEAP", создана пользователем UbIvItS, 18 июн 2018.

Статус темы:
Закрыта.
  1. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    ну, мокрые бабок больше не дадут + могут ограничить доступ к уже выделенному фонду :)
    да, вот это (пожалуй) самое смешное - супер широкая модель нахЪЪ никому не нужна, а для мелких адаптаций может хватать даже скромного сервача :)
     
  2. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    а вот ето интригующая новость
    What DARPA wants, DARPA gets: A non-hacky way to fix bugs in legacy binaries
    41 
    When you need to patch a problem in your drone and no one's got the source
    Brandon Vigliarolo
    Fri 18 Aug 2023 // 10:58 UTC
    Imagine a world where, rather than inspiring fear and trembling in even the stoutest of IT professional's hearts, snipping bugs out of, or adding features to, legacy closed-source binaries was just another basic, low-stress task.
    A couple of years into a five-year DARPA project and we're perhaps well on our way there, thanks to the smart cookies at Georgia Tech. According to the US university, the GT team has, with $10 million in Pentagon funding, developed a prototype pipeline that can "distill" binary executables into human-intelligible code so that it can be updated and deployed in "weeks, days, or hours, in some cases."
    Hold on a moment
    We know what you're thinking: Uncle Sam is reinventing decompilation. It certainly sounds like it. There are lots of decompilation and reverse-engineering tools out there for turning executable machine-level code into corresponding source code in human-readable high-level language like C or C++. That decompiled source, however, tends to be messy and hard to follow, and is typically used for figuring out how a program works and whether any bugs are exploitable.
    From what we can tell, this DARPA program seeks a highly robust, automated method of converting executable files into a high-level format developers can not only read – a highly abstract representation, or HAR, in this case – but also edit to remove flaws and add functionality, and reassemble it all back into a program that will work as expected. That's a bit of a manual, error-prone chore even for highly skilled types using today's reverse-engineering tools, which isn't what you want near code going into things like aircraft.
    DARPA instead seems to want a decompilation-and-recompilation system that is reliable, easy enough to use, and incorporates stuff you'd expect from a military research nerve center, such as formal verification of a program's modifications.
    Ah-HAR!
    With that said, let's look at this DARPA-backed work. After running an executable through the university's "distillation" process, software engineers should be able to examine the generated HAR, figure out what the code does, and make changes to add new features, patch bugs, or improve security, and turn the HAR back into executable code, says GT associate professor and project participant Brendan Saltaformaggio.
    This would be useful for, say, updating complex software that was written by a contractor or internal team, the source code is no longer or never was to hand and neither are its creators, and stuff needs to be fixed up. Reverse engineering the binary and patching in an update by hand can be a little hairy, hence DARPA's desire for something a bit more solid and automatic. The idea is to use this pipeline to freshen up legacy or outdated software that may have taken years and millions of dollars to develop some time ago.
    "The US government has this tremendous problem where they put tons of research and development into cutting-edge software, and then two years down the line, it needs to be updated," he said.
    Yes, even after two years; it's not just for code that was finished a decade or more ago. Saltaformaggio told The Register it's still the case that software in executable form gets handed over to the Pentagon to deploy, and no one is tasked with maintaining the source code or making it available as needed, even after that short a time.
    "In an ideal world someone would be hanging on to that source, and I'm sure that's sometimes the case. But not always," Saltaformaggio said.
    Dare we say, a team or contractor may not be inclined to help with an update if there is no budget or agreement requiring it to do so. Rather than go through months or years of bidding, negotiations, and finally some engineering, Uncle Sam might want to skip ahead to that last part if all it wants is a bug fix, especially if it needs a critical update, stat. And if the source code is no longer available in any case, it doesn't have to be recreated from scratch: a binary update will be possible.
    Indeed, GT touts its work as a way for the Dept of Defense to save millions of dollars in time and money.
    A legacy code wizard, complete with spells
    And so, enter DARPA's Verified Security and Performance of Large Legacy Software, or V-SPELL program, which kicked off in late 2020.
    The GT team is one of just two groups given a grant to work on all three research thrusts for the project. Its goals include decoding binary executables into a human-readable representation, making it possible for changes to the readable code, and recomposing it back into a binary executable that can be slotted into place where the old one was without issue.
    Here's the pitch direct from DARPA:
    The goal of the V-SPELLS program is to create a developer-accessible capability for piece-by-piece enhancement of software components with new verified code that is both correct-by-construction and compatible-by-construction, ie, safely composable with the rest of the system.
    V-SPELLS will create practical tools for developers to gain benefits of formal software verification in incremental software (re)engineering rather than only in clean-slate introduction. V-SPELLS tools will enable developers to deliver assured incremental modernization of legacy systems in a manner that leverages verification technologies and reduces rather than raises risk.
    V-SPELLS aims to radically broaden adoption of software verification by enabling incremental introduction of superior technologies into systems that cannot be redesigned from scratch and replaced as a whole.
    Saltaformaggio told El Reg his team has the entire process working from start to finish, and with some level of stability, too. "DARPA sets challenges they like to use to test the capabilities of a project," he told us over the phone. "So far we've handled every challenge problem DARPA's thrown at us, so I'd say it's working pretty well."
    Saltaformaggio said his team's pipeline disassembles binaries into a graph structure with pseudo-code, and presented in a way that developers can navigate, and replace or add parts in C and C++.
    https://www.theregister.com/2023/08/18/darpa_legacy_binary_patching/
    ежли реально достигли таких высот, то технология так аль иначе выплывет наружу и вот тута начнутся забавные вещи.. нс-ки технически могут быть заточены под такую задачу, но самый любопытный Вопрос - какова же у них цена Вопроса в МВт-часах??? :)
     
  3. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    экая корявенькая-то отмаза про лабу :)
     
  4. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243

    The purest coding style, where bugs are nearly impossible

    проблема в том, что глобальные переменные как-то и почему-то очень сильно облегчают житуХУ.. можно сколько угодно вещать, молДе функи надобно делать "чистыми" да непорочными. Однако, при добавление новых фунок в код оказывается, что кучу уже имеющихся надо переписывать + чел явно забывает, что синхра потоков возможна лишь чрез глобальные варики. то, что доступ к ним можно закрывать функой, - дело понятное, но принципиально такой подход ситюЁвину не облегчает, ибо..

    1. организуются доп лаги (для гуя/куя, правда, фиолетово, но в системах реального времени в игнор такое не поставишь).
    2. могут появляться дэдлоки в работе потоков (таймауты не всегда в разряде приличных решений, хотя Да - часто помогают).
    3. отладка - с ростом сложности кода отладчик становиться бесполезным (даже однопоточка, пч увеличивается изменчивость самой среды исполнения кода).
    4. читабельность??? не смешите мои рваные тапки - обёртка в обёртке, в обёртке.. - очень читабельно :rofl::lol::scare::help::hunter::focus:
     
  5. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
  6. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
  7. aa_dav

    aa_dav Active Member

    Публикаций:
    0
    Регистрация:
    24 дек 2008
    Сообщения:
    457
    Проблема чистого функционального програмирования (где нет глобальных и мутабельных переменных) даже не в этом.
    Проблема там в том, что когда нужно написать более-менее сложную программу, то чисто практически приходится средствами чистого функционального программирования изобретать и реализовывать _глобальные и мутабельные переменные_.
    При этом с треском под капотом отваливаются и все муссируемые плюшки ФП как то распараллеливание или то самое "каждый кусок программы не зависит неявно от других кусков программы".
    Причём действительно чисто практически это возникает - уже в явном виде начинаешь писать эти взаимозависимости пробрасывая их через параметры функций и их содержимое и единственное отличие, что каждая функция которая начинает учавствовать в "мутабельном говне" будет принимать мутабельное говно в качестве параметра и возвращать его в качестве результата (даже если ей оно не нужно, но нужно в цепочке ниженаходящихся по потоку выполнения функций). Из-за этого "сквозного параметра" хранящего global state и образуется явная зависимость по входу и выходу и невозможность распараллеливать, т.к. теперь реально чтобы вычислить первый и второй аргументы их чисто алгоритмически можно считать только один вслед за другим (т.е. вход второго зависит от результатов первого в явном виде).
    Это реально забавный эффект и его полезно прочувствовать чтобы понимать насколько всё-таки эти перфекционистские идеи ФП совместимы с практикой на самом деле (и оказывается что совместимы в очень простых только участках кода).
    И сам приём как затащить в чистое ФП такие штуки которые имитируют, например, функцию input_key в условиях когда функции не могут возвращать разные результат для одного и того же набора параметров изумителен и вскрывает в чём тут подвох.
     
    Последнее редактирование: 13 окт 2023
    UbIvItS нравится это.
  8. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
     
    Marylin нравится это.
  9. mantissa

    mantissa Мембер Команда форума

    Публикаций:
    0
    Регистрация:
    9 сен 2022
    Сообщения:
    156
    норм ужастик
     
  10. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    ничем :)
    --- Сообщение объединено, 16 окт 2023 ---
    ой, ржавого нет :)
     
  11. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Я ржал в голосину сегодня: https://github.com/canonical/ubuntu-desktop-provision/pull/171/files - какой-то тролль под предлогом пофиксить перевод интерфейса Бубунты на украинский залил им в инхий репозиторий целую кучу матов, а Каноникал канонично зафакапили и смерджили все пул реквесты от господина Данило Негрило. По итогу им пришлось снять последнюю версию со страницы даунлоудов.
     
  12. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    600
    Rel, контуженый народ, до 70% лиц с психическими заболеваниями.
     
  13. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    платная подписка доконает инет :)
     
  14. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    кАнешЪЪ с такими конкурентами акь юлька на хвосте - питохе надо сурово поднажать :)
     
  15. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Вся проблема Петунона в том, что он изначально не разрабатывался с задачей не быть медленным. Сейчас они как-то пытаются натянуть перформанс, но даже издали видно, что это болезненный и тяжелый процесс. Слишком уж динамичный язык.
     
  16. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
  17. Win32Api

    Win32Api Member

    Публикаций:
    0
    Регистрация:
    16 окт 2022
    Сообщения:
    109
    Волнует только один вопрос, что будет после раста? Какими еще технологичными новинками порадуют програмистов?
    --- Сообщение объединено, 8 ноя 2023 ---
    Хотелось бы чтобы каждую неделю выходило что-то типа раста или go, люблю осваивать новые я.п. разбираться в их новых фичах
     
    Последнее редактирование: 8 ноя 2023
  18. mantissa

    mantissa Мембер Команда форума

    Публикаций:
    0
    Регистрация:
    9 сен 2022
    Сообщения:
    156
    а смысл?
     
  19. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Ну ты уж прям говоришь, будто что ни день - то новый язык) Раст наверно первый за двадцать лет язык, сумевший подвинуть си и плюсы. Последний раз такой успех был у дэльфи в середине двухтысячных ну и где теперь ваш дэльфи :)
    Да и в целом, мейнстримовые языки можно пересчитать по пальцам: гоу ты уже назвал, уровнем повыше джава и шарп. Ещё выше - js и ts. И питон замыкает.
    Не так уж и много. Найти что-то не из этого списка - надо постараться.
    И распределены они каждый по своей нише, а уж в сфере системных языков до раста была совсем душная засуха.
     
  20. Win32Api

    Win32Api Member

    Публикаций:
    0
    Регистрация:
    16 окт 2022
    Сообщения:
    109
    Ты на самом деле такой умный? В кремниевой долине наверно живешь, да?
     
    Последнее редактирование: 9 ноя 2023
Статус темы:
Закрыта.