пятница, 24 октября 2008 г.

Введение в вездесущность

Вездесущность: именно такой термин описывает одно из самых популярных направлении в програмном обеспечеии на сегоднящний день: ubiquitous systems.

Wikipedia даёт нам следующее определение: модель общение человека с компьютером при котором процесс обработки информации интегрирован в многочисленные предметы окружающие нас и выходит за рамки превычного нам компьютера. Является следующим эволюционным этап развития вычислительной техники - "post-desktop" [при котором человек соответсвенно непрерывно использовал свой локальный компьютер для вычисления или общения через Интернет итд]. Самы простым примером конечно было бы описание системы - компьютер, мобильныя телефон, иные подобные (синхронизируемые) устройства ...

НО ...

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

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

PS: Наиболее частыми терминами встречающимися с вездесущностью являются Context-aware системы и RFID.

суббота, 18 октября 2008 г.

Некоторые проблемы поисковых систем

С ростом популярности Интернета, глобализацией мира и увеличением население (и как следствие рост как пользователей так и поставщиков информации через Интернет) количество информации в Интернете растёт экспоненциально. Как следствие, проблема поиска информации выполняемая поисковыми системами типа Google всё время усложняется. Очевидной проблема является постоянно увеличивающаяся нагрузка на оборудование с ростом объёма хранимой информации, а также непрерывно снижающаяся перидоичности ре-индексации ресурсов. Однако проблем увеличения объёма затрагивает не только поставщика услуги поиска информации, но отражается и на потребителях - количество ссылок на многие, даже специфические запросы столь велико, что обработать результат не представляется возможным.

Если результат выполнения поиска помещяется на 100 страницах, то он имеет столько же смысла как и 20 страничный ответ.

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

Исследования показывают, что 81% пользователей не будут листать в поисках информации далее 3-х листов и либо откажутся от поиска либо переформулируют свой запрос.
Поскольку сегодня многие пользуются экранами с достаточно большим разрешением, то неиспользованное пространство можно было бы использовать для алгоритмов искуственного интеллекта, предлагающие там возможные варианты переформулирования запроса основываясь на
1. Фильтрации по типам найденных документов: HTML, PDF, DOC etc
2. Фильтрации на основе ключевых слов наиболее часто употребляемых вместе с терминами используемыми в текущем поиске
3. Логическое продолжение и дополнение терминов поиска основанное на логике предыдущих запросов.

Следует также упомянуть попытки визуализации выполнения запросов основанные за 3D представлении результата по
1. Темам
2. Подобию документов
3. Временные линии (наподобии организации фотографий по дате используемой во многих современных программах / когда фотографии располагаются вдоль оси времени или по оси времени показана гистограмма построенная на основе количества фото сделанных в каждый элементарный промежуток времени данной временной оси).

вторник, 14 октября 2008 г.

Само-организующиеся команды. Введение.

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

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

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

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

четверг, 9 октября 2008 г.

Программное обеспечение для автомобиля

Американская компания Ford будет включать в свои модели новую базовую опцию – система MyKey позволит родителям юных водителей самим задавать скоростные настройки автомобиля, чтобы подросток, получивший права, не мог превысить скорость.

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

Система представляет собой обыкновенный ключ зажигания со встроеным микрочипом, с помощью которого можно будет ограничивать скорость, выставлять максимально допустимую громкость магнитолы, каждую минуту будет включать звуковой сигнал, если . водитель не пристегнется и не позволить отключить системы безопасни езды (stability, traction control). Такое предупреждение есть и у других машин, не оборудованных данной системой, однако оно выключается через 5 минут, а в автомобилях с MyKey сигнал будет звучать бесконечно.
Английская версия пресс-релиза
Введние такой опции обусловлено тем, что ежегодно на дорогах в США гибнет около 5 тыс. юных водителей. Кроме того, исследователи Американского института дорожной безопасности (IIHS) установили, что молодые люди в возрасте 17–18 лет почти в 10 раз чаще попадают в аварии, нежели взрослые в возрасте от 30 до 59 лет. Кроме того, в IIHS утверждают, что гибель в авариях – одна из наиболее распространенных причин подростковой смертности.

Тенденции развития систем контроля начинающих водителей родителями набирают обороты по всему миру. Так, в марте 2008 года британская компания Green Road разработала специальное устройство размером не больше обычного ноутбука, которое устанавливается в машину и позволяет родителям следить, насколько аккуратно и безопасно ездят их дети, недавно получившие водительское удостоверение. Приспособление способно распознавать более 100 различных показателей при езде на автомобиле, таких как ускорение при обгоне, интенсивность торможения, скорость при прохождении поворотов. Кроме того, оно учитывает, сколько раз юный водитель проехал на запрещающий сигнал светофора. Все эти данные, а также и многие другие показатели публикуются в интернете на специальном сайте компании. В салон же автомобиля выведены три индикатора различного цвета. Если горит зеленая лампочка, то это значит, что водитель ездит аккуратно и правила не нарушает, желтый цвет предупреждает о том, что следует ездить аккуратнее. Ну а красный свет говорит о крайне опасной и неосторожной езде.

вторник, 7 октября 2008 г.

Методы тестирования

"Evaluating testing methods by delivered reliability" - статья которая даёт представление о некоторых методах тестирования с несколько иной точки зрения нежели широко расспростарнённая классическая методика.

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

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

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

Можно сказать, что поиск вариант "а" является активным способом поиска ошибок, а вариант "б" пассивным, ибо при оперативном тестировании просто запускаются реальные сценарии (либо автоматизированно, либо тестер следует им вручную) и мы просто ожидаем появления ошибок.

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

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

воскресенье, 21 сентября 2008 г.

Эстония - Трудовой контракт и запрет на работу на конкурентов

Данный пост касается трудового законодательства Эстонской республики и касается некоторых аспектов трудового договора.

Данный текст небыл опробирован в суде и основывается на информации полученной от других лиц.

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

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

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

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

обратите внимание, что помимо этого в договоре всегда имеется пункт о неразглашении коммерческих секретов.

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

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

Давайте разберёмся в чём тут дело. Закон говорит, что ни один законодательный акт (тем более отношения регулируемые трудовым договором) не могут иметь силу выше, чем основной закон. Основной же закон регулирует базовые свободы человека.

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

Основной закон же содержит право на труд и самореализацию человека. Поэтому работодатель не может просто так запретить работать человеку (или работать в определённой отрасли где человек самореализаются). Единственно - можно догориться о том что человек не будет работать за плату на иные конкурирующие структуры в течении какого-то времени (максимум год чтобы человек не потерял совсем квалификацию) если фирма будет платить разумную компенсацию за это (тем самым как бы предоставляя человеку отпуск за счёт фирмы). "Разумнаю" компенсация определяется либо договором либо судом (если дойдёт до этого), но ни один суд не акцептирует сумму менее чем примерно 70% от зарплаты которую человек получал по конракту до его окончания.

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

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

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


Кстати всё выше перечисленное уже нашло отражение в проекте нового закона о труде.

воскресенье, 14 сентября 2008 г.

Церемония защиты докторской работы в Голландии

Мне всегда было интересно узнать как защита докторской работы (да и собственно весь процесс обучения) проходит в других странах и университетах. Сегодня я наткнулся на интересный пост о церемонии защиты в Голландии (написанным на английском языке). Традиционно ниже приводится перевод данного текста:

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

Защитник и paranimf-ы находятся во фраках, Pedel и профессора в академическом одеянии, прочие оппоненты в костюмах. В качестве зрителей присустсвуют друзья защитника и его близкие.

Церемония открывается с короткого обзора работы который делает докторант для аудитории с подиума (кстати есть страны в которых обязанность по защите докторской работы возложена на руководителю, а не на докторанта). Затем, следуя за Pedel в часовню входят оппоненты и руководитель, следуют через весь зал и занимают места на хорах. В течение сорока пяти минут оппоненты по очереди, задают каверзные вопросы защищающемуся о его работе. В конце Pedel снова входит в часовню, проходит до подиума, поворачивается к аудитории и стукнув посохом возвещает - "Hora Est" (время истекло).

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

Церемония заканчивается поздравлениями, во время которой присутствующие по очереди подходят к докторанту (а теперь уже доктору наук), и традитсионным праздничным ужином.