zinal: (default)
2027-12-31 11:59 pm

Дисклеймер и контактная информация

The postings on this site are my own and don't necessarily represent the positions, strategies or opinions of my employer.
Опубликованные на данном сайте публикации являются выражением моего личного мнения и не представляют точку зрения, позицию или описание стратегии моего работодателя.

Если кому-то нужно со мной связаться, вот необходимые контактный данные:
1. Email: maxzinal@yandex.ru, maxzinal@gmail.com
2. Skype: max_zinal
3. Телефоны: +7-903-630-5063, +7-917-569-71-74
zinal: (Default)
2017-04-07 08:48 pm

За что не любят либералов (c) sapojnik.livejournal.com

Очень правильный текст двухлетней давности. Но, блин, актуальный - и, видимо, навсегда.

Read more... )
zinal: (benice)
2017-04-07 12:29 pm

(no subject)

Утащил прекрасное с Кворы:


What would happen if an American aircraft carrier flew over Moscow? Could the Russians shoot it down? )
 
To your question as to Russian response capabilities - response would be the function of the ASDFB, the Russian Federation’s territorial air defense command. An aircraft carrier in the sky would present itself as a very large target and would probably, initially at least, be subject to heavy defensive fire from the 4th Missile Defence Brigade which is sited in Dolgoprudny, a suburb of Moscow. This would severely damage the ship.
 
As to whether it would “down” it, however, that would depend on the circumstances that had caused the aircraft carrier to become airborne in the first place. The most likely culprit, I would imagine, would be an extremely aberrant weather event in which case, no, the Russians would not be able to shoot it down as there is no known anti-aircraft weapons technology that can successfully engage and destroy wind.
zinal: (default)
2017-03-23 06:40 pm
Entry tags:

Сбор статистик в DB2

RUNSTATS ON TABLE SchemaName.TableName 
  WITH DISTRIBUTION ON KEY COLUMNS 
  AND SAMPLED DETAILED INDEXES ALL;

А еще вот кусок кода для отключения статистических профилей в базе, создаваемой 1С:
Read more... )
zinal: (default)
2017-03-02 08:07 pm

Омерзительные люди из ДОМ.РУ / ЭР-Телеком

Было у меня в Твери кабельное телевидение от Дом.ру.
Вполне средненькое само по себе было телевидение, с качеством средней паршивости (в том числе обусловленным дрянным качеством ТВ-кабеля в моей квартире), но смотрибельное.

Что меня изумляло в Доме.ру, так это страсть к телефонным разговорам. Минимум раз в 2-3 месяца непременно звонила очередная барышня, жаждущая впарить мне интернет. Вежливый ответ "спасибо, мне не надо" их никогда не устраивал, каждый раз они пытались выспрашивать кто мой провайдер и почему же я не жажду его менять непременно на Дом.ру. Просьбы не звонить мне больше каждый раз якобы фиксировались, но притом упорно игнорировались.

Read more... )
Да чтоб к ним клиенты дорогу забыли, а Роскомнадзор регулярно с проверками заглядывал! Заодно здоровья там, хорошего настроения.
zinal: (default)
2017-03-01 09:59 pm
Entry tags:

SHA-1 и другие хеш-функции в DB2

Как добавить в DB2 функцию для расчета хеш-кода по алгоритму SHA-1 (или любому другому поддерживаемому Java):

(а) Начиная с версии 11.1, алгоритмы MD5, SHA1, SHA2_256 и SHA2_512 доступны через встроенную функцию HASH(), которую можно обернуть в вызов встроенной функции HEX() для получения текстового значения.

Использование:
VALUES HEX(HASH('Вассисуалий Алибабаевич', 1));



(б) В более ранних версиях, либо для не поддерживаемых типов хеша, приходится использовать Java UDF.
Read more... )
zinal: (default)
2017-02-13 02:52 pm

Убойная сила в один афедрон

Вычитал тут у Митрича aka [livejournal.com profile] mi3ch цитату из "Иудейской войны" Иосифа Флавия:

