• Особенности уплаты налогов самозанятыми IT-фрилансерами

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


    • Кто будет являться моим контрагентом — биржа или заказчик (4% или 6% налог соответственно)?
    • Налоговой базой является сумма, полученная биржей от заказчика, или полученная мной от биржи?
    • Облагается ли налогом комиссия биржи за вывод денежных средств?
    • Что является датой получения дохода — дата зачисления на баланс аккаунта фриланс биржи или дата вывода? (При получении дохода в иностранной валюте нужно посчитать рублевый эквивалент по курсу ЦБ на день получения)
    • Можно ли выводить деньги по итогам месяца или нужно выводить по каждой сделке отдельной транзакцией?

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

    Читать дальше →
  • Как фантаст Артур Кларк чуть не закрыл журнал «Техника — молодежи»

      Когда я стал самым-самым маленьким начальником в газете, мой тогдашний главный редактор — дама, ставшая матерым волком журналистики еще в советское время, сказала мне: «Запомни, раз уж ты расти начал — руководство любым медиа-проектом сродни бегу по минному полю. Не потому что опасно, а потому что непредсказуемо. Мы имеем дело с информацией, а ее просчитать и управлять ею невозможно. Поэтому все главреды бегут, но никто из нас не знает — когда и на чем именно он подорвется».

      Тогда я ее не понял, но потом, когда я, как тот Буратино — вырос, выучился и купил тысячу новых курток… В общем, немного узнав историю отечественной журналистики, я убедился что тезис абсолютно верен. Сколько раз медиаменеджеры — даже великие медиаменеджеры! — заканчивали карьеру по совершенно невообразимому стечению обстоятельств, предугадать которые было решительно невозможно.

      Я не буду сейчас рассказывать, как главный редактор «Веселых картинок» и великий художник-иллюстратор Иван Семенов едва не погорел на букашках — в самом прямом смысле слова. Это все-таки больше пятничная история. А вот историю про великого и ужасного Василия Захарченко расскажу, тем более, что она вполне по профилю Хабра.

      В советском журнале «Техника — молодежи» очень любили науку и фантастику. Поэтому частенько совмещали, публикуя в журнале научную фантастику.

      image

      Много-много лет, с 1949 по 1984 год журналом руководил легендарный редактор Василий Дмитриевич Захарченко, который, собственно, и сделал из него ту «Технику — молодежи», которая гремела на всю страну, стал легендой советской журналистики и был много куда вхож. Благодаря последнему обстоятельству периодически «Технике — молодежи» удавалось то, что мало кому удавалось — публиковать современных англо-американских фантастов.

      Нет, современных англо-американских фантастов в СССР и переводили, и издавали. Но в периодике — довольно редко.

      Почему?
      Читать дальше →
    • Подальше от обыденной реальности: фантастические романы, которые стоит прочитать

        image

        Фантастика как жанр заставляет читателей и писателей выйти за пределы разумного, дать волю своему воображению и отправиться в неизведанные миры. За это мы и любим этот жанр. RoboHunter этой осенью предлагает с головой погрузиться в мир научной фантастики.
        Читать дальше →
      • «Универсальные» ссылки в C++11 или T&& не всегда означает «Rvalue Reference»

        Не так давно Скотт Майерс (англ. Scott Meyers) — эксперт по языку программирования C++, автор многих известных книг — опубликовал статью, описывающую подробности использования rvalue ссылок в C++11.
        На Хабре эта тема еще не поднималась, и как мне кажется, статья будет интересна сообществу.
        Оригинал статьи: «Universal References in C++11—Scott Meyers»

        «Универсальные» ссылки в C++11


        T&& не всегда означает “Rvalue Reference”

        Автор: Scott Meyers

        Возможно, наиболее важным нововведением в C++11 являются rvalue ссылки. Они служат тем фундаментом, на котором строятся «семантика переноса (англ. move semantics)» и «perfect forwarding». (Вы можете ознакомится с основами данных механизмов в обзоре Thomas’а Becker’а).

        Синтаксически rvalue ссылки объявляются также, как и «нормальные» ссылки (теперь называемые lvalue ссылками), за исключением того, что вы используете два амперсанда вместо одного. Таким образом, эта функция принимает параметр типа rvalue-reference-to-Widget:
        void f(Widget&& param);
        

        Учитывая, что rvalue ссылки объявляются с помощью “&&”, было бы разумно предположить, что присутствие “&&” в объявлении типа указывает на rvalue ссылку. Но это не так:
        Widget&& var1 = someWidget;         // здесь “&&” означает rvalue ссылку
        
        auto&& var2 = var1;                 // здесь “&&” НЕ означает rvalue ссылку
        
        template<typename T>
        void f(std::vector<T>&& param);     // здесь “&&” означает rvalue ссылку
        
        template<typename T>
        void f(T&& param);                  // здесь “&&” НЕ означает rvalue ссылку
        
        Читать дальше →
      • Математическое расследование, как подделывали выборы губернатора в Приморье 16 сентября 2018 года

          Во втором туре выборов губернатора Приморского края 16 сентября 2018 года встречались действующий и.о. губернатора Андрей Тарасенко и занявший второе место в первом туре коммунист Андрей Ищенко. В ходе подсчета голосов на сайте ЦИК РФ отображалась информационная панель с растущим числом обработанных протоколов и голосов за кандидатов.

          Публикация подробных данных по участкам на официальном сайте ЦИК www.izbirkom.ru замерла после ввода 1484 (95.74%) протоколов и не возобновлялась до самого конца. Поэтому когда в трансляции лидер голосования вдруг поменялся с Ищенко на Тарасенко, было неясно, как именно это могло произойти. В СМИ просто писали «после обработки 99,03% протоколов лидер сменился».

          Однако, располагая промежуточными суммарными данными из информационной панели, с помощью простой математики и программирования можно подробно установить, что именно происходило с протоколами в ночь после выборов. Используем Python, Colab от Google и Z3 theorem prover от Microsoft Research. Ну и добьём всё обычной дедукцией.


          И что же там можно расследовать?
        • Как устроен балансировщик команд в World of Tanks Blitz



            WoT Blitz — это мобильный танковый шутер, в котором игроки сражаются в формате 7 на 7.
            Матчмейкер, или балансировщик это механизм, который на основе очереди игроков, желающих попасть в бой, формирует состав команд.

            У танков есть следующие важные для матчмейкинга параметры:

            • Уровень. В зависимости от уровня, у танков меняются различные характеристики (например, скорость, бронепробитие). На 1-ом уровне — самые слабые танки, на 10-ом — самые сильные.
            • Тип. В WoT Blitz существует 4 типа танков: лёгкий, средний, тяжёлый и ПТ-САУ (противотанковые самоходные артиллерийские установки)

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

            • Translation
            • Tutorial
            Эта статья является переводом цикла из четырёх статей «Linear algebra for game developers», написанных David Rosen и посвящённых линейной алгебре и её применению в разработке игр. С оригинальными статьями можно ознакомиться тут: часть 1, часть 2, часть 3 и часть 4. Я не стал публиковать переводы отдельными топиками, а объединил все статьи в одну. Думаю, что так будет удобнее воспринимать материал и работать с ним. Итак приступим.
            Читать дальше →
          • Минус уши или как не испортить звук в игре с самого начала



              Статья о звуке, но адресована скорее не саунд-дизайнерам (которым всё известно), а продюсерам, ПМ-ам игровой индустрии и начинающим разработчикам. Собранные здесь ошибки — это наш собственный опыт из времён, когда War Robots была ещё прототипом в новой для компании нише.

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

              • Tutorial

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


              Однажды задался вопросом — а как в целом в разных странах, ну и в первую очередь в России, защищаются от этой беды?


              Про неконкуренцию


              Вообще, уход сотрудника — это 3 «полярные лисички», а не одна.



              Ушедший сотрудник:


              1. создает свою компанию или устраивается к конкурентам (даже не знаю, что хуже);
              2. уносит с собой голову, в которой хранится куча конфиденциальной информации и наработок;
              3. уводит сотрудников, как правило, наиболее ценных, чем делает «лисичку» еще полнее.

              Как бы ты хорошо ни относился к сотруднику, поневоле задумаешься о разных ограничительных соглашениях, обозначаемых за рубежом общим термином non-competes.


              О них и поговорим.

              Читать дальше →
            • Шейдеры 3D-игр для начинающих

              • Translation
              image

              Хотите научиться добавлять в свою 3D-игру текстуры, освещение, тени, карты нормалей, светящиеся объекты, ambient occlusion и другие эффекты? Отлично! В этой статье представлен набор техник затенения, способных поднять уровень графики вашей игры на новые высоты. Я объясняю каждую технику таким образом, чтобы вы могли применить/портировать эту информацию в любом стеке инструментов, будь то Godot, Unity или что-то иное.

              В качестве «клея» между шейдерами я решил использовать великолепный игровой движок Panda3D и OpenGL Shading Language (GLSL). Если вы пользуетесь таким же стеком, то получите дополнительное преимущество — узнаете, как использовать техники затенения конкретно в Panda3D и OpenGL.
              Читать дальше →
              • +46
              • 13.6k
              • 5
            • Восемь малоизвестных опций Bash

              • Translation
              • Tutorial
              Некоторые опции Bash хорошо известны и часто используются. Например, многие в начале скрипта пишут

              set -o xtrace

              для отладки,

              set -o errexit

              для выхода по ошибке или

              set -o errunset

              для выхода, если вызванная переменная не установлена.

              Но есть много других опций. Иногда они слишком путано описаны в манах, поэтому я собрал здесь некоторые из наиболее полезных, с объяснением.
              Читать дальше →
            • Средний класс: почему зарабатывают современные музыканты


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


                • это не статья, это пост. А более конкретно — реакция на серию статей "Блеск и Нищета"
                • я сознательно не буду брать случаи "Блеска", потому что музыканты-миллионеры, как и многие другие суперзвезды, попадают в несколько другую схему. Тем не менее, в качестве примера раскрутки человека в творческой сфере "с нуля на непаханном поле" я бы хотел привести интервью Покраса Лампаса https://youtu.be/APayqoDDYMA
                • Пару раз сталкивался, в т.ч. на хабре, с достаточно радикальным мнением, что разбор вопроса в метафорах и аналогиях — моветон. Тем не менее мне это не кажется чем-то из ряда вон, и я считаю аналогии применимыми во многих случаях, в т.ч. и в этом.
                • Мне откровенно лениво делать картинки, тем более, что писать я и не планировал. Простите.

                Итак, почему какие-то музыканты, которых навалом в VK, YT и на треккерах зарабатывают? Должны ли они зарабатывать вообще, и как выжить в суровом пиратском мире?
                Для начала надо понять, кто же это такие, "современные музыканты": чем они отличаются от "музыкантов несовременных", и чем они отличаются от "немузыкантов".

                Читать дальше →
              • В этой статье слишком много воды

                  «Мы начинаем разработку новой игры, и нам нужна классная вода. Такую сможешь?»


                  , — cпросили меня. «Да не вопрос! Конечно, смогу», — ответил я, но голос предательски задрожал. «А, еще и на Unity?», — и мне стало понятно, что впереди очень много работы.
                  Читать дальше →
                • Задачи из школьного учебника I

                    Часть I
                    Часть II

                    Рассмотрим алгоритмическое решение задачи № 38 из книги «Задачи для детей от 5 до 15 лет»

                    Вычислить сумму:

                    $\frac{ 1 }{ 1\cdot2 } + \frac{ 1 }{ 2\cdot3 } + \frac{ 1 }{ 3\cdot4 } + ... + \frac{ 1 }{ 99\cdot100 }$


                    (с ошибкой не более 1% от ответа)

                    Ниже представлен алгоритм для вычисления частичных сумм этого ряда на языке Scheme (Lisp) в среде drRacket (drRacket позволяет производить вычисления в обыкновенных дробях):

                    #lang racket
                    (define series_sum
                     ( lambda (n)
                      (if (= n 0) 0 
                        (+ (/ 1 (* n (+ n 1))) (series_sum(- n 1)))
                      ) ) )
                    (series_sum 10)
                    (series_sum 100)
                    (series_sum 1000)
                    (series_sum 10000)
                    (series_sum 100000)
                    (series_sum 1000000)
                    
                    (define series_sum_1
                     ( lambda (n)
                      (if (= n 0) 0 
                        (+ (/ 1.0 (* n (+ n 1.0))) (series_sum_1(- n 1.0)))
                      ) ) )
                    (series_sum_1 10)
                    (series_sum_1 100)
                    (series_sum_1 1000)
                    (series_sum_1 10000)
                    (series_sum_1 100000)
                    (series_sum_1 1000000)
                    

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

                    Здравствуйте!

                    Нижеследующий текст изначально набирался как продолжение вот этого диалога, но размер ответа превысил все мыслимые размеры, а учитывая что на Хабре существует спрос на тему истоков старения и смерти от оной, я решил оформить его (ответ) отдельной статьёй.

                    Дисклеймер: если вам кажется, что текст направлен определённому человеку, а не аудитории в целом, то так оно и есть, но менять я ничего не буду.

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

                    • Translation


                    В современном мире значительная часть взаимодействий между людьми происходит в интернете, и очень часто в письменной форме. Так что повышение уровня письменного английского – важная задача в практическом обучении. Я нашел неплохой материал с подборкой полезных советов и инструментов по этой теме и немного его адаптировал.
                    Читать дальше →
                    • +8
                    • 8.2k
                    • 5
                  • Вы не Google

                    • Translation


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

                    Читать дальше →
                  • Прозрачность — панацея от баттхёртов

                      Я уже пытался лечить «механический» scrum (часть 1, часть 2, часть 3), а в этой статье постараюсь выписать универсальное лекарство от «подгорания». Само по себе «подгорание», «бурление» и т.п. — это хорошо, это значит вам не все равно (а ведь безразличие — это шаг к унынию, или, как принято в IT — к выгоранию). На тему вреда выгорания написано и снято много материалов, например: вот, вот, вот или вот.

                      Одна распространенная мудрость гласит: «Баттхёрты — двигатель прогресса». Но часто бывает так: пригорело => быстро принимается поверхностное решение, маскирующее проблему => решение воплощается в жизнь => пригорать продолжает. Другими словами, вместо того, чтобы разобраться и поставить диагноз, мы сразу приступаем к лечению. Попытаюсь это проиллюстрировать примерами.

                      Читать дальше →
                    • Алгоритм Дугласа-Пекера

                      Предисловие


                      Не так давно пришлось поработать с упрощением полигональной цепи (процесс, позволяющий уменьшить число точек полилинии). В целом, данный тип задач очень распространен при обработке векторной графики и при построении карт. В качестве примера можно взять цепь, несколько точек которой попадают в один и тот же пиксель – очевидно, что все эти точки можно упростить в одну. Некоторое время назад я практически ничего не знал об этом от слова «совсем», в связи с чем, пришлось в быстром темпе восполнять необходимый багаж знаний по этой теме. Но каково было мое удивление, когда в интернете я не нашел достаточно полных руководств по этому вопросу… Мне приходилось отрывками искать информацию с совершенно разных источников и, после проведенного анализа, выстраивать все в общую картину. Занятие не из самых приятных, если честно. Поэтому мне хотелось бы написать цикл статей, посвященных алгоритмам упрощения полигональной цепи. Как раз-таки начать я решил с наиболее популярного алгоритма Дугласа-Пекера.


                      Читать дальше →
                    • Непостоянство эволюции: живорождение и яйцекладка одновременно у ящериц вида Saiphos equalis



                        Эволюция — дело тонкое. Медленный и сложный процесс адаптации какого-либо организма к условиям окружающей среды, появление одних и вымирание других видов, генетические мутации и т.д. Мы частенько слышим слово «эволюция», но сам процесс ввиду его продолжительности наблюдать воочию не можем. Нам остается только рассматривать окаменелости и сравнивать их с современными организмами, выискивая общие черты и отличия, возникшие с течением времени. Либо сравнивать разные виды из одного семейства, обитающие в разных регионах. Эволюция также не лишена чувства юмора, ибо как иначе объяснить существование утконосов, кенгуру, рыбы-капли, гарпий, единорогов и т.д. Так, кто-то тут явно лишний.

                        Время, как мы привыкли его понимать, линейно и движется вперед, как и эволюция. Однако не всем организмам это по душе, посему некоторые делают шаг или несколько шагов назад, возвращаясь к предыдущим стадиям своего развития. Этот процесс называют ре-эволюцией. Самыми же любопытными являются существа, находящиеся где-то вне всех этих понятий. К таким относятся и ящерицы вида Saiphos equalis, самки которых способны как откладывать яйца, так и рожать детенышей. Такая материнская неопределенность, что удивительно, не распределена между особями, а может быть присуща одной и той же самке: захотела — сделала кладку, захотела — родила. Сегодня мы с вами познакомимся с наблюдением, в котором впервые детально изучили эту особенность. Какие структурные изменения присутствуют в скорлупе, почему ученые не готовы отнести данный вид ящериц к ре-эволюции и при каких условиях самки предпочитают кладку яиц, а не роды? Ответы ждут нас в докладе исследовательской группы. Поехали.
                        Читать дальше →
                        • +32
                        • 7.9k
                        • 3