пятница, 4 декабря 2009 г.

Суета вокруг супербара в Windows 7

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

Да и эта бликовая горизонтальная полоска. Ну сравните сами:

... Иными словами, он в верхнем своем положении не нравится.
Нашлось решение. Я создал панель быстрого запуска, добавил туда один ярлык, убрал подписи и выбрал "большие значки". И вот что получилось:

По мне так, самое то.
Эх, суета-сует это все.

четверг, 3 декабря 2009 г.

Суета вокруг пространств тегов

Вчерашняя идея насчет пространств тегов натолкнула на новую мысль:
Совместить предложенные идеи.


Эту диаграмму можно прочесть как:
  • Список "Контактные данные Иванова" содержит элементы списка "Номера телефонов Иванова";
  • "Номера телефонов Иванова" в свою очередь содержит номера "222222", "555555";
  • Номер "555555" в пространстве "Контактные данные Иванова" имеет тег "Домашний".
По-моему, красиво. К тому же, эти теги в пространствах каждый пользователь может создавать под себя. Так как они не влияют на структуру данных, а только помогают найти нужную информацию.

среда, 2 декабря 2009 г.

Суета вокруг контактных данных

Похоже, перемудрил я с записью контактных данных. Ведь, что получается, если записать контактные данные как:


  • Контактные данные Иванова:
    • Рабочий телефон Иванова
      • 200001
    • Домашний телефон Иванова
      • 555555
    • E-mail Иванова
      • ivan@gmail.com
Т.е. список содержит другие списки. Это плохо тогда когда нужно представить их как "контактные данные/телефоны/домашний":
  • Контактные данные Иванова:
    • Контактные номера телефонов Иванова
      • Контактные номера домашних телефонов Иванова
        • 555555
По-моему, это чистой воды бред.
Вот какое решение я нашел:



Что можно представить как:
  • Контактные данные Иванова 
    • Телефон (в пространстве "Контактные данные Иванова")
      • Рабочий (в пространстве "Контактные данные Иванова/Телефон")
        • 200001
      • Домашний (в пространстве "Контактные данные Иванова/Телефон")
        • 555555
    • E-mail (в пространстве "Контактные данные Иванова")
      • ivan@gmail.com
Но только что мне пришла в голову вот такая структура:
  • Контактные данные Иванова 
    • (Тег-подСвойство) Телефон (в пространстве "Контактные данные Иванова")
      • 555555
      • 200001
    • (Тег-подСвойство) Домашний (в пространстве "Контактные данные Иванова")
      • 555555
      • г. Житомир, пр Ленина д.1
    • (Тег-подСвойство) Адрес (в пространстве "Контактные данные Иванова")
      • г. Житомир, пр Ленина д.1
      • ivan@gmail.com
    • (Тег-подСвойство) Электронный (в пространстве "Контактные данные Иванова")
      • ivan@gmail.com
    • (Тег-подСвойство) E-mail (в пространстве "Контактные данные Иванова")
      • ivan@gmail.com
И она мне кажется наиболее подходящей. Пример, конечно, не фонтан, но все же дает общее представление.


вторник, 1 декабря 2009 г.

Дерево свойств без лишних движений


При создании объектов получается излишнее создание типов. Причем, типы эти необходимо создавать вручную. Возникла идея заменить ручное создание типов полуавтоматом. Кому хочется каждый писать монструозные типы а-ля "Релиз версии 10.3 типовой конфигурации 1С управление торговлей". Осталось продумать интерфейс: Как все это отображать и как все это вводить.
Было:Стало:



Получается следующая картина:
ОбъектТип(Было)Тип(Стало)
Управление торговлейТиповыеКонфигурации1СТиповыеКонфигурации1С
10.3Версия типовой конфигурации 1С Управление торговлейВерсия типовой конфигурации 1С Управление торговлей
10.3.8.9Релиз версии 10.3 типовой конфигурации 1С управление торговлейРелиз версии 10.3 типовой конфигурации 1С управление торговлей
10.3.8.7Релиз версии 10.3 типовой конфигурации 1С управление торговлейРелиз версии 10.3 типовой конфигурации 1С управление торговлей
10.3.5.1Релиз версии 10.3 типовой конфигурации 1С управление торговлейРелиз версии 10.3 типовой конфигурации 1С управление торговлей
10.2Версия типовой конфигурации 1С Управление торговлейВерсия типовой конфигурации 1С Управление торговлей
Как видно из таблицы, наименования типов сохранились.

Важно отличать когда нужно создавать такие деревья, а когда обходиться обычным описанием данных. Например, для контактных данных деревья не подходят. Контактные данные разных людей могут содержать данные одного типа. Более того, они могут содержать одинаковые данные (одинаковые по ссылке)!


Эту диаграмму можно расшифровать как:
Контактные данные Иванова содержат:
  • Рабочий телефон Иванова
    • телефон: 200001
  • Домашний телефон Иванова
    • телеофн: 555555
  • E-mail Иванова
    • Адрес электронной почты: ivan@gmail.com
Эта схема удобна тем, что сюда можно приписать и такие контактные данные:
  • IM:
    • icq: 11111111
    • jabber: ivan@gmail.com
  • телефон: +7 900 00 00 01
Среди этих данных, домашний телефон Иванова может быть также домашним телефоном для его жены и было бы глупо создавать для этого два различных объекта. Так как изменение одного (например, поменялся номер АТС) должно сопровождаться изменением другого.

PS. Всех с первым днем зимы!

