Левашев Иван aka OCTAGRAM {8/3}

Визитка

Jabber: octagram@jabber.ru

ICQ: 4938707711

QQ: 3152538431

Skype: i.levashew

WeChat: OCTAGRAM_8-32

e-mail: bu_gen@octagram.name,
octagram@ya.ru,
octagram@mail.ru,
ba.jiao.xing@qq.com

中文名字: 卜根 (Bǔ Gēn)

Микроблог: @OCTAGRAM

HabahabaЛевашев Иван Александрович, Барнаул

Мне сейчас 29 лет

Приветствую вас на своей домашней странице!

Последнее обновление: 13 декабря 2017.

Мои профили на других сайтах

moikrug.png Мой круг linkedin.png LinkedIn livejournal.png РИНЦ freelancer.png Freelancer
juick.png Juick twitter.png Twitter livejournal.png Хабрахабр bitbucket.png BitBucket
gplus.png Google+ facebook.png Facebook vkontakte.png ВКонтакте livejournal.png ЖЖ
youtube.png youTube lastfm.png Last.FM nickname.png Nick-Name.ru

Мои услуги

Фрилансер DevOp. Пишу, как правило, на языках, транслируемых в машинный код, либо делаю обратную инженерию. Среди языков программирования предпочитаю языки Ада и Делфи. Я создаю демонов на языке Ада. Серьёзно. Более конкретно, на Ada Web Server я делаю хитрые прокси, где хитрость можно понимать по своему усмотрению. Ада более безопасна, чем, например, Java (в Java нельзя поймать переполнение int), но не тащит за собой трассирующую сборку мусора, транслируется в машинный код, и поэтому работает быстро, как C++. Администрирую сервера, как правило, где я внедрил свои решения. Интегрирую решения с другими, для этого иногда приходится писать на JavaScript или PHP, но с обычными веб-разработчиками в конкуренцию не вступаю.

Общая платформа исполнения приложений

Интересовался объектными моделями. Будучи сторонником языка Ада, испытывал дефицит родных библиотек, и таким образом научился делать привязки к библиотекам на других языках, в том числе посредством Component Object Model. Если читать официальную документацию по COM, то там как будто только C++ с C# сочетают или C++ с VBScript. Скучные люди! Но эти скучные люди создают потоки, к которым подключаются делфисты, адаисты и другие. Интерес к COM побудил изучать аналоги, и это вылилось в практическую работу по объектным моделям. Лидером при сравнении оказалась IBM System Object Model, которая на момент 2012го года была в глубоком забвении.

Будучи адаистом, я бы и так начал погружаться в эту тему, но однажды мне в голову пришла замечательная идея. Вот мы адаисты со своей Адой, кроме нас никому не нужной, живём лучше, если удаётся присосаться к потокам, создаваемым другими людьми, и вся эта ситуация очень похожа на попытки импортозаместить операционные системы или процессоры. Россия со своим Эльбрусом тоже никому больше не нужна. Очень похоже. И решение может быть такое же: проложить каналы, по которым потекут мощные потоки, и присосаться к ним. И решение это может буквально одним и тем же, то есть, одно решение для сразу несколько проблем. Скучные люди в иностранных фирмах будут на C++ писать кроссплатформенные приложения, которые благодаря мосту в Cocoa будут красиво выглядеть на macOS и хорошо там продаваться, а в России к этому потоку присосётся Эльбрус или хотя бы отечественный дистрибутив Линукс. Разработчики в иностранных фирмах (да и в наших 2ГИС тоже) уже пишут под WineHQ, хотя он не приспособлен для этого, а мой проект — это на порядок более удобная замена.

SOM на 16 лет раньше Objective-C реализовал нехрупкое ABI, и если в оригинале эта возможность нужна для обновления библиотек без перекомпиляции программ (и зависимых библиотек), то эта же возможность может быть приспособлена к тому, чтоб стыковать один и тот же бинарник программы к реализациям одинакового API на разных OS. Кроме того, способ вызова методов можно так выбрать, что из эмуляторов процессора можно определять вызовы методов и перенаправлять их в теневую VMT. Значит, надо с самого начала иметь в виду возможность эмуляции CPU. Так что в этом проекте такое сочетание разных целей органично. Работаем изначально на 4 цели и достигаем все.

Было невероятно сложно даже найти бинарники SOM, чтоб пощупать, кроме как под OS/2. За прошедшие годы общался с разными людьми, нашёл-таки бинарники SOM 2.1, SOM 3.0, OpenDoc, купил компилятор VisualAge C++ с поддержкой DirectToSOM, купил три книги, которые даже б/у стоили моё почтение, отсканировал, выложил в Сеть. Пощупал бинарники довольно активно, написал генератор привязок на Delphi. Сначала написал процедурные привязки, потом на них — генератор привязок, сгенерировал им объектно-ориентированные привязки, перенёс генератор привязок на новые привязки, и таким образом генератор стал подтверждением собственной работоспособности. Заодно получил практический опыт с SOM, ведь когда возникают проблемы, я же не мог загуглить и найти ответ на StackOverflow. Форумов CompuServe нет, а из USENET в Google Groups сохранилось довольно мало. По результатам разочаровался. Главным образом, потому что, когда читал «Putting Metaclasses to Work», я думал, что это недостающая документация (обычная документация — для пользователей, а не для тех, кто хочет повторить или переделать). Но оказалось, что объектная модель в этой книге лучше, чем в SOM. Там есть кооперативные методы и множественное наследование, как в CLOS, а в реальном SOM — множественное наследование, как в C++. То есть, в SOM хорошие идеи, а вот сам SOM — не очень. Он только как источник идей. На его примере я показываю, что то, что я хочу сделать, реализуемо и реально работало в прошлом.

