• Обзор инфраструктуры Кремниевой долины

      Введение


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

      Читать дальше →
    • ВебМани тихо и незаметно усилили защиту. Возможно, у некоторых будут затыки с платежами

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

        Картинка для привлечения внимания

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

        Подробности, инструкции
        под катом
      • Microsoft для PHP программистов

          Не секрет, что у Microsoft есть технология ASP.NET (и смежные ASP.NET MVC, ASP.NET AJAX, AJAX Control Toolkit и т.д.), которая является стандартом де-факто для .net ориентированных разработчиков. В то же время количество PHP разработчиков также велико, поэтому было бы странно игнорировать такую большую аудиторию.

          В данной статье представлен материал, который, надеюсь, поможет PHP разработчикам лучше интегрировать свои приложения с Microsoft технологиями и продуктами (если, конечно, в этом есть необходимость).
          Читать дальше →
        • «Играть»



            Предлагаю вашему вниманию умопотрясающий короткометражный фильм про виртуальные игры, обнаруженный во вчерашней блогозаписи в LJ-сообществе ru_cyberpunk.
            Хабрахабровский вариант видеопроигрывателя YouTube не является широкоформатным, так что есть смысл смотреть видеозапись прямо на YouTube. Может быть, даже переключить режим чёткости с 360p на 480p — если, конечно, соединение с Интернетом позволяет вам скачивать более объёмные версии видеозаписей.
          • Как правильно покупать товары на Ebay

              image
              Тема Ebay в связи с его русификацией становится очень актуальной, поэтому решил поделиться с хабрасообществом несколькими советами из области как правильно покупать товары на Ebay, чтобы не нарватся на мошенников и сделать правильную покупку. Большая часть описанного основана на личном опыте.
              Читаем далее
            • ITшник в Австралии

                Данной статьей я постараюсь продолжить обзор стран, начатый в Денег нет, погода дрянь и правительство ввело новые поборы. Что делать?. Я не хочу обсуждать почему, зачем, что меня двигало к переезду (кому-то весело и комфортно только в Нью-Йорке/Лондоне, а кто-то весьма доволен и в деревне), а постараюсь просто привести некоторую информацию. Здесь на сайте довольно много людей из Австралии, надеюсь где-то меня поправят, что-то добавят. С удовольствием отвечу на все вопросы в комментариях.

                Читать дальше →
              • SyncStream — библиотека C# для передачи данных по нестабильным каналам

                  Недавно нашел старую самопальную библиотеку, реализовавшую простой протокол передачи данных в пакетах по TCP.
                  После обработки напильником и долотом получилось очень даже ничего (:

                  Встречайте — библиотека SyncStream для передачи данных по глючащим каналам:
                  • Восстанавливает синхронизацию между сервером и клиентом, если часть данных «провалилась» по пути
                  • Проверяет целостность всех доставляемых пакетов
                  • Имеет механизм гарантированной доставки для особо важных пакетов
                  • Не завязан на низлежащий протокол передачи — можно прикрутить даже к лазерному каналу


                  Читать дальше →
                • OAuth: описание протокола простым и понятным языком

                    OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

                    Пример кросс-авторизации


                    Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
                    Под катом - повествование с примерами
                  • OAuth тихо подкрался ко всем Google Data API


                      Сегодня, одна из серьезнейших проблем для разработчиков mashup-приложений — это отсутствие стандартизации в аутентификации и авторизации для открытых API. Так что можно считать, сегодня Google вновь показывает всем тот тренд, который будет определять как минимум близлежащее будущее, а именно тихонько добавил поддержку OAuth для Google Data APIs

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


                      Это знаменательное событие, так как с данного момента уже два монстра поддерживают OAuth: в начале этого года, Yahoo Fire Eagle API также объявила о комплексной поддержке OAuth.

                      Есть определенные нюансы, но это уже рабочие моменты, важен сам факт принятия Google данного стандарта идентификации.

                      via SocialTrend
                    • 5 уроков, которые я извлек из создания своих онлайн сервисов

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

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

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

                        Приветствую.
                        Хочу рассказать, чем я баловался в свободное от работы в Qualys время. Так как в англоязычном интернете на удивление много шума про Slow Read DoS attack, и уверен что получу здесь много полезной критики и дельных предложений.

                        В августе 2011 года написал програмку slowhttptest, которая тестирует веб-серверы на наличие уязвимостей, связанных с обработкой медленных HTTP запросов, таких как slowloris и slow HTTP Post. Цель — создать конфигурируемый инструмент, облегчающий работу разработчиков и позволить им концентрироваться на создании эффективных защит, а не ковырянии в питоне, на котором написаны большинство proof-of-concept эксплоитов.

                        А потом решил попробовать, как реагируют серверы на медленное чтение клиентами HTTP респонсов. На удивление плохо реагируют. Дефолтные apache, nginx, lightpd, IIS отказывают в обслуживании на ура.

                        А суть такова:
                        Читать дальше →
                      • Как можно снизить потребление оперативной памяти на VPS в 2 раза, ничего не меняя в настройках программ

                          Взял VPS, построенный на OpenVZ. Поставил туда Debian Lenny и всякие программы (обычный LAMP, по сути). С точки зрения потребления ресурсов ничего почти не настраивал, вышло где-то 200М занятой оперативной памяти (сразу после старта).
                          Написал ulimit -s 1024 в /etc/init.d/rc ближе к верху. Перезагрузился. Потребление памяти на VPS упало более чем вдвое, стало около 100М.

                          Если у Вас VPS на Xen или аналогичных, то у Вас нет граблей, с которыми я тут боролся. Если на OpenVZ (Virtuozzo) со товарищи — у Вас, скорее всего, на VPS эти же грабли.

                          В статье — почему и как это работает.

                          Читать дальше →
                        • CSS кнопки с помощью псевдо-элементов

                          • Перевод
                          • Tutorial


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

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

                          Читать дальше →
                        • Красивый вывод изображений

                            image
                            Всегда мне не нравилось, как выводятся изображения на моих сайтах. Хотелось какой-то упорядоченности, зависимости. Поэтому, я полез искать скрипты и решения в гугле. После безуспешных поисков, решено было делать что-то самому.
                            Но что? Я стал смотреть, как сделан вывод картинок у популярных сайтов. Всё мне не нравилось, пока я не додумался посмотреть вывод в google images и google+. Меня поразило то, что я никогда этого не замечал картинки выравниваются по ширине и высоте не обрезаясь. Такой принцип я и захотел реализовать. Получается мозаика. И всё будто на своём месте.
                            Не долго думая, я сел писать код, который сможет вывести картинки так же.
                            Читать дальше →
                          • Новая версия MotivateClock. Мы сделали то, о чем Вы просили!

                              image

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

                              Ровно три месяца назад, 27 сентября, мы объявили Хабрасообществу о старте нашего проекта. Больше всего комментариев и пожеланий тогда мы услышали о необходимости реализации посайтового учета времени проведенного в различных браузерах.
                              Читать дальше →
                            • Простые и умные формы для получения Яндекс.Денег

                                Вчера благотворители и краудфандеры начали собирать Яндекс.Деньги в Facebook, а сегодня в распоряжение жителей интернета поступают и вовсе универсальные кнопки и платежные формы. Их можно разместить на своих сайтах и блогах, настроив любым удобным для вас образом.
                                Читать дальше →
                              • Блокирование DNS DDoS при помощи пакета fail2ban

                                  Вы уже устали от кучи сообщений от logcheck'а об откаpе в обслуживании запросов к named? Ниже будет написано как ограничить себя от DDoS к named'у при помощи пакета fail2ban.

                                  События о которых идёт речь выглядят так:
                                  System Events
                                  =-=-=-=-=-=-=
                                  Jan 21 06:02:13 www named[32410]: client 66.230.128.15#15333: query (cache)
                                  +'./NS/IN' denied

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

                                  Устали от того, что ваш DNS сервер используется в качестве оружия в чужих DDoS-атаках? Попробуйте установить себе пакет fail2ban (Debian GNU/Linux). Оригинальный сайт проекта www.fail2ban.org.
                                  Читать дальше →
                                • Каркас для web-приложений, построенный на CodeIgniter

                                  image
                                  Наверняка, многие веб-программисты изучали и, может быть, даже использовали такой замечательный фреймворк как CodeIgniter. Мой выбор пал на него ввиду того, что у него самый низкий порог вхождения, он наиболее прост в изучении, хорошая документация, быстрый и т.д. и т.п. Для простых проектов самое «оно», чтоб попробовать свои силы именно как разработчик. Само собой, для более серьезных проектов лучше использовать более функциональные и навороченные фреймворки.

                                  Далее буду описывать, как я «апгрейдил» CodeIgniter, чтобы использовать этот каркас для разных проектов, т.к. базовый его функционал и примеры из документации, мягко говоря, очень простые, а в жизни всё гораздо сложнее. Итак, начнем-с.
                                  Читать дальше →
                                • HOWTO: свой бизнес в США из России

                                      Наверняка многие из нас хоть раз думали про себя: «Черт побери, и везет же этим американцам!». Это касается многого, от магазинов с доставкой «только в пределах 48 континентальных штатов» до вполне серьезных контрактов, которые срываются только потому, что потенциальный заказчик в США категорически не желает иметь дело с иностранцами.

                                      В этой статье я попробую осветить процесс создания и администрирования американской корпорации для резидента РФ. Наверняка многие из фактов для самих американцев покажутся тривиальными, однако для жителя России все куда сложнее — увы, это данность. Чтоб не сказать — это Родина, сынок. Оговорюсь сразу — я все это проделал более 2 лет назад, так что, некоторые детали могут быть не совсем актуальны. Но вряд ли что-то поменялось принципиально.
                                  Читать дальше →