upd. Думается мне, что свойство "Тип" должно перекочевать в реквизит справочника.

понедельник, 30 ноября 2009 г.

Предрассудки (небольшой разбор полетов)

Основа, первопричина часто скрывается от нас. Будь это в силу традиций, утверждений, по  простоте душевной принятых на веру, - причин может быть много, но все-это может в один момент подвести нас.

Вот и с тегами вышла заминка. А все из-за массовости применения тегов. Причем однотипного применения тегов. И мне в этом применении не нравились некоторые детали - иерархия тегов и составные теги.
По поводу иерархии тегов решил почитать что пишут в интернете. Поиск дал не так уж и много релевантных ответов. Наткнувшись на некоторые оговорки о тегах, понял что есть всего три принципа реализации иерархии:
  1. У тегов не может быть иерархии по определению.
  2. Иерархия тегов может быть:
    1. Монородительская (у тега может быть только один родитель).
    2. Полиродительская (у тега может быть сколько угодно родителей - встретил всего в одном блоге).
Из всех этих мне понравилась идея полиродительской реализации иерархии. Более того, я это уже пытался реализовать. Кроме того, только так можно было воплотить идею о том, что "объект - это тоже тег", т.е. у "тегов тоже могут быть теги". К тому же полиродительское построение тегов позволяло легко реализовать идею составных тегов: части составного тега - это просто его теги. Но натыкался на некоторые сложности, в частности, на то что нельзя было однозначно указать такую ситуацию:

  1. Иванов работает бухгалтером в Рога и копыта.
  2. Сидоров работает директором в Рога и копыта.
  3. Иванов работает директором в Шарашкиной конторе.
Так как если бы захотели узнать кто работает директором в Рога и копыта, то получили бы как несложно догадаться и Иванова и Сидорова.
После чего было решено записывать связи тегов в виде дерева значений. Что-то вроде вот такого человечка:

Заполнив базу минимальным набором данных пришел к печальным выводам: все это работает очень медленно, легко зацикливается при поиске данных и все это тяжело для понимания.
Было решено отказаться от деревьев. Хотя идея мне была интересна. И опять начались поиски. Лишь теги не претерпевали никаких изменений.
Вечерними муками было решено создать систему, состоящую из трех частей:
  1. Теги объектов.
  2. Состав сложных тегов.
  3. Значения свойств тегов.
И все это держалось на коэффициентах релевантности связей, подкрепленная простой математической моделью.
Реализовав в черновом варианте такую систему, дошел до поиска информации. И... окончательно запутался в подсчете коэффициентов сложных связей. Самые большие трудности возникали со свойствами. Было решено отказаться от них в пользу системных составных тегов.
Нарисовав карту свойств нашел некоторые парадоксы, о которых можно прочитать в предыдущем посте.
Попив чаю, попытался уснуть. Сон не шел. Все думал как решить проблему. Ведь мне хотелось создать универсальную систему, позволяющую немного-немало описать мир, и, что самое главное, легко находить информацию в этом мире. Но решение никак не приходило в голову.
Но утро вечера мудренее :) И с утра я понял, что не то я убрал. Нужно как раз все кроме свойств убрать. В том числе и теги. О Боже, система тегов без тегов! Кто бы мог подумать. А решение - на поверхности. И слышал я о нем еще в 11ом классе на уроках математики когда учитель спросил нас "Что такое четыре?" и нарисовал на доске "4". Все мы было немного озадачены и поэтому молчали. Ведь ответ был слишком очевиден. "Четыре" - это число. Однако, это не так. "Четыре" - это всего лишь обозначение числа.

пятница, 27 ноября 2009 г.

А может все-таки свойства?


За ночь совершился переворот.
Похоже, зря я отказался от свойств тегов. Похоже они очень нужны. Что самое интересное, то что значение свойства объекта является тегом для самого объекта. В принципе, этот факт лежит на поверхности, но как все простое и поверхностное требует внимательного разбора для осознания. А фраза для осознания этого факта очень простая: "Каждый объект создается только из свойств которые мы ему наделим". Например, у объекта "%РФ" (специально поставил знак "%" перед его представлением) форма государственного устройства - это федерация. Следовательно, в списке "Федерация" должен присутствовать и наш объект "%РФ". Все это хорошо. Однако, при встрече со следующей диаграммой возникают вопросы.

У %клиента1 свойство бухгалтер равно %Иванов. Так должен ли %Клиент1 быть в списке "%Иванов"?.

четверг, 26 ноября 2009 г.

Черт ногу сломит!

Да уж. Идея с унификацией хранения всей информации имеет свои минусы. Как и что можно с этим делать?

где
#1 - Контактные данные Клиента1
#2 - Телефон из Контактных данных Клиента1
#3 - Телефонный код России
#4 - Телефонный код Чебоксар

А теперь вопрос:
Как определить телефонный код города в в теге "+7 8352 20 00 01". А еще лучше получить город из этого телефона.

После болезни приятно побриться


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