Модель, описанная в книге, реализована в виде симуляции на Java, а также, поскольку этой книгой вдохновлялся автор Питона, то и в Питоне тоже, правда, на поверку Гвидо ван Россум предал один принцип в основе этой модели. И в SOM 2.0+, и в PMtW метакласс может быть синтезирован на лету, чтобы избегать проблемы несовместимости метаклассов, а в Python — подходящий метакласс должен заранее существовать. Так что модель в книге — лучшая, и именно её по плану реализовать.

Долгое время я собирал по крупицам информацию, пытаясь понять, как это вообще у них работает, то на текущий момент я в ситуации насыщения, когда собирать крупицы больше не надо, и я уже способен с нуля сделать такой проект. Книги редкие, на всю Россию, наверное, только два человека владеют этим предметом. На весь мир-то поболее, но их высосали пылесосы Microsoft, Oracle и других, и кого ещё не дососало, подбирают Embarcadero, а я не захотел быть высосанным на Запад.

Пытаюсь получить стипендию в китайской магистратуре. Во-первых, страна интересная, во-вторых, у них с Loongson похожие проблемы, как у России с Эльбрусом, но вот как-то не соберёмся мы в одном месте и не посмотрим друг на друга и не увидим, что у нас общие проблемы. Если российские и китайские производители ПО начнут использовать общую платформу исполнения приложений, то китайские программы будут работать на российских процессорах и наоборот. Это было бы великое достижение. И если я как архитектор буду лучше знаком с китайской спецификой, то вероятность успеха существенно повышается.

Программа-максимум — это стандартизация на международном уровне. Многие каждый день пользуются программами, и всё это не стандартизировано. В магазин пошли купить еду, на еду ГОСТ есть, домой пришли, компьютер включили, на программы ГОСТа нет. Затянулся этот бардак, наша страна из-за этого не может, как понадобилось, взять и перейти на другие операционные системы или свои процессора. Когда-то этому бардаку должен быть положен конец.

Мои веб-проекты

«Всё о Паскале» — а ещё здесь есть форум, и по темам, связанным с проектами, можно общаться там.

p2p Тум Су

Скачать

/pub/ — здесь есть Apple YellowBox, IBM SOM, IBM VisualAge C++ v3.5 с поддержкой DirectToSOM C++, книги.

Общественные отношения

Убеждённый сторонник всеобщей абсолютной трезвости, патриот, интернационалист, сторонник традиционных семейных ценностей, кадровый донор крови. Спонсирую деятельность 26и общественных организаций. Мой ник можно видеть в титрах видеороликов, которые некоторые из них делают.

Воспринимаю жизнь как миссию, а тех, кто уклонился и живёт в своё «удовольствие» — как гниющих, а это их «удовольствие» — как понты, попытку обмануть и себя, и других, в том, что им «хорошо». Но мы-то знаем, что нет.

Как сочетаются патриотизм с интернационализмом? Легко. Человек может быть либо проводником, постоянно отдавать, либо загнивать. Семья может быть здоровой, отдающей в общество, а может быть подгнивающей замкнувшейся в себе мафией. Так же и со страной. Если хочешь Родине добра, нужно, чтобы Родина хотя бы в твоём лице работала на цели, выходящие за её пределы. Так что истинный желающий Родине добра патриот — обязательно интернационалист, человек, чувствующий глобальный уровень ответственности. Может, не всё удаётся воплотить, но думать нужно так.

Мои записи и рекомендации

Во Вконтакте трансляцию делал RSSTranslator.net, и он отвалился, а здесь посты отображались через БластКасту, и она тоже больше не работает. Как если бы этого было мало, движок моих сайтов X-Wiki на Джаве пришлось убить из-за невероятных тормозов, а разработка нового на Аде ещё только началась. Надо как-нибудь найти время сделать кросспост из Juick без сторонних сервисов, а пока читайте меня там.
Загрузка...
 

Примечания

  1. ^ При запросе авторизации в ICQ пишите латиницей, иначе ни в Pidgin, ни в Adium не видно текст
  2. ^ Если у вас опять перестала работать WeChat-ссылка, то есть, даже при установленном приложении выбрасывает на страницу скачивания, поставьте им в магазине оценку и напишите отзыв соответствующий. Ёлки-палки, да что за бардак? Пусть исправляют, а пока воспользуйтесь QR:
Код для вставки: :: :: :: ГОСТ ::
Поделиться: //