All streams
Search
Write a publication
Pull to refresh
-5
0
Иван Левашев @OCTAGRAM

Удалённый программист Delphi+Ada

Send message
К слову об Интернет–инфраструктуре, даже и сейчас можно кое–чего намутить. Допустим, собрались утопающие вебмастера и посетители их сайтов, и сотворили себе такой чудесный proxy.pac файл, чтоб тестировал поддержку фич в доменах и умел перенаправлять запрос к сайту на другие адреса и порты. Скажем, если открывается example.example, то proxy.pac пытается резолвить proxyoptions.example.example, который резолвится в некий типа IP, а на самом деле специальное значение, нужно только проверить целостность на случай, если это обычный IP. Два октета уйдут на кодирование порта, остальное — на битовую маску, которая, допустим, может указывать на то, нужно ли вернуть результат «PROXY» или «SOCKS». В качестве адреса прокси взять другой поддомен в том же домене, что и тот, в котором найден proxyoptions, например, proxy0.example.example.

Вебмастера настраивают у себя прокси на нестандартных портах. В особо тяжёлых случаях формируются конторки, которые на VDS в проблемных странах штампуют прокси то тут, то там, вебмастера при помощи CNAME указывают адрес прокси в домене конторки, а сервер имён конторки по геолокации выдаёт для проблемных стран адреса внутри них же на очередной VDS так, чтобы трафик пересекал границу тем способом, который пока ещё работает.

Попутно готовится какое–нибудь более серьёзное решение.
Забавно, что при всём при этом:
Don’t miss out! The free upgrade offer to Windows 10 will end on July 29, 2016. Here's how to get Windows 10 for free while you still can.


Неужели это они сейчас последние два месяца помучают, а потом раз — и от всех отстанут?
До недавнего времени под UWP разрабатывать можно было только на бажном C++, либо на тормозных JavaScript и .NET. У VC++ RTL DLL есть волшебное исключение из правил, а третьесторонним разработчикам Microsoft помешал сделать компиляторы под UWP, точнее, не дал возможности отправить приложения в Магазин. Я считаю это роковой ошибкой. Windows притягательна тем, что в ней куча технологий интеграций: COM, OLE Automation, WSH, а тут вдруг раз — и мёртвая земля. Ни тебе Ады, ни Делфей, ни кто там чем ещё пользуется, только скудные средства разработки от Microsoft, который вдруг захотел подменить собой весь мировой интеллект. Я уже не говорю про закрытые DLL для склонения фамилий и прочих мелких, но очень нужных многочисленных потребностей, которые кажется издевательством перекомпилировать под ту же OS и ту же архитектуру, тем более, что Microsoft позаботился, чтобы это не соответствовало требованиям Магазина.

Я очень рад, что у них пупок развязался провести стратегию кукушонка, и они теперь выкатывают более дружелюбный Project Centennial, который позволяет использовать полный спектр средств разработки теперь и на UWP. Я думаю, что на этом Project Centennial так и установится некий статус кво.
Если ребята из Jide продолжат в том же направлении, скоро станет не надо
Русская народная забава: бояться собственных спецслужб больше, чем иностранных.

Но проблема–таки есть. Надо будет pinning делать.

Расширение SSL, ограничивающее домены в CA, может быть, наконец–то будет реализовано
При полностью корректном механизме получения сертификата получатель отправляет в УЦ запрос сертификата, содержащий публичный ключ, и в ответ получает собственно сертификат. В этой схеме у УЦ нет никаких преимущественных возможностей взломать что–либо. Ключ вообще может быть неизвлекаемый.

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

Надо посмотреть, как будет у нас реализовано. В StartSSL можно было получить сертификат только на один поддомен, но, правда, таких сертификатов можно было заказать кучу и объединить потом через SNI, но как же это геморройно, да и OrenOSP больше 6 сертификатов в SNI не поддерживает, так что у меня, например, не влезло.

Если наш УЦ не будет пытаться нажиться на wildcard и множественных доменах в одном сертификате, это будет отлично, я считаю.
Лучше бы они Surface Pro поддержали, чем кучу барахла, которого у меня всё равно не было и нет.

У меня на нете стоят Pidgin, QQ, Skype. Про указанные Telegram и Viber я слышал только краем уха, но Telegram вроде бы нормальный. По мне, так нетбук — вполне себе мобильное устройство. На нём и MathCAD, и LabVIEW, и большинство IDE запустятся, если надо, и что–то специфичное именно для мобильных устройств могло бы работать.