Попробую сформулировать вопросы, быть может они найдут решение во время обеда.
Если A имеет свойство B значение которого равно C, то входит ли С в A и B?
А что если отказаться от свойств и значений, а использовать составные теги? Например, заменить выражение "У %Клиента1 %Бухгалтер = %Иванов" выражением "%Бухгалтеры_клиента1 содержит %Иванов, а %Бухгалтеры_клиента1 входит в %Бухгалтеры и %Клиент1". Это сулит упрощением упрощением хранения информации. Но усложнением её ввода. Эй, где моя бритва Оккама?!
Используя свойства (было):
ЗначенияСвойствОбъектов
Объект
Свойство
Значение
Коэффициент
А
В
С
0,75
КоэффициентыВхожденияТегов
ПервыйТег
ВторойТег
Коэффициент
А
С
0,5
В
С
0,5
Используя составные теги (стало):
СоставТегов
ПростойТег
НомерТега
СложныйТег
А
1
АВ
В
2
АВ
КоэффициентыВхожденияТегов
ПервыйТег
ВторойТег
Коэффициент
А
АВ
0,5
В
АВ
0,5
АВ
С
0,75
Похоже, что мысль совсем неплохая. Так как составные теги я буду использовать в любом случае остановимся на этом. Вот и сломлена стена. Руки так и чешутся все переделать. В который раз...

пятница, 20 ноября 2009 г.

Парад слонов

И что будем делать? Наслаждаться моментом! И я..и я не знаю!) Просто откинулся на спинку стула, руки за голову и у меня все хорошо. И все друзья мои, они улыбаются. И все хорошо. И я люблю) И она меня любит!)... И столько было в прошлом! И всему, что в прошлом я говорю "спасибо!". Но самое главное... Самое главное это то, что когда я помахал рукой, она захихикала). Это настоящий парад слонов, с морем красок, воздушных шаров, и морем улыбок.. и я ей помахал, а она захихикала))

четверг, 12 ноября 2009 г.

Концепция тегов 0.1.120

Ко всему ниже перечисленному добавились составные теги. Вся фишка в прямом указании состава тега. Например тег "Главный бухгалтер" состоит из "Главный" и "Бухгалтер". Это означает, что эти переходы (как от простых к составному, так и наоборот) должны иметь коэффициент связи равный единице, т.е. происходить без потерь. Остается открытым вопрос методов поиска вхождения. Например, как организовать поиск "Клиент1(0,5), Главный Бухгалтер (0,5)", если предположить что некий объект имеет теги "Клиент1", "Гланый" и "Бухгалтер". Что меня занимает - способ модификации коэффициентов. Но на данный момент я болею, к слову, уже вторую неделю:(, и голове не хватает ясности.

среда, 4 ноября 2009 г.

Концепция тегов (вер 0.0.110) [ищу помощь]

Не придумав как обозначить коэффициентом связь родителя от подчиненного, решил разделить их. Есть только связь подчинения. Но зато при поиске можно выбирать тип поиска: в глубину или к вершине. Также не удалось придумать нормальное отделение установки подчинения от установки свойства с помощью коэффициентов. Решил разделить задание тегов (подчинения) от задания значений свойств. Теперь это два различных документа, и двигают они различные регистры. Также в динамических группах появился специализированный поиск следующих типов: 1) поиск значений по свойствам объектов (указываем объект и свойство, получаем - значение), 2) поиск свойств по их значениям у объектов (задаем значение и объект, получаем - свойство) и 3) поиск объектов по значениям их свойств (соответственно, задаем значение и свойство, получаем - объект).

Ах да, чуть не забыл. Документ установки свойств не только делает движения по соответствующему регистру, но и создает подчинения типа “объект - значение”, “свойство-значение”. Необходимость задания подчинения “объект - свойство” поставлена под сомнение :).

