• Возможные варианты конца света, или 3,14здец неизбежен?

      Сразу предупреждаю. Будет много текста и картинок.

      На днях ко мне зашел сосед с четвертого этажа и сообщил, что он только что на выходе из магазина вступил в контакт с инопланетянами, которые по секрету рассказали ему, что через два года, два месяца и два дня на Земле наступит конец света. При этом братья по разуму забрали у соседа бутылку водки, и он явно рассчитывал на компенсацию. Вручив мне, «как грамотному человеку», чертеж спасительного космолета (вырван из инструкции к китайской соковыжималке) и стрельнув полтинник «до получки», сосед немедленно испарился. А я, отложив свой отчет (шеф точно снесет мне голову), смеха ради набрал в поисковике «конец света» и… к собственному удивлению, обнаружил, что сосед не так уж и далек от истины.
      Давайте посмотрим, каким может быть конец света
    • Сети. Такие разные конструкторы

        Немного больше недели назад на Хабре вышла статья про социальные конструкторы , но в ней почему-то было рассказано только про два из них- Taba и Ning. Почему-то казалось, что таких конструкторов больше, чем два=) А ведь можно еще брать и социальные сети, которые могут выполнять функцию конструктора – тогда их будет гораздо больше, чем два. Проведя некоторое количество времени и вспомнив социальные сети, которые когда-либо видела, получается интересная картина. Все социальные площадки, с помощью которых можно объединить людей вокруг какой-той темы, сделать свое сообщество или группу, в общем, можно условно разделить на три основных блока: 1) потребительские сети 2) корпоративные сети и 3) сети для бизнеса.

        Читать дальше →
      • Как увеличить скорость Zend Framework в 10 раз.

          Как всегда неожиданно в конце проекта всплывают всякие неприятные вещи, так и у меня выяснилось, что страницы проекта написанного на Zend Framework генерятся от 300 мс до 1с на шустром ноутбуке с включенным акселератором. Бенчмарк ab тоже выдавал неутешительные 4 запроса в секунду. Взяв в руки XDebug я отправился на поиски истины.
          Читать дальше →
        • 2016 год: будущее интернета

            Как говорили классики киберпанка, будущее уже здесь, только оно еще недостаточно распространилось. Примерно так же считает Майкл Пинто (Michael Pinto), основатель и директор компании Very Memorable Design, издатель сайта Anime.com и член совета директоров Нью-йоркской софтверной ассоциации. Именно он является автором статьи, в которой речь идет о будущем интернета и ближайших перспективах человечества.

            Изменения в нашем мире происходят уже сейчас, по мере того, как телефонная связь и телевидение интегрируются в Сеть. Эта интеграция начинает постепенно затрагивать и другие устройства: от домашнего будильника до книжки, которую вы читаете перед сном. Интернет в будущем станет неотъемлемой частью всех этих объектов. Фактически, Всемирная сеть перестанет быть местом, куда мы «входим»; Cеть станет местом, где мы находимся постоянно — важным элементом, без которого мир просто развалится. На смену понятию «выйти в онлайн» приходит понятие «быть в онлайне».

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

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

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

            Из-за повсеместной доступности и увеличения скорости доступа к Сети естественным образом умрут устройства для физического хранения данных, такие как CD, DVD и проч. Они, конечно, будут использоваться для экстренных целей, но станут настоящей экзотикой.

            Но все эти технологические изменения не будут по-настоящему революционными. Истинная революция произойдет в нашей культуре — в том, как мы будем общаться друг с другом, в том, как под влиянием интернета трансформируются привычные обычаи и традиции. Дух времени можно почувствовать на сайте YouTube.com, где собраны коллекции любительских видеоклипов со всего мира. В списке самых популярных видеороликов можно найти музыкальные клипы из Китая, спортивные фрагменты из Восточной Европы и веселые проделки домашних животных из Южной Америки. Всемирная Сеть превращает нашу планету в одну «глобальную деревню», где каждый из жителей всегда доступен в онлайне.

            Со временем интернет будет восприниматься не столько как технология, а скорее как искусство. Нечто подобное когда-то произошло с кинематографом. Сначала просто появилась новая технология «движущейся фотографии», но спустя десятилетия Сергей Эйзенштейн и Чарли Чаплин изобрели художественный язык кино. То же самое произойдет с интернетом, когда станут взрослыми теперешние подростки — «поколение MySpace», дети, выросшие в интернете.
          • Ох уж этот javascript

              Считаете себя гуру JS'а? Попробуйте предсказать результаты следующих операций:

              Number.MIN_VALUE > 0; // true or false?

              typeof null; // what type?
              null === Object; // true or false?

              // и самый сок

              NaN === NaN; // true or false?

              typeof NaN; // what type?


              * This source code was highlighted with Source Code Highlighter.


              Сомневаетесь? Тогда именно для вас Брайан Леру (Brian Leroux) создал WTFJS — сайт, содержащий коллекцию странностей JS. «JavaScript — это язык, который мы любим несмотря на все его ненавистные особенности».

              Для нетерпеливых ответы под катом.

              Подглядеть
            • 25 самых опасных ошибок в программировании

              • Translation
              Всем привет.
              Под катом — перевод статьи Джеффа Атвуда, в которой он приводит список 25 наиболее опасных ошибок в программировании от Common Weakness Enumeration со своими комментариями.

              Сразу хочу сказать. Большинство ошибок, перечисленных там — общеизвестны и многим набили оскому. Несмотря на это, мы продолжаем вновь и вновь наступать на те же грабли. И я в том числе.
              Однако, поехали
            • SQA Days 2009 Piter: полная подборка материалов 5-й конференции тестировщиков

                По случаю дня тестировщика, а также в преддверии шестой конференции специалистов по тестированию и обеспечению качества а также конференции Test Labs в Киеве, публикую полный список имеющихся в наличии материалов выступлений предыдущей пятой конференции, которая состоялась 23-24 апреля 2009 г. в Санкт-Петербурге.

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

                Под катом много ссылок
              • Фундаментальный баг Adobe Flash не будут исправлять

                  Специалисты по безопасности из Foreground Security обнаружили проблему с Adobe Flash, которая затрагивает почти все сайты, поддерживающие загрузку пользовательского контента, даже если сам сайт формально не показывает Flash. Дело в том, что ничто не мешает сделать object/embed на какой-нибудь страничке, не имеющей отношения к сайту, потому как Flash имеет доступ к куки того домена, с которого он загружен (а не того, где расположен тег object).

                  Проблема заключается в свойстве ActionScript same-origin, которое допускает выполнение активного контента в рамках данного домена. Но если UGC можно загрузить на доверенный сайт, то вредоносный скрипт будет выполнится у всех посетителей этого сайта, у которых установлен Flash.

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

                  Атаку можно проводить в том числе через Gmail (см. видео).

                • Разговариваем про PyQt4 — Посиделка первая

                    image

                    Небольшое вступление


                        Собственно, тогда, давно, я решил попробовать Qt, потому что часто слышал об удобстве разработки под него и своими глазами видел, какая шикарная документация представлена на сайте производителя. Не могу сказать, что это далось легко (я раньше немного писал на GTK), особенно путался в этих бесконечных классах на "Q", но постепенно начало нравиться все больше и больше. В частности потому, что есть отличная привязка к нему для языка Python, на котором я, собственно, в основном и пишу.
                        Еще почему? Ну, я мог бы рассказать и о том, что он работает как на почти всех настольных системах, так и на многих мобильных, рассказать про совершенно гениальную объектную систему виджетов и т. п. Но — зачем? Не люблю холивары с приверженцами других визуальных библиотек :) Поэтому давайте считать этот топик чем-то вроде дележки опытом и рассуждений на тему.
                    Присоединиться к посиделке
                  • Большая песня маленького человека или Большой осадок от хостинга Hosting.ua

                      Когда уже собирался опубликовать эту историю, увидел в журнале Компьютерра интересную заметку под названием «Большая песня маленького человека». Приведу ее частично:

                      Жизнь простого смертного потребителя — довольно жестокая штука. Каждый из нас десятки раз в день рискует нарваться (и, как правило, нарывается) на плохое или очень плохое обслуживание, причем наши возможности повлиять на ситуацию обычно довольно скромны. Максимум, на что способен средний потребитель — разорвать контракт и, чувствуя себя народным мстителем, обратиться к конкуренту. Ругаться, скандалить, требовать своего. Мы выше этого.

                      Но не всегда. Крайне успешный пример красивой потребительской мести начался в июле 2009 года и продолжается до сих пор. В марте 2008 года Дэйв Кэрролл, гитарист второразрядной музыкальной группы Sons of Maxwell, летел из Галифакса в Омаху с пересадкой в Чикаго. Гитару Дэйв, как полагается, сдал в багаж, поэтому, когда после приземления в Чикаго он услышал от соседки «господи, да они ж там гитары швыряют», сердце у него екнуло. Впрочем, стюардесса сказала, что такие вопросы нужно решать не с ней, а с «агентом снаружи», агент сказал, что он не агент, а просто мимо проходил, — в общем, проблему, как часто бывает, заболтали, так что Дэйв с гитарой прилетели в Омаху, причем Дэйв прилетел вполне целым, а вот гитаре повезло куда меньше — 710 Taylor за $3500 в пути разбилась.

                      Поломку Дэйв обнаружил на следующий день, но в представительство авиакомпании United Airlines смог обратиться только через неделю. В представительстве ему сказали, что Дэйв должен подать жалобу там, откуда начиналось его путешествие, в Галифаксе.

                      От инстанции к инстанции Дэйва футболили еще девять месяцев. Наконец, у него лопнуло терпение. Услышав «нет, компенсацию мы вам не заплатим» (а ремонт обошелся в $1200). Дэйв пообещал сотруднице авиакомпании United написать о своих злоключениях три песни. Первая из них — United Breaks Guitars — появилась на YouTube 6 июля 2009 года, вторая — 18 августа.

                      Ролик United Breaks Guitars уже просмотрело больше пяти миллионов человек. По данным Times Online, в течение первых четырех дней после выкладки ролика на YouTube акции компании подешевели на десять процентов, что обошлось акционерам в 180 млн долларов (правда не доказано, что это как-то связано с песней).) Таким образом, уже с первой попытки Кэрролл заметно испортил жизнь обидчикам. Но куда больше он помог самому себе, потому что песня United breaks guitars совершенно неожиданно возглавила топ кантри и вестерна в британском Junes, да и вообще из почти неизвестного широкой публике музыканта Дэйв неожиданно превратился в того самого парня, который уделал United.

                      Не знаю, какая во всем этом может быть мораль. Летайте самолетами «Аэрофлота»? Никогда не сдавайте гитару в багаж? Любая неудача грозит обернуться успехом? ...


                      Наша ситуация до боли знакомая, поэтому позвольте рассказать большую песню от имени маленького человека, который попал в неприятную ситуацию с хостером Hosting.ua. Целью данного топика является желание предупредить других людей от желания сотрудничать с этими людьми.

                      Читать дальше →
                    • Брукс был прав, или главная сложность программирования

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

                        Брукс о сложности программирования


                        Статья называлась «No Silver Bullets – Essence and Accidents of Software Engineering». В ней утверждалось (и с этим сложно не согласиться), что сущностью программирования является, прежде всего, не написание инструкций машине на конкретном языке программирования, а выработка подробной структуры взаимодействующих сущностей, представляющих сущности проблемной области, а также проверка внутренней непротиворечивости этой структуры. Поэтому даже если, например, изобрести компьютерный язык, оперирующий понятиями на уровне проблемной области, или какое-либо другое средство, призванное существенно облегчить разработку ПО, программирование все равно останется сложной задачей, поскольку придется точно определять взаимосвязи между объектами реального мира, устанавливать исключения, предусматривать все возможные переходы между состояниями и т.д. Следовательно, ни одно средство разработки ПО не сможет существенно (на один-два порядка) снизить сложность разработки. Именно в описании структуры взаимодействующих сущностей проблемной области Брукс и видит главную сложность программирования.

                        Читать дальше →
                      • Облачные вычисления на пальцах

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

                          А теперь на пальцах
                        • Psyho.ua vs. General Electric: happy end

                            В феврале 2009 компания Goodby, Silverstein & Partners (GSP) сделала для General Electric замечательный сайт о энергосбережении:

                            image

                            Сайт получился отличный и, естественно, он не остался незамеченным: получил награду Site Of The Month за февраль от The FWA и быстро разошелся ссылками по различным дизайнерским сайтам и блогам. Именно на одном из сайтов я и заметил ссылку на этот сайт. Зашел, посмотрел и мне бросилась в глаза деталь, которая напоминала одну нашу работу. Серию иллюстраций «Частичка мира» мы сделали чуть менее чем за год до этого, и они тоже обошли мир несколько раз, перепечатываясь с одного сайта на другой.

                            У меня не было сомнения, что дизайнер, делавший сайт для GE видел нашу работу, поскольку сходство было очевидным. Исключено было и использование одинаковых клип-артов, поскольку я точно знал, что наша работа была сделана «с нуля».
                            Читать дальше →
                          • 51 Веб Приложение для Дизайнеров и Разработчиков

                            • Translation
                            Веб дизайн и разработка претерпели значительные изменения в течении последних лет, точно так же изменились используемые технологии и инструменты. Эти изменения придали жизнь таким инструментам, которые сделали нашу жизнь проще, и дали возможность предоставлять нашим клиентам более качественные услуги. Коммуникации и совместная работа на огромных расстояниях уже не проблема и управление проектом стало весьма простой задачей.

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

                            Данная статья представляет 51 веб приложений для дизайнеров и разработчиков.
                            Идем дальше...
                          • Профессиональная конференция и три инвайта

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

                              Конференция будет проходить 16 ноября в Москве.

                              Приглашаем всех желающих принять участие в конкурсе от Whale Rider.
                              Так как Whale Rider ориентирован на практиков, то наши эксперты подготовили для Вас специализированные вопросы, которые потребуют опыта, знаний и творческого подхода.
                              Авторам самых лучших ответов будут вручены инвайты на конференцию – по одному инвайту за каждый вопрос.
                              Читать дальше →
                            • Расширение возможностей Zend_Form с использованием ExtJS

                                    Zend Framework содержит удобное средство рендеринга форм – Zend_Form. Наиболее важными плюсами являются:
                                • средства валидации данных (большое количество валидаторов);
                                • средства фильтрации данных (например перевод дат в формат БД);
                                • рендеринг формы с использованием декораторов;
                                • экранирование выводимых данных.
                                    Исходя из этого создать форму, обрабатываемую только серверной стороной не вызывает проблем. Однако сейчас этим уже никого не удивить. Отмечу, что Zend активно сотрудничает с Dojo для создания динамически обрабатываемых форм, но виджеты, разрабатываемые данной компанией, оставляют желать лучшего по сравнению с ExtJS. С этой точки зрения лучшим вариантом является корректировка рендеринга форм классом Zend_Form.

                                    Наиболее интересным выглядит симбиоз ExtJS и Zend. Встроенная валидация полей виджета Ext.form.BasicForm может быть согласована с валидаторами серверной стороны. Здесь возможны существенные проблемы в виду использования различной философии при проверке полей. Например, в ExtJS использутся типы полей и дополнительные валидаторы, а в Zend_Form присутствуют только валидаторы. Но эта проблема разрешима, т.к. в клиентской части мы можем создавать свои типы данных, соответствующие функциям проверки, которые реализованы в Zend.
                                Читать дальше →
                              • Создание сложных приложений в ExtJS.

                                • Translation
                                Автор: Jozef Sakalos, aka Saki
                                Статья в оригинале: Создание сложного приложение в Ext на blog.extjs.eu

                                Предисловие


                                Я решил написать эту статью для тех пользователей Ext 2.x, которые уже переросли одну единственную HTML-страницу со встроенными скриптом, создающим простое окно или форму, для тех, которые уже решили, что Ext — это их путь и для тех, которые превозмогая трудности связанные с большими объемами кода, понимают, что нуждаются в его структурировании.
                                Сколько людей, столько и мнений. И поэтому способ, который я опишу ниже, не является одним единственным возможным. Также хотелось бы отметить, что не каждое приложение, написанное с применением этого подхода, является гарантированно хорошим. Ничего подобного.
                                Замечу, что описываемый подход является работоспособным, четко структурированным, без труда поддерживаемым и, одним словом: рабочим!
                                Читать дальше →
                              • PHP-AMQP Что нового у Друзей?

                                  При построении социальной сети по типу шардинга встает проблема обмена данными между шардами. Традиционная репликация в данном случае не подходит по разным причинам. Тема шардинга — это отельная большая тема и не является предметом данной статьи.
                                  В данной архитектуре для реализации «ленты Друзей» или «Новостной ленты» лучше использовать сервер очередей используя систему: Подписка-Уведомление. В качестве брокера обмена предлагается использовать сервер очередей RabbitMQ, реализующий протокол AMQP, который был выбран по причине хорошей масштабируемости. Серверная часть реализована на PHP, используя расширение php-rabbit (описание АПИ).
                                  Читать дальше →
                                • 5 причин полюбить Mylyn

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

                                    Вы думаете лучшими специалистами в своем деле становятся талантливые и гениальные люди? Нет, быть лучшим — это возможность каждого нормального человека! И у тебя, Хаброжитель, эта возможность тоже есть!
                                    Читать дальше →