Случилось тогда, что один из солдат поднял вверх свой плащ, неприличным нагибанием тела обратился к иудеям задом и издал звук, соответствовавший принятой им позе. Возмущенная этим поступком вся громада иудеев бурно потребовала от Кумана наказания солдата.
Юноши же, легко поддающиеся увлечению, и некоторая часть народа, отличавшаяся бурным характером, открыли нападение; они собрали камни и начали бросать их в солдат.
Куман побоялся наступления со стороны всего народа и вызвал для подкрепления множество тяжеловооруженных; как только последние появились на галереях, иудеев объял панический страх; они бросились вон из храма по направлению к городу.
Но от этого в выходах произошла такая страшная давка, что свыше десяти тысяч человек было растоптано и раздавлено.


Я считаю, что это прекрасно характеризует, да.
zinal: (default)
2017-02-10 07:22 pm

Читал ленту. Вычитал:

Махмед-ибн-Ябвдул Абстул-задом-бей.
Долго думал.
zinal: (default)
2017-02-09 07:02 pm

Удивительно, но это реклама партнера 1С

Наслаждайтесь:
Образчик спамеростроения... )
Отдельно доставляет маркер 18+...
zinal: (default)
2017-02-09 06:05 pm

Страшилки компьютерного века

Тов. Шнайер пугает обывателя:

Take a concrete example: modern cars, those computers on wheels. The steering wheel no longer turns the axles, nor does the accelerator pedal change the speed.

С педалью газа он конечно отчасти прав (управление впрыском топлива давным-давно ведется через программируемый контроллер, и не дай бог перепрошивку и перенастройку этого контроллера сделают сетевой).
А вот с рулём торопится немецкий знаток - физическая связь с колёсами пока что есть, и она реально важна для управляемости.
zinal: (default)
2017-02-02 09:52 pm

Мавроди vs авторы нигерийских писем

По слухам гражданин Мавроди занялся грабежом бедных жителей Нигерии.
В сочетании с широко известным явлением "нигерийских писем" это, на мой взгляд, преизрядно доставляет.
zinal: (default)
2016-11-28 05:55 pm
Entry tags:

Включение и выключение ограничений целостности для всех таблиц MSSQL

При пакетном переносе данных между базами Microsoft SQL Server и в ряде других сценариев (например, при загрузке замаскированной/обезличенной информации в создаваемую тестовую базу данных) бывает полезно временно отключить все ограничения целостности для всех таблиц базы данных.
Инструмент это грубый (поскольку отключаются абслютно все ограничения), зато простой в использовании и не требующий глубокого анализа связей между таблицами - что потребуется для того, чтобы отключить только часть ограничений.

Полное отключение всех ограничений и триггеров для всех таблиц:

exec sp_MSforeachtable
@command1='alter table ? nocheck constraint all',
@command2='alter table ? disable trigger all'
go

Необходимо помнить, что эти операции не позволят выполнить оператор TRUNCATE TABLE, если на таблицах созданы внешние ключи (FOREIGN KEY) - увы, в этом случае удалять данные перед их повторной заливкой придётся с помощью медленных и скушных команд DELETE.

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

declare @cmd varchar(4000);
set @cmd = 'BEGIN TRY '
+ '  alter table ? with check check constraint all;'
+ '  alter table ? enable trigger all; '
+ 'END TRY '
+ 'BEGIN CATCH PRINT ''** ERROR on [?] - '' + ERROR_MESSAGE(); END CATCH';
exec sp_MSforeachtable @command1=@cmd
go
zinal: (default)
2016-10-19 05:26 pm
Entry tags:

Заметки по использованию Informix Warehouse Accelerator

Для потенциальных и начинающих пользователей Informix Warehouse Accelerator (IWA) - краткая инструкция по применению.

Сперва немного теории...
Read more... )

Теперь практическая часть...
Read more... )
Время выполнения приведённого выше запроса на системе с 16 процессорными ядрами для нашей таблицы в 28 млн. записей - в пределах 1 секунды.
Без использования IWA даже при использовании специальных мер физической оптимизации схемы данных (набор индексов, партиционирование данных, использование параллелизма выполнения запроса) время выполнения такого запроса будет весьма значительным из-за необходимости сканирования большого объема данных.
zinal: (default)
2016-10-12 02:32 pm
Entry tags:

