• Mastering Android NDK

      В конце прошлого года вышла наша вторая книга про нативную разработку под Android с использованием Android NDK и C++ (про первую уже было рассказано на Хабре).

      image

      www.packtpub.com/application-development/mastering-android-ndk

      Читать дальше →
    • Мультиплатформенный аудио плеер на C++ и OpenAL

        Так сложилось, что большую часть жизни я пользовался Windows и привык воспроизводить аудио файлы с помощью Winamp. Он очень удобно интегрируется с командной строкой — запустил любой аудио файл и готово. После перехода на Linux и OS X (в основном по работе, но Mac использую и дома вместе с виндой) возникла острая необходимость найти альтернативу. Перепробывал большое количестко крафических плееров. Основная их проблема — это отсутствие нормальной интеграции с командной строкой и часто поддержка только одной из платформ: либо Linux, либо OS X. С консольными плеерами ситуация получше: mpg123 и mpg321 практически идеально делают именно то, что надо. Вот только появилось одно большое «но». Они не умеют играть .ogg и трекерную музыку (.it, .mod, .xm, .s3m и прочие), которой тоже накопилось достаточно и расставаться с ней совершенно не хотелось.
        Читать дальше →
      • Стартап, вестинг, клифф: доли в бизнесе и права участников

        • Translation
        Один из самых привлекательных моментов в присоединении к стартапу — получение опционов (прав на приобретение определенной доли в стартапе по фиксированной цене). Это предоставляет право владения долей компании и помогает сбалансировать интересы руководства и сотрудников. Впрочем, один аспект в обыкновенном пакете опционов вызывает горячие дискуссии между сотрудниками и руководителями, и этот аспект — годовой порог (cliff). Мы в Alconost перевели для вас статью, в которой понятно и практично написано о клифф-вестинге, опционах и рисках, связанных со всем этим.


        Читать дальше →
        • +26
        • 53.7k
        • 9
      • Google Play — работаем легально!

          Привет, Хабр!



          Сегодня, я хочу рассказать о том как сделать свое хобби по разработке Android-приложений пусть небольшим, но официальным бизнесом. О том, как легально получать деньги, заработанные на Google Play, о «страшном» валютном контроле и «таинственном» паспорте сделки.
          Читать дальше →
        • GTD на кухне: чем накормить голодного программиста

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

          Осторожно, много картинок. Голодным не входить!
          Читать дальше →
        • Почему я ушел из Google

          • Translation
          Ну хорошо, я сдаюсь: все хотят знать почему я ушел. А так как ответить каждому отдельно невозможно, вот вам изложение в длинной форме. Прочтите немного (я дойду в кульминации в 3-м абзаце) или прочтите всё. Но начну с предупреждения: здесь нет ни драмы, ни сверхинтересных деталей, ни избиения бывших коллег, и вообще нет ничего, о чем вы не могли бы догадаться сами из того, что ходит в прессе вокруг Google и ее отношения к разработчикам программ и конфиденциальности пользовательских данных. Это просто мой личный рассказ.

          Покинуть Google было непростым решением. За время моей работы там я стал довольно страстным поклонником компании. Я выступал на четырех Google Developer Day, на двух Google Test Automation Conferences и был плодовитым участником блога Google Test. Рекрутеры часто просили меня помочь уговорить очень перспективных кандидатов на работу в компании. Меня никто не должен был просить дважды для поддержки Google, и никто более меня не удивился тому, что я не смог это продолжать. На самом деле последние три месяца работы в Google были вихрем отчаяния в тщетной попытке вернуть прошлую страсть.
          Читать дальше →
        • Машинное восприятие времени, если бы наносекунды были секундами

          • Translation
          Давайте сразу обговорим масштаб времени. Процессор вашего компьютера живёт наносекундами: большинство CPU может сделать несколько вещей за одну наносекунду — в основном, простую математику и сравнения. Чтобы облегчить восприятие, предположим, что вы являетесь процессором и вместо наносекунд живёте и работаете секунда за секундой. Для ясности, применим эту метафору на одноядерном процессоре.

          Вы можете одновременно держать несколько вещей в голове (регистр). Не больше, чем десяток или два в вашей активной памяти, но вы способны вспомнить любую из них практически мгновенно. Важную для себя информацию вы держите под рукой, будь то доступный за пару секунд отрывной блокнотик на рабочем столе (кэш L1) или одна из книжек на полке (кэш L2 и больше), которые настолько хорошо организованы, что любой фрагмент информации вы можете получить не более чем за десяток секунд или около того.
          Читать дальше →
        • Строение двигателей

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

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

            Читать дальше →
          • 3D стереофотография своими руками

              Для бюджетной съёмки 3D контента существует три варианта:
              • смартфоны и мыльницы с двумя встроенными камерами: LG Optimus 3D, HTC Evo 3D; Fuji FinePix REAL 3D
              • съёмка двух кадров одним фотоаппаратом с разных точек;
              • насадки на обычный зеркальный фотоаппарат — 3D объективы, например Loreo3D;
              • два зеркальных фотоаппарата с синхронным спуском — это уже не бюджетно, но даст наилучшее качество.

              С первым вариантом всё просто — он несколько дороже и позволяет делать готовые 3D фотографии с обычного телефона. Ничего хитрого: навёл — нажал кнопку — получил фото.

              Вариант со съёмкой двух кадров одним фотоаппаратом с разных точек имеет существенное ограничение — снять динамичную сцену не получится, потому что пока вы переставляете фотоаппарат с места на место, то действующих лиц уже и след простынет.

              Остановимся более подробно на третьем варианте: он особенно интересен, если у вас уже есть обычный зеркальный фотоаппарат.

              image

              Читать дальше →
            • ITшник в Австралии

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

                Читать дальше →
              • Денег нет, погода дрянь и правительство ввело новые поборы. Что делать?

                  road
                  На Хабре, что то стали проскакивать упаднические настроение, дескать в провинции зарплаты маленькие, и вообще жить плохо. Собственно, расскажу как я решил это проблему для себя. Взял и переехал в Новую Зеландию. Ну не будем перескакивать.

                  Расскажу, что и как было, на дворе 2007, жил во Владивостоке, у меня заканчивалась аспирантура, мне было 25 и очень хотелось немного улучшить уровень жизни. Был закончен универ по специальности АСУ и было 2.5 года опыта работы программистом в довольно известном владивостокском интернет проекте.

                  Если так посмотреть, варианты были уехать в Москву, или куда еще подальше.
                  Подумал, что в Москву всегда успеется, а вот куда подальше было бы неплохо.

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

                  Итак что было сделано:
                  Читать дальше →
                • Советские слайды

                    Меня всегда увлекала инфографика в СССР. Те бесподобные плакаты, которые создавались тогда в условиях жесткой пропаганды, ни в какое сравнение не идут с нынешним отстоем (особенно в социальной сфере).

                    Представьте если PowerPoint был бы в те годы? Какими были презентации? Ухх… В принципе, кстати, можно попробовать по-фантазировать и что-то сделать.

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

                    • Translation
                    Это перевод статьи с сайта 37signals.com

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

                      В android мы можем перехватить событие low memory для нашего приложения или активити, путем установки им через registerComponentCallbacks в качестве обрабочика наследника от интерфейса ComponentCallbacks переопределив ему метод onLowMemory.

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

                      Так же система гарантирует что после вызова onLowMemory будет вызвана системная сборка мусора (garbage collector)

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

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

                      Здравствуйте, Хабраюзеры.

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

                        Вначале было слово. И слово это было «Пора открывать блог „Я мигрирую“ :-)» Затем появился этот блог.

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

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

                        Для затравочки я собрал ссылки на комментарии к посту «IT-эмиграция на Кипр: личный опыт», в которых собралось некоторое количество впечатлений. Очень надеюсь, что авторы этих комментариев напишут развернутые отчеты и скандальные подробности в этот блог.

                        Итак, подборочка
                      • В микроволновой печи скрывается мощное и опасное СВЧ оружие

                        • Tutorial
                        Добрый день, уважаемые хабровчане.

                        Этот пост будет про недокументированные функции микроволновой печи. Я покажу, сколько полезных вещей можно сделать, если использовать слегка доработанную микроволновку нестандартным образом.

                        В микроволновке находится генератор СВЧ волн огромной мощности


                        Мощность волн, которые используются в микроволновке, уже давно будоражит моё сознание. Её магнетрон (генератор СВЧ) выдаёт электромагнитные волны мощностью около 800 Вт и частотой 2450 МГц. Только представьте, одна микроволновка вырабатывает столько излучения, как 10 000 wi-fi роутеров, 5 000 мобильных телефонов или 30 базовых вышек мобильной связи! Для того, что бы эта мощь не вырвалась наружу в микроволновке используется двойной защитный экран из стали.
                        Читать дальше →
                      • Wal Commander — замена Far Manager под OS X и Linux

                          Привет Хабр!

                          В августе я писал на Хабре пост о том, как начал развивать открытый файловый менеджер Wal Commander. После этого проявился хабраэффект: на GitHub пришло шесть человек с pull request'ами, а на почту свалилось полсотни писем с различными пожеланиям, багрепортами и просьбами добавить фичи. Большинство из них было реализовано в версии 0.17, которую мы выпустили в сентябре. Но дело совсем не в этом…

                          Читать дальше →
                        • Wal Commander — замена Far Manager под Linux

                            Давным давно я озаботился поиском подходящего файлового менеджера под Linux, который был бы похож на Far Manager. Визуально похожих было много, но ни один даже близко не подходил по совместимости горячих клавиш и шорткатов. А встроенные просмотрщик файлов и текстовый редактор вызывали уныние. Поскольку Линукс в то время в основном был нужен дома для забавы, то поиски перешли в пассивную фазу. Но производственная необходимость заставила посмотреть на проблему по-новому.

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