Pull to refresh
51

Погромист

15
Subscribers
Send message
А очень просто — Почта РФ объявляла тендер, победившие «Рога и Копыта» организовывали разработку. То ли сами те копыта делали, то ли аутсорсили по цепочке в Узбекистан, какая в сущности разница.

Минкомсвязи не являлись подрядчиком и не требовали передачи прав на софт себе.

А в этом случае мы наблюдаем именно такую комбинацию.

Вот если бы звучало это так: по указанию Минкомсвязи, Почта РФ развернет у себя ГЭПС — вопросов бы не было. Это были бы проблемы Почты — где взять, кому поручить, почтовая служба бы сама выступила заказчиком, получила бы очередную систему, поставила бы себе на баланс, решала бы вопросы поддержки и работоспособности, а минкомсвязи бы получило стандаартный отчет о выполнении поручения. Все права и прочее оставались бы у заказчика, то есть — у Почты РФ.

Четко, логично, понятно.

Но нет — тут не так. Почему, зачем? Минкомсвязи этот ГЭПС хочет тиражировать куда-то еще? Так это нонсенс, на то оно и ГЭПС.
Судя про описанию — заказчик это Минкомсвязи, а исполнитель — Почта РФ.

Как-то дико звучит.

Почтальоны что-ли кодировать будут в перерывах между приемом коммунальных платежей и выдачей пенсий?

Насколько я помню — ALT Linux именно тем и развлекался что пилил свой дистрибутив, и в конце 1990х, когда я на него смотрел — там было вполне себе инновационно (пример — Сизифус. В моей любимой SuSE известные obs появились сильно позже).

Так что пуркуа бы и не па? Все лучше чем уиндоусь закупать.
Ну, бардак с нотариальными конторами таксисто-брокеров не оправдывает никоим образом ;-)

С патентными ведомствами я пересекался, там реально синекура, да.

Аргумент про получение лицензии для улучшения мира мне чем-то неуловимо напоминает знаменитое «хочешь убрать мусор — стань бомжом», уж простите.

Ужастик с лицензиями развел регулятор — ему и убирать. Так что ваш посыл должен звучать как «становись депутатом и отменяй закон» ;-) Ну или хотя бы «становись префектом полиции».
Не, тут дело не в «отдельный плохо обслужил». И тем более не в «всех регуляторов разгоним».

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

Фактически, это нечто вроде АО «МММ» — покупать таксистские лицензии на вторичном рынке гораздо выгоднее и разумнее вовсе не для перевозки пассажиров, но именно для последующего получения таких же бесплатных лицензий от регулятора и их перепродажи. Создан спекулятивный рынок для торговли ценными бумагами, никак не привязанными к оказываемым услугам.

То есть создана совершенно невероятная по своей абсурдности ситуация — для «лицензированных» таксистов собственно перевозка — это побочный вид деятельности, всего лишь «условия для вступления в клуб». А основная — это рынок лицензий. Таксисты мутировали из перевозчиков в брокеры.

А вот перевозки тем кто готов поднять упавшее знамя, но при этом «вне клуба» — активно запрещаются, в том числе и законодательно.

Причем что удивительно, эту аномалию не собираются выправлять. Если лицензия стОит кучу денег на вторичном рынке, почему за нее не берут денег на первичном? Вот эти вот подарки членам клуба — они зачем?

Теперь про врачей. Лицензирование врачей (как и любая другая сертификация) никоим образом не создает рынок по перепродаже разрешительных бумажек. В этом и отличие.

Уберите вторичку — и вопросов не будет. Выдавайте лицензии любому в порядке живой очереди — и вопросов не будет. Прекратите раздачу подарков за сотни тысяч евро — и вопросов не будет. Ситуация же не в регуляции деятельности такси, а в созданной кормушке.

Вот представьте, что упомянутым вами врачам выдают разрешительные бумажки. С целью их перепродажи кому попало. Как, вы готовы посещать таких «перекупов» и доверять им свое здоровье? А они будут раз в году отмечаться в полицайревире и (о-ла-ла) даже будут слушать краткие курсы кройки и шитья (таксистам знание медицины на уровне санитаров скорой нужно примерно так же). А попытки оказания медпомощи будут пресекаться бандитскими выходками, нападением на конкурентов и уничтожением карет скорой помощи. Представили картинку? ;-)
Вообще говоря, будущее оно ведь формируется из сегодняшних потребностей.

Uber потому и появился что существующие «лицензионные», «с ответственностью», «на ступень ниже санитара» — работают из рук вон плохо. Долго (ждать подачи), дорого (дерут за проезд двух остановок метро), некачественно (обслуживают, везут через пробки например, или банально по навигатору), хамят (что такое чек?) и проч. И улучшать свою работу — не хотят.