Желания дополнительно к нетбуку покупать дорогой сканнер QR–кодов, бесполезный в остальных качествах, как–то не имею. Посканировать QR можно и на нетбуке. Я не знаю, насколько близки WhatsApp и WeChat, но вот сумасшедшие китайцы любят WeChat, у которого, в отличие от WhatsApp, из нормальных OS есть Mac OS X, правда, слишком новее, чем у меня под рукой, и мне, чтоб с ними пообщаться, пришлось ставить эмулятор Android и сканировать в нём QR–код с экрана, и тогда можно писать в браузере. Если у WhatsApp такая же система, то это уже множественный вход.

В общем, ну не понимаю я прикола не делать приложения для 3х основных OS. У Microsoft есть даже Project Islandwood, средство портирования iOS приложений на Windows, ну сделали бы хоть порт на Windows, Бог с ней с Ubuntu Touch или Nokia N900. Я не понимаю, почему эти разработчики выкобениваются.
Цифры, конечно, потрясяющие для программы, у которой до сих пор не сделали клиенты под Linux, Windows, Mac OS X.
Мда. Очень печально, что адскими проверками нельзя насладиться на архитектуре, которая реализует их аппаратно.

Интересно было бы сравнить Эльбрус+LCC и CHERI+BERI. CHERI поизвестнее LCC будет, однако внезапно Эльбрус у нас оказался более массовым, а я думаю, Эльбрусов выпущено гораздо больше, чем BERI.
Необходимость делать нативный порт обусловлена отсутствием стандартов на исполняемые программы. Есть у меня концепция, как на базе Wine, SOM и Cocoa сделать бинарный аналог Java.

Делать порты под зоопарк операционок, учитывая, что архитектура процессора практически везде какая–нибудь из ограниченного набора — это действительно не здоровая ситуация. Должно быть: одна архитектура — один файл.

Появись такая платформа — возможности экспериментировать с разными OS повысились бы.
На мой взгляд, дело не столько в отключении Интернета, сколько в легализации самоучек, которые поштурмовали двери ВУЗов, как обычно, что–нибудь случилось, не доучились, а потом вкусили прелести фриланса и забили на ВУЗ. Кому–то из них, может, и хотелось бы поделать ништяк, но вот как их с официальными 11ю классами — в НИИ? Ну или если на фрилансе учишься и получаешь деньги, и всё осмысленно, понятно, зачем нужно, то не у многих будет мотивация пять лет заниматься непонятно чем на вечерней форме, и это только для формальностей типа диплома, а ещё же магистратуру, наверное, надо пройти, чтоб попасть в НИИ. Тут надо что–то перекраивать под реалии мира разработчиков.

А вот либералы, которых всё никак не выпнуть не получается, — другое дело. Там, глядишь, и нежданчиков, могущих помешать окончить ВУЗ, и превращающих это занятие в аркадную игру типа «Супер Марио», станет поменьше, и перекройка–таки будет сделана.
А в чём выражется совместимость с GCC? Можно ли Аду открутить от GCC и поставить на LCC?
У ТТК –ЗС такое есть только для сайтов из реестра. На уровне DNS домены перенаправляются на прокси. По HTTP прокси отдают всё, кроме запрещённых URL. По HTTPS тоже мог бы работать прокси, но вместо этого там заглушка с самоподписанным сертификатом, которая не даёт зайти вообще никуда. Вот на dotu.ru, например, вообще нельзя зайти из–за этого. Система перенаправления DNS кривая, там перенаправленные домены резолвятся хотя бы на прокси, а вот поддомены не резолвятся никак. То есть, если в реестре торчит пара–тройка URL с Обозреватель.ком и они честно блочатся, то на my.obozrevatel.com я не могу прочитать вообще ничего, и даже с первого раза не понятно, в чём проблема, в РосКомСвободе по my.obozrevatel.com нет никаких записей.

Обратной стороной их системы является то, что, если забить на их DNS, то вообще как будто ничего и не было.
поддержка вызова API WinRT


Я по этой теме не нашёл информации в wiki

Там только:

RAD Studio Seattle now supports Windows RT API (Windows Runtime API)


Причём, ссылка на Windows Runtime API — внешняя, на MSDN. А хотелось бы поинтересоваться, как именно оно там взяло и начало поддерживаться? Я же помню, что в Metro у Delphi попасть не получилось, чужих туда не пустили. Ada не пустили, Delphi не пустили. Пришлось городить Metropolis для как бы Metro UI и костыльные прокси для Live Tile.

А тут бац — и

RAD Studio Seattle now supports Windows RT API (Windows Runtime API)


…без каких–либо комментариев. Что, вот так вот просто? Всё решилось? Как решилось? Почему раньше не решалось, а сейчас решилось? Или тут какой–то подвох?
помните планы большевиков старой закалки об Мировой революции?


