четвер, 30 жовтня 2014 р.

Открытие недели. Дмитрий Коткин с теорией систем. Продолжение.

пути решения проблемы субординации

вы не можете правильно принять управленческое решение, если вы не можете его нарисовать

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

схема: директор (плохая коммуникация) - замД (плохая коммуникация) - я - исполнитель
       директор (задача) - я (задача-директора) - исполнитель
       замД (задача) - исполнитель
       исполнитель ???? задача-диретора(от я) + задача-замД ????

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

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


1) планирование, обдумывание, коммуникации, создание условий +
2) эффективность работы систем +
3) люди +
4) оценка ситуаций. генерация идей и путей развития. коммуникация и создания условий эффетивной работы системы
5) знания принципов работы системы. осознание цели.


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


Распределение приоритетов
должно быть три процесса в приоритете (больше - потеря эффективности)

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

Миссия. с точки зрения системного подхода

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

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

миссия организации:
что нужно рынку в надсистеме
от чего мы получаем кайфы нашей работы
на что мы опираемся при взятии на себя ответственности за результат

повышения эффективности отрасли образования путем внедрения инноваций ИТ
создание инноваций в ИТ для отрасли образования
мотивированные кайфом и миссией специалисты с опытом разработки и внедрения инноваций


Контрактинг
контракт надсистемы с подсистемой (я договариваюсь с тобой как с подчиненным о правилах игры)

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

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

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


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

...

середа, 29 жовтня 2014 р.

О_о серйозно

чему учит меня Коткин

Виннер - основоположник кибернетики. Теория систем. Вот оно по чем книги надо почитать!! Прям систематизация моих гениальных представлений и мироощущений. Нашла единомышленников ) Оп

Система -элементы: структура(все связано со всем), границы (любые изменения системы происходит на границах), функции(единицы работы), процессы(то, что происходит в системе и меняет границы), иерархия
система изменяется на границе

обьем энергии в системе - конечен (доходит до какого-то уровня развития и останавливается) (1з-н ТД)
любая система стремиться сбросить всю энергию и остановиться (2 з-н ТД) - чтобы организация поменялась нужно давления извне. Изменения - через боль, только при создании напряжения

РУКОВОДИТЕЛЬ - выстроить коммуникации и направить усилия в одну сторону (чтобы у людей была одна общая цель)

может думать двумя способами:
1) планирует. организует. мотивирует. контролирует
Функциональное мышление руководителя (смотрит вниз - ищет крайнего)

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

#по базовым вопросам в моей организации все просто прекрасно


законы развития системы:
статика (что нужно чтобы орг начала существовать)
кинематика (как развивается во времени)
динамика (как совершенствоваться)


 з-н полноты элементов - она же законченнность системы - нужно чтобы все элементы в системе присутствоавали, а именно: орган управления(топ-менеджмент), двигатель (создает усилие - выводит систему из равновесия - генераторы изменений - топы, ичары, внедренцы), трансмиссия(передача - средний менеджмент), рабочий орган(выполняет конкретную ф-цию). Каждый элемент должен быть управляемым и работать на 5 баллов. Хотя бы один элемент работает на 2 - вся система работает на 2. Если элемента не хватает - система не работает. Один элемент не может заменить другой. Если руководитель начинает выполнять работу секретаря - система лишается руководителя и не работает.

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

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

закон развития (кинематики). любая система стремиться к идеальности. когда ф-ций нет, а работа есть.

з-н неравномерности развития.
з-н перехода в надсисттму. эффективность организации повышается по схеме: система --> в бисистему(начальник+зам) ---> дочерние ср-ры(возникает полисистема) ---> надсистема (встраиваемся в стру-ру. которая гораздо больше чем мы -  гос-во..)


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



продолжение CODE CHALLENGE: Solve the Clump Finding Problem 

Сегодня я посчитала то, что требовалось. Переписала алгоритм.. уменьшив число итераций.. сначала найдя последовательности заданной длины встречающиеся с заданной частотой вообще во всем коде, а потом в Л-мерах ища только их. НО! И ДАЖЕ ТАК))) оно мне считало 1360 сек.. 22 мин.. ))) Лол. Неэффективная эффективность моего алгоритма..  В форуме пишут почитать The Frequency Array, но я не разобралась пока что. Ибо англ.. и математика-массивы-индексы-частоты..

def often(Genome, k, t):
    res_often = []
    seen = set()
    for n in range(len(Genome)-k):
                count_t = 0
                k_mer = Genome[n:n+k]
                print (str(n) + "kmer")
                for j in range(len(Genome)-k):
                    #print str(j) + " step"
                    if k_mer == Genome[j:j+k]:
                        count_t +=1
                #print ("t= " + str(count_t))
                if count_t >= t:
                        if k_mer not in seen:
                              seen.add(k_mer)
                              res_often.append(k_mer)

    return res_often

def Clump(Genome, k, L, t):
    k_often = often(Genome, k, t)
    print (k_often)
    res_gen = []
    seen = set()
    for i in range(0, len(Genome) - L, k):
            print (str(i) + " Lmer")
            L_mer = Genome[i:i+L]
            for n in k_often:
                count_t = 0
                k_mer = n
                #print str(n) + "kmer"
                for j in range(0, L-k):
                    #print str(j) + " step"
                    if k_mer == L_mer[j:j+k]:
                        count_t +=1
                #print ("t= " + str(count_t))
                if count_t >= t:
                     if k_mer not in seen:
                        seen.add(k_mer)
                        res_gen.append(k_mer)
   
    return " ".join(res_gen)

