• Логично ли, что Гугл отклонил кандидатуру Макса Хауэлла, автора Homebrew, за неумение инвертировать двоичные деревья?

    • Translation
    Disclaimer: Вопрос из заголовка был задан на сайте Quora
    и сопровождался ссылкой на твит разработчика Homebrew. Ответил, неожиданно, главный персонаж.

    Привет, я — тот самый Макс Хауэлл, так что, по-хорошему, наверное, и не должен был бы тут отвечать.
    Читать дальше →
  • Как не надо писать на Хабр: Антирейтинг 2017



      Обсуждая результаты анализа статей за 2017 год, мы пришли к выводу, что нам и другим хабровчанам интересны не только лучшие публикации, но также любопытно было бы узнать какие статьи и комментарии были худшими. Сегодня мы публикуем антирейтинг публикаций и комментариев на Хабрахабре в 2017-ом. Сделано это потому, что на чужом негативном опыте можно многому научиться, оставить эти ошибки в уходящем и не повторять их в новом году. Других целей этот пост не несёт, просьба отнестись к этому с пониманием.
      Читать дальше →
    • 10 главных анонсов Microsoft в 2017 году

        А вот и уже ставшая традицией предновогодняя публикация с десятью самыми главными анонсами и новинками года от корпорации Microsoft. Чем же запомнится уходящий год с приставкой MS? Заглядывайте под кат!

        Читать дальше →
      • Дайджест новостей из мира PostgreSQL



          Друзья! Мы решили запустить дайджест свежих новостей, статей, релизов и событий из мира PostgreSQL, который будет выходить раз в две недели. В подборке вы найдете ссылки на наиболее интересные материалы по PostgreSQL, вышедшие за период. Если мы пропустили что-то важное для вас – пишите в комментариях!

          Релизы


          • Вышел Postgres Pro Standard 10.1.1. В эту версию перенесены все ключевые доработки и новые возможности СУБД Postgres Pro Standard 9.6, исправлены некоторые найденные ошибки. Также вышла сборка PostgreSQL 10.1 под Windows
          • Вышла версия PgBouncer 1.8.1. Исправлена ошибка в 1.8: добавлен недостающий файл, теперь PgBouncer без проблем собирается из тарбола.
          • Появилась версия драйвера psqlODBC 10.01.0000. Некоторые поправки и усовершенствования по сравнению с версией 10.00.0000. Например, ликвидированы утечки памяти.

          Статьи


          • В статье Jsonb: few more stories about the performance
            Дмитрий Долгов (Zalando) обнародовал производительность PostgreSQL, MySQL и MongoDB на тестах YCSB. Сравнивалась производительность обработки бинарных JSON-ов (JSONB и BSON). Методика тестирования (в облаке) расписана подробно, есть выводы и рекомендации.
            До этого тема обсуждалась на PGConf.EU 2017 в Варшаве и на других конференциях. Например, в презентации Олега Бартунова по результатам YCSB-тестирования в Postgres Professional (слайд 81 и далее). В этих тестах на выделенных мощных серверах сравнивались только MongoDB и PostgreSQL, а акцент был сделан на высокую нагрузку (тысячи клиентов одновременно).
          Читать дальше →
          • +46
          • 9.4k
          • 4
        • Фронтенд-2017: о самом важном

          • Translation
          Много всего произошло в 2017-м, на самом деле — и подумать страшно — сколько всего случилось. Всем нравится шутить о том, как быстро всё меняется в разработке фронтенда, и в последние несколько лет это, вероятно, так и было. Рискуя быть неоригинальным, хочу сказать, что в 2017-м всё было не так, как прежде. Тенденции веб-разработки стабилизировались. В частности, популярные библиотеки стали, в большинстве своём, ещё популярнее, вместо того, чтобы сдвинуться на второй план под натиском конкурентов. В целом же веб-разработка стала гораздо более зрелой средой, чем раньше.



          В этом материале мы поговорим о некоторых важных событиях, которые произошли в этом году в экосистеме клиентской веб-разработки, обращая особое внимание на общие тренды.
          Читать дальше →
        • Визуализация разработки SEMrush.com 2017

            В честь окончания года, для праздничного «айтишного» настроения: 550+ репозиториев команды SEMrush на одном видео.


            Спонсор показа Gource

            Под катом пара слов о том, как это сделано.
            Читать дальше →
          • Современная Android разработка на Kotlin. Часть 1

            • Translation
            Данная статья является перевом статьи от Mladen Rakonjac

            Очень сложно найти один проект, который охватывал бы всё новое в разработке под Android в Android Studio 3.0, поэтому я решил написать его. В этой статье мы разберём следующее:



            1. Android Studio 3
            2. Язык программирования Kotlin
            3. Варианты сборки
            4. ConstraintLayout
            5. Библиотека привязки данных Data Binding
            6. Архитектура MVVM + паттерн repository (с mapper'ами) + Android Manager Wrappers
            7. RxJava2 и как это помогает нам в архитектуре
            8. Dagger 2.11, что такое внедрение зависимости, почему вы должны использовать это.
            9. Retrofit (Rx Java2)
            10. Room (Rx Java2)

            Каким будет наше приложение?


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

            Я попытаюсь объяснить как можно больше строк кода. Вы всегда можете посмотреть код, который я опубликовал на GitHub.
            Читать дальше →
          • Объяснение блокчейна для веб-разработчиков

            Предисловие переводчика


            Предлагаю читателям Хабрахабра перевод статьи «The Blockchain Explained to Web Developers, Part 1: The Theory» за авторством Francois Zaninotto. Эту статью я нашел в блоге компании Marmelab. Статья представляет собой отличное введение в технологию блокчейн «с нуля», но может оказаться интересной и для тех, кто уже «в теме». Она касается не только того, как работает блокчейн, но и перспектив его развития, а также с чего начать, если вы хотите создать свой проект, использующий блокчейн.

            Объяснение блокчейна для веб-разработчиков, Часть первая: Теория


            Блокчейн – это новая популярная технология. Даже если вы не слышали о ней, вы, вероятнее всего, знаете о Bitcoin. Блокчейн — это одна из фундаментальных технологий на которых основан Bitcoin. Эксперты говорят, что блокчейн вызовет революцию схожую с той, которую некогда вызвал Интернет. Но что это на самом деле и как его можно использовать для создания приложений? Эта статья является первой в серии из трех, рассказывающей о феномене Блокчейна. Мы обсудим теорию, покажем фактический код и поделимся своим опытом, основанным на реальном проекте.
            Читать дальше →
          • Генерация фиктивных данных с Mimesis: Часть I

            image

            Mimesis — это библиотека для языка программирования Python, которая помогает генерировать фиктивные данные для различных целей. Библиотека написана с использованием средств, включенных в стандартную библиотеку языка Python, потому не имеет никаких сторонних зависимостей. На данный момент библиотека поддерживает 30 языковых стандартов (в числе которых и русский) и более 20 классов-провайдеров, предоставляющих разного рода данные.


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


            1. Сбор необходимой информации.
            2. Постобработка собранных данных.
            3. Программирования генераторов данных.

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

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

              Год назад вышло бесплатное электронное издание на русском языке всеохватного вводного учебника Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера». Книга попала в струю, ее скачивания завалили британский сайт Imagination Technologies (дважды — 1, 2), после чего учебник стали использовать преподаватели московских МФТИ, МГТУ, питерского ИТМО, киевского КНУ, КПИ и других вузов. Интересной особенностью учебника является то, что его перевод на русский сделала группа энтузиастов: преподавателей российских и украинских университетов, русских сотрудников компаний в Silicon Valley (AMD, Synopsys, Apple, NVidia ...) и российских компаний (НИИСИ, МЦСТ, Модуль ...).

              При этом, электронное издание Харрис-энд-Харрис сформатировано для планшета, и уже после первых скачиваний посыпались емейлы, когда же учебник будет и на бумаге. И вот час настал — Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера» можно заказать на бумаге (выходит в новогоднюю ночь). В этом посте я покажу, чем этот учебник отличается от других. Бонус: фотки участников и участниц проекта!



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

              Учебник H&H решает эту проблему:
              Читать дальше →
            • Поиграл == покодил

              • Translation
              image

              Мой рекорд скорости написания кода «на C» был в консоли Quake II. Причем абсолютно без ошибок. В темноте, не глядя, трясущимися руками надо было набрать примерно такое:

              bind SHIFT "+snipe"
              alias +snipe "sensitivity 2.5; fov 30"
              alias -snipe "fov 90; sensitivity 4"

              Боги умели прописывать RocketJump.

              RocketJump
              bind t "superrjr"
              
              bind a "superrjn"
              
              alias superrjr "echo SuperRocketJump enabled; bind a +srj; bind t superrjc"
              
              alias superrjn "echo SuperRocketJump disabled"
              
              alias superrjc "echo SuperRocketJump disabled; bind a superrjn; bind t superrjr"
              
              alias +srj "lookdown1;hand 2;rjump"
              
              alias -srj "lookdown2"
              
              alias lookdown1 "cl_pitchspeed 999999;+lookdown"
              
              alias lookdown2 "-lookdown;cl_pitchspeed 200;-attack;-moveup;wait;wait;wait;centerview;hand 2;cl_maxfps 80"
              
              alias rjump "+moveup;+attack;wait;wait;wait;wait;cl_maxfps 0"
              
              alias +QLD "+lookdown;cl_pitchspeed 999"
              
              alias -QLD "-lookdown;cl_pitchspeed 200"
              
              alias +RocketJump "hand 2;+QLD;wait;wait;+attack;+moveup"
              
              alias -RocketJump "hand 2;-QLD;-attack;-moveup"
              
              alias SuperRocketJump "hand 2;+QLD;wait;wait;wait;wait;+attack;+moveup;wait;cl_maxfps 0;LWX3;cl_maxfps 90;-QLD;-attack;-moveup;hand 2" 


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

              • Translation
              image

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

              image
              < 3% заявлений становились предложениями

              Я окончил Hack Reactor в июле 2016, и мне потребовалось почти 3 месяца, прежде чем я принял предложение от Radius Intelligence. Я подавал заявления в 291 компанию, прошел 32 собеседования по телефону и 16 обычных, а также выполнил 13 задач по программированию, 11 из них — в офисах. И получил в итоге 8 предложений. Мне предлагали 60-125 тысяч долларов в компаниях США. В общем 2.8% заявок обернулись для меня выгодными предложениями.

              Вот 5 вещей, которые я хотел бы знать, прежде чем устраивался на работу.
              Читать дальше →
            • Персона. Андерс Хейлсберг – создатель Turbo Pascal, Delphi и C#


                «Я написал огромное количество полезных программ. И совсем немного бесполезных»

                У некоторых людей есть потребность создавать что-то новое. Когда эта потребность реализуется в полной мере, появляются произведения искусства, научные открытия, прорывные технологии. Таким человеком является Андерс Хейлсберг, создатель Turbo Pascal, Delphi и C#.

                Для многих студентов ВУЗов Turbo Pascal до сих пор остается первым языком, с которого начинается знакомство с программированием. В свое время он был своеобразным прорывом в разработке программного обеспечения. Недаром «в народ» пошел не Pascal, а именно Turbo Pascal.

                Однако Хейлсберг на этом не остановился. Благодаря его неугасающей потребности создавать новое появились Delphi и С#. Поэтому для многих Андерс является одним из «супергероев» ИТ-индустрии.
                Читать дальше →
                • +64
                • 22.6k
                • 8
              • Стратегии расширения Django User Model

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

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

                В этой статье пойдет речь о стратегиях, с помощью которых вы можете расширить пользовательскую модель Django, а не писать ее с нуля.
                Читать дальше →
              • Как объяснить бабушке, что такое Agile за 15 минут с картинками

                • Translation
                «Любое дело всегда длится дольше, чем ожидается, даже если учесть закон Хофштадтера.»
                — закон Хофштадтера

                image

                Самый просматриваемый ролик на YouTube по теме agile. 744 625 просмотров на момент публикации данной статьи. Легкий стиль изложения, картинки и всего 15 минут — лучшее что я видел. TED отдыхает.
                Читать дальше →
              • Небольшой обзор и впечатления от Pocket C.H.I.P

                  Всем привет, Хочу поделиться с вами обзором на занятный девайс Pocket C.H.I.P. Это «9 долларовый компьютер» + qwerty клавиатура и экранчик(Комплект по предзаказу стоил 49 $ сейчас 69$).



                  С обзором на сам Чип вы можете ознакомится тут. Поиграв с ним с 2 недели, я остался в очень странном ощущении: если коротко, то девайс ещё сырой и порой требует копания в документации и форуме, но сам по себе это очень интересный портативный linux-компьютер. Если интересно прошу под кат.
                  Читать дальше →
                • Бесплатные курсы, книги и прочие материалы по разработке



                    У кого сейчас есть время на получение второго академического образования? Хм. Все больше компаний и команд обращают внимание не на формальные «корочки», а на реальные способности и достижения конкретного человека. Речь, конечно о хороших компаниях с современным взглядом на реальность и продвинутым руководством.

                    Необязательно проходить всю программу университета, чтобы научиться программировать. Онлайн-курсы, конечно, требуют самоконтроля, усердия и ответственности. Но, если есть цель и стремление, то все приложится. В компании таких же «вольных» слушателей по сети вы наверняка сможете пройти курс успешно.
                    Читать дальше →
                  • Multiseat на компьютере с ОС Debian

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

                    image

                    Читать дальше →
                  • Дональд Кнут: Я сидел на задних партах и травил шутки, а учителя смирились и не часто били по заднице (1,2,3,7/97)

                    • Translation


                    Дональд Кнут рассказывает про маму и папу, вспоминает о том, как он учился читать, как шкодил в школе. Откровенничает о первом писательском опыте и намекает на «пасхалки» со звездой эротики в своих книгах.
                    Читать дальше →
                    • +23
                    • 18.2k
                    • 6
                  • Нейронные сети для начинающих. Часть 1

                    image

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

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