А уж реакция регуляторов просто восхищает — получить лицензию таксиста могут только уже лицензированные таксисты? WTF? Давайте таксистам с лицензиями еще дадим бесплатные лицензии (вторую, третью, …) чтобы они смогли их перепродать.

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

Вы точно именно за такую коррупционную схему? ;-)
Неолуддиты на марше. А лет через 10-15 вообще будут не нужны ни с лицензиями ни без. Слава роботам! :-)
Операционки и девайсы в одну группу — оригинально. Ждем windows 10 внутри microsoft mouse? ;-)
На любом языке программирования можно писать как на Фортране, и InnoSetup не исключение.

Приведу пример из реального проекта.

Парочка переменных
#define CR '~~'
#define i
#define listToProceed		''


Парочка функций с миллионом параметров, бомбящих все подряд в строку
#define mkPInDdCode(src, dst, arch, indd, typo, prod, place, archmark1, archmark2, pf) \
	'Source: ..\..\image\bin\' + arch + '\' + indd + '\' + src + '.pln; DestDir: {code:Get' + \
		typo + 'Path_' + archmark1 + '|{' + pf + '}\Adobe\' + prod + '\}\Plug-ins' + place + '; ' + \
		'DestName: ' + dst + '.pln; Flags: ignoreversion overwritereadonly replacesameversion ; ' + \
		'Check: Checked' + typo + '_' + archmark2 + CR

#define mkInDdCodePair(indd, typo, prod) \
	 mkPInDdCode('FooBin', 'Foo', 'x64', indd, typo, prod, '', '64', '64', 'pf') + \
  	mkPInDdCode('FooBin', 'Foo', 'x86', indd, typo, prod, '', '32', '32in64', 'pf32') + \
 	mkPInDdCode('FooBin', 'Foo', 'x86', indd, typo, prod, '', '32', '32', 'pf32')


Вот так используем
#define listToProceed	\
	mkInDdCodePair( 'cc2014', 'S71',  'Adobe InDesign Server CC2014') + \
	 mkInDdCodePair( 'cc2014', 'CC2',  'Adobe InDesign CC2014') + \
 	mkInDdCodePair( 'cc2014', 'Icc2', 'Adobe InCopy CC2014')


А теперь — сеанс магии: раскатываем эту строчку так чтобы она превратилась в набор инструкций InnoSetup:
#sub mkPairEmit
	#emit Copy(listToProceed, 1, i - 1)
	#pragma message "<" + Copy(listToProceed, 1, i - 1) + ">"
	#expr Delete(listToProceed, 1, i + Len(CR) - 1)
#endsub

#sub mkPairSubFiles
	#for { i = Pos(CR, listToProceed); i > 0; i = Pos(CR, listToProceed) } mkPairEmit
#endsub      
#expr mkPairSubFiles


Вуаля. 200 килобайт кода описывающие по много раз одно и то же в разных вариациях — превратились в несколько строк. А блоатварь уже не пишется руками, а генерится на лету. Профит!

Ред База Данных (Red Database) – первая промышленная Российская система управления базами данных на основе открытого кода Firebird…

Но простите, это ж в девичестве интербейз, успешно померший еще в 90е? А с 2000 года — забугорный опенсорц?

* * *

СУБД ЛИНТЕР – это система управления базами данных (БД)… В соответствии с реляционной моделью, информация в БД логически представлена в виде двумерных таблиц. WTF? Таблица состоит из столбцов и строк (или записей), на пересечении которых находятся поля строк (значения), соответствующие тому или иному конкретному столбцу.

СУБД ЛИНТЕР может функционировать в среде следующих ОС:

— семейство DOS (PCDOS, MSDOS, DRDOS и т.п.);
— Windows 3.x или Windows for Workgroups 3.x;

— iOS;


Беглый просмотр документации по диагонали — оставляет ощущение что это нечто встраиваемое для мобильных устройств. Да и описание — явно не уровня «оракловому DBA на заметку».
> системы управления базами данных (86% импортируется),