PS: У меня нет того, кто интересуется тегами. А я бы не отказался от дискуссии. Вплоть до того, стоит ли вообще это делать. Напомню, я пытаюсь создать органайзер с продвинутыми тегами, который будет хранить в себе всю информацию, и контактные данные, и списки рассылки, и дочерние фирмы, и список сотрудников... ровно как и двоичные данные. Основное отличие - у органайзера описание метаданных сведено к минимуму. Вся структура данных создается с помощью указания тегов. К тому же активно применяются сложные (составные) теги. Кто заинтересовался, могу подробно написать как считается релевантность результатов, и как она задается, да и вообще, отвечу на любые вопросы. Так как одному это очень долго делать :(

пятница, 30 октября 2009 г.

Концепция тегов (вер 0.0.105)

Есть теги, есть группы, есть динамические списки. Теги – это просто теги. Сложнее с группами. Если между тегами есть связь, то они объединяются в группы. Например, “А” имеет свойство “Б”, значение которого равно “С”. Как таковой группы нам мало. Нам нужно знать еще и отношения между элементами. Ведь одно дело группа “Иванов - Бухгалтер”, другое – “Старший бухгалтер - Бухгалтер”. В первом случае, тег “Бухгалтер” содержит “Иванова”. Во втором же, мало того, что “Бухгалтер” содержит “Старшего бухгалтера”, так еще это практически одно и то же. Вот так возникла идея коэффициентов связи. И понятие релевантности.
Понятие релевантности очень помогло при создании динамических списков. Например, у нас есть связи "А-(0,5)-Б", "Б-(0,5)-В", "В-(0,5)-Д". И мы делаем запрос А(0.2), что значит "найти". Он будет содержать сам тег А, тег Б (релевантность = 0,5) и В (релевантность = 0,5*0,5 = 0,25), а вот Д - уже в наш список не входит. Пока все легко.
Открытыми остаются следующие вопросы:
  1. Как записывать коэффициенты в группах типа "Объект - Свойство - Значение"?
    На данный момент это реализовано попарным указанием коэффициентов. Что-то вроде этого (коэффициенты расставлены условно):
    Объект (0,5) Свойство
    Объект (0,5) Значение
    Свойство (0,2) Объект
    Свойство (0,5) Значение
    Значение (0,3) Свойство
    Значение (0,2) Объект
  2. Ну и как же считать эти коэффициенты?

среда, 28 октября 2009 г.

Концепция тегов (вер 0.0.100)

Вчера перед сном в голову пришла на удивление неплохая мысль (обычно, чем ближе к ночи, тем глупее и сложнее мысли): отказаться от деревьев в пользу указания в ручном порядке связей тегов, ровно как и типов этих связей. Например:
“Бухгалтер Клиента1” входит в “Клиент1” и в “Бухгалтеры” и содержит “Иванов А.А.”. Очень просто!

Но это мне бы не позволило столь сильно поднять номер версии. У меня появились динамические теги! Динамические теги содержат строки вида “Что искать, где искать”. Например:
Что искать = “Физические лица”, Где искать = “Бухгалтер”. Это даст всех людей (физических лиц), которые работают бухгалтерами. А
Что искать = “Физические лица”, Где искать = “Клиенты” выдаст нам список всех сотрудников у всех клиентов!

Это позволит создавать задачи с тегами вида “Все директора”. И при выводе списка задач для директора N-ной конторы в списке будет сиять наша задача с динамическим тегом! Фиуви!

вторник, 27 октября 2009 г.

Концепция тегов (вер 0.0.014)

Начну с рассмотрения развития идеи. Начиная свой “проект” я был просто-таки уверен, что это движок займет у меня месяц-два. А как бы не так! Просто все начиналось довольно банально – нужна была иерархия тегов. Но “реализовав” ее (до конечной реализации дело не дошло: создал обработку, которая могла выводить это самое дерево), мне она показалась недостаточной. Так как я решил что у меня будет “полноценный” органайзер. Под полноценным я понимаю, что тегом может являться все что угодно – любой объект базы, причем объект в расширенном смысле.

Вскоре стало ясно, что нужны свойства объектов. Точнее, свойства тегов. Около месяца ушло на осознание этих свойств. После чего пришлось нехотя признать что нужны деревья значений. Около двух недель ушло на написание основных процедур и функций по работе с деревьями. Как-то само собой стало понятно что свойства могут быть сложные. И что свойства так же связаны между собой. Например, “Главный бухгалтер” входит в более общую группу “Бухгалтер”. Проблемы возникли с определение работы и хранением свойств типа “Контактные данные – Физический адрес”. Но эти вопросы остались чисто теоретическими, хотя были более-менее реализованы.

Через несколько месяцев у меня было нечто близкое, как мне казалось, к финальной версии. У меня были за плечами процедуры перестановок элементов дерева не теряя родителей, процедуры нахождения объектов, процедуры нахождения вхождения одних подстрок в другие. Были и отвлекающие факторы: BattleField2, COD4 и NFSU2 по интернету. Но в итоге у меня по запросу “Клиенты:Должности” выводились сотрудники клиентов с занимаемыми ими должностями. Но при наличии небольшого числа связей все это работало ужасно долго и требовало ручного управления поиском данных. Иначе оно могло уйти в дебри и искать очень, очень сложные структуры.

Не давеча как три дня назад меня в очередной раз осенило “объектами”. Под рукой не было компьютера и все это варилось до вчерашнего дня только в голове. А сегодня начало приобретать четкие границы. Допустим все слова – теги. Создаем связь “Клиент – (Контактные данные) (Адрес физический) – %Адрес%”. Здесь %Адрес% – это нечто что имеет собственные свойства, такие как: город, улица, номер дома и проч. При записи такой связи происходит поиск объектов: “Клиент”, “(Контактные данные) (Адрес физический)” и “%Адрес%”. Если таких объектов еще нет, то они создаются. Отдельный разговор про сложный объект “(Контактные данные) (Адрес физический)”. В связи можно указать, что он аналогичен, например, “(Данные контактные) (Адрес физический)”. При создании этого объекта ищутся объекты в него входящие: “Данные контактные” и “Адрес физический”. Если нашли – то представляем наш сложный объект как совокупность двух. Одновременно записывается, сложный объект входит в состав двух более простых (как уточнение). Таким образом при запросе “Клиент” – “Адрес” алгоритм поиска такой:
Клиент - Адрес
пусто (нет таких данных)
Клиент – Адрес Физический
пусто (так как “Адрес физический” входит в “Адрес”)
Клиент – (Контактные данные)(Адрес физический)
%Адрес% (Ага! так как есть такой объект)
%Адрес% (заменяем найденное свойство объект значением)
Поиск дальше не идет. Так как это и есть объект.

На данный момент проблема в том, что у меня поиск идет дальше и создает строки:
Клиент – (Клиент – (Контактные данные)(Адрес физический)),
Клиент – ((Контактные данные)(Адрес физический))(Адрес физический),
А из первой строки он может создать строку
(Клиент – (Контактные данные)(Адрес физический)) – Адрес.
А является ли это бредом еще стоит обдумать.

вторник, 29 сентября 2009 г.

Концепция тегов (вер. 0.0.001)

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

На повестке дня пара вопросов:

  1. Чем отличается
    Клиент1 - Бухгалтер:Главный - Иванов
    от
    Клиент1 - Бухгалтер - Главный – Иванов
    ?
  2. Как правильно описать, что у Клиента1 в контактных данных записан физический адрес как Москва, пр-кт Ленина,д. 1.
    Клиент1 - Данные:Контактные - Адрес:Физический - Москва:пр-кт:Ленина:Дом:1
    ?
    Было бы хорошо знать, что Москва здесь - это город, а не столица России, или название магазина. Можно было бы представить это как серию связей:
    Клиент1 - Данные:Контактные - Адрес:Физический - Город - Москва;
    Клиент1 - Данные:Контактные - Адрес:Физический - ТипУлицы - Проспект; ...
    Но на горизонте появляется проблема: Как определить, что город должен идти перед типом улицы, что в свою очередь перед названием улицы и т.д.? Возможно, придется заводить псевдотеги (или динамические теги). Например:
    Клиент1 - Данные:Контактные - Адрес:Физический - %Адрес1%,
    где
    %Адрес1% - город - Москва,
    %Адрес1% - ТипУлицы - Проспект, ...
    Хотя, это ничего не меняет. Упорядочивания, то нет. Оставим упорядочивание на потом :) Это не принципиально.

