Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Леонид Каганов ([info]lleokaganov)
@ 2017-03-09 18:29:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:прекрасное, программирование

Реверс-инжениринг 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