• Налоги в США. Часть 1. Введение, income tax, федеральный налог, налог штата, Social Security taxes

      Введение


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

      В очередной раз наткнувшись на такое обсуждение, я спросил тут же в комментарии и даже задал соответствующий хабравопрос — народ, а может вместо того, чтобы беспорядочно спорить о налогах в США в куче разных топиков, давайте я напишу отдельный подробный пост на эту тему, и там и будем спорить? За этот комментарий и хабравопрос я получил изрядно кармы и хабрасилы, и, собственно, на этом можно было бы и остановиться ибо цель достигнута, муа-ха-ха. Однако, меня уже начинают спрашивать некоторые люди, где же обещанная статья, и судя по всему, отвертеться от написания поста мне не удастся…

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

      • Те, кто о налогах в США знает мало, но хотел бы узнать побольше из первых рук, а так же задать в одном месте все интересующие вопросы и получить ответы всего за 0.99$ за один ответ!
      • Те, кто реально разбирается в предмете (в 90% случаев это люди, работающие и живущие в США). В обсуждениях участвуют обычно короткими репликами, так как вопрос сложный и расписывать все в деталях каждый раз лень и вообще дело неблагодарное.
      • Те, кто о налогах в США знает из разных сомнительных источников, вроде блогпостов диванных аналитиков, но мнение имеет.

      Для первых я и решил написать этот пост. От вторых я с благодарностью приму замечания и дополнения. Третьи могут не беспокоиться.

      В первой части я напишу про налоги вообще, про федеральный налог и налог штатов и как они вычисляются и про Social Security / Medicare tax.

      Во второй части (coming soon) — про годовой цикл налогообложения и различные формы — W-2, W-4, 1040NZ и прочее и прочее.

      В третьей части (coming soon) — про процесс подачи Tax Return, про сайты которые помогают заполнять здоровенные формы, про применение налоговых вычетов, и, ГЛАВНОЕ о налогах в США — если есть основания, как можно получить обратно существенную часть удержанных с вас налогов. Поэтому, читая этот пост, держите в голове — большинство людей платит существенно меньшие налоги, чем те, которые я тут вычисляю для примера без учета возможных вычетов.

      Поехали.
      Читать дальше →
    • Как работается в офисе Google в Цюрихе?

        image На прошлой неделе я опубликовал пост про офис Google в Цюрихе. В комментариях много хабровчан спрашивали про рабочий процесс в Google и про жизнь в Цюрихе.

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

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

        Читать дальше →
      • Офис Google в Швейцарии

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

          В своем посте я постараюсь описать побольше социальных особенностей работы в Google в Швейцарии, но скрыть от вас интерьер офиса я не могу, он шикарен :)

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

          Итак, в Цюрихе находится центральный офис Google в Европе.



          В нем работает около 1500 сотрудников, из них примерно 60 русскоговорящих. Хантят их как из других офисов (например, много людей переезжают из Московского офиса Google), так и напрямик.

          UPD. Мо многочисленным просьбам в комментариях сделал отдельную тему для вопросов относительно работы в офисе Google в Цюрихе: habrahabr.ru/blogs/google/138980

          Читать дальше →
        • Опыт заказа в китайских интернет-магазинах

            В данной статье хотелось бы поделиться с читателями своим личным опытом о китайских интернет-магазинах, в которых мне (или моим друзьям) приходилось делать покупки. Речь пойдет именно про электронный сегмент товаров. Сразу перейду к сути, и приведу обзоры этих самых магазинов с заключительной оценкой:
            Читать дальше →
          • Google+ — лучший пример, что Google не понимает Платформу

              Один из ведущих разработчиков Google Стив Йегге (Steve Yegge) случайно опубликовал в онлайне большое письмо, которое написал для закрытого круга читателей. Вскоре он поспешил удалить текст, но копии уже разошлись по сети.

              К чести компании Google, после утечки информации они не применили никаких дисциплинарных санкций к Стиву, а тот разрешил публиковать письмо в сторонних источниках, извинившись перед коллегами.

              Контекст данного письма — серьёзный спад в посещаемости Google+ в последнюю неделю, который случился после резкого роста на предыдущей неделе, когда отменили инвайты.
              Читать дальше →
            • Граф интересов (Interest graph): новый принцип взаимодействия в сети

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

                Я хочу продолжить и уточнить его мысль, озвучить несколько важных и плодотворных, на мой взгляд, концептов («граф интересов» — один из них), вокруг которых сегодня ведётся дискуссия о будущем развитии сети, а также привести в качестве примера несколько проектов (над одним из которых я сам сейчас работаю), уже реализующих на практике новые принципы социального взаимодействия: те самые принципы, которые могут стать доминирующими в самом ближайшем будущем.
                Читать дальше →
              • Хроника пикирующей хабрасилы, скрипт рейтинга, вампиризм внимания и 25-й судный день

                  Рассказ посвящается изучению функции оценок пользователя в одной социальной сети. Как ведёт себя на Хабре рейтинг (хабрасила)? В выдаче поиска нет обстоятельного описания этого процесса, поэтому открытие предполагается назвать «законом 25-го судного дня». Именно после этого промежутка времени, в 26-й день после последней публикации рейтинг начинает катастрофически падать, стремясь к численному показателю кармы.

                  Публикация предназначена для юзеров, интересующихся естественными науками. Аннотация: в результате фундаментального различия в среднем приросте показателей рейтинга и кармы во время публикаций в течение 25 дней рейтинг испытывает слабое притяжение к уровню кармы, которое единоразово затем демонстрирует обвал, некоторый период катастрофического падения, и только после 29 дней закон начинает быть похожим на обратно пропорциональный, естественный для процессов линейного притяжения по закону 1/x. Желание юзера поддерживать рейтинг на расстоянии от значения кармы вынуждает его постоянно работать на публикации, привлекая к себе внимание (вампиризм внимания), которые энергетически выгодно продуцировать чаще, чем раз в 25 дней.
                  Читать дальше →
                • GC и большой heap: друзья или враги?

                    Споры о том, что лучше: ручное управление или автоматическое ведутся во многих областях науки и техники. Положиться на человека или отдаться на откуп бесстрастным механизмам и алгоритмам? Похоже, что в мире создания Enterprise решений чаша весов склонилась все-таки в сторону автоматического управления памятью, большей частью из-за того, что возиться с указателями, ручным управлением памятью и закрашивать седину после каждого бага, появившегося из-за «неправильного» компилятора С/C++ не хочется сейчас уже никому. Но до сих пор возникают на форумах топики, где не сдающиеся суровые приверженцы ручного управления памятью яростно и непримиримо отстаивают свои ретроградные взгляды в борьбе с прогрессивной частью человечества. Пусть их, оставим их в покое.

                    Одной из наиболее часто использующихся платформ с механизмами автоматического управления памятью стала Java. Но, автоматическое управление памятью принесло не только комфорт в нелегкий труд программистов, но и свои недостатки, с которыми приходиться сталкиваться всё чаще и чаще. Современные многопользовательские приложения, способные обработать огромный поток транзакций, требуют значительных аппаратных ресурсов, размеры которых раньше было трудно даже вообразить. Однако, дело не в размерах этих ресурсов, дело в том, что сборщик мусора, существующий в большинстве современных JVM, не может работать эффективно с большими объемами памяти.
                    Читать дальше →
                  • Пишем модуль для авторизации в VK API

                    На днях возникла необходимость сохранить все фотографии из своего фотоальбома ВКонтакте на жесткий диск. Естественно, вариант, с сохранением фотографий по одной, меня не устроил. Тут вспомнилось, что у ВКонтакте есть API. Пять минут чтения мануалов, и все нужные функции найдены. Единственная проблема – не существует нормального способа, для получения доступа к API. В документации сказано следующее:
                    Процесс авторизации приложения состоит из 3-х шагов:
                    1. Открытие окна браузера для аутентификации пользователя на сайте ВКонтакте.
                    2. Разрешение пользователем доступа к своим данным.
                    3. Передача в приложение ключа access_token для доступа к API.


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

                    • Translation

                    Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

                    Мнение переводчика может иногда не совпадать с мнением автора, но переводить статью было крайне занимательно.

                    UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
                    Читать дальше →
                  • Искусство публичных выступлений

                      Эта статья открывает серию статей — если окажется, что Хабраколлеги сочтут ее интересной, ибо первое правило публичных выступлений гласит: рассказывай людям о том, что им интересно!

                      Если вы раньше не выступали на публике или боитесь это делать — вам под кат. Если вы считаете себя опытным докладчиком, для вас будет вторая статья серии.

                      В сегодняшней статье я пишу о том, как выступать, и очень мало пишу о содержании доклада. Если из комментариев станет понятно, что надо еще рассказать о композиции доклада (постановка задачи -> варианты решений -> процесс выбора -> выбранное решение -> результат) или об основах публичной речи (не «экать», не «мыкать», не говорить через слово «т-скыть» и не заканчивать фразы ненормативными междометиями) — расскажу в следующий раз.

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

                      Читать дальше →
                      • +211
                      • 52.6k
                      • 59
                    • Что значат для вас юнит-тесты?

                        С технической точки зрения юнит-тесты – это очень простой инструмент, основанный на паре несложных концепций: (1) тестируемый класс, (2) набор тестовых методов, завернутых в некоторый класс и (3) набор методов, с помощью которых можно удостовериться в том, что состояние тестового класса соответствует (или не соответствует) некоторому значению.

                        Это очень простая штуковина, которая может кардинальным образом повлиять на процесс разработки в целом. С одной стороны существует TDD (“test-first approach"), при котором тесты «драйвят» не только процессом кодирования, но и процессом проектирования (т.е. дизайном системы). С другой стороны существуют разработчики с противоположной точкой зрения, которые считают юнит-тесты пустой тратой времени, потому что они не приносят никакой ценности пользователю.

                        Читать дальше →
                      • Защищаем сайт от атак на примере ХабраХабра



                          Рано утром Хабр «выкатил» своё новое обновление, и я с чистой совестью достаю эту статью из черновиков.
                          Вчера у меня случился epic fail и этот топик частично, включая строчку об апдейте выше, попал в паблик на пару секунд. За эти секунды топик успело плюсануть несколько человек.
                          Ещё раз, теперь публично, прошу прощения у администрации!
                          Совет остальным — НИКОГДА не храните в черновиках информацию вроде этой.


                          В последнее время в сети Интернет можно найти очень много пособий для «Начинающих хакеров», в которых подробно описываются все основные методы взлома сайтов. Думаете, веб-разработчики стали от этого умнее и предприняли все возможные методы для защиты? Я так не думаю.

                          В настоящей статье я хочу ещё раз поведать разработчикам о том, как ломают сайты, а чтобы вам не было скучно, я попутно буду ломать Хабр и подробно описывать, как я это делал. Мы рассмотрим такие интересные штучки, как «Активная XSS в профиле», «Бесконечное обнуление кармы», «Публикация топиков со значком 'Из песочницы'», «CSRF через Flash и дыру в Internet Explorer 6» и многое другое.

                          Все уязвимости уже исправлены. Ну или почти все. Поэтому, если вы найдёте очередную дыру, то пишите на support@habrahabr.ru — миф о том, что эту почту никто не читает всего лишь миф.
                          Читать дальше →
                        • Как мы избавились от пауз GC с помощью собственного java off-heap storage решения

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

                            Некоторые системы просто не могут давать адекватный отклик без кэширования данных. Причем рано или поздно они могут наткнуться на проблему, что данных, которые хотелось бы кэшировать, становиться все больше и больше. Если ваша система написана на java, то это приводит к неизбежным паузам GC. Когда-то Одноклассники тоже столкнулись с этой проблемой. Мы не хотели ограничивать себя в размере кэшируемых данных, но в то же время понимали, что GC нам просто не позволит иметь Heap требуемого нам объема. С другой стороны, мы хотели продолжать писать на java. В этом топике мы опишем, как решили эту проблему для себя со всем плюсами и минусами нашего подхода, а также опытом использования. Надеемся, что наш подход заинтересует тех, кому приходится бороться с паузами GC.
                            Читать дальше →
                          • Ускоряем раздачу фоток


                              С проблемой медленной отдачи статического контента рано или поздно сталкивается каждый сисадмин.

                              Проявляется это приблизительно так: иногда 3Kb картинка грузится так, как будто бы она весит 3Mb, на ровном месте начинают «залипать» (отдаваться очень медленно) css-ы и JavaScript-ы. Вы нажимаете ctrl + reload — и уже, вроде, проблемы нет, потом спустя всего несколько минут все повторяется опять.

                              Не всегда истинная причина «тормозов» очевидна и мы косо поглядываем то на nginx, то на хостера, то на «забитый» канал, то на «тормозной» или «глючный» браузер :)

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

                              В этой статье я предложу Вам свое решение этой проблемы, основанное на практическом опыте использования SSD дисков совместно с web-сервером nginx.
                              Читать дальше →
                            • Простой мониторинг активности SQL Server. Кто активен?

                                О чем я вообще?


                                Любому администратору баз данных, наверняка, приходилось сталкиваться с тем, что все работает медленно, или не работает вообще. Первое, что при этом нужно выяснить — это что вообще происходит на SQL Server в данный момент. Казалось, бы в арсенале администратора столько всяких полезных штук: гуевый Activity Monitor, куча Dynamic Management Views (dmv), хранимые процедуры sp_who и sp_who2, оставшиеся в наследство еще со времен SQL Server 7 и SQL Server 2000.
                                Но, давайте разберемся…
                                Читать дальше →
                                • +6
                                • 128k
                                • 3
                              • Асинхронный обмен данными поверх HTTP

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

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

                                  Читать дальше →
                                • Объекты Java

                                    Под впечатлениями от habrahabr.ru/blogs/java/134102.

                                    Недавно мне приходилось немного поковыряться внутри JVM. Довольно интересный опыт. Текст в вышеупомянутом топике не совсем сходится с моим опытом, но я не считаю себя обладателем абсолютной истины. Ниже я поделюсь с читателями небольшой частью моих экспериментов, которые касаются непосредственно объектов Java.
                                    Читать дальше →
                                  • Как стартаперу быстро все узнать

                                      После недавней статьи о стартап-мероприятиях России мы решили не останавливаться на достигнутом и сделать этот мир еще лучше. Для этого мы решили копнуть чуть поглубже и подумать для чего же вообще проводятся все эти мероприятия? Конечно для того чтобы поднять общий уровень проектов. А что самое главное в проекте? Ну разумеется команда! А как можно поднять уровень команды? Естественно обучаться!
                                      Поэтому в следующем посте мы решили сделать небольшой гайд, чему и где стоит учиться стартаперу. Статья разделена на четыре части, по способам потребления информации. Вначале мы немного говорим о книгах и блогах, он самый объемный, потому что в нем говорится о конкретных книгах. Потом немного информации об образовательном видео и подкастах и в конце пара слов о тренингах и образовательных курсах. Разделы так и озаглавлены:
                                      Читать, Смотреть, Слушать и Ходить.
                                      Читать дальше →
                                    • Идеальная архитектура

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

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

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