А эти 14% это кто? А то я наивно полагал что в области СУБД как раз доля иностранных решений стремительно приближается к 100%. Или это постгрес с мускулем?
Я когда бомбил эти JCA — было нечто вроде такого (спека 1.0)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.0//EN' 'http://java.sun.com/dtd/connector_1_0.dtd'>
<connector>
   <display-name>Socket Adapter</display-name>
   <description>Socket Resource Adapter</description>
   <vendor-name>Foo Inc.</vendor-name>
   <spec-version>1.0</spec-version>
   <eis-type>Socket</eis-type>
   <version>1.0</version>
   <license>
   <resourceadapter>
      <managedconnectionfactory-class>
         com.foo.ra.socket.spi.SocketManagedConnectionFactory
      </managedconnectionfactory-class>
      <connectionfactory-interface>
         javax.resource.cci.ConnectionFactory
      </connectionfactory-interface>
      <connectionfactory-impl-class>
         com.foo.ra.cci.ConnectionFactoryImpl
      </connectionfactory-impl-class>
      <connection-interface>
         javax.resource.cci.Connection
      </connection-interface>
      <connection-impl-class>
         com.foo.ra.cci.ConnectionImpl
      </connection-impl-class>
      <transaction-support>NoTransaction</transaction-support>
      <config-property>
         <config-property-name>HostName</config-property-name>
         <config-property-type>java.lang.String</config-property-type>
         <config-property-value>localhost</config-property-value>
      </config-property>
      <config-property>
         <config-property-name>PortNo</config-property-name>
         <config-property-type>java.lang.String</config-property-type>
         <config-property-value>4444</config-property-value>
      </config-property>
      <authentication-mechanism>
         <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
         <credential-interface>javax.resource.security.PasswordCredential</credential-interface>
      </authentication-mechanism>
      <reauthentication-support>false</reauthentication-support>
   </resourceadapter>
</connector>


и файлов с обвязкой там получалось штук тридцать в сумме. А у вас уже 1.7 — развивается этот ужастик все-таки…
Тогда уж «работает как работало но теперь на стероидах динамиках».

А насчет пропусков — вы спрашивайте, я попробую пояснить. Повествование еще кроме стандартного «проблема — решение» пытается показать полет мысли при поиске того самого решения, вероятно это сбивает с толку 8-)

Сырцы уж извините — вырезать лобзиком долго и нудно.
Я бы и рад — но повторное гугление не дало вернуть ту тему на форуме микрософта где «ну это все-же наше» ;-(
Вероятно вы правы.

Осталось только понять, почему

если эту проперть просто присвоить локальной переменной — то снова все работает.

;-)
Есть некий COM от внешнего сервера, не InProc (то есть с маршалингом и автопроксями). У него есть проперть возвращающая коллекцию в смысле COM — в данном примере стандартный Count()/_Item() в наличии, судя по всему, раз по индексу работает.

Дотнет генерит оберток интеропом, то есть никаких динамик биндингов как бы нет.

В нагенереном дотнетом (не в коме!) есть стандартный GetEnumerator().

Хождение по этому дотнетовскому енумератору что foreach что while(!foo.MoveNext()) приводит к дисконнекту. То есть в процессе хождения / энумерации, собственно энумератор жив, а проперть по которой ходит (то есть вся коллекция) — уже нет. Те ком объекты которые я успеваю получить до COMException — - работают дальше.

Что смешно, точно такая же работа без GetEnumerator() то есть по индексу — к дисконнекту не приводит, так что очень вряд ли виноват сам ком объект.

Ну и совсем крышесносяще, если эту проперть просто присвоить локальной переменной — то снова все работает.
(подмигивает) ну, формально там нет IDisposable, и я знаю что вы это знаете ;-) Но нечто похожее таки там есть. Честно скажу — я после таких сюрпризов просто побоялся посмотреть в ildasm — там Dispose(), Finalize(), или ~__ComObject(). Для гипотезы это несущественно, а перебить себе сон я был неготов ;-)
«Как это нельзя делать проводки задним числом? Вы нас разорить хотите!» (С) один из клиентов «правильно спроектированной» банковской системы в середине 1990х.

Тогда мы тоже насмотрелись на поделия из палочек и веревочек обмотанных скотчем, и решили сделать правильно. Ну, на тот момент «правильно», само собой.

Не скучали потом.
Ну, тепловой машине надо много места, она тяжелая, и желательно чтобы в случае чего — не размазала пассажиров по салону. Потому и.

А в электрокарах нет необходимости выделять огромный моторный отсек, париться со всей механической обвязкой, системой зажигания, охлаждением, смазкой, передачей усилия на колеса через кардан (мерс же) и т. д.

Электромотор в разы проще, легче, и не требует такого количества механики.

Поэтому и выглядит вполне разумной попытка перекомпоновать авто — при той же базе можно увеличить салон раза в полтора. Что мы и видим.

Конечно вынос колес на края базы выглядит непривычно — но это пока что первая попытка. Тесла вот сохранила классическую компоновку, получилось два багажника, тоже знаете ли не айс — воздух возить.

Information

Rating
Does not participate
Location
München, Bayern, Германия
Date of birth
Registered
Activity