пятница, 9 сентября 2011 г.

Tax Free Польша

Когда ездили в Польшу, первый раз в жизни попробовали вернуть налоги. Чтобы не забыть, опишу эту процедуру.

Нужно искать магазины со значком Global Blue (бывший Global Refund). Например, IKEA в Гданьске или Варшаве.



При расчете на кассе нужно предупредить о том, что хочешь вернуть налоги. В чеке должно быть не более 7 товаров. Один из чеков содержал 7 строчек, но товаров было 8 (2 подушки пошли одной строкой). Это ОК. Есть также некая минимальная сумма покупки - на данный момент 200 PLN.

В IKEA есть отдел по работе с клиентами, нужно подойти с чеками и паспортом, там к каждому чеку оформляют здоровую зеленую бумагу Global Refund с печатями и всякой остальной ерундой.

Мы возвращались в Беларусь через Брест-Тересполь (он же Варшавский мост).

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

Далее в теории деньги можно вернуть в Технобанке уже в Минске. Тем не менее на сайте Global Refund есть подозрительное "Polish cheques are only refundable in cash at our Refund Points!", ну и некоторые товарищи на форумах писали, что были проблемы с польскими чеками в Технобанке.

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

Нужен паспорт. Возвращают в злотых ~60% от налогов (около 14% от суммы покупки). Можно там же поменять на другие деньги, но курс грабительский.

На белорусской границе подлежат растаможке покупки свыше 1500 евро или 50 кг на человека. Одна вещь должна быть не более 35 кг, иначе придется растамаживать.

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


четверг, 5 мая 2011 г.

Ксеноглоссофобия или боязнь незнакомых языков

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

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

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

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

Итак, поехали! Если у вас в процессе чтения возникают вопросы или замечания, то прошу в комментарии Smile

понедельник, 2 мая 2011 г.

Языки, разработчики и менеджеры

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

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

К дискуссии присоединился Владимир Кочетков (магия твиттера, собираются три абсолютно незнакомых человека и обсуждают вопрос). Владимир считает, что проблема преувеличена, все-таки .NET, к C# достаточно близок, а особенности Nemerle освоить не так-то и сложно. Да и речь идет о небольшой туле, риск не так и велик.

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

Лично я вижу массу положительных моментов в том, чтобы дать ребятам возможность оттопыриться на каком-то некритичном куске проекта. Вот мои соображения, и скажите, где я не прав! Smile

вторник, 19 апреля 2011 г.

Bugs is a software thing

Bugs is a software thing.

In most business areas customers don’t pay for fixing issues. When you find a defect in your SLR camera, you just bring it back and get it fixed or get a new one for free. But in IT this is a norm when you pay for bug fixes as so this is some real functionality.

Ron Jeffries recently wrote a good story about defects. The main idea is defects shouldn’t be planned separately, they just have to be fixed and if it takes longer to release a feature we should factor this into estimates. In agile world we factor this into velocity.

But I’d like to touch base on why we usually try to plan and prioritize defects separately. Well, it is obvious, sometimes we have quite a few of them and some bugs take a lot of time.

As Kate mentioned in Ron’s story, we can minimize amount of bugs by learning from them. Correct. I’d also add that we can minimize amount of bugs by working in pairs and unit-testing. It’s rather obvious.

But the big thing which is not very well understood is that quite often bugs take a lot of time because of the way we tackle them.

I also quite often hear questions about the role of QA in agile projects. Many books just skip this question, people get confused and testing/bug fixing in a somewhat waterfall approach.

Let’s take a closer at a rather familiar loop many teams work in:

  • developers implement a feature during iteration X
  • when iteration X is over it is released for testing and being tested during X+1
  • when testing is done, release goes to customers and they explore it during X+2

So what’s bad here? The delay in between implementation and feedback on it. It’s the root cause of everything else.

It takes a lot more time to fix a defect which is found after several weeks of work on other features, people just entirely lose context on it. Sometimes another developer has to fix defects in code of his colleagues which doesn’t speed things up.

When bugs arrive, the team works on another release already and can’t fix them immediately (the team can’t fix them immediately also because the context is lost), so bugs require some filing – clear description, steps to reproduce, severity, etc. All these things should be formally documented, testers can’t just explain them to developers. And some issue tracking systems are nasty.

Apparently, this way bugs affect schedule of subsequent releases. So bugs is a big thing now and require prioritization. Prioritization isn’t a simple thing, developers need to provide estimates, product owners have to make some tough decisions. It may be difficult to engage product owners, so delays become even bigger.

When a bug is fixed it needs to be retested, but there is again a delay between a bug fix and a another test, so we have some context switching for testers.

Actually, such a way often results in bigger and bigger delays between implementation and actual testing. Some teams come up with a really heavy-weight approach to stay on top of the bugs, but in fact they just slow things down even more.

To summarize, we get the following wastes:

  • context switching (both for dev and test team)
  • formal filing and tracking which drags time
  • additional planning as a result (estimates, prioritization)

The key thing is to decrease delays, so the team should aim to test and fix defects almost immediately after implementation (let’s say during next 24 hours).

I heard about a brilliant approach to implement it. Unfortunately, I couldn’t implement this on one of my projects yet, but there are real projects which work in this way.

So in addition to a pair of programmers we also need a tester. They form a triplet (triple programming). The triplet works on each feature together:

  • the tester take part in all discussions
  • when developers work on a feature, the tester creates test cases
  • when developers think the feature is ready it gets tested immediately, developers can take care of e-mails and other stuff during testing
  • when a bug is found, the tester just shows it to developers, it is worked on immediately
  • during delays the tester automates tests (developers can also help)
  • after the tester is happy about quality, he shows the feature to customers
  • any issues found during the demo are fixed immediately 

Apparently, some bugs are discovered later and go the tough way, but most of the time:

  • defects do not require documenting
  • defects are found and fixed in a reasonable time frame before people lose context
  • explicit planning is not required

But again, the key thing is to get feedback ASAP, no matter how.

I welcome your comments.

пятница, 15 апреля 2011 г.

Outlook: hide delayed tasks

There are certain tasks which I need to do, but I can’t do them until some date/time.

What I want is to put such tasks into my task list, but I don’t want them to be visible until their start date. I don’t want to put them into my calendar, I can do them after day X, but don’t know when exactly I will find time for them, so my task list is a better fit.

So the first step is to actually specify a start date for such a future task and then set up a filter on your outlook task list to hide delayed tasks and this is a little bit trickier:

  1. Click on “Arrange By” on top of your task list and select “View Settings”
  2. Click “Filter” button and select “Advanced” tab; by default it filters in current tasks (where Completion Date doesn’t exist AND Completion Flag doesn’t exist)
  3. We also want to filter in tasks with Start Date “on or before” Today, so you click on a “Field” button under Define Criteria, select a Start Date there, specify “on or before” in Condition and type “Today” in the Value text box
  4. Unfortunately this filters out all tasks without start date, apparently we want to show current task OR tasks without Start Date, so you again add Start Date field and pick up “doesn’t exist” Condition from a drop down there 
  5. This is it, enjoy, delayed tasks are filtered out now

image (here is how your filter should look like)

Note that conditions from 2nd and 3rd points are actually appended to resulting query using AND logic, while 3rd and 4th conditions should use OR logic. Actually, I thought that you can’t specify this logic in Advanced tab since all conditions are ANDed by default, so initially I hacked my custom query in SQL tab (poor me, those SQL queries look pretty ugly, you can check an auto-generated one).

Funny enough, but Advanced filter is so advanced that it understands 3rd and 4th conditions should be ORed. So actually you don’t need to mess around with a SQL query.

четверг, 14 апреля 2011 г.

Would you read me in English?

Я читаю много блогов на английском и иногда чешутся руки оставить какой-то комментарий. Использовать свой OpenID для shсoder.by как-то глупо, ведь тут все на русском.

Подумываю, может мне стоит начать писать на английском? Лень заводить какую-то отдельную площадку.

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

Будете ли вы читать меня на английском


вторник, 5 апреля 2011 г.

Теперь беленький

Многих угнетал темный цвет фона - жалобы учтены, теперь он опять беленький.

Плюс к этому бложик можно посмотреть в неожиданных ракурсах, например, http://www.shcoder.by/view/sidebar#!/ или вот http://www.shcoder.by/view/flipcard#!/. Последний забавен тем, что все мои посты влазят на одну страницу (ну, почти все). Как-то мало я написал.

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

четверг, 31 марта 2011 г.

GTD для иррационалов

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

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

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

Учитывая сий факт, мне кажется, что подходящей интерпретацией GTD для иррационалов является уже изрядно потрепанная техника Васи Кислого (narod.ru! дизайн сайта еще хуже, чем у меня), которую мне буквально недавно подкинули. Лексика иногда далека от культурной (в самый раз для ленивых иррационалов), тем не менее тут все взрослые люди, и, надеюсь, воспримут это с юмором. В общем, хватит оправдываться своим иррациональным нутром - марш работать!

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

суббота, 26 марта 2011 г.

Посоветуйте книжку по маркетингу

Хотел бы почитать что-нибудь интересное на тему маркетинга, не посоветуете?

Почувствовали в команде необходимость PR-а наших усилий, а навыка не хватает. Хотим посмотреть как это делают рекламщики и попробовать найти подходящие для нас приемы.

Чуть-чуть подробней о том, зачем нам это.

воскресенье, 20 марта 2011 г.

Про Google Adsense

Я начал активно писать в блог прошлым летом. До этого было несколько попыток (например, в Лондоне я писал про Лондон, а в отпуске про отпуск - потому что было скучно), но я быстро сдавался.

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

среда, 16 марта 2011 г.

Быстрая (пере) индексация писем в Outlook

Если вы переустановили OS (например, Windows 7) и никак не можете дождаться пока Outlook (2010, к примеру) проиндексирует весь ваш почтовый архив (ну, большой он, например), то вам сюда. Например :)

воскресенье, 13 марта 2011 г.

Про аналогии и метафоры

Аналогии очень здорово помогают объяснить сложные понятия другим людям, поэтому важно запоминать удачные вполне вероятно это потом здорово поможет.

Я раньше недооценивал силу аналогий и, наверное, многие тоже недооценивают, поэтому приведу пару примеров из личного опыта.

пятница, 11 марта 2011 г.

Grumpy Old Editor

Коллеги из ThomsonReuters посоветовали блог - http://grumpyoldeditor.wordpress.com/. Бывший журналист Reuters со стажем работы в три десятка лет пишет о том, как правильно писать. Приятный английский и интересные заметки, есть чему поучиться.

P.S. Rolf Soderlind - не совсем английское имя, правда? Потому что он швед :) Так что происхождение не является оправданием плохому английскому, дерзайте.

среда, 23 февраля 2011 г.

Два монитора

Мартин Фаулер уже давно говорил, что самый дешевый способ увеличить продуктивность разработчика, - это купить ему монитор побольше. А лучше два.

Звучит хорошо, но на практике привыкнуть к нескольким мониторам может оказаться непростым делом.