• Как написать лучший пост на Хабре. 7 ответов, 7 советов


      1-го января в 6 утра воскресенья мне пришла мысль поделиться с Хабра-сообществом о том, как писать статьи на Хабр, чтобы они попадали в Лучшее. За сутки, за неделю, месяц, и если вы сможете взломать 3000 паролей или сделать комикс в духе Фриланс vs. Офис, то и в лучшее за все время!


      Кто я такой чтобы не пить советовать? — Спросите вы. Не вдаваясь в фаллометрию, я просто люблю писать про IT, а зарабатываю на жизнь разработкой на .NET. За что Microsoft (хотя не только за это), выдал мне ачивку MVP и это мотивирует писать дальше.


      А официально, началось все с Хабрахабра в 2011-ом году. Когда я, задолбавшийся разбирать индусские С++-вермишелины, отрапортовал в песочницу пост про избыточность С++. При этом не сильно рассчитывая на фидбек или инвайт, а что называется — просто выговориться. Каково было мое удивление, когда через пару дней мне прилетел не один, а 3 инвайта. Сам пост взлетел в топ Хабра получив 275 плюсов и висит в “С++ / Лучшее” до сих пор.


      Так я встал на путь любительского IT-блоггерства. Потом были попытки создать свои тематические блоги про мобильную разработку, стартапы и IT-бизнес. Но времени постоянно постить и PR-ить блог не было, соответственно и трафика тоже полтора человека в день. Поэтому продолжал постить туда, где уже есть аудитория. Был посты на Цукерберг Позвонит (VC.ru), AIN.ua, Geektimes.ru, где-то еще писал, как пить дать. В  общей сложности у меня более 50-ти публикаций на тему IT.


      Поэтому считаю уполномоченным расшарить советы, которые помогут вам писать качественный контент и получать бóльший фидбек от читателей. Будь то рейтинг, карма, избранное и просмотры. И как итог: ↑реальная карма, ↑общий вклад в IT-сообщество, ↑популярность, ↑авторитет, ↑трафик на ваш сайт.

      Читать дальше →
    • Доступно о криптографии на эллиптических кривых

      • Translation
      image


      Тем, кто знаком с криптографией с открытым ключом, наверно известны аббревиатуры ECC, ECDH и ECDSA. Первая — это сокращение от Elliptic Curve Cryptography (криптография на эллиптических кривых), остальные — это названия основанных на ней алгоритмов.

      Сегодня криптосистемы на эллиптических кривых используются в TLS, PGP и SSH, важнейших технологиях, на которых базируются современный веб и мир ИТ. Я уже не говорю о Bitcoin и других криптовалютах.

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

      В этой серии статей я познакомлю вас с основами мира криптографии на эллиптических кривых. Моя цель — не создание полного и подробного руководства по ECC (в Интернете полно информации по этой теме), а простой обзор ECC и объяснение того, почему её считают безопасной. Я не буду тратить время на долгие математические доказательства или скучные подробности реализации. Также я представлю полезные примеры с визуальными интерактивными инструментами и скриптами.
      Читать дальше →
    • Руководство по созданию стартапов, часть 1: почему не нужно затевать стартап

      • Translation
      Данное руководство – серия считающихся классическими постов блога человека с ником pmarca, а в жизни – Марка Андреессена, создателя браузера Mozaic, из которого вырос Netscape, а затем и Mozilla.
      Ссылки специально даются на старые версии сайтов, современные статьям, сохранённые в интернет-архиве.


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

      Мой опыт в данной области собран при работе в трёх компаниях, в которых я был со-основателем: Netscape, продана America Online в 1998 за $4.2 миллиарда; Opsware (бывш. Loudcloud), софтовая компания с капитализацией порядка $1 миллиарда; Ning, интернет-компания, предоставляющая платформу для социальных сетей.

      В общем и целом, мне повезло с момента прибытия в Кремниевую долину в 1994 году поучаствовать в работе порядка 40-50 стартапов, при этом участие было достаточно глубоким, чтобы я знал, о чём говорю. Я был членом совета директоров, бизнес-ангелом, советником, другом многих основателей, и венчурным инвестором.

      Так что я буду говорить не только о тех вещах, которые относятся к моим компаниям – скорее всего это будут истории из жизни различных стартапов, в судьбе которых я принимал непосредственное участие.
      Читать дальше →
    • Как устроен AADHAAR — самая большая биометрическая система в мире

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


        Читать дальше →
      • Как мы оптимизировали Twitter Lite

        • Translation

        Twitter Lite и высокопроизводительные прогрессивные веб-приложения на React




        Взгляд на то, как удаляли обычные и необычные узкие места в производительности при создании одного из крупнейших в мире прогрессивных веб-приложений (PWA) на React.js — Twitter Lite

        Создание быстрого веб-приложения требует многих циклов измерений, куда тратится время. Нужно понять, почему это происходит, и применить потенциальные исправления. К сожалению, не бывает одного простого решения. Производительность — это бесконечная игра, где мы ищем и измеряем области для улучшения. В Twitter Lite сделано много маленьких улучшений в разных сферах: от первоначального времени загрузки до рендеринга компонентов React (и предотвращения повторного рендеринга), загрузки изображений и много другого. Большинство изменений небольшие, но они складываются, и в конечном результате мы получили одно из самых больших и быстрых прогрессивных веб-приложений.
        Читать дальше →
      • 5 худших приемов отечественного дизайна из 90-х

          В девяностые, когда стали доступны первые компьютеры, каждый мог стать дизайнером и сделать вывеску для своего ларька.
          К нам в рубрику #logomachine_help присылают самые разные логотипы, но от многих по-прежнему веет тем самым любительским дизайном из 90-х. Мы собрали самые распространенные проблемы в 5 худших приемов, которых лучше избегать, если ты не возишь щебень на самосвале.

          Читать дальше →
        • Похоже, я не предприниматель

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

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

            В этой статье я хотел бы

            — поделиться сделанными выводами
            — порекомендовать проект, если вы хотите присоединиться к нему в качестве разработчика/инвестора
            — выложить техническую документацию, если вы захотите сделать форк

            image
            Читать дальше →
          • Квантовые шахматы

            Intro


            Этот пост написан под впечатлением от вот этого отличного поста с Хабра, в котором автор наглядно, при помощи двумерных моделек, которые рисует его программа, объясняет как работает Специальная Теория Относительности.


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


            Модель, которую я рассматриваю – отнюдь не нова. Более полугода назад Chris Cantwell разместил на YouTube анонс новой настольной игры: квантовых шахмат (многим, возможно, известно об этом из вот этого вирусного ролика).


            Недавно игра вышла в Steam, она стоит 249 руб. Есть ещё другая реализация – бесплатное приложение для iOS (не знаю, есть ли оно в Google Play). Однако в процессе игр с друзьями я экспериментально выяснил, что она неправильная с точки зрения квантовой механики. Такую реализацию скорее можно назвать статистическими шахматами, а не квантовыми.


            Поэтому я решил написать свою реализацию, с запутанностью и суперпозициями. В своей реализации я постарался исправить те недостатки, которые на мой взгляд присутствуют в версии на Steam (например, у меня пешки тоже могут ходить квантовыми ходами, как и все остальные фигуры). Про приложение для iOS и так всё понятно: любая реализация квантовых шахмат должна быть по-настоящему квантовой, т.е. не только быть вероятностной, но поддерживать такие эффекты квантовой механики как интерференция, запутанность, etc.

            Читать дальше →
          • В Делавере предложен законопроект, легализующий корпоративное применение блокчейна

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


              Корпоративная бюрократия станет чуть-чуть технологичнее

              Большой бизнес в США достаточно зарегулирован, и к хранению корпоративных данных тоже предъявляются особые требования. Штат Делавер может стать первым американским штатом, в котором власти будут признавать данные, которые хранятся с использованием блокчейна.
              Читать дальше →
            • Разработка транзакционных микросервисов с помощью Агрегатов, Event Sourcing и CQRS (Часть 2)



                Это завершение переводной статьи о разработке транзакционных приложений с использованием микросервисной архитектуры. Начало.

                В первой части статьи мы говорили, что основным препятствием при использовании микросервисной архитектуры является то, что модели предметной области (domain model), транзакции и запросы удивительно устойчивы к разделению по функциональному признаку. Было показано, что решение заключается в реализации бизнес-логики каждого сервиса в виде набора DDD-агрегатов. Каждая транзакция обновляет или создает один единственный агрегат. События используются для поддержания целостности данных между агрегатами (и сервисами).

                Во второй части статьи мы увидим, что ключевой задачей при использовании событий является атомарное изменение состояния агрегата и одновременная публикация события. Посмотрим, как решить эту проблему с помощью Event Sourcing — используя событийно-ориентированный подход к проектированию бизнес-логики и системы сохранения состояния. После этого опишем, как микросервисная архитектура затрудняет реализацию запросов к базе данных, и как подход, называемый Command Query Responsibility Segregation (CQRS), помогает реализовывать масштабируемые и производительные запросы.
                Читать дальше →
              • Разработка транзакционных микросервисов с помощью агрегатов, Event Sourcing и CQRS (Часть 1)

                • Translation

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

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

                Однако микросервисы являются не таким уж простым и универсальным решением. В частности, модели предметной области, транзакции и запросы удивительно устойчивы к разделению по функциональному признаку. В результате разработка транзакционных бизнес-приложений с использованием микросервисной архитектуры является довольно сложной задачей. В этой статье мы рассмотрим способ разработки микросервисов, при котором эти проблемы решаются с помощью паттерна проектирования на основе предметной области (Domain Driven Design), Event Sourcing и CQRS.
                Читать дальше →
              • Юрист, ставший кошмаром компании DuPont

                • Translation
                Роб Билот работал корпоративным адвокатом восемь лет. Затем он взялся за судебный иск, связанный с окружающей средой, перевернувший всю его карьеру – и вскрыл бесстыдную историю химического загрязнения, длившуюся десятилетиями.

                image

                Всего лишь за несколько месяцев до того, как стать партнёром в юридической фирме Taft Stettinius & Hollister, Роб Билот ответил на телефонный звонок от фермера, занимавшегося разведением скота. Фермер Уилбур Тенант [Wilbur Tennant] из Паркерсбурга в Западной Виргинии рассказал, что его коровы дохнут. Он решил, что виной тому компания-химический гигант DuPont, до недавнего времени хозяйничавшая на участке в Паркесбурге, превышающем Пентагон по площади в 35 раз. Тенант пытался заручиться помощью местных властей, но у DuPont весь город был в кармане. Его просьбы с презрением отвергли не только юристы Паркерсбурга, но и его политики, журналисты, доктора и ветеринары. Раздосадованный фермер говорил с сильным акцентом, выдававшим в нём жителя региона Апалачиа. Билот пытался понять, что говорит фермер. Он, возможно, бросил бы трубку, не упомяни фермер имени бабушки Билота, Альмы Холланд Уайт.
                Читать дальше →
              • 50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков

                • Translation
                • Tutorial


                Go — простой и забавный язык. Но в нём, как и в любых других языках, есть свои подводные камни. И во многих из них сам Go не виноват. Одни — это естественное следствие прихода программистов из других языков, другие возникают из-за ложных представлений и нехватки подробностей. Если вы найдёте время и почитаете официальные спецификации, вики, почтовые рассылки, публикации в блогах и исходный код, то многие из подводных камней станут для вас очевидны. Но далеко не каждый так начинает, и это нормально. Если вы новичок в Go, статья поможет сэкономить немало часов, которые вы бы потратили на отладку кода. Мы будем рассматривать версии Go 1.5 и ниже.
                Читать дальше →
              • Как запустить ClickHouse своими силами и выиграть джекпот

                  Мы решили описать простой и проверенный путь для тех, кто хочет внедрить аналитическую СУБД ClickHouse своими силами или просто испробовать ClickHouse на собственных данных. Именно этот путь прошли мы сами в новостном агрегаторе СМИ2 и добились впечатляющих результатов.


                  Clickhouse-client


                  В предисловии статьи — небольшой рассказ о наших попытках внедрить Druid и InfluxDB. Почему после успешного запуска ClickHouse мы смогли отказаться от использования InfiniDB и Cassandra.


                  Читать дальше →
                • Как я стала дизайнером за шесть месяцев

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

                    Больше года я занимаю должность технического лидера в своей компании, и хочется поделиться наработками по теме. Имеет смысл уточнить: я веду отдел iOS-разработки из 10 человек в компании-аутсорсере. В моём случае должность подразумевает оптимизацию работы отдела, распределение задач между разработчиками и активности, связанные с программированием. Расскажу немного о своём опыте, наработках и умозаключениях. Статья может быть полезна прежде всего новичкам на аналогичной должности, либо тем, кто на неё метит. Какие-то практики и принципы могут быть переносимы на обычную разработку, на другие платформы или даже другие специальности.
                    Читать дальше →
                  • Блокчейн ≠ Криптовалюта. Блокчейн > Криптовалюта

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


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

                      Читать дальше →
                    • Эффективное использование Github


                        Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.

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


                        Содержание



                        Читать дальше →
                      • Обзор децентрализованных технологий. Часть 1

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

                          Blockchain


                          Блокчейны – технология распределённых вычислениях и общем консенсусе пользователей, созданная таинственным Сатоши Накамото. В ней отсутствует центральное управление, а для верификации транзакций используются P2P-сети, кодификации и криптография. Более того, транзакциями можно управлять при помощи программируемых контрактов/договоров. В блокчейне Биткоина любые транзакции не считаются легитимными (подтверждёнными), пока информация о них не будет сгруппирована в специальные структуры — блоки. Структура и информация в блоках подчиняется заданным правилам и её можно быстро проверить. Каждый блок всегда содержит информацию об одном предыдущем блоке. Это позволяет все существующие блоки выстроить в одну цепочку, которая представляет собой распределённую базу данных и содержит информацию о всех совершённых когда-либо операциях с bitcoin.

                          Bitcoin – это первое и самое успешное применение технологии блокчейнов, но есть и многие, многие другие криптовалюты, известные как альткоины. Более того, есть много примеров того, как новые блокчейны используются не только для криптовалютных целей – Ethereum, Ripple и Storj.io, о них мы сегодня и поговорим в первой части нашего цикла статей про децентрализованные сервисы. В свете последних событий, целью статьи является также показать, что кролики это не только ценный мех Bitcoin это не только платежная система, а новая революционная технология, которая открывает целый ряд возможностей для построения принципиально новых программных продуктов.

                          Читать дальше →
                        • Почему так много «липовых» специалистов по анализу данных?

                          [Перевод. Источник: www.linkedin.com/pulse/why-so-many-fake-data-scientist-bernard-marr Why So Many ‘Fake’ Data Scientists?]

                          Вы заметили, что подобно поганками после дождя, появилась огромная масса людей, называющих себя «специалистами по анализу данных»? И ваш сосед, и смазливая тёлка, с которой вы бухали на вечеринке и даже ваш знакомый бухгалтер — все вдруг сменили название профессии в визитке!

                          Узнать горькую правду о Data Science