• Победить QIWI

      Тут помоему уже писали о UI этих автоматов. И вот вчера пришлось с ним столкнуться. И побороться.
      Похоже, удобство пользования тестировали только на оплате сотовой связи.
      Далее идет просто «крик души»…

      Мне нужно было оплатить кредит Альфа-Банку. Их банкомата у нас в городе нет, представительства тоже нет. Можно через почту, но долго. Позвонил в банк, они мне подсказали что можно сделать это через платежную систему QIWI.
      Читать дальше →
    • SVN на Маке

        image
        Купив Мак, я озадачился установкой на него софта, который стоял до этого у меня на PC. Перенести удалось почти всё. Для чего-то нашлись маковские версии, для чего-то удалось подобрать замену. Проблемы возникли с Subversion (SVN). На PC я пользовался Visual SVN Server, который не требует практически никакой настройки и работает сразу после установки. На Маке такого удовольствия не оказалось, так что пришлось немного повозиться.
        Читать дальше →
      • Простая инсталляция Java веб-приложения (часть 2)

          На самом деле речь тут пойдет уже не о Java. Допустим, у вас есть некторый zip с некоторой программой (например созданный в первой части) — и вы хотите сделать для него msi (для установки через Windows Installer). Это может быть что угожно — jetty + ваш war, апач плюс php-ха — в данном случае это уже не важно. Важно что это «нечто» — что надо после установки запустить в качестве сервиса

          Как это сделать при помощи WiX под катом

          image

          Читать дальше →
        • Авторизация без логина и без пароля

            Возникла идея о том, как избавится от логина и пароля при авторизации. Сейчас, вероятно, трудно найти человека, который не использует E-mail или IM. При этом клиенты этих служб способны запоминать логины и пароли своих учётных записей, чем многие и пользуются, особенно на личных компьютерах. Так вот, суть идеи такова: использовать при авторизации на ресурсах Сети механизм, схожий с тем, который зачастую используется при сбросе паролей на большинстве сайтов.

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

            Причём при использовании протокола IMAP для почты всё было бы очень даже шустренько, не говоря про ICQ и иже с ними.

            Мне бы было очень удобно, я не ввожу свои пароли для почты и аськи, доверяя это системе. А как думаете вы?

            UPD: Этот способ можно использовать как альтернативу стандартным методам авторизации, я ни в коем случае не призываю отказываться от OpenID.

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

              Здравствуйте!

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

              Где хранить аутентификационную базу пользователей?
              Как быстро авторизовать пользователя по его строковому логину?
              Как собирать распределенные по нескольким шард-таблицам и нескольким базам данных пользовательские данные?
              Как заставить все это работать и как в этом нам может помочь MemcacheDB?

              Читать подробности
            • Пример использования Mate Flex Framework

                Mate Flex Framework Сразу же после появления на свет вышеуказанного фреймворка я понял — это именно то, чего так долго не хватало. Влезать в кабалу создания огромного количества классов используя фреймворки Cairngorm или PureMVC очень не хотелось, а с приходом Mate, появилась возможность уменьшить общую связанность компонентов приложения и использовать безболезненный обмен сообщениями(событиями) декларируя их в «родном» mxml.

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

                Читать дальше →
              • Простая инсталляция Java веб-приложения (часть 1)

                  Итак, вы написали свое супер веб-приложение на Java и теперь хотите что бы как можно больше людей его скачало, задеплоило и начало пользоваться? Все отлично, только для для некорых java-прораммистов, особенно для тех, кто последние цать лет прожил в мире J2EE может быть открытием, что для 99,9% людей в этом мире слова «Просто задеплойте этот WAR-ник на ваш любимый сервер» окажутся пустым звуком. Ну ок, может не 99,9% а 99,8% — ну или около того.

                  Ниже следует первая часть туториала о том, как из вашего варника сделать красивый Windows Installer (да-да, мало того что большинство людей не знают слова деплой, так они еще и Windows пользуются!) с использованием WiX
                  Читать дальше →
                • Позитив в управлении рисками ;)

                    “In the middle of difficulty lies opportunity”
                    Albert Einstein

                    В книге [1] (список источников указан внизу) приведены уровни зрелости компаний и организаций с точки зрения управления рисками. Выделяют 5 уровней или стадий:
                    • Problem stage — когда работа с рисками не ведется до тех пор, пока они не станут проблемами
                    • Mitigation stage — когда людям знакомо понятие «риск», однако никто не знает, как управлять рисками на регулярной основе (концепция управления рисками была им представлена, но пока в очень ограниченных объемах). Зачастую единственной стратегией борьбы с рисками является уменьшение вероятности его появления
                    • Prevention stage — когда управление рисками становится активностью команды в целом, в не только задачей менеджмента (проекта, отдела, компании); в процесс вовлекается все больше и больше заинтересованных людей, которые могут идентифицировать риски, однако их количественные оценка пока вызывают определенные трудности. Данная стадия является поворотной точкой от реактивного к проактивному методу управления рисками
                    • Anticipation stage — данная стадия характеризуется сбором и анализом метрик, для того чтобы предугадывать будущие проблемы и предсказывать определенные события, связанные с проектом. В процесс управления рисками вовлекается и заказчик (клиент), что дает возможность более аккуратно проводить количественную оценку рисков, а также верно расставлять приоритеты
                    • Opportunity stage — данная стадия представляет позитивное видение процесса управления рисками, когда в процесс вовлечены все заинтересованные стороны (менеджеры, проектная команда, представители заказчика). На данной стадии каждый риск трактуется (может трактоваться) еще как и некоторая возможность. Все осознают эти возможности и связанные с ними риски и могут выбирать различные пути движения дальше, находя компромиссы между уровнем риска и новыми возможностями

                    Понятно, что разные компании находятся на разных уровнях зрелости. На мой взгляд, моя компания сейчас находится где-нибудь между Anticipation и Opportunity уровнями зрелости, но мы продолжаем работать ;) А в какой стадии находится ваша компания?
                    Читать дальше →
                  • Пространства имен в memcahced

                      Уверен, что многие здесь уже сталкивались с проблемой кеширования данных в своих проектах. Также я уверен, что многие уже использовали для этого memcached. Недавно с этим всем пришлось столкнуться и мне =). Но также мне была инетресна возможность работать с пространствами имен в memcached.
                      К сожалению у memcahced нет поддержки этой удобной возможности, но это не повод, чтобы отчаяться и впасть в депрессию =)

                      Читать дальше →
                    • Синхронизация структуры MySQL

                        Будьте добры, поделитесь секретом, как вы синхронизируете структуру MySQL на development и production? Нашел три варианта:
                        • Записывать SQL в файлик
                        • Использовать скрипт для сравнения структур (PHP) — Database structure synchronizer
                        • Использовать синхронизацию структуры двух БД в SQLyog MySQL GUI (Enterprise Edition)
                        Что делать в ситуации, когда приходиться откатывать svn в тот revision, где использовалась критически отличающаяся структура MySQL?
                      • И ещё немного о input file

                          Вопрос о стилизации <input type=«file» /> настолько стар, что наверное только ленивый не пробовал собственную реализацию этого, несомненно, важного в web дизайне элемента.
                          Однако, в большинстве своём, решения очень не однозначны и зачастую предлагают примерно следующие варианты:
                          • Наложить файл инпут поверх картинки и сделать его прозрачным.
                          • Использовать flash.
                          При этом, в первом случае, чтобы всё работало относительно одинаково во всех браузерах, предлагается «спорные области» — те что в одном браузере являются активными для нажатия, а в другом неактивными — закрыть, например, наложив сверху <div></div>. Стоит ещё добавить, что тут же используется значительное количество css со всяческими отрицательными отступами и float`ами.
                          А во втором случае мы имеем ряд не удобств связанные с активацией flash элементов (например в IE), а лично у меня (и думаю у всех, кто в ФФ использует Add Block Plus дополнение) кнопочка block совсем не красит флешевый инпут файл.

                          Читать дальше →
                        • Серебрянная пуля или золотая середина?

                            Хочу представить на суд хабрасообщества концепцию информационной системы.

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

                            Мне очень интересно работать в данном направлении, хочется создать бесплатный и открытый аналог существующим системам и получить ценный опыт разработки. Пожалуйста не пишите комментарии типа «Не стоит создавать еще один велосипед» или «Комания X и комания Y уже сделали это и успешно продают», но мне будет интересно посмотреть аналоги.

                            На данный момент существует несколько классов информационных систем:

                            Читать дальше →
                          • Пять условий офигительного тех. саппорта

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

                              Сразу поясню, что эти советы/правила больше относятся к саппорту через HelpDesk или e-mails, у телефонной поддержки есть некоторые свои особенности.

                              1. Быстрая реакция и ответы


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

                              К сожалению быстрый саппорт, доступный 24/7, это дорого: нужно больше людей и нужна круглосуточно доступная инфраструктура. Чаще всего это просто невыгодно, особенно если вы не крупная корпорация, а маленький стартапчик.

                              В этом случае нам поможет одна интересная штука.
                              Читать дальше →
                            • Для запуска мечты времени всегда достаточно

                                Это перевод статьи из блога 37signals.

                                «Я хочу начать бизнес / стать крутым программистом / создать потрясающий блог, но для этого мне не хватает времени в сутках!». Наглая ложь. Времени всегда достаточно, просто вы неграмотно им распоряжаетесь.

                                Я устал слышать ответ «нет времени» в качестве причины, по которой вы не можете быть великолепным. На самом деле начать что-либо делать не требует много времени, требуется лишь сильное желание. Большинство людей просто не хотят делать что-либо и защищают своё эго, ссылаясь на отсутствие времени.
                                Читать дальше →
                              • Поисковое API для PHP (Flash, Java и других)

                                  Задача: организовать поиск по всему сайту затратив как можно меньше усилий и оформить результаты в своем стиле.

                                  Рассуждение
                                  Есть различные серверные системы для организации полнотекстового поиска индексируя сайт, индексирую базу данных. Но их надо устанавливать на своем сервере, настраивать, а некоторые из них еще и платные.
                                  В какой-то момент решил воспользоваться Google Ajax Search API через JavaScript, но тут вид результатов менять достаточно сложно, да и еще надо делать запросы в другой домен при помощи javascript.

                                  Решение
                                  В итоге набрел на странице Google AJAX Search API в раздел Code Snippets и все стало просто: немного кода на php и полнотекстовый поиск по любому сайту готов.

                                  Пример кода с комментариями
                                • Идеальная «Web-разработка» или путь от идеи до готового проекта

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

                                    Часто вижу такую картину – кто-то придумал что-то, воможно, гениальное, но не знает, как реализовать. Кто-то знает как – но сам реализовать не может в силу отсутствия знаний/времени. Кто-то об этом вообще не задумывается, но может сделать часть или полностью реализовать идею. Остальные могли бы воспользоваться, если бы об этом узнали, или порекомендовать другим, если бы знали их интересы/потребности. В результате, большинство идей умирают, даже толком не родившись.
                                    Предлагаю следующее решение хабрасообществу
                                  • Идея или реализация. Что важнее?

                                      Вопрос не новый. Среди философов давно ведутся дискуссии — что первично информация или материя, разум или плоть и т. д.

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

                                      Откуда такая ненависть? Основная масса «хабралюдей» это программисты, админы и т. п. И чтобы понять причины ненависти можно применить метафору. Все перечисленные профессии, по сути, являются рабочими XXI века. Такими же рабочими, какими были сборщик на конвейере или цехе в XX. Если сравнить, как выглядит, например, цех швейной фабрики и офисы с клетушками или без то трудно не заметить сходства. Любой сотрудник так же легко заменяется, потому что у ворот стоит целая очередь (в отделе кадров стопка резюме). И эти трудяги небезосновательно уверены, что вся компания держится на их горбу, а все остальные являются непроизводительными силами, которые на них паразитируют (и соответственно являются классовыми врагами). Схожи и желания: «отменить патентное и авторское право» тождественное лозунгам «отнять и поделить», «грабь награбленное» и т. д.

                                      Отчего такое сходство мышления? Просто рабочие XXI века, как и XX, работают «руками». Конечно, можно возразить, мол, руки есть у всех, а хороших программистов очень мало.… Но и хороших швей тоже мало. Что бы они ни говорили о творчестве в программировании и системном администрировании это рутинная работа.
                                      Без богомерзкой «интеллектуальной собственности» выживать будет более эффективый (а переводя на человеческий язык – тот, кто будет эксплуатировать рабочих с минимальными издержками). Учитывая перенаселенность земли рабочих работать «за еду» всегда будет предостаточно. Много ли инновационного (имею ввиду последние 100 лет) пришло к нам из Китая где экономика работает именно по такому принципу? Она работает и растет, увеличивая номенклатуру товаров, пока есть что копировать. А если перекрыть поток новой информации (идей) сколько придется ждать чего-то инновационного оттуда?

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

                                      Разумно:
                                      Ограничить возможные требования компенсаций за нарушения патентов (возможно какая-то универсальная формула расчета);
                                      Непривлечение к ответственности за нарушение авторских прав частных лиц (если они не использовали это в коммерческих целях).
                                      Прекращение гнета людей претендующих на собственность на какие то идеи. Ведь без них вы будете обречены до конца дней штамповать клоны facebook.

                                      Далее опубликую графоманские рассуждения на тему уместности термина «интеллектуальная собственность» и степени недоразвитости инвесторов.

                                      P. S. Прежде чем ставить – задайся вопросом: «то что тут написано не соответствует действительности или меня это просто обидело?».
                                    • Cisco: Подготовка к экзамену 640-802(CCNA). Краткое резюме.

                                        Навеяно темой Cisco: Пути сертификации неисповедимы.
                                        1. Подготовка к 640-802. Теория.
                                        2. Подготовка к лабе. Практика.
                                        3. Подготовка к экзамену. Регистрация и порядок.
                                        4. Сертификат.

                                        1. Подготовка к 640-802. Теория.



                                        Для получения статуса CCNA существует два пути — это экзамен 640-802 или пара 640-822 + 640-816. В данном обзоре рассматривается исключительно первый вариант, в терминологии циско т.н. композитный экзамен(13).

                                        С недавнего времени экзамен доступен и на русском языке. Лично я отношусь к этому довольно скептически, поскольку на мой субъективный взгляд качество переводной литературы оставляет желать лучшего. И далее подразумевается что вы собираетесь сдавать экзамен на английском.

                                        Читать дальше →
                                      • 5 проверенных способов заставить аудиторию почувствовать себя идиотами

                                          1. Начать с «терминов и определений»
                                          Есть несколько вариаций этого способа:

                                          Можно приводить общеизвестные определения, намекая, что присутствующие не совсем адекватны:
                                          Читать дальше →
                                        • 2 пути единой идентификации, и оба Jabber

                                            Хотим ли мы единой регистрации – да, конечно.

                                            Что у нас есть


                                            openID


                                            «Давайте, централизуем регистрацию» — что может быть проще и… ограниченней.
                                            Во-первых, я должен регистрироваться (всеравно регистрироваться!) на сайте провайдера.
                                            Во-вторых, запомнить еще один логин и пароль.
                                            В-третьих вводить этот логин и пароль.
                                            — древнее унылое поиск и сопоставление 2-х ключей в базе данных. Просто базы теперь пересекаются (кстати, полагаю с этим есть проблемы).
                                            В-четвертых openID может выглядеть вот так «красиво»: technorati.com/people/technorati/username

                                            E-mail


                                            Забавно, большинство вариантов получения openID сами требуют идентификации – по E-mail.
                                            E-mail давно является основной любой идентификации, как правильно заметил автор статьи Мгновенная почта и жизнь без паролей.
                                            И опять же правильно заметил что, почтовый интерфейс неудобен для авторизации на сайте. Значит нужно нечто другое, и это Jabber.
                                            Читать дальше →