Cheat sheet по подключению сервера DB2 к базе данных Informix

Содержимое файла /opt/IBM/informix/etc/sqlhosts.ol_informix1210:
ol_informix1210 onsoctcp toster ol_informix1210
dr_informix1210 drsoctcp toster dr_informix1210
lo_informix1210 onsoctcp 127.0.0.1 lo_informix1210


Команды для создания библиотеки libdb2informixF.so:
sudo su
export INFORMIXDIR=/opt/IBM/informix
/opt/ibm/db2/V10.5/bin/djxlinkInformix


Содержимое файла /home/db2inst1/sqllib/cfg/db2dj.ini:
INFORMIXDIR=/db2extra/ifx/informix
INFORMIXSERVER=ol_informix1210
INFORMIXSQLHOSTS=/db2extra/ifx/informix/etc/sqlhosts.ol_informix1210
GL_USEGLU=1
CLIENT_LOCALE=ru_RU.utf8


Набор команд процессора DB2 по подключению к серверу:
create wrapper informix;
create server ifx type informix version 12.10 wrapper informix options (node 'ol_informix1210', dbname 'demo');
create user mapping for db2inst1 server ifx options (REMOTE_AUTHID 'informix', REMOTE_PASSWORD 'passw0rd');
set passthru ifx;
SELECT count(*) FROM informix.systables;
set passthru reset;
zinal: (default)
2016-10-10 12:17 pm

IBM Optim - notes on Format Preserving Encryption (FPE) aka Affinity Data Privacy Provider

To all IBM Optim software users, who use this toolsuite to perform data masking/redaction.
In case that you need to use the Format-Preserving Enctyption (FPE) algorithm with non-Latin characters (and non-numbers):

(a) This can be performed with the help of a custom exit, and by passing the parameter LANGUAGE="ioqx0MyExitName" (as described in the official documentation).

(b) In order to write this magical exit, you would need a sample, which is provided as part of the fresh distribution of Optim Data Masking on Demand (Optim DMoD) product, in the samples/ODPP_AFFLANGEXIT subdirectory.
Technically the exit is fairly straightforward: its entry procedure is called two times:
 - first, to determine the number of character classes and the width of each character class (in utf-32 code points), and
 - second, to fill the character class arrays with their characters.
Each character in each of the classes will be replaced by another (most of the times) character of the same class (e.g. latin letters with other latin letters, numbers with numbers, and russian letters - with russian letters). All other characters in the input string will remain untouched.

(c) To mask unicode characters with the custom exit (for example, fields of NVARCHAR in Microsoft SQL Server), use the following syntax:
TRANS PRO=AFF, MTD=REP, ALGO=FPE, KEY="key1", LANGUAGE="ioqx0MyExit", TWEAKS=NO, FLDDEF1=(NAME=FieldName, dt=WVARCHAR)

(d) To successfully mask the characters taken from a non-Unicode database (for example, VARCHAR fields of Microsoft SQL Server), use the following syntax:
TRANS PRO=AFF, MTD=REP, ALGO=FPE, KEY="key1", LANGUAGE="ioqx0MyExit", TWEAKS=NO, FLDDEF1=(NAME=FieldName, dt=VARCHAR, codepage=1251)
The codepage sub-parameter is absolutely critical here, because by default the Affinity Provider expects its input to come in UTF-8 (which will make the masking to fail).
zinal: (default)
2016-09-04 03:39 pm

НЕполитическое, цитатное

Оригинал взят у Злого Киевского Дохтура aka [livejournal.com profile] dok_zlo: На здобуття [ш]Нобелівської премії

Я от новий закон фізіології надибав.
Аксіома: Українці не серуть!
З цього виходить що... Все гівно, яке частенько трапляться на українських теренах має лише тільки таке походження:
1. Само насралося.
2. Особисто пан Путін прийшов та наклав.
zinal: (default)
2016-08-18 03:49 pm

Рабочая перловка

"I don't think, actually"

"On this particular slide, which is now 42"
zinal: (default)
2016-08-02 09:55 pm

Советы психиатра, или об эмоциональном выгорании

Почему всем нам следует отдыхать по-человечески: читать внимательно, а затем срочно бронировать билеты в интересные места.