среда, 30 декабря 2015 г.

Ответить всем

Когда задумываешься о потерях информации или как говорят, дискоммуникации, одним из встречаемых кейсов является отправка ответа не всем получателям исходного письма, а только отправителю.
Задумавшись, я попытался разобраться в чем дело.
Так вот, кнопка ответить (и соответствующая функция) почтового клиента на одну кнопку (позицию) легче, чем ответить всем.
Давайте сравним -
кнопка Ответить расположена ближе к активной части дисплея, обычно она CTRL-R.
кнопка Ответить Всем расположена дальше, обычно она CTRL-SHIFT-R.


В принципе, даже понятно, почему так получилось. Раньше принципы организации людей неявно подразумевали иерархию - то есть руководитель и подчиненные. Стандартное древовидное организационное дерево. Никаких горизонтальных взаимодействий не было предусмотрено. Ответственность за коммуникацию информации ложилась на отправителя запроса, только ему и надо было отвечать. Сейчас же обилие горизонтальных связей диктует их формализацию, и отсюда проистекают чаты, форумы и другие формы коллективного взаимодействия. Интересно, как это будет отражено в традиционных организационных диаграммах?

суббота, 5 декабря 2015 г.

Атрибут мультиплатформенности

Возникла необходимость сформулировать что такое требование мультиплатформенности к контексте одноплатформенности. Рожден вот такой велосипед, который пока относительно ясен для меня-T (об этом позже).
В рамках построения новой ИС, должен быть учтен атрибут качества мультиплатформенность. Этот атрибут включен в ИТ-стратегию предприятия и должен соблюдаться по причине наличия политических (отзыв лицензии), технологических (неустранимая ошибка платформы) и экономических(отсутствие финансирования) рисков.
Мультиплатформенность следует понимать как комплекс мер и активов, направленных на устранение зависимости в заданных ограничениях от единственных поставщиков в своих классах.
В частности, такая зависимость должна быть устранена на этапе проектирования и разработки.
Начиная со следующего XXXX года, в рамках обеспечения мультиплатформенности в классе БД следует поддерживать работу информационных систем на платформах AAAA BB, CCCC DD, EEEEE FF.
Ограничения, используемые в классе БД, должны позволять смену платформы в течение единиц часов без потери функциональности систем.
В комплекс мер должны быть заложены процедуры расширения списка поставщиков и адаптации информационных систем под новый список.

суббота, 11 октября 2014 г.

The (no)Brain

В процессе поиска инструментов работы с MindMaps, наткнулся на TheBrain. Программа для Мака - должно быть хоть какое-то приемлимое качество. Но - разочарование!

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

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

четверг, 5 июня 2014 г.

Number в Oracle и в Vertica очень разный

Vertica постулирует, что она "почти" 100% совместима с Oracle. По крайней мере, в том что касается данных. 
Это очень близко к правде. Но тем более обидно находить мелкие проблемы несоответствия, которые взрывают мозг.
Например, в мануале Vertica есть проверочная последовательность команд
CREATE TABLE num1 (id INTEGER, amount NUMERIC(8,2));
INSERT INTO num1 VALUES (1123456.78);
SELECT * FROM num1;
Если ее поправить для проверки типа number.
CREATE TABLE num1 (id INTEGER, amount number);
INSERT INTO num1 VALUES (1123456.78);
SELECT * FROM num1;
и проверить на Vertica и Oracle (11), то можно увидеть вот что
Oracle
SQL> CREATE TABLE num1 (id INTEGER, amount number);
Table created.
SQL> INSERT INTO num1 VALUES (1123456.78);
1 row created.
SQL> SELECT * FROM num1;
    ID     AMOUNT
---------- ----------
     1  123456.78
но при этом 
SQL> INSERT INTO num1 VALUES (1123456.122333444455555666666777777788888888999999999);
1 row created.
SQL> select * from num1;
    ID     AMOUNT
---------- ----------
     1 1.23456122333444455555666666777777788889E05
То есть оно сохраняет и дробную часть. То есть по документации Number - это Number(38,38)
Vertica
dbadmin=> CREATE TABLE num1 (id INTEGER, amount number);
CREATE TABLE
dbadmin=> \d num1
                                    List of Fields by Tables
 Schema | Table | Column |     Type      | Size | Default | Not Null | Primary Key | Foreign Key
--------+-------+--------+---------------+------+---------+----------+-------------+-------------
 public | num1  | id     | int           |    8 |         | f        | f           |
 public | num1  | amount | numeric(38,0) |   24 |         | f        | f           |
(2 rows)
dbadmin=> INSERT INTO num1 VALUES (1123456.78);
 OUTPUT
--------
      1
(1 row)
dbadmin=>  SELECT * FROM num1;
 id | amount
----+--------
  1 123457
(1 row)
то есть number = numeric (38,0) , что соответствует документации, но не соответствует Oracle.