• Потоки, блокировки и условные переменные в C++11 [Часть 1]

    • Tutorial
    В первой части этой статьи основное внимание будет уделено потокам и блокировкам в С++11, условные переменные во всей своей красе будут подробно рассмотрены во второй части
    Читать дальше →
  • Zettelkasten: как один немецкий учёный стал невероятно продуктивным

    Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша

    Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хотите создать собственную базу знаний, систематизировать идеи и перестать забывать важные мысли.

    Статья бережно перенесена из блога бегущего редактора. Кстати, следить за анонсами новых статей можно в моём телеграм-канале. Подписывайтесь, чтобы ничего не пропустить!
    Читать дальше →
  • Библиотека ASE для атомных симуляций: создаем наночастицы

      Библиотека ASE


      Библиотека ASE — это python-библиотека для проведения атомных манипуляций и вычислений. В данной статье мы будем создавать наночастицы с помощью этой библиотеки.

      Установка


      Устанавливается ASE стандартно через pip: pip install ase.
      Читать дальше →
    • 7 cмертных грехов Slack в большой компании (и как победить их автоматизацией)

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


        Например, вы можете сделать себе бота, который будет будит CTO.
        Читать дальше →
      • PyTrace — Time Travel Debugger для Python

          Мне часто приходится сталкиваться с отладкой.

          Иногда я ставлю точку останова, но понимаю что уже слишком поздно, и надо начинать все сначала.

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

          Усложняется все тем, что приходится работать с унаследованным кодом, который иногда сложно понять.

          Возможно ли лучше понимать запутанный код? А что, если мы сможем понимать такой код, быстрее чем тот, кто его написал?

          Встречайте,

          PyTrace — это трейсер с возможностями Time-Travel Debugging-а

          image
          Читать дальше →
        • Джоел Спольски: Уровень абстракции для разработчиков

          • Перевод
          image

          11 апреля 2006

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

          Он мало говорит о своем прошлом, но очевидно, что он провел много времени в бездушной большой компании.

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

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

          И он садится писать код.
          Читать дальше →
        • О революции в радарах, дедлайнах и выходе в четвертое измерение

            В статьях моих коллег про беспилотные трамваи и тепловозы были упомянуты радары. Они широко применяются в автомобильной отрасли для реализации стандартных функций активной и пассивной безопасности. Решения для высокоавтоматизированных систем управления (включая беспилотный транспорт) требуют более гибких и продвинутых технологий. В Cognitive Pilot радарами занимается специальное подразделение, которое до конца 2019 года работало как Design House, выпуская по контрактной модели решения для автопроизводителей и поставщиков компонентов. Сейчас мы переходим на новую бизнес-модель и готовим к серийному производству линейку радаров для широкого круга заказчиков — от проектов DIY до стартапов и опытных парков. На базе использующихся в проектах Cognitive Pilot решений будут созданы готовые продукты для пользователей, которые можно условно разделить на 3 категории: «MiniRadar», «Industrial» и «Imaging 4D». Подобные устройства активно применяются в самых разных отраслях, поэтому стоит рассказать о них подробнее.


            Читать дальше →
          • Внедряем Sign in with Apple — систему авторизации от Apple

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

              Этим летом на конференции WWDC 2019 Apple представила собственную систему авторизации Sign in with Apple  и сделала ее обязательной для всех приложений в App Store, которые используют вход через соцсети. Исключение составляют образовательные, корпоративные, правительственные и бизнес-приложения, использующие собственную авторизацию. К Sign in with Apple Apple сделала качественную документацию, и в этой статье мы на примере ЦИАН расскажем, как внедрить ее в свой сервис.


              Читать дальше →
              • +34
              • 13,3k
              • 9
            • Выбираем патентного поверенного



                У каждой инновационной компании рано или поздно возникает вопрос по выбору юридической фирмы для защиты своих прав на изобретения. В Parallels эта тема возникла в момент объединения портфелей патентов с Corel. И у Parallels, и у Corel были свои патентные поверенные. Был вариант выбрать одного из них и продолжить работу без особых усилий. Но мы решили подойти к этому вопросу основательно. Процесс прошел не так плавно, как хотелось бы, поэтому я поделюсь своими наработками. Надеюсь это позволит вам избежать неожиданностей и подводных камней в будущем.
                Читать дальше →
                • +29
                • 3,6k
                • 6
              • Пишем в PostgreSQL на субсветовой: 1 host, 1 day, 1TB

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


                  #1. Секционирование


                  Статья про то, как и зачем стоит организовывать прикладное секционирование «в теории» уже была, здесь же речь пойдет о практике применения некоторых подходов в рамках нашего сервиса мониторинга сотен PostgreSQL-серверов.
                  Читать дальше →
                  • +19
                  • 8,3k
                  • 5
                • Как мы научились делить видео на сцены с помощью хитрой математики

                    За 10 лет существования ivi мы собрали базу из 90000 видео разной длины, размера и качества. Каждую неделю появляются сотни новых. У нас есть гигабайты метаданных, которые полезны для рекомендаций, упрощают навигацию по сервису и настройку рекламы. Но извлекать информацию непосредственно из видео мы начали только два года назад.

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

                    image
                    Читать дальше →
                  • Путь в программисты (С++)

                    Привет. С вами я. Мне нравилось боксировать и бегать на дальние дистанции, и думал я только о спорте, но выучился на моряка. Работал в авиации, а стал программистом С++ в 29. Расскажу, как так получилось.

                    О программировании к октябрю 2017 я знал ровно столько, сколько сейчас о квантовой физике- ничего. Абсолютно. «hello world»- даже не слышал о такой фразе. Время от начала обучения до трудоустройства — полтора года.

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

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

                      (первая часть: habr.com/ru/post/495794 )

                      Те, кто в теме, знают, сколько копий ломают в Интернете сами носители английского по поводу фразовых глаголов. Поэтому прошу воспринимать мои статьи на эту тему просто как рассуждения неглупого русскоязычного преподавателя с серьёзным стажем теоретической и практической работы и опытом длительного проживания в языковой среде. Где-то я могу ошибаться – поправляйте. Желательно в корректной форме.
                      Читать дальше →
                    • Архитектура для начинающих или почему не нужно вставлять флажок в человека-меча



                        Аннотация:

                        1. Пример реализации нового функционала в классе через добавление «флажка».
                        2. Последствия.
                        3. Альтернативный подход и сравнение результатов.
                        4. Как избежать ситуации: «Архитектурный оверкилл»?
                        5. Момент, когда приходит время всё менять.

                        Читать дальше →
                      • Как мы за неделю без денег, связей и софта запустили сервис по доставке еды и почти не облажались

                          Меня зовут Дима, я студент Бауманки и программист с предпринимательским опытом. Вместе с ребятами, айтишниками и аналитиками, мы придумали Quicq – единый городской логистический сервис, к которому может подключиться любая компания и избавить себя от необходимости содержать свою службу доставки. Как факс, только для физических товаров. За неделю мы запустили MVP в Ярославле, потратили на старте 15 тысяч рублей, выполнили около 250 заказов и доставили еды на 175 тысяч рублей. Сейчас сервис работает в убыток, но мы знаем, как это починить. Мы пишем свой софт, готовимся к тестированию новых гипотез и проводим работу над ошибками.

                          Расскажу, как мы прошли путь от идеи до запуска, – нащупывали нишу, разрабатывали бизнес-модель, искали подход к клиентам и выстраивали работу с курьерами. Возможно, наш опыт будет полезен тем, кто стоит перед похожей задачей, и тем, кому интересны эксперименты в области unit-экономики.
                          Читать дальше →
                        • [Инфографика] Визуализация пандемий в истории человечества

                          • Перевод


                          Инфекционные заболевания распространялись по планете вместе с людьми. Даже в современную эпоху вспышки происходят практически постоянно, хотя не каждая вспышка достигает пандемического уровня, как это происходит с новым коронавирусом (COVID-19).

                          Сегодняшняя визуализация обрисовывает в общих чертах некоторые из самых смертоносных пандемий в истории, от чумы Антонина до сегодняшних событий с COVID-19.
                          Читать дальше →
                        • Великий египетский фаерволл

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

                            В основном проблем не возникло, но одна из наших сотрудниц с месяц назад, когда все выглядело еще не так страшно, поехала в отпуск к родне в Египет и благополучно застряла там из-за закрытия границ. Ну, сама-то здорова, рабочий ноут с ней — сидит себе на карантине и работает через VPN. Неделю работает, две… На третью неделю VPN перестал подключаться. Саппорт первой линии проверил банальности навроде перезагрузки — не помогло. Вторая линия стала диагностировать: соединение уходит в вечный таймаут на стадии TLS Handshake. Отключили локальный фаерволл — не помогло. Попробовали другую машину — не работает. Другого провайдера — не работает. На этом моменте саппорты сдались и радостно спихнули проблему на меня по старому доброму принципу «во всем виноват сетевик».
                            Читать дальше →
                          • Вы делаете это неправильно: расчет глубины

                              Приветствую вас, глубокоуважаемые!


                              Что если я скажу, что глубина, что бы вы под ней не подразумевали, является одной из самых сложных для точного измерения величин? На какой глубине плывет подводная лодка? Какая глубина марианской впадины? На какой глубине лежит Титаник? Если вам не повезет с параметрами, то на первом километре глубины, вы можете ошибиться примерно на 30-40 метров и на 200-300 метров на 6-ом километре, используя датчик давления. Если вы предпочитаете эхолот, то при неудачном стечении обстоятельств, которые вы не учли, ошибка на первом километре составит метров 100, а на 6-ом — целый километр. Конечно, можно еще использовать длинную веревку… Но там, как известно, свои подводные камни.

                              Как такое могло случиться и как делать правильно я расскажу под катом. В довесок к статье есть Open-source библиотека на C#/C/Rust/Matlab/Octave/JavaScript и пара онлайн-калькуляторов для демонстрации.



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



                              Давайте представим, что нам нужно запустить футбольный мяч на орбиту Земли. Никакие ракеты не нужны! Хватит горы, высотой 100 километров и недюжинной силы. Но насколько сильно нужно пнуть мяч, чтобы он никогда больше не вернулся на Землю? Как отправить мяч в путешествие к звёздам, имея только грубую силу и знание небесной механики?

                              Сегодня в программе:

                              • Бесконечные возможности одной формулы
                              • Как взять энергию у Юпитера
                              • Откуда у планет берутся кольца
                              • Как математика помогла открыть Нептун

                              Благо, мы живём в век компьютерных технологий. Нам не нужно забираться на высокую гору и пинать мяч со всей силы, всё можно смоделировать! Давайте приступим.
                              Читать дальше →
                            • Как сократить расходы в AWS

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

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

                                Мы в «Битрикс24» очень активно используем Amazon Web Services, и в этой статье я расскажу о нескольких возможностях AWS, которые помогут вам сократить ваши расходы.
                                Читать дальше →