• О правомерности работы физического лица с магазином App Store в РФ

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

      Итак, суть статьи заключается в том, чтобы понять: можно ли в РФ физическому лицу законно получать прибыль от продаж программ в App Store? Просмотр тематических форумов с подобными вопросами привел к выводу: мнения людей на этот счет расходятся. Одни считают, что можно, другие — что такая деятельность будет квалифицироваться как незаконная предпринимательская деятельность, т.к. договор от Apple — это агентский договор и в нем нет ни слова про авторские вознаграждения, и, как следствие, нужно регистрироваться в качестве индивидуального предпринимателя (ИП).
      Читать дальше →
    • Reedy – Скорочтение, которое действительно можно использовать

        Reedy – продвинутая реализация технологии скоростного чтения

        В последнее время наблюдается рост интереса к скорочтению на основе технологии RSVP. Однако большинство приложений и расширений на эту тему, при более близком знакомстве, увы, оказываются не очень удобны для ежедневного использования. А ведь в потенциале они могу помочь значительно экономить время и быстрее получать информацию. Мой друг OlegCherr решил доработать технологию, создав реализацию пригодную для постоянного использования, а я ему в этом помогаю. После двух месяцев постоянной практики чтения, тестирования, исследований и улучшений решил написать статью с разбором того, что получилось в результате, потому что результат, смею считать, будет интересен и другим. На текущий момент всё выполнено в виде расширения к браузеру Chrome и названо Reedy. Приложение под Android на подходе.
        Подробности
      • Как сдать налоговую декларацию за 2013 год электронным способом за несколько дней (РФ)

          Этот пост будет посвящен тому, как легко, просто и быстро (потеряв максимум тридцать минут в налоговой) заполнить и отправить налоговую декларацию за 2013 год (то есть ту, которую надо отправить до 30 апреля 2014 года). Попутно будет разобрано получение доступа в личный кабинет налогоплательщика и какие возможности это даёт. Фактически это пошаговая инструкция как всё это сделать за пару дней.

          Всё вышесказанное относится к Налоговой Службе РФ.
          Читать дальше →
        • J-сортировка


            Пирамидальная сортировка (она же сортировка кучей) – классический алгоритм который, пожалуй, должен знать любой программист. Старая добрая «пирамидка» примечательна тем, что в независимости от набора данных у неё одна и та же сложность по времени (причём, очень пристойная) – O(n log n). Лучших и вырожденных случаев для неё нет.

            С момента изобретения метода (а в этом году алгоритм празднует свой полувековой юбилей) было немало охочих кардинально оптимизировать процесс накладывания сортирующих куч. Тернарная пирамидальная сортировка, плавная сортировка, сортировка декартовым деревом – вот неполный список инноваций. Перечисленные алгоритмы хотя при тестировании и опережают оригинал по абсолютной скорости кто на 12, а кто и на 25%, в оценке временной сложности всё равно крутятся вокруг O(n log n). При этом данные методы весьма изощрённо реализованы.

            Своё видение пирамидальной сортировки предложил и скромный труженик Университета Манитобы Джейсон Моррисон. При этом способ в некоторых случаях по скорости приближается к O(n).

            Так ещё метод и прост до безобразия
          • Вышел новый plugin COLT для Webstorm

              В новом плагине для Webstrom добавлены счетчики функций и вывод runtime ошибок.

              Счетчики функций — это кружки с цифрами рядом с номерами строк:



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



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

              • Перевод

              Это перевод статьи Analysis Paralysis: Over-thinking and Knowing Too Much to Just CODE Скотта Хансельмана за 30 марта.

              Прочитал сегодня пост на ArsTechnica «Я знаю слишком много чтобы программировать быстро. Что мне делать?» — это обзор вот этого вопроса на StackOverflow:

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

              Простой пример: раньше я просто записывал данные в файл. Теперь я думаю о правах доступа, занятии файла другим приложением, многопоточности, атомарных операциях, фреймворках, разных файловых системах, количестве файлов в директории, предсказуемых названиях временных файлов, качестве моего ГПСЧ, отключении электричества во время любой операции, адекватном API для моего кода, нормальной документации и так далее.

              Это просто бомба, прямо про меня. Я тоже недавно задумывался, а не от возраста ли появляются такие проблемы, но я просто не настолько стар. Проблему создаёт огромный опыт вкупе со слишком глубоким обдумыванием задачи. Я опытнее многих, но, очевидно, не настолько опытный, чтобы не страдать от паралича анализа.
              Читать дальше →
            • Подборка настолок про космос и обзор их механик

                Космические дальнобойщики
                Взлетели все: это радует


                Зерглингов, кстати, по паре в одном юните

                Уже года три мы мечтаем сделать игру по принципам «Элиты». Только настольную. К сожалению, за всё это время мы не смогли разработать или найти механику, достаточно удачную для передачи атмосферы и мира, и при этом достаточно интересную для тех, кто не помнит даже «Паркан» или «Вангеров».

                Но давайте начнём с начала. Я покажу вам имеющиеся настольные игры про космос и расскажу, в чём особенность механики каждой. Обратите внимание, они довольно успешно переносятся с PC в бумагу (MOO, Starcraft) и наоборот (Eclipse). А ещё я расскажу, где послезавтра в них можно поиграть с другими гиками, отмечающими День космонавтики с такой же радостью, как и мы. Заходите: гиков мало, и встречаемся в реале мы редко. Нужен повод — и он есть.
                Начнём с настольного Starcraft...
              • Динамические деревья

                  Перед прочтением статьи рекомендую посмотреть посты про splay-деревья (1) и деревья по неявному ключу (2, 3, 4)

                  Динамические деревья (link/cut trees) мало освещены в русскоязычном интернете. Я нашел только краткое описание на алголисте. Тем не менее эта структура данных очень интересна. Она находится на стыке двух областей: потоки и динамические графы.

                  В первом случае динамические деревья позволяют построить эффективные алгоритмы для задачи о поиске максимального потока. Улучшенные алгоритмы Диница и проталкивания предпотока работают за и соответственно. Если вы не знаете, что такое поток, и на лекциях у вас такого не было, спешите пополнить свои знания в Кормене.

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

                  Перед тем, как нырнуть под кат, попробуйте решить следующую задачу. Дан взвешенный граф в виде последовательности ребер. По последовательности можно пройти только один раз. Требуется посчитать минимальное покрывающее дерево, используя памяти и времени. По прочтении статьи вы поймете, как легко и просто можно решить эту задачу, используя динамические деревья.
                  Читать дальше →
                  • +50
                  • 31,6k
                  • 5
                • GamesJamKanobu закончен. Победители объявлены

                    Итак, на протяжении всего февраля Kanobu проводила свое мероприятие, названное GamesJamKanobu. Правда, на деле это оказался не классический «гейм джем», а скорее фестиваль, в котором могли поучаствовать все, кто хотел.



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

                    Мероприятие точно удалось. Для кого-то оно стало пинком. Кто-то нашел в свою команду недостающих членов. Да и вообще — оно показало, что индустрия жива. Ведь на конкурс было подано более 400 проектов!
                    Читать дальше →
                  • Эдвард Сноуден на TED: Как нам вернуть Интернет (озвучка)

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


                      Проглотить синюю таблетку
                    • Программа курса «Multicore programming in Java»

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

                        Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

                        Хотелось бы услышать мнение сообщества по поводу
                        1. программы курса «Multicore programming in Java»
                        2. литературы к курсу

                        Кратко о курсе: стартует 28 апреля (в связи с майскими праздниками старт перенесен на 15 мая), ведется в режиме вебинаров дважды в неделю в 19.00-22.00, состоит из 16 лекций по 2.5 часа (=40 лекционных часов), к каждой лекции дается расширенное задание, рассчитан на Java Junior/Middle.
                        Читать дальше →
                      • Бизнес-секреты Кремниевой долины. Как построить успешный бизнес без привлечения инвестиций. Илья Сёмин, основатель стартапа Datanyze



                          Илья, один из молодых IT-предпринимателей, который приехал покорять Кремниевую долину из небольшого подмосковного городка — Троицка, несколько лет назад. Илья с нуля создал свою компанию без привлечения инвестиций, что в последнее время встречается все реже и реже. Недавно в одном из самых популярных интернет-изданий Кремниевой долины VentureBeat вышла статья про Datanyze, которую также перевело и опубликовало издание «Цукерберг позвонит».

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

                            Привет, Хабр! Сегодня мы опубликовали результаты единого рейтинга веб-студий Ruward за 2014 год.

                            image

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

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

                            Следствием метода «сбора в кучу» всех данных по другим топам, конечно, являются штуки коллег про «рейтинг рейтингов» и вторую/третью производную рынка. Мы привыкли =)

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

                            Итак, переходим к сути и расскажем подробнее о первой десятке компаний нашего рейтинга:
                            Читать дальше →
                          • Debug Mail — простой в использовании smtp-сервер для разработчиков



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

                              Для подключения сервиса достаточно прописать настройки SMTP-сервера, полученные после регистрации, в вашем development-окружении. После этого весь email-трафик будет обрабатываться при помощи Debug Mail.

                              Основные возможности:

                              • Real-time обновление списка писем в web-интерфейсе. Новые письма отображаются сразу после получения письма SMTP-сервером.
                              • Создание нескольких проектов для группировки писем по ним.
                              • Приглашение коллег в проекты для совместной работы.
                              • Быстрый поиск сообщений, группировка их по заголовку и дате получения.
                              • Просмотр заголовков, html, text, plain версий письма.
                              • Добавление комментариев к html контенту письма через сервис coment.me.
                              • Открытие доступа к конкретным письмам по короткой ссылке (в том числе для незарегистрированных пользователей).

                              Сервис находится в публичной бете. Будем благодарны за любую обратную связь — судите строго!

                              Тем, кому интересно, как разрабатывался сервис рекомендую прочитать пост про серверную архитектуру Debug Mail.
                              Screenshot интерфейса
                            • Потоковое видео средствами ffserver & ffmpeg

                                Для организации трансляции нам потребуется:


                                • Linux
                                • FFmpeg (включает в себя ffserver)

                                Теория


                                FFmpeg — это набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровое аудио и видео в различных форматах. Он включает libavcodec, библиотеку кодирования и декодирования аудио и видео и libavformat, библиотеку мультиплексирования и демультиплексирования в медиаконтейнер. Название происходит от названия экспертной группы MPEG и «FF», означающего «fast forward».

                                © Wikipedia

                                ffserver идёт в комплекте с ffmpeg и выполняет роль медиа-сервера — получает видеопоток от ffmpeg, который может быть запущен на другой машине, и раздаёт его счастливым пользователям.
                                Каждый получаемый поток называется Feed’ом (далее будет просто фид). Таких потоков может быть несколько, так же как и отдаваемых (выходных).
                                FFmpeg у нас будет захватывать видео с веб-камеры или читать из файла.
                                Читать дальше →
                              • Генератор градиентов на CSS

                                  Хочу поделиться небольшой, но полезной тулзой для генерации Photoshop-like градиентов. Называется этот инструмент громко — Ultimate CSS Gradient Generator. Но большей значимости ему придает не имя, а создатели — это те же ребята, которые сделали ColorZilla, отличнейший плагин для Firefox.
                                  Читать дальше →
                                • Логика мышления. Часть 14. Гиппокамп



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

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

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

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

                                    Читать дальше →
                                  • Что должен знать каждый участник крупного MMO-проекта


                                      Рядовые программисты обычно всё это прекрасно знают. А вот менеджерский состав нередко считает, что совершенно не обязательно разбираться в игровой экономике, клиент-серверной архитектуре и психологии игрового комьюнити. Ведь есть же крутая команда спецов, которые обо всём позаботятся.
                                      Итог очевиден: трудно вспомнить хотя бы один крупный MMO-проект, выпущенный за последние два года, который избежал бы стандартного набора граблей. Такое ощущение, что MMO-индустрия не способна учиться на своих ошибках.
                                      Итак, список вопросов, ответы на которые должен знать каждый, от топ-менеджера до работника техподдержки крупного MMO-проекта.
                                      Читать дальше →
                                    • Логика мышления. Часть 1. Нейрон



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

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