воскресенье, 13 сентября 2009 г.

Главное – порядок!

Пришел к тому, что не могу в частных случаях даже сам представить как должно строится дерево тегов. Видимо, нужно писать стандарт.
Задача: Описать тегами структуру данных. Желательно любую. С зависимостями.

вторник, 8 сентября 2009 г.

Задача:Теги:Структура?

О, да! Еще одна мысль “автоматизации” тегов.

Если есть такая связь:
“Чебоксары:Проспект:Ленина”

И такая:
“Клиент1:Контакт:Адрес:Физический:Чебоксары:Ленина:1”

То выводить последнюю как:
“Клиент1:Контакт:Адрес:Физический:Чебоксары:(Проспект):Ленина:1”

Но может такая каша получиться! Надо провести краш-тест этой идеи :)

пятница, 4 сентября 2009 г.

Миф или реальность?

Какой раз уже спорим с женой о вреде сквозняков. Стоит мне открыть форточку, так минус к моей карме обеспечен. Ну не понимаю я, чем вреден сквозняк. Да, я еще понимаю, если спать под окном так, что, например, голова будет в тепле, а ноги на сквозняке, тогда – вредно (я бы лучше так спал, чем в душной комнате). Но ведь обычно голова на холоде. А все остальное – в умеренном тепле. И голова контролирует температуру тела. Все вроде отлично. А если занимаешься чем-то что связано с движением – какой может быть вред. Вот, например, готовлю на кухне – зачем форточку закрывать? Гуляю с дочей по квартире – зачем балкон закрывать? Мне это совершенно непонятно!

Мне непонятно, чем спертый воздух (а он таковым быстро становится, хоть и площадь вроде бы не маленькая) лучше сквозняка. И не дай бог, кто-нибудь заболеет – будет виноват только сквозняк.

По мне так, если не сидеть неподвижно по 3 часа перед компом или на диване лежать в одной позе, то от сквозняка никаких проблем не будет. Или я не прав?

PS. Вот жена мне ссылки дает на источники, где говорится о вреде сквозняка. Но нет нигде толкового объяснения. Нет.

PPS. Я согласен закрывать форточку, если дочка спит. Но когда она бодрствует – я категорически против закрытых окон!

Просто какая-то беда с тегами!

Что я уж только не перепробовал, как уж не выкручивался, но так и не смог придумать целостную картину структуры тегов. Иногда даже думаю, а на кой черт она вообще нужна? Но вспоминаю мои исходные положения. Она нужна для поиска заданий. Для удобного поиска заданий, и что самое интересное - автоматизированного. Он должен учесть, что если Иванов – это бухгалтер у Клиента1, то при просмотре заданий для Клиента1, я должен так же буду видеть задания для этого самого Иванова…

воскресенье, 16 августа 2009 г.

О, Боже! Опять теги!

Невероятно, но я все еще борюсь с тегами. И в очередной раз я практически уверен, что разработал концепцию тегов. О да, детка! Теперь у меня бывают теги такого вида:
Адрес:Физический:Москва:Ленина:1. Для ясности укажу типы в скобках
Адрес(ВидыКонтактнойИнформации):Физический(ТипАдреса):Москва(Города):Ленина(Улицы):1
А вот как представлять 1 я еще не придумал. Верней не решил. Либо как тег "1", либо как Число.

Создал структуру тегов. Нахожусь в поисках концепции нормального интерфейса и его возможностей работы с тегами и принцип их выбора. А именно выбор тегов (присвоение тегов чему-либо) мне и не нравилось.

четверг, 13 августа 2009 г.

Полуночные теги

Роман с тегами набирает новые обороты. Как-то я совсем забыл что могут быть свойства у тегов. А свойство это что? А это как раз имя свойства и значение. Например:
Структура Тегов:
Клиенты
  • Клиент1
    Бухгалтер: Василий (сотрудники, Клиент2:Директор)
  • Клиент2
    Директор: Василий (сотрудники, Клиент1:Бухгалтер)
  • Свойства Тегов:
    Бухгалтер: Василий (сотрудники, Клиент1)
    Директор: Василий (сотрудники, Клиент2)
  • Значения свойств:
    Василий: Клиент1(бухгалтер), Клиент2(директор)
Сотрудники
  • Василий (Клиент1:Бухгалтер,Клиент2:Директор)
Должности организаций
  • Бухгалтер
  • Директор
То, что нужно писать в скобках - еще предстоит обдумать. (На данный момент попытался представить как будут записываться теги для данного тега)

среда, 12 августа 2009 г.

Эпопея с тегами продолжается.

