lleo_kaganov (lleo_kaganov) wrote,
lleo_kaganov
lleo_kaganov

Category:

Реверс-инжениринг assembler-python

это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2017/03/09.html

21 год назад, весной 1996 года я заканчивал Горный институт и писал дипломный проект по программированию. Основа заданий у всех дипломников кафедры называлась «базы данных». В то время базы данных для студентов было такое же мифическое существо, как протокол TCP/IP — в реальной жизни мы такого не видали: ни интернета, ни баз данных у нас в институтских компьютерных классах не водилось. Тот, кто параллельно с учебой работал на предприятиях, возможно, что-то такое видел у себя на работе. А я параллельно с учебой писал песенки в «ОСП-студии», тайно учился на вечернем факультете Психфака МГУ, а еще подрабатывал программистом в НИИ Геофизика и НТМ Защита при МИФИ — там я писал на ассемблере код для микроконтроллеров в приборах дозиметрии и геологоразведки. Иными словами, я не был нормальным человеком, который мог и хотел по-быстрому написать диплом по базам данных на языке C. Поэтому я замахнулся создать программу, которая бы сочиняла стихи. А поскольку хорошо себя чувствовал только на ассемблере, то и написал ее на ассемблере. Тогдашнем, DOS-овском, 32-разрядном. И базу данных свою там же, на этом ассемблере, сочинил. Мои руководители были добры и терпеливы. Не разбираясь по долгу службы ни в алгоритмах стихосложения, ни в ассемблере, они позволили мне делать эту фигню и до последнего дня верили моим клятвам, что хоть программа моя пока не работает, но точно будет работать ко дню защиты. Так и случилось: последние изменения в код я вносил утром. На моем сайте этот проект все эти годы лежит здесь: http://lleo.me/soft/lleo_dip.htm Там сам код на ассемблере (по-моему даже не самой последней версии, но остальные исходники точно утеряны), и текст дипломного проекта, тоже написанный с большим литературным чувством и элементами троллинга. Смешно, что все эти годы программка по-прежнему работала, если найти эмулятор DOS и в нем ее запустить. И все эти годы у меня была мысль переписать это на PHP и сделать веб-сервис — ведь за это время появился интернет и база ударений в словах русского языка, которой мне так не хватало. Но я так и не собрался. И вот на днях мне пришло изумительное письмо:

Date: Sat, 4 Mar 2017 10:40:19 +0300

From: Sergei Lebedev

To:   lleo@lleo.me

Subj: lleo_dip — revival

Здравствуйте, Леонид,

Думаю, вам будет интересно узнать, что я портировал на Python алгоритм вашей программы lleo_dip.exe (с некоторыми доработками).

Вот статья об этом на Хабре: https://habrahabr.ru/post/323034/

А вот исходники на github: https://github.com/lebedevsergey/poet-ex-machina

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

С уважением,

Сергей Лебедев

Представляете, каков подвиг?! Сергей, я потрясен. У меня нет слов! Может быть, прикрутим базу ударений? ;)



это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2017/03/09.html
Tags: прекрасное, программирование
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments