В нашем центре разработки существует обязательная практика написания Project Management Plan'а (PMP) для каждого проекта. Под РМР у нас понимают документ объемом около 20-30 страниц следующего содержания:
- Scope проекта (milestones, deliverables, assumptions, constraints и т.д.)
- организационные диаграммы: внутренняя + интерфейсы на стороне заказчика
- планы по управлению рисками, требованиями, изменениями, схема эскалации проблем
- методики оценки проекта, планы верификации и тестирования, процедуры приемки задач и пр.
- план-график проекта
- цели качества и контролирующие их метрики
- план обучения персонала
- и т.д.
От каждого (условно) project manager'а в обязательном порядке требуется:
- составить такой документ (с учетом проектных задач, которые никто не снимает - 2-3 недели)
- провести ревью внутри команды с привлечением инженера по качеству, учесть замечания (если в команде человек 10-15 - 1 неделя)
- провести еще одно ревью с участием руководителя группы качества и сайт-менеджера и утвердить РМР на нашей стороне (с учетом занятости таковых - 2 недели)
- утвердить документ с ПМ'ом на стороне заказчика (с учетом занятости такового - 2 недели)
В общем итоге, составление и утверждение РМР занимает около 2 месяцев. За это время, разумеется:
- изменяется scope проекта, появляются новые задания и активности
- изменяется состав команды (кто-то приходит, кто-то, возможно, уходит)
- сдвигается план-график
- уточняются цели качества, изменяется набор метрик
- люди обучаются, план обучения также эволюционирует.
Все эти изменения требуют обязательного переутверждения РМР с проведением внутрикомандного ревью, что занимает около 6 недель. Таким образом, имеем:
- постоянно отстающий от реальности РМР
- постоянный цейтнот в связи с необходимостью его переутверждения (многие на это забивают, получая в результате другие проблемы: либо необходимость обманывать группу качества, декларируя соответствие реальности фактические устаревшего РМР, либо необходимость отбиваться от руководства, требующего переутверждения РМР).
Пути решения могут быть, например, такими:
- упрощение процедуры переутверждения РМР
- упрощение содержания РМР
- отказ от РМР.
Ага?
Настройка микрофона в Skype 2.1 под Ubuntu 10.04
У меня ноут Acer Aspire 3935, и я только что победил PulseAudio-микрофон в Skype!
Решение, которое мне помогло:
1. Устанавливаем pavucontrol:
2. Запускаем pavucontrol, переключаемся на вкладку "Input Devices". Убеждаемся, что ползунки "Front Left" и "Front Right" движутся синхронно. В этом и проблема: в ноуте моно-, а не стерео-микрофон. Поэтому нажимаем кнопку "Unlock" и левый устанавливаем на 90%, а правый - на 10%.
После этих манипуляций у меня все заработало.
Решение, которое мне помогло:
1. Устанавливаем pavucontrol:
sudo apt-get install pavucontrol
2. Запускаем pavucontrol, переключаемся на вкладку "Input Devices". Убеждаемся, что ползунки "Front Left" и "Front Right" движутся синхронно. В этом и проблема: в ноуте моно-, а не стерео-микрофон. Поэтому нажимаем кнопку "Unlock" и левый устанавливаем на 90%, а правый - на 10%.
После этих манипуляций у меня все заработало.
"Толстые" дороги в SLD
Для отрисовки карт в нащих плагинах к uDig, мы используем Styled Layer Decorator (SLD).
На прошлой неделе я решал проблему отрисовки дорог шириной более 1 пикселя. Вот как оно выглядело изначально:

Очевидные проблемы:
SLD обеспечивает настройку правил для отрисовки дорог с помощью LineSymbolizer:
Предполагается, что, управляя параметрами linejoin (miter, round, bevel) и linecap (butt, square, round), можно добиться желаемого эффекта. Например, в статье "GeoServer render OpenStreetMap" приводится реальный SLD-стиль, использующийся для отрисовки OSM. Как видно из примеров, хороших результатов удалось добиться только для мелких масштабов; при приближении становятся видны артефакты перекрестков и назойливые "сосисочные" окончания дорожных сегментов.
Продолжив поиски и поэкспериментировав с параметрами LineSymbolizer, я сделал вывод, что возможностей SLD для отрисовки таких "толстых" дорог, какие у нас были изначально (8-14 пикс.) попросту недостаточно. Уменьшив ширину до 2-6 пикселей и выставив linecap = butt, linejoin = miter, я получил такой результат:

Цвета я поменял на более близкие к Google Maps, но это не принципиально.
Кроме этого, заметил следующее:
На этом я пока что и остановился.
На прошлой неделе я решал проблему отрисовки дорог шириной более 1 пикселя. Вот как оно выглядело изначально:

Очевидные проблемы:
- Отрисовка перекрестков. На перекрестках дорог видно не соединенные между собой окончания сегментов.
- Взаимное наложение дорог. При слишком близком расположении, дороги хаотически взаимно перекрываются. Особенно это заметно, опять же, на перекрестках. Кроме того, в левом верхнем углу заметно, что сегменты двух дорог (со стрелочками) также поочередно перекрываются.
SLD обеспечивает настройку правил для отрисовки дорог с помощью LineSymbolizer:
<sld:LineSymbolizer>
<sld:Stroke>
<sld:CssParameter name="stroke">#00ff00</sld:CssParameter>
<sld:CssParameter name="stroke-opacity">1</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
<sld:CssParameter name="stroke-linejoin">round</sld:CssParameter>
<sld:CssParameter name="stroke-linecap">round</sld:CssParameter>
</sld:Stroke>
</sld:LineSymbolizer>
Предполагается, что, управляя параметрами linejoin (miter, round, bevel) и linecap (butt, square, round), можно добиться желаемого эффекта. Например, в статье "GeoServer render OpenStreetMap" приводится реальный SLD-стиль, использующийся для отрисовки OSM. Как видно из примеров, хороших результатов удалось добиться только для мелких масштабов; при приближении становятся видны артефакты перекрестков и назойливые "сосисочные" окончания дорожных сегментов.
Продолжив поиски и поэкспериментировав с параметрами LineSymbolizer, я сделал вывод, что возможностей SLD для отрисовки таких "толстых" дорог, какие у нас были изначально (8-14 пикс.) попросту недостаточно. Уменьшив ширину до 2-6 пикселей и выставив linecap = butt, linejoin = miter, я получил такой результат:

Цвета я поменял на более близкие к Google Maps, но это не принципиально.
Кроме этого, заметил следующее:
- Для отрисовки направлений движения GeoServer в стиле tiger.sld использует TextSymbolizer, печатающий "стрелочку":
<sld:Label>
<ogc:Literal>←</ogc:Literal>
</sld:Label>
Однако, я столкнулся с тем, что стрелочка у меня непредсказуемо переворачивается (очевидно, это зависит от направления вектора, представляющего дорогу, относительно базовой точки). Поэтому направление движения я задаю с помощью LineSymbolizer, отрисовывающего стрелочку попиксельно. - Управлять порядком отрисовки дорог с помощью разных Rule внутри одного FeatureTypeStyle толком нельзя, поскольку GeoTools применяет эти правила в непредсказуемом порядке. Я вынес правило для отрисовки каждого из типа дорог в отдельный FeatureTypeStyle, после чего они стали отрисовываться в порядке, указанном в моем SLD.
На этом я пока что и остановился.
Поёт Михаил Анчаров
Илья СЕЛЬВИНСКИЙ
ВОР
Вышел на арапа. Канает буржуй.
А по пузу – золотой бамбер.
– «Мусью, скольки время?» –
Легко подхожу...
Дзззызь промеж роги!! – и амба.
Только хотел было снять часы –
Чья-то шмара шипит: «Шестая».
Я, понятно, хода. За тюк. За весы.
А мильтонов – чертова стая.
Подняли хай: «Лови!» – «Держи!..»
Елки зеленые!! Бегут напротив...
А у меня, понимаешь ты, шанец жить, –
Как петух недорезанный, сердце колотит.
Заскочил в тупик: ни в бок, ни черта.
Вжался в закрытый сарай я...
Вынул горячий от живота
Пятизарядный шпайер:
– «Нну-ну! Умирать – так будем умирать!
В компании таки да веселее...»
Но толпа как поперла в стороны, в мрак
И построилася в целую аллею.
И я себе прошел, как какой-нибудь ферть,
Скинул джонку и подмигнул глазом:
– «Вам сегодня не везло, мадамочка Смерть?
Адью до следующего раза!»
1922
ВОР
Вышел на арапа. Канает буржуй.
А по пузу – золотой бамбер.
– «Мусью, скольки время?» –
Легко подхожу...
Дзззызь промеж роги!! – и амба.
Только хотел было снять часы –
Чья-то шмара шипит: «Шестая».
Я, понятно, хода. За тюк. За весы.
А мильтонов – чертова стая.
Подняли хай: «Лови!» – «Держи!..»
Елки зеленые!! Бегут напротив...
А у меня, понимаешь ты, шанец жить, –
Как петух недорезанный, сердце колотит.
Заскочил в тупик: ни в бок, ни черта.
Вжался в закрытый сарай я...
Вынул горячий от живота
Пятизарядный шпайер:
– «Нну-ну! Умирать – так будем умирать!
В компании таки да веселее...»
Но толпа как поперла в стороны, в мрак
И построилася в целую аллею.
И я себе прошел, как какой-нибудь ферть,
Скинул джонку и подмигнул глазом:
– «Вам сегодня не везло, мадамочка Смерть?
Адью до следующего раза!»
1922
Пусть здесь полежит
Dallas Clayton, "Very Awesome Book"
There are places in the world
Where people do not dream…
Of rocket-powered unicorns
And candy cane machines
Of magic watermelon boats
And musical baboons
Or teeny tiny trumpet players
Training pet raccoons
Yes there are places in the world
Where people dream up dreams
So simply un-fantastical
And practical they seem…
To lose all possibility
Of thinking super things
Of dancing wild animals
With diamond-coated wings
Instead they dream of furniture
Of buying a new hat
Of owning matching silverware
Could you imagine that?
Instead they lay awake at night
Wishing for a car
Not one that runs on jellybeans…
But one that’s reg-u-lar
They dream of breakfast sandwiches
They dream of telephones
Sometimes they even dream of dreams
That aren’t even their own
Yes there are places in the world
Where dreams are almost dead
So please my child do keep in mind
Before you go to bed
To dream a dream as big
As big could ever dream to be
Then dream a dream ten times as big
As that one dream you see
Then once you’ve got that dream in mind
Please dream a million more
And not a million quiet dreams
A million dreams that roar!
A million dreams so loud they scream
So loud they sing and shout
So super huge they say
“Hey world! Guess what I’m dreamin’ bout”
“I’m dreaming about everything
that no one thought to wonder
Dreams so big that they’ve got dreams
And they’ve got dreams up under!”
Please dream for those who’ve given up
For those who’ve never tried
Please use your dreams
To make new dreams
For all the dreams that died
Cause you’re the one whose dreams can be
Whatever dreams you want
Whose dreams can change the way things are
And the way that things are not
And if they say that all your dreams
Are too big to come true
You tell them that I told you…
“That’s what dreams are meant to do!”
They’re meant to make you seem as if
You don’t know up from down
Because dreams are dreams and that’s why
Dreams are worth having around!
So when you think your dreaming’s done
Just remember what I said
“close your eyes my child
and dream
that perfect dream
inside your head”
Отсюда: http://www.veryawesomeworld.com/awesomebook/inside.html
There are places in the world
Where people do not dream…
Of rocket-powered unicorns
And candy cane machines
Of magic watermelon boats
And musical baboons
Or teeny tiny trumpet players
Training pet raccoons
Yes there are places in the world
Where people dream up dreams
So simply un-fantastical
And practical they seem…
To lose all possibility
Of thinking super things
Of dancing wild animals
With diamond-coated wings
Instead they dream of furniture
Of buying a new hat
Of owning matching silverware
Could you imagine that?
Instead they lay awake at night
Wishing for a car
Not one that runs on jellybeans…
But one that’s reg-u-lar
They dream of breakfast sandwiches
They dream of telephones
Sometimes they even dream of dreams
That aren’t even their own
Yes there are places in the world
Where dreams are almost dead
So please my child do keep in mind
Before you go to bed
To dream a dream as big
As big could ever dream to be
Then dream a dream ten times as big
As that one dream you see
Then once you’ve got that dream in mind
Please dream a million more
And not a million quiet dreams
A million dreams that roar!
A million dreams so loud they scream
So loud they sing and shout
So super huge they say
“Hey world! Guess what I’m dreamin’ bout”
“I’m dreaming about everything
that no one thought to wonder
Dreams so big that they’ve got dreams
And they’ve got dreams up under!”
Please dream for those who’ve given up
For those who’ve never tried
Please use your dreams
To make new dreams
For all the dreams that died
Cause you’re the one whose dreams can be
Whatever dreams you want
Whose dreams can change the way things are
And the way that things are not
And if they say that all your dreams
Are too big to come true
You tell them that I told you…
“That’s what dreams are meant to do!”
They’re meant to make you seem as if
You don’t know up from down
Because dreams are dreams and that’s why
Dreams are worth having around!
So when you think your dreaming’s done
Just remember what I said
“close your eyes my child
and dream
that perfect dream
inside your head”
Отсюда: http://www.veryawesomeworld.com/awesomebook/inside.html
Подписаться на:
Сообщения
(
Atom
)