#print (Clump("CGGACTCGACAGATGTGAAGAACGACAATGTGAAGACTCGACACGACAGAGTGAAGAGAAGAGGAAACATTGTAA", 5, 50, 4))
print (Clump("GGGAACTAGGCAAGTGCCGAACCAACATTTCTAGGTTTGATGGCGCTTCCAGACCGTTACACGCTGCCGACTCTGTACAAAGATCAGGCCCTCCTGTGATGCCTAATTGCGCCTAATTTCGCCCTTACCACAGCGTCACGCCTAATTTCGCCTTGATTCATGAGAGGGCCTGCCTAATTTCGCTCGCGGTAGGTGTTAGTGCCTAATTTCGCAAAGTGTCGATCGCACGACCGACTTAAAACCACATAGCTCCACGGTTAAGCCTAATTTCGCTATTAAGCGGAAGAGCCTAATTTCGCAATGCCTAATTTCGCAATCTGAGGCACACAAAGTACTTAGGCCTAATTTCGCCCCTCGACCACATCACCCTACTACACATCACCCTATTCGCCTTCGTGGGGTACACATCACCCTAGCACGGTTCTGGCCTAATTTCGGCCCACATCACCCTAACAAACAGAATACCACATCACCCTACTACCTAATTTCGCTTTCGCCAACGGCATCGCCACATCACCCTACGATCAGAGCCACATCACCCTACACCCTAGCCGTGGTCGCAACGTGGTCGCCACACATCACCCTAAACGTGGTCGCACATCACCCTAACACATCACCCTATAACGTGGTCGCCCGCCCCTTATGTTCCCGGGGCCTAATTCACATCACCCTAAGGAGCCTAAGCACACATCACCCTACTCGAACCACATCACCCTATCACACACATCACCCTACAGCACATCACCCTAGTGAACGTCACATCACCACATCACCCTACACATCACCCTAACAACGCCGACCACACATCACCCTATCACCCTAACCCTATAACGTGGTCCACATCACCCTAGAACGCACATCACCCTACACCCTATACGCCCACATCACCCTAGGCACATCACCCTAGCCTCAGCAACAGAACGTGGTCGCCGGCACATCACCCTACGTGGTCGCCCGATTAATAAAAGCAACGTGGTCGCCAACGTGGTCGCAACGTGGTCGCCCGGCCGATCACGTGTCACACAAAACGTGGTCGCCCAGAGAGCGATGCTGTATATTGAAACGTGGTCGCCCGTGGTCGCCTAACGTGGTCGCCGTGGTCGCCCACGTGGTCGCCGTAGGTTAACCATGCCGACTTATAGATTAGACATCCCAGAAAAGGAGGTAGACTTGTATCGTACCCATAACGTCTGCACCGAACATTGGCCCCTGTGTTGGGGTGCCTCTGTGGGCTACCGAGTGTCTCACCTATTATCATTGCTGGTGACACTCTCTGATCGATAAGTAAGAAGTCACTTGTCGTCACTTGTCTTAAGTCACTTGTCTAAGATAAGTCACTTGTCGGTTGCTCCATAGCCCTAAGTCACTTGTCTTAGTTGTAAGTCACTTGTCAAGTCACTTGTCTCAAAAAAGTCACTTGTCAGCGAGACGAGCATTGCGGGTAAGTAAGTCACTTGTCTGCCTCTTAAGTCACTTGTCCACTTGTCGCAGCTTGGCACTGAAAGTCACTTGTCACAAGGGGTCGTAAGTCACTTGTCCATAAGTCACTTGTCTCACTTGTCCTTGTCCTGTCTTAAGTAACCCCTCAGGTTCGCGCTGGCACAGGTACCCACTAAGAAGTCACTTGTCGTCGTAGCTCTTATAAGTCACTTGTCCACAGAGGTCACTAGCGCTCCGATAGGGGCGTTAAGGAGAAGTCACTTGTCCACAAGTCACTTGTCGTCGCATTATAAGTCACTTGTCCCTCACGGTGTCCTCCTTAAGTCACTTGTCCACTAAGTCACTTGTCGTCACTTGTCCAATAAGTCACTTGTCAGGATAATCAGGAAAGTCACAGGATGGTGCGAGAAGTCACTTGTCCAGGAAAGTCACTTGTCTTCCTAGATACGACGTATAACTTATAAGGTGCTGCCCAGGGCCGCGAACGCACTTAAGTCATCGTACACTACCCCAGTGTACCGATACTGCCGTAACGAGAGCAACCAATCTCTGCCATTGGACTCTTCGTTCACAACCCCGCAGGTTCCACCCCTATCCGGAGTCACTTCCTGCGTTAGATGGGGGACCTACTGTGTGCCATCATTCCAATGAGTCTACATGTCGCTCAACAGAGTCTCCTGGGGTTACCGCATCGCAATCCGTTAGGCCGTATACGTTCGTTAGGCCGTACGTTAGGCCGTAGGAGGACTTTAAAGGGACTTTAAAGTAGGCCGTAAGGACTTTAAAGCGTATAGTGCGGGCAGGACTTTAAAGCGTACGTTAAGGACTTAGGACTTTAAAGAGCAGGACTTTAAAGTAAAGCTACTAGGTGAAGGCCTAGAGGACTTTAAAGGAGGACTTTAAAGCGAGGACTTTAAAGACTTTAAAGAGAGGACTTTAAAGGTGTAGAGGACTTTAAAGGAAGGACTTTAAAGGGACTTTAAAGTGGAGAAGTGAAGGCCTGGAAGAGGACTTTAAAGGAAAGGCCTGGATACCGCTAGGACTTTAAAGCCAGGACTTTAAAGGGTGAAGGCCTGGATGATCAATCTTTTACGTCAAAGCATGAAGGAGGACTTTAAAGTAAAGTTTAGGACTTTAAAGATAGGACTTTAAAGAAAGTTCAGGACTTTAAAGTGGAGCATTTCAAAGTTCAGTGAAGGCCTGGAAAGTTCAGTGCGTTCAAAGTTCAAGGACTTTAAAGGAGAGGACTTTAAAGGACTTTAAAGGACTTTAAAAGGACTTTAAAGAAGGCCTGGACCTGGAAGGACAGGACTTTAAAGGACATGAAGGCCTGGAAACTGAAGGCCTGGTGAAGGCCTGGAGGCCTGGAATCGATTTCGGAAATTGAAGGCCTGGACTTTTAATGAAGGCCTGGATGATGAAGGCCTGGATGATCAATCTTATCAATCTTTTAATCCAAAGTTCACAAAGTTCAGTGAGTGGTCAAAGTTCAGTGAGTGACGCGAGGTCTCGGTAAAAACCATACTGGCACCCAAAGTTCAGTGGATCGTCGTTGTCATTATTTCGTTGTCATTATCATGAAGGTAAGAGTGCGCCAACAGGCGCTGTGGCCAAAGTTCAGTGATGCAAGAAACGTTGTCATTATTATGCGTTGCGTTGTCATTATGTCGTTGTCATTATCGCGTTGTACGCTCTCCCGCCTCCCGCCTCGTTGCGTTGTCATTATGGGACCGTTGTCATTATGTTGTCATACGCTCTCCCGCCACGTTGTCATTACGCTCTCCCGCTTGTCATTATCACGCTCTCCCGCCCGCCTACGCTCTCCCGCGCCGACGCTCTCCACGCTCTCCCGACGCTCTCCCGCTATACGCTCACGCTCTCCCGCCGCTCTTATAAGAACACGCACACGCTCTCCCGCTCCCGACGCTCTCCCGCCCAGGAGGAACGCTCTCCCGCACCGCGTCGCAACGCTCTCCACACGCTCTCCCGCTACGTTGTCATTATCGTTGTCATTATGTACCTGCGTTGTCATTATTATGCGTTGTCATTATATTATATGCCCGTGCAATACGATGCGAAGTCGCACATCGGAACACGTTCGTAGTGTACAGTCTACGCTCTCCCGCCCCGCACTGGACGCTCTCCCGCTTACGCTCTCCCGCCAGCCTAATAACGCTCTACGCTCTCCCGACGCTCTCCCGCGTTTGGCAATATCGTGAAGACACGCTCTCCCGCCGGAAACGCTCTCCCGCACGCTCTCCCGCAGGAAACCTTATCGGAAGAACTAGCTTGATGACAAGGCAACGACGCAGGACCCGACATTTGATGGAAACCGGTGTAACATCCCGGCCACCCGGGTTTCTAAGGGTCCGAGCGGTACGTCGCTCGAACGCGTGCTCTGCAAAGTGCCTGTAACGGACAACCAAGTATGCACACGCTACAAGCCAAACTCTCGCGTGCTAAGACCACGCGGCGTGCGTGCTAAGACGCGTGCTAAGCGTGCTAAGACTGGCGGACGGCGTAAAGGGCGCGTGCTAAGACACCCCGGCGTAAAGGCTGTCTATCGGCGTAAAGGCTCGACAGCGTGCTAAGACCGTGCTAAGCGTGCTAAGACTCGTTACGCGTGCTAAGACTGGCGTGCTAAGACATGTGCGTGCTAAGACACGGCGTAAAGGCAAAGCGGCGTAAAGGCCGGGGCAGTCGCGAAAAGCGTGCTAAGGCGTGCTAAGACAAGACCGTGCTAAGACCGGCGTAAAGGCTGGCGTGCTAAGACGCTAAAGGCCTTACGGCGTAAACGGCGTAAAGGCGCGTGCTAAGACAGACGCTATCCGGCGGCGTGCTAAGACGCGTGCTAAGACGCGTAAAGGCGGCGTAAAGGCGCAAAGGCGTGGCGTGCTAAGACATCAAAGTATCCAGCGTGCTAAGACTAAAGGCTCGTTGGATCCGCGTGGCGTGCTAAGGCGTGCTAAGACAGACGGCGTGCTAAGACGACGGCGTCGGCGAAGATAGTCAGTTCGGAAGATAGTCAGTGACGGATTCATGCCAAGATAGTCAGTCAGACTATGAGGACTTCTGTTAACAAGCAAAGTTTCACTTAAGATAGTCAGTACAACAAGATAGTCAGAAGATAGTAAGATAGTCAGTGTTACAAGATAGTCAGTATGGTTAAAAAAGATAGTCAGTAAAAAGATAGTCAGTAGGAAATTGAAGATAGTCAGTTATGTAGGAAGATAAAGATAGTCAGTCAGTGCTTTATTCAAGATAGTCAGAAGATAGTCAGTGTAGGTCAAGATAGTCAGTCATTGGTGGGAGTCAAAAAGATAGTCAGTAGAAGATAGTCAGTAGCGGTTCCAAAGATAGTCAGTATAGTCAGTTTCTGACAAAAGTCCATGACAAAGATAGTCAGTGCCGTTCTTAAGATAGTCAGTCCCCCGGAATCAAGATAGTCAGTGATAGTCAGTCGTTTTCCACCTGGTAAGATAGTCAGTGTGTGTAGAAAACTAAAAAGATAGTCAGTAGGCATAAAGATAGTCAGTTCCTGTGGGAAGATAGTCAGTGAGATCTCACCGAAAGATAGTCAGTAAAGATAGTCAGTTACAACACAGGGTCATACTCGATCTCCCGGTGAGAACTTCACATTTTTAGACTCACCCTTAGGCAAGACCCTTGTATTGAGGTTGGCTGGACTCATAGTGCAAGCGAGTCCGGGTACGCGGAGTTAGTCGTTTTAACGTCCCGGTCGCATTCCCAAGCGCGATATTTTAGACTGGACGTTCTTACTTGGGGGGGGACATGGGCGGGTGATTTGGCTTACCTCTGAGTGTAAATCTACTAGCGATACTCCTCAGCATAGGTAATTCCGCGCATAAACGATATGAATTAGCGATGTGGACAGATGTTAAATGATGGTCCATACTAGGGGCGAATGCAGCCCTGCCAGACGTCTCCCACCGCGTAGCACCTGTCCTGATCGCCCGGATGAGCAGTGATTATCCATGCAGTACAGAACCCAGTTGTTTTAAAATATGATTCAGCATCCAGTCCGAATTCTATAGACGACTTAAACTCGTGCATCGGTTAGGAGAACGACAGAACACGCCAGAAGCTCTCCTCCTACCGTTGGAGGCGGAAGGTAGGCAAAAAGGGCGAATTTGATTTCCAACCGCTTAATAACCAAGTAAGCACGCAAGCCGACAACCGCAGACGTAAGCATCGGTATGTGAGGTTGAGGGCGTTGGGGCGTTGGACAACATATTGAGGGCGTGAGGGCGTTGGTTGATGAGGGCGTTGGGGCGTTGGGTTGGGTTGAGGGCGTTGGGTAGCACCTTCGTGAGTCTTGGTTCACCTTCTACTTGAGATATGAGGGCGTTGGGCCCTTCCTAGAAGGTGAGGGCGTTAACTATTTAGTTATTTAGTTTAACTTGAACTATTTAGTTGTTGAATCTCGAGGGCAACAACTATTTAGTTGACAAGAGAATCTCCCAAACTATTTAGTTAAACTATTTAGTTGTTGAGGGCCAACAAGAGAATCAAAACTATTTAGTTGAATCTAAACTATTTAGTTGAGAATCTCCGTACTGCAAACTATTTAGTTAGTTAAACTATTTAGTTATCTCCCCTCGGCCTTCCCCAAGAGAATCTCGAGGAAACTATTTAGTTAGAATCTCGTGAGCAAGAACTATTTAGTTGGAACTATTTAGTTTTTAGTTTTAGTTTTAGTTTTAACTATTTAGTTGAGAAACTATTTAGTTTCAACTATTTAGTTAAACTATTTAGTTATTTAGTTAAAACTATTTAGTTCAAGAAACTATTTAGTTTCGAACTATTTAGTTTTCTCAGCCAACTAACTATTTAGTTAGTCACAAGAAACTATTTAGTTGTTTTGCTAGAGAACTATTTAGTTGTTAAACTATTTAGTTACAAGAGAACTATTTAGTTACTATTTAGTTACTATTTAGTTTCTGTCACCACTGTCGGCCTTAACAACGGTCCCCACAAGAGAATCTCGGCCATAAGCGGTATTAAGAGCCCACTGCGGTAACTGGCATGCATCACCAAACTTTTGGTTGATGATAGAAAAGGTCCTACTGCGATGCCCACCCCGGAAGCGTCACCAGCCCGCGTGCGCTCTATATTGCGAACTATGGGCAGGCCTCGGTAGGATCGATAGACAGGATGTCACCAGTAAGCACGGTGGCTATCTGCAACTTCCTCTTTAGCCCGATCCGAAAATAGACGGGCCCGTAGTCGCGACTTATAAATAACGAGTAAAACTCGCTAAACTACAAGACACGATCGCCCTCTTAAAGTGCAGTTGTTGTCCCCCTCATCTTCATTATCTACCGTTTGAACCCTCTACCTGGGGGCCTAGAGGTAGAAGCGAGGAACTTACCTCATCCATTACGCGCACTTCTATCTTTCGCGCCGCGTAGCGGCCGTTAATCCCTGTCCACCAATGCGGATAGGGTACGCACTTGAGAGCATACGGGAGTTAGTCGTAGGCGGTCCTACTATCGAAGTTAGCTGTACGTCACACCCGGAAAGCTCCAAACGCTCCTGGGCGTATAGTCCAGGTGTAAAGGAAAGTGTTGGGACGTTGCCGGAAGCCGGGGCCTCCACCTATGAACTACAAGTCATCCACCTTGGTCATTCTCCTTCCGAGCCTATAACTGTGTGCCGCGCCGGCAAGTCTCCAATGTTTATAGGAATCGTCCGGTTGCAAGCCACTAATGTGTTGTTGCCAAACGTCCTTTACCCGGTTGTCCTTGCTCGCAGCCCACGAAGCGCATCAGCGTCTTCAGAATGCAAACGTTACGGGCTGTGATTATGCAAAGTTTATGGCCTGAGCGGATACTTCACGCGCGCATCTCCAAAGCAGCACGGTGCGCTCGCAAACGCGGACACAAATGGTGGCCTCAACACGTAGGATGGCAGGAGAGGGTTTGTCCCTGAAGATTTTCTTCCACGGTTGGTACTTCTCCTTCTTACGCGGCTTAAGCGATTGGTTAGAAGCTCTGGAGCGAGGTGTTGCGACGATGCGCATGCGCCGGTCCTTTAGTCGATGCTCACGGTAAGAGGCGTGTTCAGTTGTCCCTCCGCGAACCCCGAAACATTGATGACCTCGTCGCTGTTATTTATATACCCCTGTGTGCGCTATCCACCCGCCACTGTCCGATGATCGCCTGAAGGGTCCGATGATCGCCGCGTGGCCCGGTTTTCAACGTGCCTCTCCGTCCGATCCGTCCGATGATCGCAATCCGATGATCGCGGCTTCTCGTCCGATGATCGCCTCCGATGATCGCTATCCTCCGATGATCGCCGCCAGCTCCTTCCGATGATCGCAGAAAATCCCGTTCCGATGATCGCCTTTTAACAATTTATCATTTGCTTGCAAAGGTTCTCCGATGATCGTCCGATGATCGCAGCTGGGGTCAAAATTCCAATGATCTCCGATGATCGCCCCGATGATCGCTCAACCAACTCTGAGCTTGGTAGTCCGATGATCGCCCAGATGCGTCCGATGATCGCTGGGACTTTTAAATGCAATTCCGATGATCGCACAGCCTCACGGCGATTGGTCGGTGCTTCTCGACTTCCGATGATCGCTCCGATGATCGCGGCTCTCCGATGATCGCTAATCCGATGATCGCCAGTCCGATGATCGCTTCCGATTCCGATGATCGCGATCGTAATAGAGTTACGATCCGATGATCGCACTCCGATGATCGCCGGGAAGGTTGCGATTTCCGATGATCGCCGCACTTGCATCCACTCAAGCAGGGTGTATGGATACTCTTTGTCTCCAGACATTGAGGACGTCTCTAACTACGCCTGGTCATTGGATGACTAATCCCCTATAAATGGGCTTCGGTCCTGTACTAGCGTAATCTTCTTGCTACTTTAATTTACCGCGGCCGGATTGGTTTCAAAGGATTGTATGCAACTGCGCCACATAAACCCAGGGTAGGGCCCTGTTAGTAAGGTTTTGATTACATCCCTTGAACTATGAAATAACCCGAGCGTAACTATTTGACTCCGAAGAGACGAGCCCTTATTTCGAACGAAAATATTGTAACGTTCCACACCTAATCGTGCCGGGTGGGTACAGACATGTCGCACCAACCCCTCTGGCTATGTTTTCTCGGTGGTTCTAACCCCACTCGCAGAAGTACGGATAATGTACAATCCTAGTTACCAAAGGGTATTTTGTCAGCATATGTCAGCATATCTAGCATATCTCCTCACAAAAGGTGTCAGTCAGCATATCTAAGTCAGCATATGTCAGCATATCTATATCTTCTGTAGTATGCGTCAGCATATCTCGAGCCCCAGATTTCCTCAGTCAGCATATCTAGTGTCAGCATGTCAGCATATCTAACAATAGGTCAGCATATCTTACAATCGTCAGCATATCTCAGTCAGCATATCTGGCAAGTGCGGATATATTTACAGGTCAGCAGTCAGCATATCTTCTAAATCAGCTAGCTCCGATGTTATTAAGTCAGCATATCTCGCGTCAGCATATCTTAGTCAGCATATCTTTCACCCGAGCAGAGTCCGACGAGAGGTGGTCAGCATATCTGCAGCCAGTCAGCATATCTGTCAGCATATCTTCTTCTCCAAAGTCAGCATATCTAGCATATCTTGTTTGTCAGCATATCTTGTTTGGATCCTCATGGCCAACGACTGTTCAGTCAGCATATCTGCTTACCTGGGAGGTCAGCATATCTGGATGGGTCAGCATGTCAGCATATCGTCAGCATATCTGAGTTGTCAGCATATCTGGTCAGCATATCTTGATATCGCAAACCCCTTTTCTGACATGACACTACACTCACCGTGATCTCGCGAGCCTAACATCAACCAGCCGCTCGCCTTAAGCAAGGTAAACATAGACTACGCAGATGCACACGACGGCAGCGTAAGTTGTACGCCCGGGAAGTGGAGTGCGTTCACACTTATTATGATAAGAGAGTATCATGTAGTACCGGTACTTACAAAGCGGGGATAAAGTAAGCTACAGACTCTTCGATAACTAGACTGCATGAACTATCAAACAGCCAACCTGTTACTATACTGCTCTAGGTTCAAATTGATCAGAGGTCGTGGAGGAGGGCGTTGGCGCCTCGGCGTAAGACGTCGTCGGTCGTTTGACGTGACGGGTCCGCAAAAAGTGATTGACGCTGTGTAGGATCATGGTCGAGCTATGGGGCGAAGAACTATCACCACTATCAAAAGCCCAGTCGGACCTGAGGGGGGAATAGATGCACTACTCGTGAAAGCCAACCTCAACACATTACCCATTACGCAGAACTACGATGGCAAACGAGGCGTCTGCTGGCAACCCACATGTGTTGGTTCCCATTTGTGCGACGATAGTCCATGTACAGCAAAATGAATCAAATAAGTGTGTTGCACCGACTCCAAGATGGTACTCTGCACCCAACGTTCTGTTCGGGATAGAGGAAGTACACTATGCGATCTAGAATGTTTGTCGCCTAGATTCTTGCGACTCGCCGTGAATGA", 12, 510, 20))

мой ответ(хз проверить не могу, проверялка рубит по таймауту):
AGGACTTTAAAG AAGATAGTCAGT AACTATTTAGTT TCCGATGATCGC GTCAGCATATCT
челендж дня:
1) Избавиться от мышечного стереотипа - "расправляю плечи - напрягается пресс - отпадают руки"
2) Почему-то мне легче самой сделать (когда я могу сделать. ну а чо, если я могу?), чем ждать и верить, что сделает тот, кто должен. Это эффективная в прагматичном смысле стратегия. Но стратегия-гвно в плане тактики, ибо такое поведение создает ситуацию. что в моем окружении все верят, что я сделаю и ничего не делают. Получается, я не даю людям развиваться.. обожеж мой.. Новая стратегия: я буду верить в Вас дорогие мои) делайте сами!
немного цитат с унылого мастеркласса по стартапам:

Правило №3
Есть деньги – вы интересны. Cash is a King.

Самый верный путь к успеху – каждый раз пробовать еще раз

У предпринимателя только два невосполнимых ресурса: время и доля

Легко не будет

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

Толле
Тот BU и BH, в который я верила, для меня умер. Аминь.

вівторок, 28 жовтня 2014 р.

CODE CHALLENGE: Solve the Clump Finding Problem (restated below). You will need to make sure that your algorithm is efficient enough to handle a large dataset.
Clump Finding Problem: Find patterns forming clumps in a string.
     Input: A string Genome, and integers kL, and t.
     Output: All distinct k-mers forming (Lt)-clumps in Genome.
Sample Input:
     CGGACTCGACAGATGTGAAGAACGACAATGTGAAGACTCGACACGACAGAGTGAAGAGAAGAGGAAACATTGTAA
     5 50 4
Sample Output:
     CGACA GAAGA
## данный челенж никак нельзя расчитать в онлайне.. ибо Timeout       
для вижуал студии код на примере срабатывает
def remove_duplicates(values):
         output = []
         seen = set()
         for value in values:
                if value not in seen:
                     output.append(value)
                     seen.add(value)
         return output

def Clump(Genome, k, L, t):
    res_gen = []
    for i in range(len(Genome) - L):
            #print (str(i) + " Lmer")
            L_mer = Genome[i:i+L]
            for n in range(L-k):
                count_t = 0
                k_mer = Genome[n:n+k]
                #print str(n) + "kmer"
                for j in range(0, L-k):
                    #print str(j) + " step"
                    if k_mer == L_mer[j:j+k]:
                        count_t +=1
                #print ("t= " + str(count_t))
                if count_t >= t:
                        res_gen.append(k_mer)
    res_gen = remove_duplicates(res_gen)
    return " ".join(res_gen)  

print (Clump("CGGACTCGACAGATGTGAAGAACGACAATGTGAAGACTCGACACGACAGAGTGAAGAGAAGAGGAAACATTGTAA", 5, 50, 4)) 

НО! по квизу задание с данными в 9тыс нуклеотидов и последовательностями в 590 штук у меня уже считает добрых 15 минут.. это никак не укладывается в таймлимит по заданию - 5 мин.

Открыла VisualStudio 2013. Хотела там найти Python. Нашла. Сначала оно меня попросило установить тулзы для питона. Я да.
Потом я не понимаю как мне выполнять мой код??.. При запуске ругается. Говорит нет стартаповского прожекта. Погуглила. Пересоздала проект консольное приложение. Говорит: не найдено компилятора. Инсталируйте. Инсталировала. При запуске ругается при вызове фукции (на синтаксис??), хотя ф-ция описана тут же.  Почему так? Как в таких условиях исследовать геном вибриона холлеры?
Послушала лекции по третьей неделе биоинформатики. Английский у этого второго лектора не такой понятный как у первого.. трендит быстро и неразборчиво.. а от секвенирования антибиотиков мой мозг просит отдыха уже после четвертой лекции. 

Но. не смотря на всё. Это всё очень-очень занятно.
-------------------------

Оказалось.. VisualStudio считает, что метод print в python должен содержать аргумент в скобках (ПОЧЕМУ ТО все  онлайновые компиляторы съедали аргументы через пробел..).
Итого: 
def product(lst):
    res = 1
    for i in lst:
        res *= i
    return res
print (product([4, 5, 5])) 
Отрабатывает отлично. Нашлось совместными усилиями по факту фейла принта ХеллоВорд)) 

Итого: проблема поиска позиций в геноме вибриона холеры, на которых встречается искомый фрагмент кода 60039 98409 129189 152283 152354 152411 163207 197028 200160 357976 376771 392723 532935 600085 622755 1065555
Такая история.


CODE CHALLENGE: Solve the Pattern Matching Problem (restated below).
Pattern Matching Problem: Find all occurrences of a pattern in a string.      Input: Two strings, Pattern and Genome.      Output: All starting positions where Pattern appears as a substring of Genome.
Sample Input:      ATAT      GATATATGCATATACTT
Sample Output:      1 3 9
##надобно вывести номера позиции в Genome, на которых стоит Pattern). Я подолбалась с этим челенжем. ибо вроде у меня все хорошо - а квиз не принимает мое решение - говорит incorrect. Оказалось: мой аутпут был в виде списка через запятую, а надо было строку через пробел. Поменять формат аутпута и все принялось. 

Correct! Done!))
def pos_reverse(Pattern, Genome):
       pos = []
       for i in range(len(Genome)):
              if Genome[i:i+len(Pattern)] == Pattern:
                    pos.append(str(i))
       return " ".join(pos)

print  pos_reverse("ATAT", "GATATATGCATATACTT") ==> 1 3 9

На реальных данных для генома вибриона холеры я не могу просчитать эти позиции, поскольку онлайновый питоновский компилятор не принимает строку такой длины - 1.1 Мб текста. Принимает максимум 59675 символов, а в геноме - 1108251. Но даже для того, что приняло - не считает почему-то.. те.е отрабатывает и выдает пустой лист, какбы говорит. что таких последовательностей в этом куске генома как бы нет.. такое может быть? теоретичсеки млжет быть, ибо это 18 часть всего кода..   С этим надо что-то решить..
практика Кодекадеми:
1) написать йф-цию, которая ищет в тексте слово и меняет его на звездочки (екзасмпл: при инпуте censor("this hack is wack hack", "hack"должно вывести "this **** is wack ****").

Done!)))

def censor(text, word):
    ast = []
    for i in range(len(text)):
        ast.append(text[i])
    for i in range(len(text)):
         if text[i:i+len(word)] == word:
            for n in range(i, i+len(word)):
                ast[n] = "*"
    return "".join(ast)

print censor("this hack is wack hack", "hack")

2) посчитать сколько раз заданный элемент встречается в списке:

Done!)))

def count(sequence, item):
    count = 0
    for i in sequence:
        if i == item:
            count += 1
    return count
print count([1,2,1,1], 1) ==> 3

3) отфильтровать в списке все нечетные:

Done!)))

def purify(lst):
    res = []
    for i in lst:
        if i % 2 == 0:
            res.append(i)
    return res
print purify([1,2,3]) ==> [2]

4) найти произведение эелементов спискка (это уже както эелементарно с первого раза получается, уже не занятно становится)

def product(lst):
    res = 1
    for i in lst:
        res *= i
    return res
print product([4, 5, 5]) ==> 100

5) убрать дубликаты из списка (порядок неважен)

def remove_duplicates(lst):
    res = []
    for i in lst:
        if i not in res:
            res.append(i)
    return res
print remove_duplicates([1,1,2,2]) ==> [1,2]

6) найти медиану ряда

def median(lst):
    lst = sorted(lst)
    if len(lst) % 2 == 0:
        med = float(lst[len(lst)/2 - 1] + lst[len(lst)/2])/2
    else:
        med = lst[(len(lst)-1)/2]
    return med
print median([5, 4, 5, 4])

I`v earned a badge!)
    
Инсайт вчера и сегодня:
Моя сила - не в силе.
Истина - не в вине. Истина везде.

понеділок, 27 жовтня 2014 р.

CODE CHALLENGE: Solve the Reverse Complement Problem.
Sample Input:
     AAAACCCGGT
Sample Output:      ACCGGGTTTT
##надобно: для цепочки ДНК сгенерить комплементарную в обратном направлении (реверснутую)

def  reverse_complement(pattern):
    reverse_pattern = []
    for i in range(len(pattern)):
        if pattern[i] == "A":
           reverse_pattern.insert(i,"T")
           
        elif pattern[i] == "T":
           reverse_pattern.insert(i,"A")
           
        elif pattern[i] == "C":
           reverse_pattern.insert(i,"G")
           
        elif pattern[i] == "G":
           reverse_pattern.insert(i,"C")
           
        else:
           print "error. not DNA nucleotide"
    
    reverse_pattern.reverse()
    return "".join(reverse_pattern)
print reverse_complement("AAAACCCGGT")

ай дидит=) коррект!


CODE CHALLENGE: Solve the Frequent Words Problem.
     Input: A string Text and an integer k.
     Output: All most frequent k-mers in Text.
##комменты-комменты: в даном челенже надо было найти наиболее часто повторяющиеся последовательности с заданной длиной в заданном тексте
I did it!!!))
##йф-цию PatternCount взяла из предыдущего челенджа. а йф-цию remove_duplicates, которая удаляяет повторяющиеся элементы в строке - нагуглила. отдельно не тестила. вроде работает. Строки print "patt " + Pattern и  print Count[i] мне нужны были, чтоб оддебажить код, их можно(и даже нужно) закомментить при расчетах, а то будет портянка значений при выводе. Ну а дальше сам код. Вот:

def PatternCount(Text, Pattern):
         counter = 0
         for i in range(len(Text)):
                if Text[i: i+ len(Pattern)] == Pattern:
                    counter += 1
         return counter

def remove_duplicates(values):
         output = []
         seen = set()
         for value in values:
     if value not in seen:
         output.append(value)
         seen.add(value)
         return output


def FrequentWords(Text, k):
       FrequentPatterns = []
       Count = []
       for i in range(len(Text)-k+1):
            Pattern = Text[i: i + k]
            print "patt " + Pattern
            Count.append(PatternCount(Text, Pattern))
            print Count[i]
       maxCount = max(Count)
       for i in range(len(Count)):
            if Count[i] == maxCount:
                FrequentPatterns.append(Text[i: i+k])
       FrequentPatterns = remove_duplicates(FrequentPatterns)
       return FrequentPatterns


print FrequentWords("ACGTTGCATGTCGCATGATGCATGAGAGCT", 4)

patt ACGT
1
patt CGTT
1
patt GTTG
1
patt TTGC
1
patt TGCA
2
patt GCAT
3
patt CATG
3
patt ATGT
1
patt TGTC
1
patt GTCG
1
patt TCGC
1
patt CGCA
1
patt GCAT
3
patt CATG
3
patt ATGA
2
patt TGAT
1
patt GATG
1
patt ATGC
1
patt TGCA
2
patt GCAT
3
patt CATG
3
patt ATGA
2
patt TGAG
1
patt GAGA
1
patt AGAG
1
patt GAGC
1
patt AGCT
1
['GCAT', 'CATG']


for input:
GCAACATCGCTCTACCTGGATAGCGCATCACCAGAAATCACCAGAAGATAGCGCGAAAGAAAATGAAAGAAAATGCTCTACCTGGATAGCGCGCTCTACCTGGATAGCGCATCACCAGAAGAAAGAAAATGAAAGAAAATGCTCTACCTGGCTCTACCTGGAAAGAAAATGATAGCGCATCACCAGAAGATAGCGCGAAAGAAAATATCACCAGAAGCAACATCGCTCTACCTGGCTCTACCTGGATAGCGCGATAGCGCATCACCAGAAGAAAGAAAATGATAGCGCGCAACATCGAAAGAAAATGCAACATCGAAAGAAAATGAAAGAAAATATCACCAGAAGAAAGAAAATGCTCTACCTGGCAACATCGCAACATCGAAAGAAAATGATAGCGCGCAACATCATCACCAGAAGAAAGAAAATGCAACATCATCACCAGAAGATAGCGCGCTCTACCTGATCACCAGAAGCAACATCGCAACATCGAAAGAAAATATCACCAGAAGATAGCGCGCTCTACCTGGCTCTACCTGGCAACATCGCTCTACCTGGATAGCGCATCACCAGAAGATAGCGCGCTCTACCTGGATAGCGCGAAAGAAAATATCACCAGAAGAAAGAAAATATCACCAGAAGCTCTACCTGGAAAGAAAATGCAACATCGCAACATCATCACCAGAAATCACCAGAAGCTCTACCTGGATAGCGCGCAACATCATCACCAGAAGAAAGAAAATGCAACATCGATAGCGCGAAAGAAAATGCTCTACCTGGAAAGAAAATGCTCTACCTGGATAGCGCGAAAGAAAATGATAGCGCGCAACATCGCAACATCGAAAGAAAATGATAGCGCGAAAGAAAATGAAAGAAAATGCTCTACCTGGATAGCGCGCTCTACCTGGCAACATCATCACCAGAAGCAACATCGAAAGAAAATGCAACATCGATAGCGCGCTCTACCTG
14
my output:
['GCTCTACCTGGATA', 'CTCTACCTGGATAG', 'TCTACCTGGATAGC', 'CTACCTGGATAGCG', 'TACCTGGATAGCGC']

AND ITS CORRECT YEAH

таск челенж на неделю:
рефлексия по внутренним ощущениям гармоничности
т.е.
что было не сделано из того, что хотелось
что было сделано из того, что не хотелось

+ программа действий по выводам (зачем менять неблагодарного кого-то, если можно поменять благодарную себя): реакции, которые возникают у меня (если они мне не нравятся, вредят, вредят другим etc) - это МОЯ проблема, которую можно решить поняв, а как я бы хотела реагировать? ибо пока непонятно - реакция будет той, КОТОРАЯ ЕСТЬ по  каким-то причинам (по каким уже в сущности не так интересно, как то: КАКОЙ ОНА ДОЛЖНА БЫТЬ (мне бы хотелось, чтобы она была))

=) Питоооон. Питончик
Йф-ция для подсчета очков за слово, если каждой букве соответствует куакое-то конкретное количество очков. Работает) Ограничение на ввод "небуквенных" слов. Буквы в словах можно вводить в любом регистре.

score = {"a": 1, "c": 3, "b": 3, "e": 1, "d": 2, "g": 2,
         "f": 4, "i": 1, "h": 4, "k": 5, "j": 8, "m": 3,
         "l": 1, "o": 1, "n": 1, "q": 10, "p": 3, "s": 1,
         "r": 1, "u": 1, "t": 1, "w": 4, "v": 4, "y": 4,
         "x": 8, "z": 10}
       
def scrabble_score(word):
    if word.isalpha():
        wordC = word.lower()
        sc = 0
        for i in wordC:
            sc += score[i]
        return sc
    else:
        return "error input is not word"
     
 

print scrabble_score("Zoo!!!__")  


CODE CHALLENGE: Implement PatternCount (reproduced below).
     Input: Strings Text and Pattern.     Output: Count(TextPattern).

Йф-ция PatternCount(Text, Pattern) должна считать сколько раз паттерн встречается в тексте. Элементарно.
Питоновский компилятор в кодекадеми судя по всему не универсален, а заточен под конкретные задания.. что впринципе и логично, но печально. На мой код он ругается. Но! Я нагуглила онлайн компилятор http://codepad.org/ и все прекрасно алилуя:

def PatternCount(Text, Pattern):
     count = 0
     for i in range(len(Text)):
                if Text[i: i+ len(Pattern)] == Pattern:
                    count += 1
     return count
print PatternCount("ABCDEFABCDAB", "AB")
for input:
TTTTCTTATTTTCTTATTTCTTATCCAAAGTTTCTTATTTCTTATTTCTTATTTCTTATTTCTTATTTCTTATCTTCTTATTTTCACCAAGCATTTCTTATTTCTTATTTCTTATGCACTCTTCTTATTTTCTTATCGTTCTTATCATTCTTATTGCCTTTCTTATCATTCTTATATTCTTATCCGAGAACTTCTTATCTACGCATTCTTATCTCCTTCTTATGTTCTTATTCGGAGCTAGCTTCTTATTTCTTATGGTAATTTCTTATTACTTCTTATTTCTTATTTCTTATTGGCTGTCGCGTTCTTATCTGTTCTTATAGTTTCTTATTTCTTATTTCTTATTTCTTATAATTCTTATAATTTCTTATGGACTTCTTATTTCTTATTTCTTATAGGTCGGGGACTGGGCACTTTCTTATTTCTTATTTCTTATCCATTCTTATACATATTCTTATCTCTTTTCTTATTTCTTATGAAAAATTCTTATGGATTCTTATTTTTAATCGCCTTCTTATTTGTTCTTATGTTCTTATACCCATTCTTATAATAACTTCTTATACATTCTTATTTCTTATGCGATCCTTTTCTTATATACGGTGTTCTTATTTCTTATTTCTTATACTTTCTTATCTTCTTATTTCTTATATCGATGATTTCTTATTTCTTATAAAGCTTCTTATAATTCTTATTTCTTATTCTTCTTATCAGTTATTCTTATTTCTTATTGAACCTTTCTTATAGTTCTTATGGCAATTTCTTATTCCTTCTTATGTCCTTCTTATGCTTCTTATGTTCTTATTTCTTATGTTACATTCTTATTTATTTTCTTATTGTTCGGTTCTTATCAGGTTCTTATAGATTCTTATTTCTTATAGTTCTTATTTCTTATACTGTTCTTATTTCTTATCTTCTTATGCAAGTGCTTCTTATGCATTCTTATTTTCTTATATATTTCTTATACTATCCTTCTTATATTCTTATTTTTCTTATCGGAGTTCTTATTATTCTTATATTCTTATTTCTTATTTCTTAT
TTCTTATTT
=40

CORRECT!! I did it )))


неділя, 26 жовтня 2014 р.

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

субота, 25 жовтня 2014 р.

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

пʼятниця, 24 жовтня 2014 р.

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







Мир становится лучше. Люди постигают дзен сами того не подозревая.

Еду. Заходят в троллейбус два студента в форме военной. Один включает плеер и через гвняные наушники доносится отборный драмендбейс. Второй ему говорит: "Твои качающие ритмы слушает весь троллейбус". Первый невозмутимо, медленно и внимательно обводит оценивающим взглядом полупустой салон, останавливаясь на каждом пассажире, и ровно, взвешенно, уверенно изрекает: "Пусть".

Случается.