Правда есть опасность что вброс получится неудачным и не будет иметь эффекта. Например, потому что вас не поймут. Так что думайте, та ли это аудитория. Будет ли реакция. Может им это не интересно?
воскресенье, 25 апреля 2010 г.
О троллях
Возможно, кто-то скажет что я выжил из ума, кто-то после этого поставит на мне крест как на сколь-нибудь достойном внимания человеке, но в последнее время мне начало казаться что тонкий троллинг это полезное явление. Я не говорю про эти скучные, очевидные вбросы, навроде "ХХХ - гавно", хотя и они иногда имеют позитивный эффект на общество, в которое этот вброс был сделан (ну не все же такие умные и знают, что у ХХХ есть недостатки :)). Если такой вброс сопровождается аргуметацией, есть шанс узнать много нового. Кто-то узнает что недостаток ХХХ это недостаток. Кто-то узнает, что это достоинство ХХХ это на самом деле недостаток. Кто-то узнает, что у ХХХ есть недостаток. Кто-то узнает что этот недостаток ХХХ это достоинство. Ну разве не позитивный эффект-то? :) Да, не всегда. 99.99% вбросов уже были и это скучно. Читайте архивы. :) Но таки да, больше вбросов, новых и интересных. Прочитайте архивы, найдите новую, интересную тему вброса и сделайте его. Мало кто заметит, что это сознательный вброс. Не забудьте найти достаточные аргументы, чтобы было чем начать дискуссию. Если повезет, она начнет самоподдерживаться, но лучше разобраться в теме получше оппонентов. А после этого смотрите, как они истерично херачат свои мониторы и клавы, брызжут слюной, плюются ядом и переходят на личности. Они это заслужили :)
Правда есть опасность что вброс получится неудачным и не будет иметь эффекта. Например, потому что вас не поймут. Так что думайте, та ли это аудитория. Будет ли реакция. Может им это не интересно?
Правда есть опасность что вброс получится неудачным и не будет иметь эффекта. Например, потому что вас не поймут. Так что думайте, та ли это аудитория. Будет ли реакция. Может им это не интересно?
пятница, 9 апреля 2010 г.
Пытаемся писать планировщик, который планирует за нас, часть 2
Прошло некоторое время, за которое обрисовался кое-какой базовый функционал, который уже получилось накодить. В процессе нарисовался некий общий принцип, частично угнанный у Девида Аллена из его GTD, ну и из ThinkingRock. :) Но видимо из меня бездарный проектировщик, потому что докручивание туда нужных фич похоже больше на головную боль.
Основная идея работы с планировщиком выглядит примерно так:
То что думается добавить, это наверное возможность отнести задачи к какому-либо проекту/подпроекту, с опциональным наследованием от него дедлайнов и приоритетов (которые, конечно же, пока отсутствуют). Затем - зависимости задач. Чтобы вы могли принять душ до поездки в офис, а не после. И чтобы поездка в офис была раньше задач в офисе, а не после (гы-гы), и т.д. В общем, простора много.
Основная идея работы с планировщиком выглядит примерно так:
- Юзер вбивает свои "идеи" действий и примерную длину (необязательно, для справки) в некий список идей.
- Когда у юзера появляется время, он переходит к обработке этих "идей", а именно уточняет, есть ли у идей какое-то жесткое расписание, длина и т.п. В будущем, скорее всего, он сможет также добавить к идее приоритет, дедлайн, и прочие атрибуты, которые улучшат интеллектуальность планирования.
- Когда он закончит, он сможет полученные из идей "задачи" смотреть и править сколько угодно раз, а затем, собственно, запускать процесс планирования, который составит большое календарное расписание на какой-то недлинный период времени. Пока что оно умеет просто: а) задачи с расписанием поставить в точно запланированное юзером время, либо, если время начала задачи не задано, найти свободный промежуток, начиная с начала суток (конечно, это нехорошо, но это только базовый функционал :)). б) остальные задачи просто поставить в свободное время.
- Ну и теперь он смотрит и любуется на календарик с разноцветными прямоугольничками задач.
То что думается добавить, это наверное возможность отнести задачи к какому-либо проекту/подпроекту, с опциональным наследованием от него дедлайнов и приоритетов (которые, конечно же, пока отсутствуют). Затем - зависимости задач. Чтобы вы могли принять душ до поездки в офис, а не после. И чтобы поездка в офис была раньше задач в офисе, а не после (гы-гы), и т.д. В общем, простора много.
вторник, 23 марта 2010 г.
Закрыть, свернуть, развернуть
В то время как все хаят планируемое нововведения в Lucid Lynx - перемещение кнопок управления окном влево, я решил попробовать свой вариант.
Изменить расположение кнопок можно через gconf-editor по ключу apps/metacity/general/button_layout, что я и сделал, но выбрал порядок как это принято в MacOS: закрыть, свернуть, развернуть.
Хотя "развернуть" используется довольно редко, ведь достаточно двойного клика по заголовку окна.
Скажу честно - неудобств не замечено. возможно, стало даже немного удобнее, но судить трудно. Так что никакой трагедии нет :).
Изменить расположение кнопок можно через gconf-editor по ключу apps/metacity/general/button_layout, что я и сделал, но выбрал порядок как это принято в MacOS: закрыть, свернуть, развернуть.
Хотя "развернуть" используется довольно редко, ведь достаточно двойного клика по заголовку окна.
Скажу честно - неудобств не замечено. возможно, стало даже немного удобнее, но судить трудно. Так что никакой трагедии нет :).
О планировании и календарях
Не успел я начать писать свой планировщик с календарем, как Google внезапно решила научить свой календарь перепланированию событий
воскресенье, 21 марта 2010 г.
Лытдыбр на будущие времена
понедельник, 15 марта 2010 г.
Одна моя странная идея
Вы когда-нибудь видели планировщик задач или органайзер или календарь, который позволяет не планировать время для той или иной задачи жестко самому, а умеет делать это автоматически? Ну, скажем, вы задаете время, когда спите, с которого часа по какой вы работаете (т.е. находитесь в определенных местах), закидываете туда что вы хотите делать (с зависимостями от событий/других задач), а эта штука пыталась бы выбрать, когда вам лучше чем заняться сама по себе?
Если такого нету, а мне такое хочется попробовать накарябать чисто с точки зрения программирования (т.е. написать какую-то реализацию такого планировщика), но что-то не понятно, как.
Если такого нету, а мне такое хочется попробовать накарябать чисто с точки зрения программирования (т.е. написать какую-то реализацию такого планировщика), но что-то не понятно, как.
Вообще не понятно как можно расставлять задачи на бесконечной прямой времени, как их при этом хранить и как при этом отличать занятое время от незанятого. Пока только родилась идея планирования на n дней вперед (тем более что больше смысла не имеет), путем записи отсортированного по времени начала ассоциативного массива с элементами типа "диапазон времени", с циклической проверкой всего массива на пересечения при попытки вставить новое событие (вот не медленно ли это, хз). При этом стоит заметить что повторений и цикличности в полной мере в этом случае никогда не будет, ибо каждый день, неделя и т.д. в реальности всегда уникален и наполнен своими событиями.
Итак, пока мысль такая: создаются объекты типа Task, засунутые в контейнер. Задачи хранят время, выделенное на задачу, некоторые атрибуты типа "обязательная" и "имеет жесткое расписание" или "должна выполняться перед ..." или "после ...". Мы проходим по всем задачам в контейнере и добавляем в план задачи с расписанием в первую очередь. Затем мы повторяем это с задачами, у которых есть зависимости от задач с расписаниями, и снова их добавляем. На этом, вроде-бы со всеми жестко привязанными вариантами мы должны были разобраться (а если не получилось сделать это так чтобы ничего не пересеклось, сделаем себе хедшот в виде эксепшена). Далее начинается самое сложное и интересное, ибо тут мы будем как раз пытаться сделать работу за человека :).
Есть пара вариантов, как можно работать с множеством задач без расписания, у которых есть разные приоритеты.
1. Это просто сортировать задачи по приоритетам и забивать ими все свободное время. Но это скучно и неинтересно для моего мозга, поэтому я бы такое расписание даже не стал юзать.
2. Сделать нечто похожее на работу планировщика задач CPU. Разбить задачи на кванты определенной длины (т.е., скажем, по 30 минут), а затем, как и OS, закидывать их с учетом приоритета на все свободные промежутки времени. Реализацию этого точно можно где-то подсмотреть. :)
Вот собственно и вся идея решения такой проблемы, но до конкретной реализации пока не додумал.
О разнообразии
Вот сколько помню, в любом университете или школе при составлении расписания делаются вещи вроде "Математика - 8 часов в неделю, русский язык - 6 часов в неделю", но не делают никогда длинный период математики в четверти/семестре, за которым следует длинный период русского языка, да и никогда не бывает в неделе два дня чистой математики и т.д. С какой целью делается это именно так (может это способствует лучшему усвоению всего материала?). Если это имеет под собой особенную основу, интересно было бы знать где о ней почитать и как она обзывается.
Подписаться на:
Сообщения (Atom)