• Страна кленового листа: Канада



      Раз пошла такая пьянка тема про эмиграцию (истории покорения «нашими людьми» Новой Зеландии и Австралии), расскажу свою историю.

      О себе: программист (основной язык С++), окончил ММФ НГУ в 2003-м году, с августа 2007-го года проживаем с женой в г. Оттава, Канада.

      Замечания


      1) все цены — в канадских долларах, на момент написания гугль сообщал, что «1 канадский доллар = 0.850557 доллара США»
      2) всё изложенное — исключительно личные впечатления одного из сотен и тысяч приезжих и ни в коей мере не претендует на истину в последней инстанции
      3) это никоим образом не агитация, а всего лишь изложение фактов (отрицательных моментов я тоже перечислил достаточно)

      Итак, поехали!
      Читать дальше →
    • Логика мышления. Часть 1. Нейрон



        Года полтора назад я выкладывал на Хабр цикл видеолекций с моим видением того как работает мозг и каковы возможные пути создания искусственного интеллекта. За прошедшее с тех пор время удалось существенно продвинуться вперед. Что-то получилось глубже понять, что-то удалось смоделировать на компьютере. Что приятно, появились единомышленники, активно участвующие в работе над проектом.

        В настоящем цикле статей планируется рассказать о той концепции интеллекта над которой мы сейчас работаем и продемонстрировать некоторые решения, являющиеся принципиально новыми в сфере моделирования работы мозга. Но чтобы повествование было понятным и последовательным оно будет содержать не только описание новых идей, но и рассказ о работе мозга вообще. Какие-то вещи, особенно в начале, возможно покажутся простыми и общеизвестными, но я бы советовал не пропускать их, так как они во многом определяют общую доказательность повествования.
        Читать дальше →
      • Стриминг аудио в iOS на примере Яндекс.Диск



        Во время работы над проектом по стримингу аудио необходимо было добавить поддержку новых сервисов, таких как Яндекс.Диск. Работа с аудио в приложении реализована через AVPlayer, который проигрывает файлы по url и поддерживает стандартные схемы, такие как file, http, https. Все работает отлично для сервисов, в которых токен авторизации передается в url запроса, среди них DropBox, Box, Google Drive. Для таких сервисов, как Яндекс.Диск, токен авторизации передается в заголовке запроса и к нему AVPlayer доступ не предоставляет.

        Поиск решения этой проблемы среди имеющегося API привели к использованию объекта resourceLoader в AVURLAsset. С его помощью мы предоставляем доступ к файлу, размещенному на удаленном ресурсе, для AVPlayer. Работает это по принципу локального HTTP прокси но с максимальным упрощением для использования.
        Читать дальше →
        • +15
        • 12.2k
        • 3
      • 20 самых популярных выступлений всех времен на конференции TED

          Привет, Хабр. Я знаю, что здесь уважают и любят выступления TED. Поэтому я не мог пройти мимо новости о том, что сайт ted.com после редизайна обновил плейлист «20 самых популярных выступлений на TED всех времен». Это яркий пример того, как путем послабления копирайта (все лекции TED находятся в открытом доступе, распространяются по лицензии CC, согласно которой разрешено все, кроме коммерческого использования) и организации краудсорсинга (все переводы выполняют волонтеры) можно добиться впечатляющих результатов…



          Ранее на Хабре уже публиковался этот плейлист, но с тех пор он заметно обновился. Не изменился разве что лидер рейтинга — Кен Робинсон с выступлением «Как школы подавляют творчество».

          Рейтинг составлен по количеству просмотров (в статистике учитывались данные с TED.com, Youtube, iTunes, Hulu, встроенных фреймов, количества скачиваний и т.д.)

          Большинство лекций переведены на русский язык, с субтитрами или в озвучке. Не буду много писать, это нужно смотреть. Остальное под катом.
          Читать дальше →
        • Развитие правого полушария головного мозга или как я учился рисовать

          • Tutorial
          Сразу дискламер: я редко пишу посты на широкую аудиторию, и более правильного ресурса для этого текста в рамках моего кругозора не нашлось. Тем не менее, если кто-то найдет это интересным, значит не зря… Поехали.

          С чего все началось



          Как-то я услышал от одного человека мысль о том, чтобы заниматься бизнесом, ему приходится «выращивать в себе Мистера Хайда», типа некая альтернатива его личности способна придумать что-то такое, что не способен придумать он сам. Конечно же, он шутил, по большей части, и тогда я этому значение не придал. Вспомнил эту точную метафору лишь, когда сам решил, что мне нужно развивать креативность, умение продуктивно фантазировать, придумывать нестандартные решения.
          Читать дальше...
        • IT Эмиграция в Минск



          Вводная часть


          Так сложилось, что я переехал жить и работать из Москвы в Минск. Часто видел подобные материалы про аналогичные переезды в какие-то экзотические для меня или совсем далеки страны, я же хочу поделиться опытом эмиграция «к соседям».

          Важно, что я буду писать именно о Минске, а не о всей Белоруссии. Написанное ниже — это лишь мое видение ситуации, возможно, где-то я не все увидел.

          Если возникнут какие-то вопросы, напишите в личку или в комментарии к посту.
          Читать дальше →
        • Как достичь профессионального вида с помощью цвета

          • Translation
          image

          Что заставляет дизайн выглядеть скоординированным, спланированным и профессиональным? Ответ: 'цвет'.

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

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

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

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

            Я достаточно часто сталкивался с подобным мнением и не придавал ему особого значения, но когда женский коллектив нашей организации поздравил программистов с 23-м февраля по доброму назвав их «космическими войсками», решил всё же расставить определенные акценты в данном вопросе, т.к. одна из моих профессий связана напрямую с психоанализом. Да и баш уже не молчит.

            И что же них такого деформированного?
          • 50 цитат о программировании всех времён

            • Translation
            Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

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

            49. Lisp — это не язык, а строительный материал.
            — Alan Kay

            48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
            — Edward V Berard
            Читать дальше →
          • Создание игры на движке Sprite Kit (Часть 1)

              С появлением iOS 7 мир узрел новый игровой движок от Apple — SpriteKit. В свете того, что он появился совсем недавно об этом движке еще мало что написано, конечно в сети можно найти несколько tutorial -ов по нему но в основном все они на Английском языке. И по этому я задалась целью написать подробный Туториал об этом замечательном движке.

              Итак, что же такое SpriteKit?


              SpriteKit — это 2D движок, оптимизированный для создание игр для устройств от компании Apple. В его основе лежит популярный физический движок Box 2D. Поскольку разработчики создавали его заточенным специально для устройств Apple он существенно выигрывает в скорости у остальных движков.
              В SpriteKit всю роль по оптимизации и рисованию графики берет на себя OpenGl, это все происходит на низком уровне и по этому вы можете сосредоточить свои усилия на решении проблем более высокого уровня и создание больших 2D игр. Для создание игр на SpriteKit используется язык Objective-c, но с выходом iOS 8 и нового языка Swift, игры также можно создавать и на нем.
              От себя хотела бы добавить, что в некотором роде на Swift писать даже легче, так что если вы только начинаете и думаете какой язык выбрать то советую выбрать Swift.

              Ниже, я предоставила видео с демонстрацией игрового процесса SpriteKit, если вам стало интересно то милости прошу.



              Подробности
            • Учебник Swift — разработка приложения для iOS8 [Часть 1, Hello World!]

              • Translation
              • Tutorial

              Предисловие


              Недавно Apple представила общественности достаточно важное изменение в разработке iOS приложений, анонсировав новый язык программирования Swift. Я принял решение: изучая этот язык пошагово, я буду в своих статьях рассказывать обо всём, что мне удалось найти. Это лишь первый пост из многих на эту тему, но я надеюсь, что вы решите изучать язык вместе со мной!

              Весьма вероятно, что многие примеры кода, представленные в постах, будут позже изменены. Это отчасти потому, что мой стиль программирования – написать сейчас, чтобы проверить идею, а потом заняться рефакторингом, а также отчасти это потому, что для меня (как и для многих других) Swift – абсолютно новый язык программирования. Так что, скорее всего, как только я узнаю что-нибудь новое, ход этих уроков будет меняться.

              Итак, я собираюсь начать с довольно простого приложения. Также я буду объяснять, как работает код. Готовы? Поехали…
              Погружаемся в Swift
            • Часть 4.2 Возвращаем зрение. От очков до эксимерного лазера

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

                Эпиграф от Milfgard



                Заключительная часть цикла, посвященная непосредственно оставшимся методам коррекции зрения. В этой части мы рассмотрим ортокератологию, все варианты лазерной коррекции зрения, замену хрусталика и несколько других методов. Если вы не читали цикл с самого начала, я очень рекомендую ознакомиться с частями 2 и 4.1, в которых подробно рассматриваются те проблемы, с которыми сталкивается современный офтальмохирург. В этой статье я постараюсь развеять уже поднадоевший страх, связанный с фильмом «Пункт назначения 4» и сошедшим с ума лазером. Также я постараюсь ответить на заданные вопросы читателей, как и обещал.

                Предыдущие части


                Часть 1. Unboxing VisuMax — фемто-лазера для коррекции зрения
                Часть 2. Сколько мегабит/с можно пропустить через зрительный нерв и какое разрешение у сетчатки? Немного теории
                Часть 3. Знакомьтесь — лазер по имени Amaris. Переезды и первое пробуждение VisuMax
                Часть 4.1 Возвращаем зрение. От очков до эксимерного лазера
                Читать дальше →
              • Список всевозможных методов монетизации мобильных игр

                  Вы связаны с разработкой игр? Маркетингом игр? Сколько статей о монетизации игр вы прочли в последнее время? Лично я – очень много. Статьи, видео, слайды, аналитические обзоры и т.д. Конечно, понятно и очевидно, что никто не скажет вам супер-секрета успешной монетизации. Просто потому, что его нет и не может быть. Просто потому что, во-первых, плохую игру не спасет ни одна монетизация, а во-вторых, все игры разные.
                  Статья ниже – это список всевозможных монетизационных механик, которые встречались мне в играх, статьях и других источниках. Вместо того чтобы разбирать конкретные игры, я хочу перечислить как можно больше способов монетизации с небольшими комментариями.
                  Статья не предназначена для людей, считающих, что все это промыслы жадных разработчиков, а вся индустрия мобильных игр – это алчные корпоративные сволочи, закапывающие некогда прекрасные идеалы игрового мира не знавшего F2P.

                  Читать дальше →
                • λ-исчисление. Часть вторая: практика

                  • Tutorial
                  Идею, короткий план и ссылки на основные источники для этой статьи мне подал хабраюзер z6Dabrata, за что ему огромнейшее спасибо.

                  Первая часть дала нам теоретическое представление о том, что есть лямбда-исчисление. В этой статье мы последуем неофициальной його-заповеди «Practice-practice-practice» и увидим его в действии.
                  Читать дальше →
                  • +27
                  • 39k
                  • 1
                • ReactiveCocoa и MVVM

                  • Tutorial
                  Последнее видео с одинадцатой встречи Apple Developers Community, которую 27 февраля организовали e-Legion и JetBrains.


                  Презентация

                  В докладе раскрывается тема использования функционально-реактивного подхода для разработки iOS- и Mac-приложений, его достоинства и недостатки. Также, рассказано об использовании паттерна Model-View-View Model для улучшения архитектуры и повышения тестируемости GUI-кода.

                  Все видео со встречи доступны на youtube-канале.
                • Objective-c блоки и c++ лямбды

                  • Tutorial
                  Надеюсь, что пост будет полезен людям которые знакомы с лямбдами C++, но хотят изучить блоки Objective-C и наоборот.
                  Здесь я постарался описать синтаксис замыканий, механизмы захвата контекста, управление памятью и взаимодествие лямбд и блоков между собой.
                  Во всех примерах использовался Apple LLVM Compiler 4.2 (Clang). Для приведенного Obj-C кода не используется ARC, т.к я придерживаюсь мнения, что необходимо знать как работает non-ARC код, чтобы понять как работает ARC.
                  Читать дальше →
                • Магический круг: CSS головоломка

                    Доброго времени суток, уважаемые хабравчане. Недавно Hugo Giraudel, он же CSS гоблин, SASS хакер и Margin псих опубликовал в своем блоге очень интересную CSS задачку на смышленость.

                    image

                    Сможете заверстать подобное учитывая следующие правила?

                    • Круг в центре должен быть прозрачным, чтобы был виден background
                    • Расстояние между левыми и правыми блоками, как между верхними и нижними должно быть одинаковое
                    • При наличии потомков в блоке, содержимое должно отображаться
                    • DOM должен выглядеть следующим образом: ul > li > section > header + footer
                    • Нельзя использовать JavaScript и изображения
                    • Дополню еще от себя: нельзя использовать CSS Shape и Clip Path

                    Чтобы не было очень лень — каркас уже есть.

                    Сделали?

                    А тремя способами?
                  • Используем вебсокеты в своем iOS приложении

                    Добрый день, уважаемые читатели Хабрахабра!

                    Сегодня я хочу рассказать вам о том, как просто и быстро подключить вебсокеты в свое iOS приложение на примере чата известной биржи криптовалют. Реализуем мы это при помощи удобного открытого решения SocketRocket.

                    Этот подход может пригодиться для:

                    • Реализации чата в мобильном клиенте под iOS
                    • Использовании информации чата для обучения нейронных сетей

                    Заинтересовавшихся прошу под кат!
                    Читать дальше →
                  • Создание кастомного UIActivity для публикации фото и текста в социальной сети ВКонтакте

                    • Tutorial
                    Во время работы над очередной версией приложения возникла задача сделать публикацию фото в социальной сети ВКонтакте через стандартный контроллер UIActivityViewController.

                    image

                    Поиск в сети дал следующие результаты:
                    1. Готовой реализации не обнаружено
                    2. Есть официальное sdk ВКонтакте: содержит механизмы авторизации, работы с картинками, но не имеет готового класса для загрузки через UIActivityViewController
                    3. Есть документация Apple для создания кастомного UIActivity

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