Визитка
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)
Приветствую вас на своей домашней странице!
Последнее обновление: 01 января 2021.
Мои профили на других сайтах
Мой круг | РИНЦ | Freelancer | |
Juick | Хабрахабр | BitBucket | |
Google+ | ВКонтакте | ЖЖ | |
youTube | Last.FM | Nick-Name.ru |
Мои услуги
Фрилансер DevOp. Пишу, как правило, на языках, транслируемых в машинный код, либо делаю обратную инженерию. Среди языков программирования предпочитаю языки Ада и Делфи. Я создаю демонов на языке Ада. Серьёзно. Ада более безопасна, чем, например, Java (в Java нельзя поймать переполнение int), но не тащит за собой трассирующую сборку мусора, транслируется в машинный код, и поэтому работает быстро, как C++. Администрирую сервера, как правило, где я внедрил свои решения. Интегрирую решения с другими, для этого иногда приходится писать на JavaScript или PHP, но с обычными веб-разработчиками в конкуренцию не вступаю.
Общая платформа исполнения приложений
Основной сайт: Objective.PE
Интересовался объектными моделями. Будучи сторонником языка Ада, испытывал дефицит родных библиотек, и таким образом научился делать привязки к библиотекам на других языках, в том числе посредством 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 похожие проблемы, как у России с Эльбрусом, но вот как-то не соберёмся мы в одном месте и не посмотрим друг на друга и не увидим, что у нас общие проблемы. Если российские и китайские производители ПО начнут использовать общую платформу исполнения приложений, то китайские программы будут работать на российских процессорах и наоборот. Это было бы великое достижение. И если я как архитектор буду лучше знаком с китайской спецификой, то вероятность успеха существенно повышается.
Программа-максимум — это стандартизация на международном уровне. Многие каждый день пользуются программами, и всё это не стандартизировано. В магазин пошли купить еду, на еду ГОСТ есть, домой пришли, компьютер включили, на программы ГОСТа нет. Затянулся этот бардак, наша страна из-за этого не может, как понадобилось, взять и перейти на другие операционные системы или свои процессора. Когда-то этому бардаку должен быть положен конец.
Мои веб-проекты
«Всё о Паскале» — а ещё здесь есть форум, и по темам, связанным с проектами, можно общаться там.
Скачать
/pub/ — здесь есть Apple YellowBox, IBM SOM, IBM VisualAge C++ v3.5 с поддержкой DirectToSOM C++, книги.
Общественные отношения
Убеждённый сторонник всеобщей абсолютной трезвости, патриот, интернационалист, сторонник традиционных семейных ценностей, кадровый донор крови. Спонсирую деятельность 26и общественных организаций. Мой ник можно видеть в титрах видеороликов, которые некоторые из них делают.
Воспринимаю жизнь как миссию, а тех, кто уклонился и живёт в своё «удовольствие» — как гниющих, а это их «удовольствие» — как понты, попытку обмануть и себя, и других, в том, что им «хорошо». Но мы-то знаем, что нет.
Как сочетаются патриотизм с интернационализмом? Легко. Человек может быть либо проводником, постоянно отдавать, либо загнивать. Семья может быть здоровой, отдающей в общество, а может быть подгнивающей замкнувшейся в себе мафией. Так же и со страной. Если хочешь Родине добра, нужно, чтобы Родина хотя бы в твоём лице работала на цели, выходящие за её пределы. Так что истинный желающий Родине добра патриот — обязательно интернационалист, человек, чувствующий глобальный уровень ответственности. Может, не всё удаётся воплотить, но думать нужно так.
Примечания
- ^ При запросе авторизации в ICQ пишите латиницей, иначе ни в Pidgin, ни в Adium не видно текст
- ^ Если у вас опять перестала работать WeChat-ссылка, то есть, даже при установленном приложении выбрасывает на страницу скачивания, поставьте им в магазине оценку и напишите отзыв соответствующий. Ёлки-палки, да что за бардак? Пусть исправляют, а пока воспользуйтесь QR: