• GTD на кухне: чем накормить голодного программиста

    • Tutorial
    imageИтак, как и обещал в первой части, продолжаем упрощать бытовую жизнь хабражителя. Сегодня 8 марта (кстати, девушки, поздравляю!) и части мужчин хочется порадовать своих женщин и освободить их от «рабского труда» на кухне, а другой части – приготовить для себя не традиционные пельмени\вареники\сосиски, а что-то посущественней.
    Вот несколько проверенных рецептов, которые пригодятся и первым, и вторым.

    Осторожно, много картинок. Голодным не входить!
    Читать дальше →
  • Будьте оптимистами — депрессия приводит к болезни Альцгеймера

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



      Читать дальше →
    • Потоковое видео в Android

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


        Читать дальше →
      • Как продвигать игру в AppStore: делюсь опытом на примере Wordrive

          Хочу поделиться опытом по продвижению своей новой игры для iPhone/iPad — Wordrive.

          Статья может быть полезна не только для продвижения iPhone-приложений, но любого мобильного или прикладного софта, потому что часть советов довольно универсальны. Многое из описываемого тут я в сети нигде не нашел. Надеюсь, это поможет пройти этот этап без типичных ошибок.

          Итак, вот у вас готово приложение и оно появилось в AppStore. Первый поток людей на него направляется из iTunes/App Store, сам собой — за счет появления в «новинках». Рассчитывать на него нечего — он как пришел, так и уйдет через пару-тройку дней. За это время нужно делать все, чтобы о программе или игре стали писать в сети. Если программа за это время сможет собрать еще и интернет-аудиторию, то выйти в топы будет сильно проще. А чтобы ее собрать, к моменту запуска в App Store нужно уже много что сделать.

          Читать дальше →
        • Восстановление зрения

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

            Читать дальше →
          • Ebay. Украина. О таможне и пересылках

              О работе с Ebay написано много. Зачастую русскоязычные ресурсы описывают российские реалии и большая часть написанного применима к Украине, однако есть нюансы, на которые стоит обратить внимание.
              Читать дальше →
            • Выбираем и собираем неттоп

                Привет %username%!
                Прочитав недавно пост о неттопе на базе Nvidia ION я решил поделиться и своим, надеюсь интересным своим опытом.

                Итак, недавно передо мной встала задача сборки компьютера. Тихого, недорогого, но — компьютера. Цели были проще некуда — обеспечить родителям доступ в интернет, возможность работы с документами, и в перспективе — научить их пользоваться Скайпом.
                Просмотрев прайсы, я уже было утвердил себе системный блок на базе Celeron E1200. Цена была подходящая — 8500руб, и это был бы полноценный Midi-Tower компьютер. Но тут мой взгляд привлекли интегрированные решения на базе Intel Atom. В своей практике я еще не сталкивался с этими машинками, а прикинув стоимость, я заметил весьма ощутимую выгоду, не только в цене, но и в компактности этого решения. Форм-фактор Mini-ITX предполагает малые возможности для расширения, но я сомневаюсь что моим родителям захочется поставить видеокарту ATI HD5970. Зато места такой ПК будет занимать гораздо меньше, и энергии потреблять он будет меньше в разы.
                Аккуратно — трафик!

                Читать дальше →
              • Неттоп Zotac ZBOX HD-ID11 на NVIDIA Ion 2

                  image

                  На выставке CeBIT 2010, проходящей в эти дни в немецком Ганновере, компания Zotac представила неттоп ZBOX HD-ID11 на платформе NVIDIA Ion нового поколения. Сердцем Mini PC служит 1,66-гигагерцевый двухъядерный процессор Intel Atom D510 с интегрированным графическим ядром, чипсета Intel NM10 Express (платформа Intel Pine Trail).
                  Читать дальше →
                • VLC: Стрим и Стрим-Сервер #2

                    image
                    В этой части мы рассмотрим «Простой Стриминг» через GUI для домохозяек, а для примера нам послужат ситуации:
                    1. Когда мы выступаем в роли локального транслятора, для людей с лимитированным интернетом, с отключенным интернетом, или для тех, кто считается с вашим вкусом и хочет смотреть то, что вы им порекомендуете.
                    3. Если вы захотите передавать видео со своей вебкамеры, просто цифровой камеры и любых других подобных устройств, через DirectShow.

                    Читать дальше →
                  • Почему в России терпят, а не живут

                      Под впечатлением от:
                      первой главы книги «Мифы экономики», «запрещенного» ролика про год молодежи, воспоминаний о фильме «Изображая жертву», вчерашней беседы с Михерисом, Витюшей и Шнюгой :)


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

                      image

                      И еще одно. Пожалуйста, дочитайте до конца прежде, чем оставлять комментарий. Я знаю, «много букав», но я уверен, вы не пожалеете о потраченных 3-5 минутах, тем более, что в конце вас ждет сюрприз :)

                      Читать дальше →
                    • Screen — текстовый оконный менеджер

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

                        Итак, что же представляет из себя Screen?

                        Читать дальше →
                      • История одного байта

                          Предисловие.
                          Этот рассказ имеет свою длинную историю. Для многих это, возможно, будет махровый баян, но мне кажется он стоит того, что бы его прочитали новые люди.
                          Во всех источниках, где я встречал его сведения об авторе были просты и незатейливы: Dmitry Galuscenko. Если кто-то может указать сайт или e-mail — напишите в комментариях, я с удовольствием добавлю.
                          Итак, начнем.


                          Мне не хватало байта. Всего одного. Да, да. Того самого, что из восьми бит состоит. Что? Hет, я не псих, хотя одному богу известно, сколь тонкой была граница отделявшая меня от этого состояния.
                          Hо все по порядку
                        • Удержание баланса между функциональностью и совместимостью при разработке приложения

                          • Перевод
                          image

                          Разработчики приложений для Android, ориентирующиеся при разработке на все вышедшие устройства, наверняка знакомы с этой схемой:

                          image

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

                          Опытные разработчики уже удостоверились, что эти два варианта являются взаимоисключающими, и сохранение баланса между ними может быть болезненным. В этой статье я покажу вам, что это не так.
                          Читать дальше →
                        • Android 2.1 на Higscreen Zeus

                            Что это за девайс? Все просто и дешево, и уже обсуждалось на хабре. Русская фирма Vobis заказала Foxconn мобильник, они его сделали, Vobis воткнули туда голую OS Google Android и стала продавать его за 9990р. Получился Highscreen Zeus:
                            Читать дальше →
                          • Tig — консольный GUI для Git

                              Никогда не был фанатом gitk и пользовался им редко, предпочитая консоль и настроенные алиасы. Благодаря хабраюзеру grossws, я открыл для себя tig. Это то, чего мне не хватало. После месяца использования его в работе хочу поделиться находкой с вами.

                              Tig это консольный GUI(TUI) для Git, основанный на Ncurses.
                              Основные преимущества:

                              • потрясающая скорость, 20,000 коммитов готовы к просмотру за четверть секунды
                              • консольный
                              • управление в vim стиле

                              Cкриншоты основных режимов и сравнение с gitk.
                              Читать дальше →
                            • Десятка лучших консольных команд

                                imageВ данном посте я расскажу о наиболее интересных командах, которые могут быть очень полезны при работе в консоли. Однозначных критериев определения какая команда лучше другой — нет, каждый сам для своих условий выбирает лучшее. Я решил построить список команд на основе наиболее рейтинговых приемов работы с консолью от commandlinefu.com, кладовой консольных команд. Результат выполнения одной из таких команд под Linux приведен на картинке. Если заинтересовало, прошу под кат.
                                Узнать больше
                              • Алгоритмы и структуры данных JDK

                                [ english version ]
                                Периодически проверяя нет ли реализации того или иного стандартного алгоритма в jdk, пришла мысль составить подобный обзор. Также интересны были причины наличия/отсутствия многих известных структур данных.
                                Формат обзора — только ключевые свойства и особенности структур и алгоритмов в составе jdk, подробности и детали — расписаны в javadoc или легко найти в исходниках.
                                Надеюсь на конструктивную критику и коллективный разум если что упустил.
                                Хватит вступлений, итак, давайте рассмотрим что включает в себя текущий jdk 7 и почему.
                                Читать дальше →
                              • Распределенный аудиоплеер на Odroid U2


                                  Однажды я заметил, что довольно много времени я провожу на кухне, куда звук от колонок, расположенных в комнате доходит плохо. И тогда мне захотелось сделать хороший бесшумный плеер, способный синхронно воспроизводить музыку в нескольких комнатах. Конечно проблему можно было решить простым поворотом регулятора громкости, но этот способ был отброшен как негуманный по отношению к соседям. Другой важный момент заключался в том, что я хотел использовать те же колонки для вывода звука с компьютера. Зачем мне иметь несколько комплектов аккустики в одной комнате?
                                  Пост получился довольно длиннный, так как я старался уделить внимание соображениям, по которым я выбирал то или иное решение.
                                  Читать дальше →
                                • Обзор java.util.concurrent.*

                                  • Tutorial
                                  В повседневной работе не так уж часто приходится сталкиваться с пакетом для многопоточности java.util.concurrent. Иногда существуют проектные ограничения по использованию java 1.4.2, где нет данного пакета, но чаще всего хватает обычной синхронизации и не требуется ничего сверхъестественного. К счастью, периодически возникают задачи, заставляющие немного пораскинуть мозгами и либо написать велосипед, либо порыться в javadoc'ах и найти что-то более подходящее. С велосипедом проблем нет — просто берешь и пишешь, благо ничего суперсложного в многопоточности нет. С другой стороны, меньше кода — меньше багов. Тем более, что на многопоточность никто в здравом уме юнит тестов не пишет, т.к. это уже полноценные интеграционные тесты получаются со всеми вытекающими последствиями.

                                  Что выбрать для конкретного случая? В условиях запарки и deadline'ов довольно сложно охватить весь java.util.concurrent. Выбирается что то похожее и вперед! Так, постепенно, в коде появляются ArrayBlockingQueue, ConcurrentHashMap, AtomicInteger, Collections.synchronizedList(new LinkedList()) и другие интересности. Иногда правильно, иногда нет. В какой то момент времени начинаешь осознавать, что более 95% стандартных классов в java вообще не используются при разработке продукта. Коллекции, примитивы, перекладывание байтиков с одного места на другое, hibernate, spring или EJB, еще какая то библиотека и, вуаля, приложение готово.

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

                                    В середине прошлого лета на программерскую рассылку отдела клиентских игр Mail.Ru Group пришло письмо – «Объявлен конкурс на позицию преподавателя курса Java в нашем совместном проекте с МГТУ им. Н. Э. Баумана». Как программист и сотрудник отдела я это письмо тоже получил. Как выпускник физтеха, а в прошлом преподаватель и научный работник, решил откликнуться.
                                    Так для меня началась история работы преподавателем в Технопарке. Собственно об этом (о работе, о Технопарке, о своем курсе и о студентах) я и хочу вам рассказать.

                                    Читать дальше →