• Работа с трудными с клиентами. О клиентоориентированности, соратниках и мозгоклюях

      — Не бывает некрасивых женщин, бывает мало водки
      — Я столько не выпью...


      Каждому, кто работает непосредственно с заказчиком приходилось сталкиваться с т.наз. «трудными» клиентами.
      Попробуем разобраться, откуда они берутся, такие ли уж они трудные, все ли они действительно трудные, кто в этом виноват, что с ними делать, и что делать нам, исполнителям.

      Определимся с терминами и попробуем ввести некоторую классификацию в возможные типы взаимоотношений МЫ (Исполнители) и КЛИЕНТЫ (Заказчики).

      1. Соратники (Товарищи)


      Это идеальный вариант. Клиент очень хорошо разбирается в своей области, чётко знает, чего он хочет от проекта, уважает нас как специалистов в своей области, прислушивается к нашему мнению, уважает наш труд, понимает, за что он платит деньги и, соответственно, готов платить достойные деньги за достойную работу. С интересом относится к идеям Исполнителя, сам генерирует интересные идеи.
      Исполнитель, соответственно, уважает клиента, его деньги, и бла-бла-бла, всё то же самое в ответ.
      Объединяем усилия при работе над проектом: и слева нас — рать, и справа нас — рать!
      Это то, к чему надо стремиться, вытягивая другие типажи взаимоотношений в эту сторону.

      Как работаем?
      Всегда бы так.
      Узнать больше
    • Как ходить в сервисный центр

        Последнее время много людей натыкаются на умелые отговорки работников сервисных центров. Причем, чаще всего по собственной вине. А ведь если рассчитать все заранее можно добиться своего довольно быстро. В этой статье я попробую коротко описать какие правила лучше соблюдать, чтобы не
        остаться в дураках.
        Читать дальше →
      • Учимся руководить — постановка цели

          Работая на руководящих должностях определенное время, вывел для себя некоторые критерии хорошего и не очень хорошего руководителя, а то и не руководителя вовсе.
          Для многих руководящая должность это прежде всего повышенная заработная плата, и не более. Но быть хорошим руководителем не так то просто.
          На руководителя возлагается ответственность, большая чем на его сотрудников. Принятие решения. Разные защиты, будь то проекты или бюджеты. Разного рода отчетность.
          Но давайте по порядку.
          Читать дальше →
        • osvirtual.net: виртуальные образы операционных систем

            Истоки и причины


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

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

            OSvirtual: от NextStep до aGNUla


            Поэтому эту коллекцию — для себя и для интересующихся (вероятно, для немногих :) — выложил в сеть в виде сайта OSvirtual (есть и английская версия, пусть и сделанная по остаточному принципу). ОС, выложенные тут, — это либо совсем старые ОС, которые можно запускать разве что как ностальгические игрушки (и которые сейчас не продаются, а часто и свободно доступны для скачивания с официального сайта), либо ОС, по какой-либо причине мне интересные (мультимедиа-ориентированные дистрибутивы линуксов, например, или линуксы 5-7 летней давности и старше). Множество же современных мейнстримовых дистрибутивов линукса, которые без проблем находятся на VMPlanet или Linhost, меня особенно не интересовало…
            Читать дальше →
          • White — автоматизация функционального тестирования приложений

              Существует множество инструментов для автоматизации функционального тестирования приложений. С одной стороны универсальные коммерческие пакеты, настоящие монстры автоматизации – HP QuickTest Pro, SilkTest, TestComplete. С другой – специализированные или «бедные» по функциональности свободные инструменты – Selenium (web-приложения), pyWinAuto, Win32::GuiTest и т.д. Но настоящей жемчужиной среди свободных инструментов, на мой взгляд является Codeplex White Framework.

              Не так давно потребовалось автоматизировать некоторое .net приложение. На работе основным инструментом для автоматизации принят QuickTest Pro, но для этого конкретного проекта он был слишком дорог: проект очень небольшой – автоматизации подлежали всего несколько операций. Встал вопром с поиском бесплатной альтернативы.

              Первым бы опробован перловый Win32::GuiTest. С задачей он справился, но код скрипта получился очень уж неаккуратный – слишком тяжело его было бы в последствии поддерживать. И тут на сайте codeplex’a был обнаружен White
              Он оказался настолько простым и удобным, что было решено применять его. Этот framework поддерживает большинство стандартных контролов Win32, WinForms, WPF (Silverlight), SWT. Под катом пример простой автоматизации Калькулятора Windows XP.
              Читать дальше →
            • Трекерная музыка. Приобщаемся к великому

                 Представляю вашему вниманию подборку из 15 моих любимых V2M-композиций от товарищей Farbrausch. Для прослушивания достаточно запустить Exe-шник. Обращаем внимание на его размер и на качество звучания!

                narod.ru/disk/9788383000/q.exe.html

                (Это не вирус, клянусь кармой, сам лично компилил)

                Сразу оговорюсь, не работает в Висте и Windows 7, почему — не знаю =(, т.к. не использую и полный профан в системном программировании, если кто подскажет, почему — буду благодарен. В *nix под Wine должно работать.
                Далее немного о трекерной музыке вообще и о процессе создания этого exe-шника
              • Как презентовать веб-дизайн?

                  Меня всегда мучал вопрос про то, как многие дизайнеры и целые студии рисуют по 5-10 вариантов дизайна веб-сайта и никак не могут продать его клиенту. Мне кажется, это происходит по двум причинам. Первая — неверная постановка задачи со стороны клиента или неверное понимание задачи со стороны студии, про эту проблему мы побеседуем позже. Вторая же причина — отсутствие презентации дизайна клиенту.

                  Вот про вторую причину мы и поговорим.
                • Подготовка ваших приложений Inferno к standalone установке

                  • Tutorial
                  Итак, вы написали некое приложение на Limbo, и хотите установить его на другую машину, или распространять через интернет. Скорее всего, там где будет устанавливаться это приложение OS Inferno не установлена. Это горько, но более чем вероятно. :) Что же делать? Обучать пользователей вашего приложения устанавливать и настраивать у себя OS Inferno? Включать полную инсталляцию Inferno (до 250 MB) в архив с каждым вашим приложением? Нет, всё гораздо проще!

                  Давайте посмотрим, как можно урезать Inferno до минимума, необходимого для работы вашего приложения. Для этого надо разобраться, что происходит при запуске emu — как загружается OS Inferno.
                  Читать дальше →
                • Установка OS Inferno New Edition

                    OUTDATED: Эта статья устарела, для установки под современными OS см. новую статью.

                    Update: Добавлено описание установки под Windows XP SP2.
                    Update: Добавлено описание установки под Mac OS X 10.4.8 Tiger.
                    Update: Добавлено описание установки под Mac OS X 10.5.5 Leopard.

                    New Edition


                    Да, версия в svn называет себя именно так! Установите, запустите браузер (Charon) и сами убедитесь. (В принципе, последний релиз это "Fourth Edition", но на практике это уже давно тот же svn — «Fourth Edition» вышел примерно в 2004, а сейчас на офф.сайте под видом «Fourth Edition» выложен снапшот svn от 20071003.)

                    Версия в svn абсолютно стабильна, и, в отличие от инсталляшки «Fourth Edition», её значительно проще обновлять. Для установки на боевые сервера или выпуска вашего приложения она не менее удобна. В общем, минусом является только необходимость иметь subversion и компилятор для сборки системы, всё остальное плюсы.

                    Итак, ставим свеженькую OS Inferno из SVN, в hosted режиме (т.е. в виде эмулятора, работающего под другой OS).
                    Читать дальше →
                  • Syntax Highlight Considered Harmful

                      Вы думали, что "настоящие мужчины используют Windows"? Вы крупно ошибались. Они используют IDE Acme. Которую среди прочего отличает отсутствие подсветки синтаксиса.

                      Причём это не потому, что Acme ещё молода, и просто не успела обзавестись такой, критически важной для IDE, фичей. (Не знаю точно, сколько лет Acme, но Пайк ещё в 1994 выпустил статью "Acme — A User Interface for Programmers".) Нет, дело в другом! Эта «фича» считается ненужной, и даже вредной.
                      Читать дальше →
                    • И всё-таки она многопользовательская!

                        В OS Inferno очень необычно сделана работа с пользователями. Во-первых, когда запускается emu, вы получаете командную строку без необходимости вводить логин и пароль. При этом ваше имя пользователя выставляется таким же, как и в основной системе (host OS). Во-вторых, вы можете запустить, например, wm/wm wm/login, ввести имя другого пользователя (причём пароль у вас даже не спросят), и продолжить работу как этот пользователь. Аналогично можно воспользоваться командой runas ИМЯПОЛЬЗОВАТЕЛЯ sh, чтобы не запускать графическую оболочку.

                        В связи со всем этим возникает логичный вопрос: Inferno — многопользовательская система, или нет?
                        Читать дальше →
                      • Пример оптимизации в JVM

                          Набрел на интересный пример оптимизации при динамической компиляции
                          public class StupidMathTest {
                            public interface Operator {
                              public double operate(double d);
                            }

                            public static class SimpleAdder implements Operator {
                              public double operate(double d) {
                                return d + 1.0;
                              }
                            }
                          Читать дальше →
                        • Онлайн шоппинг, или одеваемся в Европе дёшево. Часть 1 — Начало.

                            Первая статья для нытиков (это те, которые постоянно ноют на хабре: «Ну по-че-мууу, по-че-мууу техника Apple в России в два раза дороже чем в Европе, а-а-а?») и просто здравомыслящих людей, который предпочтут купить качественные джинсы Levi's производства Мексики, сделанные для внутреннего рынка САСШ, за 40$ с доставкой, а не платить русским барыгам 4000р. за польское говно с лэйблом Levi's.

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

                            Начнём?
                            Читать дальше →
                          • Развеиваем мифы или Java с человеческим лицом

                              Написать небольшую заметку на данную тему я решил после того, как прочитал тут на Хабре, обсуждение о выборе языка разработки для нового десктоп приложения. С завидным постоянством упоминался тот момент, что визуально, приложения на Java выглядят аляповато. Вот и решил я, слегка, прояснить это вопрос.

                              Итак, в чём же состоит особенность реализации десктоп приложений на Java и почему они способны быть очень красивыми? А также, откуда родился миф об ущербности (некоторые экзальтированные личности, порой, склонны даже употреблять слово ‘убогость’) Java GUI, читайте ниже. Я постарался не вдаваться в тонкости, не писать никакого кода, да и вообще не использовать никаких специфических для Java мира знаний. Хотелось бы, что бы заметка была понятна людям, далёким от этой технологии.

                              Большинство эрудированных программистов таки знают, что…
                              Читать дальше →
                            • 3 сущности!

                                Думаю, общей информации по Inferno уже достаточно, и можно перейти к главному вопросу: что из себя представляет Inferno изнутри, с точки зрения программиста? В чём заключается взаимодействие программиста со средой предоставляемой Inferno? Сколько нюансов поведения и разных видов сущностей должен держать в голове программист в Inferno?
                                Читать дальше →
                              • Limbo

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

                                  По большому счёту мне давным давно пофиг, на каком языке писать (я программирую с 1989 года, и за это время перепробовал кучу языков). Но… всё таки на одних языках работать приятнее, чем на других — и здесь дело не в том, что одни языки лучше других, а в том, что для разных стилей мышления лучше подходят разные языки.

                                  Переход от Perl к Limbo — очень контрастный. Языки совершенно разные: Perl — не типизированный вообще, Limbo — сильно типизированный; в Perl нет нормальной поддержки нитей и асинхронности приходится добиваться через мультиплексирование, Limbo — чуть ли не вынуждает писать именно многопоточные программы (если вы смотрели презентацию Роба Пайка, то там был прикольный пример с многопоточным поиском простых чисел); etc. И, тем не менее, Limbo мне очень понравился и писать работающий код я на нём начал практически сразу.

                                  Я уже не очень хорошо помню C, но попробую описать Limbo именно в плане отличий от C — думаю, так будет проще для большей части аудитории (и ни слова про PHP! :)).
                                  Читать дальше →
                                • Архитектура OS Inferno — 2

                                    Один из краеугольных камней архитектуры Inferno — юниксовая идея с файлами-устройствами доведена до предела: в Inferno файлами представлено абсолютно всё. Например, в Inferno нет понятия «сокет».
                                    Читать дальше →
                                  • Архитектура OS Inferno — 1

                                      Сразу предупреждаю, что делать полный обзор архитектуры я не собираюсь. Во-первых есть оригинальная документация где всё детально описано. А во-вторых я ещё не настолько хорошо знаю Inferno, чтобы браться за написание детального описания архитектуры. Но вот про «фишки» архитектуры я обязательно расскажу, это самое интересное.
                                      Читать дальше →
                                    • Поверхностный обзор OS Inferno

                                        OS Inferno
                                        Итак, начнём с главного — где же место под Солнцем для Inferno, где и как имеет смысл применять Inferno. Нет, на роль десктопа или сервера я Inferno не предлагаю, эти теплые места в данный момент заняты. :) Но есть минимум три задачи, с которыми Inferno справится лучше других.
                                        Читать дальше →