Как я уже говорил, у тегов должны быть теги. Это, конечно, хорошо. Но на практике не работает. Я всё переделал в теги: все данные. Начав заполнять базу, натолкнулся на ситуацию, когда некий сотрудник в одной фирме является директором, а в другой бухгалтером. То есть, этот сотрудник имеет теги: "фирма1", "директор" и "фирма2", "бухгалтер". Откуда получаем, что вполне резонна выборка тегов "фирма1" и "бухгалтер". Проблемка.
Решение видится мне во включении типа связи, например:
фирма1 (бухгалтер) = сотрудник (или правильнее сотрудник(бухгалтер) = фирма1)
ровно как и
бухгалтер (фирма1) = сотрудник.
Что мне кажется не совсем верным. Например, должно быть так:
ДолжностиОрганизаций(фирма1, бухгалтер) = [сотрудник].
Бюэ. Начинается какая-то математика.
Еще вопрос:

Предположим есть правило:
А(Б) = В, это читается как Б В А.

Если
Клиенты(Фирма1) = "Входит в состав";
И
Клиенты(Фирма2) = "Входит в состав";
И
Фирма1(работает бухгалтером) = "сотрудник1"
И
Фирма2(работает бухгалтером) = "сотрудник2",

то что дожно выдать
Клиенты(работает бухгалтером) = ?
1. ["сотрудник1", "сотрудник2"]


вторник, 11 августа 2009 г.

Рекурсия: У тегов тоже могут быть теги.


Упорная умственная борьба, наконец-то(!), спустя более чем месяц с начала работы привела меня к гениальному разрешению проблемы структурирования тегов: "у тегов тоже могут быть теги"! И к этому я шел целый месяц! Либо я идиот, либо гений! Ойе, бейба! Накрутил простенькую конфигурацию и получил именно то, что я хотел. Пока только есть структура тегов. И ничего больше. Ни нормальной их сортировки, ни привязки к задачам, ни нормального добавления тега (все теги приходится прописывать вручную). Скажете "что за лажа?". Но то, что я получил - для меня это было одним из самых важных моментов. Посмотрим что будет дальше :)

На подходе:
прикручивание задач к тегам
связи задач (одна выполняется только после других)
сортировка тегов (пока вопрос открытый)

среда, 22 июля 2009 г.

GTD-Органайзер: Мысли о главном (струтура тегов)

Ну что же, кое что уже есть. Структура тегов. Цветного отображения как легко догадаться нет, но это то что мне нужно. Средствами 1С пока не знаю как такое можно реализовать. Либо много колонок использовать, либо одно из двух. Конечно это мало, но уже кое-что.
Вообще, эта структура мне нужна для того чтобы при перетаскивании тега перетаскивалась вся его структура. Есть проблема с реализацией этого. Идеи есть, но все они не обладают "красотой". Что нам почему-то не подходит.
Были идеи отказаться от структуры тегов. А строить ее исходя из уже имеющихся задач. Но эта идея мне не нравится. Так как там фактически нет групп. Во всяком случае как их выделять я не придумал. Другой вопрос: "для чего мне нужны группы?". Я уже и сам запутался. Нужны они или не нужны. Должны эти группы быть внутри частью справочника тегов, или это отдельный справочник.
Надо будет попробовать реализовать неиерархическую структуру. Где есть только связи. О! можно установить тип связи для соотношения тегов. Типа "является частью" и проч. Какие еще - не придумал :)
Была идея сделать задачи тегами с произвольным набором полей (реквизитов). Значениями полей могут быть как сами теги, так и примитивные типы. Но этот путь видится мне весьма туманным.
До сих пор стою на перепутье. Толи начать с тем что есть и потом исправлять, толи сначала придумать все как следует и потом делать. Выбрать что-то по середине не получается :)

пятница, 17 июля 2009 г.

GTD органайзер

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

Большинство - всегда стадо

Замечательный принцип демократии: "Большинство всегда право". А этому "большинству" всегда легче мозги запудрить, чем единицам. Вы еще думаете? Тогда мы идем к вам!

четверг, 16 июля 2009 г.

Потому что надоело

Тесно, тесно, тесно. И ужасно душно сегодня... Тесно от непонимания, от глупости, от людей. Мои мысли не находят отражения, так как вокруг - идиоты. Да, я гений, а вокруг - идиоты в подавляющем своем большинстве. "Имя им - легион!".

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

А может это просто жаркое лето?

"Но вокруг лишь
Белая ночь -
Белое тепло..."

вторник, 14 июля 2009 г.

чужое счастье

Чужие фотографии всегда лучше. и люди там веселей и счастливее. как-то по-настоящему... посмотришь, и за свои как-то стыдно.

понедельник, 29 июня 2009 г.

Seagate 11ой серии и сервисный центр