Эмм? Вечная мировая революция была по планам меньшевиков, вроде тех, что были пассажирами парохода «Христиания-Фьорд», а у большевиков были планы строительства социализма в отдельно взятой стране
Извиняюсь, что не в тему, но мне кажется, лучше всего узнавать у вас. Прошу ответить отдельным постом или дать ссылки.

Я знаю, что есть куча разных технологий для отображения 3D. У NVidia свой стереодрайвер, у AMD раньше был iZ3D (на моей Win8 он вешает систему), и ещё там в комплекте к какому–нибудь монитору со встроенной поддержкой 3D может быть вообще что–то неведомое, не связанное с производителями видеокарт. Мониторы с линзовым растром представляют особый интерес, так как у них количество одновременных ракурсов может быть больше двух. И у разных производителей разное SDK. Вот мне бы больше понравилось, если бы я средствами OS мог управлять картинками для разных ракурсов (например, я хочу получить HDC окна для левого и правого глаза отдельно, но не вижу этого в WinAPI), но разработчики OS, видимо, не на одной со мной волне, и пихают в OS что–то другое, а стерео оставляют на откуп куче разных производителей, каждый со своим SDK. Что их объединяет — так это то, что Direct3D или OpenGL графика делаются 3D автоматически.

А если я не хочу эту автоматику, я не знаю, как быть. Может быть, я рейтрейсингом картинку генерю? Или, может быть, у меня игра–платформер с несколькими слоями, и я не хочу слои уровня делать текстурами, а хочу обойтись инструментами 2D графики. Или вот, захотелось мне DOSBox улучшить, чтобы режим Crystal Eyes в Duke Nukem 3D средствами DOSBox форвардился на современное 3D оборудование. А оно там может быть и с чередованием по строкам, по столбцам, шахматкой, а может быть с видеокарты два видеовыхода, а как на линзовом растре, я вообще не знаю.

Вот как мне, не имея всего зоопарка оборудования и зоопарка коммерческих драйверов для 3D, всё же сделать, чтобы у того, у кого есть 3D, моя программа работала хорошо?
Принцип адресации переменных аналогичен тому, который у вложенных функциий, которыми замыкания и являются.

В Delphi, начиная с 2009, статический анализатор выделяет одни локальные переменные на стеке, а другие — на куче, при вхождении в область кода, которая их использует. В принципе, если в теле метода есть несколько замыканий, использующих несвязанные переменные, то можно делать несколько таких объектов. Как точно сделано в последней версии, не знаю. Для значений–замыканий действует счетчик ссылок, и сами эти значения ссылаются на объекты в памяти с теми локальными переменными, которые им нужны, тоже считая ссылки. И что–то похожее сделано в Blocks в Objective-C 2.0 (2009 г.), только переменные, которые можно изменять в блоке, нужно помечать ключевым словом, а непомеченные переменные будут доступны только как const, скопированные при создании экземпляра замыкания. В языке Ада, начиная с 2005, замыкания есть, но только нисходящие, поэтому нет счётчика ссылок. Теоретически компилятор мог бы хранить нисходящее замыкание в виде двух указателей код–данные, но в AdaCore похимичили и обошлись одним указателем на динамически сгенеренный код. Не знаю всех подробностей реализации, но сделано корректно, без TLS каких–нибудь. Делал функцию, которая сначала бурит рекурсией стек на несколько кадров, а потом считает число Фибоначчи, вызывая замыкания из засевших на стеке предыдущих экземпляров себя. Работает.

Ничего из этого мне не кажется чем–то особо сложным. Сопоставимо со сложностью разработки компилятора.

Не буду утверждать, что сильно нужна такая возможность. В некоторых стилях написания кода нужна, а в зелёнопоточных (кажется, Active Oberon именно такой) вместо лапши коллбеков может быть обмен сообщениями по каналу. Вот когда нет ни того, ни другого, тогда, конечно, у избалованного современными языками программирования программиста получается фрустрация от невозможности найти что–то привычное на привычном месте.
Ну вот, а покажешь каллиграфически оформленный код на Аде, будут жаловаться, что можно уснуть, пока допишешь.
И его зелёнопоточная модификация Sparkel, которая среди зелёнопоточных языков программирования примечательна тем, что зелёные потоки создаются не только явно, но и неявно поперёк любой синтаксической конструкции, допускающей это. Вот только в текущей реализации я там не увидел библиотек для HTTP, а сам не готов тратить время на прикручивание, а так бы портировал некоторые скрипты с node.js.

Information

Rating
Does not participate
Location
Воркута, Коми, Россия
Date of birth
Registered
Activity