• «One Last Thing» — документальный фильм о Стиве Джобсе (2011 год), профессиональный русский перевод

      image

      «Одна последняя вещь» (One Last Thing) — документальный фильм о Стиве Джобсе, выпущенный в 2011 году. В фильм включено неизвестное интервью Стива Джобса, данное в 1994 году, а также интервью со Стивом Возняком, Рональдом Уэйном, Дином Хови, Россом Перо. Перевод на русский язык — канал GTV.

      Читать дальше →
    • Основы фотографии: выдержка, диафрагма, ГРИП, светочувствительность

        Введение


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

        В результате у кого-то возникает разочарование в камере и фотографии в целом, а другие проявляют терпение и пытаются освоить премудрости фотографии, чтобы раскрыть весь потенциал камеры с полноценным (или почти полноценным) сенсором.

        Изначально я планировал написать одну статью, но по ходу дела понял, что объем получается слишком большой и решил разбить ее на несколько частей. В этой главе рассмотрю такие понятия как выдержка, диафрагма, ГРИП и светочувствительность, как эти параметры влияют на результат съемки. На очереди статья про типы и параметры объективов, работу со вспышками и советы по съемке в различных условиях.
        Читать дальше →
      • Cетевой доступ к nokia 5800 через WiFi/Internet

          image Не так давно прочитал статью хабраюзера imwode о доступе к диску компьютера через WiFi/Internet с помощью встроенного в Symbian клиента. И все бы ничего, но в nokia 5800 наши глубокоуважаемые финские друзья не потрудились добавить данный клиент по умолчанию. Но унывать по этому поводу я не стал и отправился сёрфить в поисках нужного мне решения. Как оказалось не безрезультатно.
          В настоящее время для symbian смартфонов доступна целая серия программ для беспроводного (WiFi, 3G, GPRS, ...) доступа между телефоном и компьютером от Telexy Networks, Inc.. Программы имеют полную поддержку touchscreen, обладают удобным пользовательским интерфейсом и многими другими вкусностями.
          Далее обо всем этом подробней
        • Перехват аккаунтов пользователей в Wi-Fi-сетях с Android

            imageВ сети стала появляться информация о сниффере под любой рутованный смартфон или планшет на Андроиде (от 2.1), позволяющий ходить под чужими аккаунтами многих веб-сайтов, в том числе Facebook и Vkontakte в общественных сетях Wi-Fi.
            Речь идет о программе DroidSheep.
            О механизме ее работы и использовании поговорим подробнее.
            Читать дальше →
          • Мониторинг производительности PHP-кода с помощью Pinba

              Давайте представим себе типичный, набирающий популярность стартап, использующий, например, PHP или Python. Сначала все находится на одном сервере — PHP (или Python), Apache, MySQL. Затем вы выносите MySQL на отдельный сервер, устанавливаете nginx для раздачи контента, возможно, добавляете memcached для кеширования и еще несколько серверов приложений…

              Со временем число серверов будет расти, и рано или поздно вы зададитесь вопросами
              «А что сейчас вообще происходит с системой? Как часто выполняется тот или иной скрипт и как долго? Какие операции занимают большую часть времени?» Системы мониторинга типа Zabbix дают лишь общую, поверхностную картину состояния приложения.

              Чтобы получить ответы на эти вопросы, в Badoo был разработан сервиc мониторинга и статистики в реальном времени — Pinba. В данной статье мы расскажем о нашем опыте использования его для мониторинга и профайлинга нашей системы.
              Читать дальше →
            • Джентельменский набор модулей для Drupal 7

              Доброго всем времени суток!

              Те, кому часто приходится поднимать сайты на Drupal, имеют в загашнике постоянный набор модулей и тем, которые так или иначе могут использоваться на поднимаемом ресурсе.
              При отсутствии данного набора приходится вспоминать и скачивать модули для воплощения на сайте того или иного функционала.
              Поскольку актуальной на данный момент версией является седьмая, о ней и пойдёт речь.
              Читать дальше →
            • Памятка пользователям ssh

                abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

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

                Оглавление:
                • управление ключами
                • копирование файлов через ssh
                • Проброс потоков ввода/вывода
                • Монтирование удалённой FS через ssh
                • Удалённое исполнение кода
                • Алиасы и опции для подключений в .ssh/config
                • Опции по-умолчанию
                • Проброс X-сервера
                • ssh в качестве socks-proxy
                • Проброс портов — прямой и обратный
                • Реверс-сокс-прокси
                • туннелирование L2/L3 трафика
                • Проброс агента авторизации
                • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
                Читать дальше →
              • Работа с памятью (и всё же она есть)

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

                  Читать дальше →
                • Краткий обзор современного инструментария для начинающего разработчика Drupal

                  Относительно недавно в Москве проходила конференция DrupalConf'2011, на которой я рассказывал про инструменты для начинающего разработчика Drupal.

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

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


                  Читать дальше →
                • Автоматическое оповещение читателей о новостях с помощью ВКонтакте. Часть 3

                  Те, кто до этого времени использовали класс vk.wallpost.php, возможно, столкнулись с проблемой работы данного скрипта на хостинге. Данный класс был написан пользователем xbreaker и подробно разобран по частям в статьях: Часть 1 и Часть 2.

                  Скрипт замечательно работает на локальном компьютере. Но когда его закидываешь на хостинг он перестает отсылать сообщения.
                  Читать дальше →
                • Демоны на PHP

                  Памятка начинающему экзорцисту.

                  Прежде, чем начать: я знаю, что такое phpDaemon и System_Daemon. Я читал статьи по этой тематике, и на хабре тоже.

                  Итак, предположим, что вы уже определились, что вам нужен именно демон. Что он должен уметь?
                  • Запускаться из консоли и отвязываться от неё
                  • Всю информацию писать в логи, ничего не выводить в консоль
                  • Уметь плодить дочерние процессы и контролировать их
                  • Выполнять поставленную задачу
                  • Корректно завершать работу

                  Отвязываемся от консоли


                  // Создаем дочерний процесс
                  // весь код после pcntl_fork() будет выполняться двумя процессами: родительским и дочерним
                  $child_pid = pcntl_fork();
                  if ($child_pid) {
                      // Выходим из родительского, привязанного к консоли, процесса
                      exit();
                  }
                  // Делаем основным процессом дочерний.
                  posix_setsid();
                  
                  // Дальнейший код выполнится только дочерним процессом, который уже отвязан от консоли
                  

                  Читать дальше →
                • На Хабре есть ещё «торт», несмотря на «сыр»

                    Отличная весть для всех использующих дополнительные скрипты и стили, наработанные за последние год-два (2010-2011), пока существовала старая вёрстка Хабра. Оказывается, есть страницы, не тронутые разработчиками — просто они существовали под другим адресом!

                    Итак, старая «Главная» — это habrahabr.ru/all. Содержит блоги тематические + блоги компаний, в точности как в традиционном Хабре.
                    Cтарая «Все — новые» — это habrahabr.ru/all/new. Содержит блоги тематические + блоги компаний, захабренные и отхабренные (т.е. все) за последние сутки. (Работают только при авторизации.)

                    Не менее важно в этих страницах то, что дизайн их не затронут нововведениями, поэтому все наработанные скрипты и стили множества (10-15) разработчиков продолжат работать на этих страницах. В противном случае, им придётся срочно, в пожарном порядке приспосабливать их к новой вёрстке.
                    Читать дальше →
                  • Поговорим о словарном запасе иностранного языка

                      Сколько слов в английском языке? Oxford English Dictionary содержит около 500 000 словарных статей, не учитывая специфические научные слова и выражения (которых насчитывается еще порядка 500 000). А как вы думаете, какой средний словарный запас иностранного языка дает вам средняя школа за время обучения? Правильный ответ – около 2500 слов. Мало ли этого набора? Тут уже надо исходить из ваших целей. Для общения с иностранцами на деловые темы – однозначно мало. Для чтения несложных текстов в интернете – более чем достаточно. Если быть точнее:

                      400–500 слов – активный словарный запас для владения языком на базовом (пороговом) уровне.
                      800–1000 слов – активный словарный запас для того, чтобы объясниться; или пассивный словарный запас для чтения на базовом уровне.
                      1500–2000 слов – активный словарный запас, которого вполне хватит для того, чтобы обеспечить повседневное общение в течение всего дня: или пассивный словарный запас, достаточный для уверенного чтения.
                      3000–4000 слов – в общем, достаточно для практически свободного чтения газет или литературы по специальности.
                      Около 8000 слов – обеспечивают полноценное общение для среднего европейца. Практически не нужно знать больше слов для того, чтобы свободно общаться как устно, так и письменно, а также читать литературу любого рода.

                      К этим данным пришел известный шведский полиглот Эрик Гуннемарк, основатель Международной ассоциации `Amici Linguarum` (`Друзья языков`). Более того, он составил набор минимального количества слов и выражений, которые необходимо знать, для порогового уровня владения языком, назвав их Минилекс и Минифраз.

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

                      Читать дальше →
                    • Об управлении временем, саморазвитии и деньгах

                        Я хочу рассказать о том, почему в отдельности не работают подходы, которые люди начинают применять, прочитав ту или иную книгу из области time-management или управления финансами.

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

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

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

                        Или с деньгами.
                        Читать дальше →
                      • Автоматизация создания виртуального хоста для web-разработки на базе Apache+Nginx

                          Как быстро создать виртуальнй хост и структуру папок одной строкой в терминале


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

                          Не так давно я задумался над автоматизацией процесса создания виртуальных хостов. Порыв немного в интернетах, и заодно вспомнив bash, родился скрипт, который избавил меня от рутины и ошибок одновременно.
                          Читать дальше →
                        • Профилирование PHP-кода

                            Профилирование PHP-кода

                            Рано или поздно каждый из нас сталкивается с унаследованным кодом и его оптимизацией. Дебаггер и профилировшик в такой ситуации — лучшие помощники программиста. У тех кто работает с PHP, благодаря Дерику Ретансу (Derick Rethans) есть хороший инструмент — xDebug. Информации касательно xDebug много даже в рунете, поэтому речь в этой статье пойдет не о нем.

                            Наткнувшись на упоминание о профилировщике для PHP я сразу подумал об xDebug ( о проприетарных инструментах от Zend я давно уже успел позабыть ), но на этот раз ошибся — речь пойдет об XHProf.
                            XHProf

                            Этот профилировшик был разработан специально для Facebook, а исходный код его был открыт в марте 2009 года.
                            Читать дальше →
                          • SignalsyMQ — простая и быстрая очередь сообщений на PHP+Redis (и немножко Zend Framework)


                              Приветствую читателей. Сейчас я веду разработку собственного фреймворка, основанного, в противовес главенствующей сейчас модели MVC, на базе сигнальной архитектуры (signal/slot). Пока он проходит боевую обкатку в нашем стартапе, и за это время я понял, что просто библиотеки мало — реальные задачи и виденье будущего показывает, что необходим разный функционал, но объединенный одной темой — обработка и доставка информации множеству клиентов в реальном времени (да, в чем-то схоже с Comet-ом, он там тоже есть). Поэтому решено было попробовать реализовать основной компонент — очередь сообщений, которая бы стала основной для следующих проектов, быстрой, гибкой и масштабируемой.

                              Что получилось? Альфа-версия SignalsyMQ — очередь сообщений на базе PHP/Redis/Zend Framework.
                              Читать дальше →
                            • Пишем Comet-чат

                                Хочу поделиться своим опытом создания простого Comet-чата. Периодически читал про эту технологию, и сейчас решил попробовать сделать что-либо сам. Получился небольшой чат, интерфейс которого я старался сделать похожим на интерфейс irc-клиента mIRC. Так как подобную вещь пишу первый раз, просьба прокомментировать возможные ошибки в программе и статье и описать более оптимальные пути решения задач. Посмотреть на работающий чат можно здесь: http://94.127.68.84:6884/
                                Читать дальше →
                              • Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

                                  Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

                                  Введение


                                  С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
                                  Статья большая, так что будет поделена на логические блоки:

                                  0. Зачем вообще что-то оптимизировать?
                                    
                                  1. Оптимизация ОС (FreeBSD)
                                    1.1 Переход на 7.х 
                                    1.2 Переход на 7.2
                                    1.3 Переход на amd64
                                    1.4 Разгрузка сетевой подсистемы
                                    1.5 FreeBSD и большое кол-во файлов
                                    1.6 Softupdates, gjournal и mount options
                                    
                                  2. Оптимизация фронтенда (nginx)
                                    2.1 Accept Filters
                                    2.2 Кеширование
                                    2.3 AIO
                                    
                                  3. Оптимизация бэкенда
                                    3.1 APC
                                    3.1.1 APC locking
                                    3.1.2 APC hints
                                    3.1.3 APC fragmentation
                                    3.2 PHP 5.3
                                    
                                  4. Оптимизация базы данных
                                    4.1 MySQL 
                                    4.1.1 Переход на 5.1
                                    4.1.2 Переход на InnoDB
                                    4.1.3 Встроеный кеш MySQL - Query Cache
                                    4.1.4 Индексы
                                    
                                  4.2 PostgreSQL
                                    4.2.1 Индексы
                                    4.2.2 pgBouncer и другие.
                                    4.2.3 pgFouine
                                    
                                  4.3 Разгрузка базы данных
                                    4.3.1 SphinxQL
                                    4.3.2 Не-RDBMS хранилище
                                    4.4 Кодировки
                                    4.5 Асинхронность
                                    
                                  Приложение. Мелочи.
                                    1. SSHGuard или альтернатива.
                                    2. xtrabackup
                                    3. Перенос почты на другой хост
                                    4. Интеграция со сторонним ПО
                                    5. Мониторинг
                                    
                                   6. Минусы оптимизации

                                  Кому что-нибудь из этого списка интересно, жмём сюда...
                                • Список полезных инструментов для php разработчика

                                  • Translation
                                  PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
                                  Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
                                  Читать дальше →