На днях вслед за блоком питания отказал жесткий диск. Хы, подумал я, до окончания гарантии еще 10 дней, вовремя он сломался. Решил отдать в магазин, а не в сервисный центр. Руководствуясь "где покупал, там и отдам". "Через сервисный центр будет быстрей" на меня не подействовало. Не знаю почему. Короче отдал. При осмотре обнаружили маленький откол от разъема питания. Записали, диск приняли, дали бумажку.
Через три дня (на следующий рабочий день) звонок - "Ваш диск - не гарантийный случай из-за механических повреждений". Ну и дальше объяснения, что они могут его принять, но в Казани его не примут и пришлют обратно и бла-бла-бла. Да только что мне до этого?. Но скорость ответа меня порадовала.
Чтож, раз так надо запастись информацией, ибо информация - сила!) Вводим в гугль "не определяется жесткий диск Seagate 7200" и получаем кучу жалоб на 11ую серию с прошивкой SD15, коя как раз у меня. И именно для этой прошивки характерно, что диск ни с того ни с чего перестает определятся в BIOS'е, либо же пишет что размер у него 0Gb. К тому же есть признание самого производителя о существовании этого дефекта.
Еще немного почитал про гарантию и опыт людей.
Через несколько часов звонят из СЦ (приблизительный диалог)
- Здравствуйте, Вас снова беспокоит *Компания*. Ваш жесткий диск в сервисном центре. Мы можем его починить, и восстановить информацию за отдельную плату.
- А мне сказали что Вы отказываетесь принимать...
- Это Вам ведь не в сервисном центре сказали.
- Ну да, ну да. И сколько это будет стоить?
- Ммм. сейчас узнаю. (пауза с минуту). Алло...
- Да. Да.
- Восстановление жесткого диска - 1000 руб, с информацией - 1500 руб.
- Тысяча!? Чот дороговато. Проблема в том, что я не могу сегодня приехать, но я не считаю что причина того, что он не определяется в BIOS - это моя вина. Т.е. причина в механическом дефекте разъема питания. Я считаю, что это не причина поломки. Здесь вина производителя в кривой прошивке. И за такие деньги... ммм.. я перед выбором, или отремонтировать платно, либо бегать туда-сюда и провести .. эммм..как ее называют.. экспертизу!. Но в любом случае это не телефонный разговор.
- Эм. Да. Приезжайте.
- Да. Завтра приеду.

Что мне не нравится, так это то, что они диск туда-сюда передают. То в СЦ, то в магазин, то обратно в СЦ. Скорее всего завтра придется поездить. Не знаю. Писать всякие там заявления мне лень. Думаю завтра поговорить в СЦ насчет снижения цены хотя бы до 500 руб. Еще позвонил знакомому, он раньше там работал. Сказал ему все свои доводы. Он обещал завтра позвонить. Но надежд на него мало.
Я перед выбором:
1. забрать жесткий и..
1а. написать заявление на экспертизу в магазине, а дальше действовать по обстоятельствам.
1б. провести независимую экспертизу (кстати где их можно провести?). Если установят что вина не моя, пойти в магазин (СЦ) и показать. Если откажут в гарантийном ремонте - подать в суд.
2. Отремонтировать платно.
3. Поговорить с сотрудниками СЦ. Может они примут мои доводы и сделают гарантийный ремонт? (мне этот больше всего нравится:)

вторник, 9 июня 2009 г.

нет напряжения.

моя машинка реально хочет меня научить авторемонту. На днях менял щетки стартера, а сегодня - что-то с напряжением, толи аккумулятор, толи генератор...

Расскажу как все было (в конце будет вопрос :). Так вот. Когда я поменял щетки стартера и опять не завелся, я подумал что расшатался подшипник у ротора, и он задевает якорь. Это объясняло, что он то работает, то нет (даже когда замыкаешь клеммы, хотя искра при этом идет). Снял. Посмотрел. Вроде нормально. и следов этого задевания вроде бы нет. Собрал стартер. Думаю подключу ка я его напрямую к аккумулятору, посмотрю как он работает вне машины. Провода решил взять те что в машине (благо клеммы у них хорошие, и мощные они. кста, я тут прочитал что мощность моего стартера 1,4 кВт. Это как вообще возможно при 12В ? там что, ток порядка 120 А ?!). Но вышла заминка. "+" со стартера дальше идет на клемму генератора. Казалось бы, что тут отвинтил гайку у генератора, снял клемму, достал провода? Ан-нет! Не выкручивается гайка. Крутил-крутил, она только легко крутиться стала, но осталась на месте.. Словесно объясню как это так:Значит, идем от генератора, Корпус, Изолятор, Контакт1 (на фильтр - конденсатор, второй контакт - земля (или масса как обычно говорят автолюбители) емкостью 200 мФ), Гайка1 (с резьбой), Контакт2 (на "+" аккумулятора), Гайка2 (сорванная) и все это дело видимо предыдущий хозяин стукнул, расплющив болт, и зажав гайку 2, чтоб не болталась. А я ее расшатал и контакт2 шатался туда-сюда... С проводами не получилось, поискал, нашел более-менее потолще, соединил со стартером - все пашет. В любом положении. И втягивающая катушка, и сам моторчик (по отдельности пробовал). Короче пашет. поставил на место.

Возвращаемся к генератору. Решив что "+" аккумулятора (т.е. подзарядка) куда важнее фильтра (нафиг вообще он? там что переменный ток индуцируется, и где-то внутри сидит диодный мост? или генератор такой неровный?) зажал гайкой1 контакт2 к гайке2 (теперь штырь торчащий из генератора стал немного болтаться, что меня насторожило, но не так чтоб напрягло, но, забегая вперед, видимо зря не напрягло). Таким образом фильтр оказался фактически отсоединен.


Поездил так несколько дней. Сегодня не смог провернуть ключ в замке зажигания. Думаю сгоняю на рынок. Замкнул отверткой, завелся, поехал. Приехал, там говорят - надо снять и принести (так как я знаю что у меня от ВАЗа, только от какой точно не знаю). Пока снимал некоторые изоляционные чехлы отошли. Разобрав, понял что дело именно в замке. Он в стальном кожухе и без контактов, иногда застревает. Зависит от наклона. Иногда наглухо застревает. Так что контактная группа нормально, собрал (так как понял что без паяльника если и сниму, то собрать не смогу), решил протестировать. Ба! Не заводится! Еле-еле стартер крутит. Походил, вольтметр поспрашивал. Толи нет, толи не дают :) Подождал еще минут десять - завелся. Поехал. Доехал до дома. Заглушил. Заводится на ура. Видимо контакт есть, но видимо не стабильно. Надо зажать.

Думал, думал. Видимо внутри генератора тоже клемма и гайкой зажата. Вот у нее контакт то и плохой. Но ктож такую конструкцию придумал. Неужто родина генератора совпадает с моей, а не с родиной машины? :) Ну да ладно. Значит нужно гайку1 прижать к корпусу, а контакт2 закоротить с контактом1. Раз уж гайкой зажать не получается. Зажал. собрал вещи. Усадил родителей. Поехали в деревню. Заправился (завелся хорошо).

Едем. Смотрю - показания бензина быстро падают. Неужто течет? Остановился. Глянул под машину - сухо. Ну лана. Поехали! А как бы не так. Не завелся! Стартер еле-еле крутит. Блин! Поковырял контакты, гайку еще поджал. Смотрю расстояние между гайками большое стало. Чуть меньше полмиллиметра. Раньше вроде так не было. Ну лана. Надо ехать. До деревни еще километров 15-20. Толкнули. Завелся. Доехали. Пока ехали бензин вообще до нуля упал, и температура все падала :(. Посмотрел - ничего не понял. Расстояние между гайками и правда увеличилось, но может я "наклепку" расшевелил? И во время езды были слышны пощелкивания, будто коротит, или что-то бъется. И очень неравномерно. от 1 раза в секунду, до 1 в минуту. Я сначала подумал, что трещина дальше пошла на лобовухе... Но она на месте застыла.

Поехал в город пока не поздно. (с толкача :) На трассе если включить свет - дергается. Видимо не хватает чтобы искру пробить в свечах. Ехал без света. Но было светло. Доехал слава богу, нормально.

Но в чем же дело? И как это проверить?


Мои версии:

Причины:

  1. Не пашет генератор (вполне вероятно вроде)
  2. Сдох аккумулятор (но разве он так быстро дохнет? за день? при наработке около 100 км?) (маловероятно, банки вроде все полные. не подливал)
  3. Я что-то где-то коротнул???? (в замке зажигания????):) (вообще маловероятно, не настолько же я дурак)
  4. Стартер вроде исключается. Причины почему до этого плохо работал - похоже, что плохая "масса". Стартер же не может (не крутиться он, слушал) во время езды сажать так, что показания бензометра падают. И чо они от напряжения завият вообще?

Мои объяснения эти причинам.

  1. (генератор) Во время манипуляций с гайками отпал внутренний контакт "+" генератора. Тот что в корпусе. Отсюда объяснение стука. Бъется он там.
  2. (аккумулятор) Чо он здох я понятия не имею :) нет у меня объяснений. От старости они же не могут так быстро дохнуть. И если проблема в нем, то при езде генератора то должно хватать на фары!
  3. (КЗ) Голова то у меня на плечах, а вот руки не всегда оттуда растут. Может когда замок зажигания разбирал/собирал что-то на корпус коротнул. Но, наверное, совсем бы худо было машине.
  4. (стартер) Не думаю над этой причиной :)

Итак, генератор? Как проверить? Взять аккумулятор от другой машины, включить мотор и проверить напряжение на выходе генератора?
Или же аккумулятор? Или я вообще дурак и дело в другом?

ПС.

Вопрос 1. Генератор постоянного тока или переменного применяется в машинах? И где это посмотреть, если разного?


Вопрос 2. Должен ли продолжать работать мотор при отключении от аккумулятора. То есть может ли он работать только от генератора? Или там ток неравномерный? У меня при этом глохнет.


Вопрос 3. Если снять генератор, как его обратно ставить? Натягивать руками? (натяжку ремня как регулировать?) А то вроде ремень туго сидит. Сомневаюсь что смогу так натянуть :)

четверг, 21 мая 2009 г.

Привет!... как дела?

Энка с Зеленым женятся. Сегодня узнал. Круууто!) Это так хорошо, когда у тебя друзья женятся :) Я рад. Люди они уж больно хорошие :) Хотя Зеленого я не так хорошо знаю, но всё, что знаю - только положительное :). Ура - ура :) Как-то так хорошо и легко на душе!Почему? Я и сам недоумеваю. Но жить - хорошо :)

понедельник, 16 марта 2009 г.

Очередная смена антивируса

Опять пропустил вирус. На этот раз облажался Avast. Базы были самые свежие, однако он так и не смог определить вирус с флешки. Вообще, с этими флешками непонятки. Вроде бы вирусы однообразные, однако так или иначе они проходят сквозь защиту. :(. Но что делать, вирус удаляться не хотел, и я прибегнул к старому методу - поставить винду с нуля. С помощью каспера просканировал весь комп - оказался вирус довольно-таки пассивным - всего 2 файла заразил... Аваст при тыкании носом в эти файлы с кислой миной от них отворачивался.

Решил, что стоит попробовать каспера. Поставил бету. Благо активация бесплатна. Как оказалось, не на долго - всего 14 дней. Но остановился пока на ней.

И обнаружился недочет. Возникает при работе с 1С 8.1. При попытке "Сравненить, объединенить с конфигурацией из файла" выскакивает нелицеприятная ошибка:

Из-за которой приходится перезагружать конфигуратор.