• Анонс. Машинное обучение в геологии

      Завтра, 18 июня в 15:00 в наших соцсетях выступит Лейла Исмаилова, специалист машинного обучения в геологии и со-ведущая подкаста о геологах «Про вулканы и людей»

      Лейла окончила геологический факультет МГУ им. М.В. Ломоносова. Поступила в аспирантуру Баварского Геологического Института в Германии. Во время обучения в аспирантуре опубликовала статьи в престижных научных журналах (Nature и Science Publishing group) и работала в разных лабораториях в Германии, Франции и США. С подробным списком публикаций можно ознакомиться по ссылке.

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


      Читать дальше →
    • Разработка REST-серверов на Go. Часть 3: использование веб-фреймворка Gin

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

      Перевод предыдущих частей:
      Разработка REST-серверов на Go. Часть 1: стандартная библиотека.
      Разработка REST-серверов на Go. Часть 2: применение маршрутизатора gorilla/mux


      Читать дальше →
      • +27
      • 1.4k
      • 1
    • Перемешивается ли электролит в аккумуляторе при движении автомобиля?


        Привет, Хабр! Серная кислота почти вдвое тяжелее воды, и её водные растворы, в том числе аккумуляторный электролит, склонны к расслоению: тяжёлая кислота вытесняет лёгкую воду вверх и опускается вниз. Как это влияет на работу аккумуляторной батареи, и насколько эффективно перемешивает электролит тряска при движении транспортного средства? Проведём эксперимент с видео и показаниями приборов.
        Перемешивается или нет? Узнай под катом
      • Юмористичный обзор Rust с перспективы JavaScript

        • Translation

        В этой статье я в несколько забавном ключе документирую кое-какие размышления о своем знакомстве с Rust с позиции прожженного энтузиаста JavaScript. Здесь вас ждет импровизированная прогулка по феодам Вестероса, встреча с Ланнистерами и даже замаскированный под остров корабль — занятные аналогии, которые можно провести с работой в этом языке.
        Читать дальше →
      • Неочевидные уязвимости онлайн сервисов. Часть первая


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

          А может быть, вы популярный хостинг? Хотите привлечь пользователей, используя около-тематический трафик — создаете онлайн сервис который смог бы заменить целые серверные утилиты — nslookup, dig, curl?! Звучит неплохо, но всё ли так хорошо с безопасностью пользователей?

          Об интересных и неочевидных уязвимостях онлайн-сервисов поговорим под катом.
          Узнать подробности
          • +58
          • 7.7k
          • 4
        • Рояль, азот и котик: как это было

            Если кто-то пропустил, то с 24 по 28 мая мы реализовали проект под кодовым названием «Рояль, азот и котик». И настало время рассказать о том, как мы всё организовали, с грязными подробностями, скандалами, интригами и расследованиями.

            Сразу скажем, что это был, пожалуй, самый смелый и необычный проект для нашей компании. 

            Итак, наливайте в кружку кофе, смузи или ягер, и устраивайтесь поудобнее: впереди много гик-порно, мужиков с перфораторами и сварочными аппаратами, красивых девушек и, собственно, самого рояля «Красный октябрь», который, как и полагается музыкальному инструменту Made in USSR, пережил падение и даже не расстроился (в прямом и переносном смысле). Чего не скажешь о капиталистическом ноутбуке… 

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


            Но, обо всем по порядку
            • +32
            • 3.4k
            • 7
          • Запросить 100 серверов нельзя оптимизировать код. Ставим запятую

              Можно выделить ряд алгоритмов, которые являются базовыми и лежат в основе практически каждой строчки программ, написанных на языках высокого уровня. Хорошо иметь под руками классический многотомный труд Дональда Кнута "The Art of Computer Programming", там детально разобраны многие базовые алгоритмы. Но прочесть и усвоить все — задача, требующая много усилий и времени, которая должна как-то быть мотивирована.


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


              Далее разберем нюансы на примере функций сортировки. Сортировка и поиск используются максимально часто во всех манипуляциях с данными. Экономия нескольких миллисекунд на операции может приводить к суммарному сокращению часов расчета на значительных данных.


              Является продолжением серии предыдущих публикаций.

              Читать дальше →
              • +43
              • 3.4k
              • 2
            • Вакцины vs антибиотики: почему люди не доверяют вакцинам, но не боятся злоупотреблять антибиотиками

                Реакция мира на новый коронавирус в 2020 году и идущая с разным успехом в разных странах прививочная кампания от него него в 2021, обнажили и обострили множество слабых мест экономики и социальных проблем. Фактически, многие аспекты социального (коллективного) бытия сейчас переживают стресс-тест, подобного которому не было с начавшейся в 1929 году Великой депрессии.

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

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



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

                  Звонит как-то вендор и говорит, что в возврате бракованного железа — не их жёсткий диск.


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

                  Гарантийный отдел ковыряется с диском, а потом звонят:

                  — А зачем вы подменили диск?

                  Мы такие:

                  — В смысле подменили?

                  — Мы вам продавали другой. А тут корпус тот, а внутри — другой. Какие-то следы от отвёртки.

                  Дичь полнейшая! Мы начали было ругаться, но потом стали разбираться. Начали смотреть на камеры и увидели, что наш сотрудник очень подозрительно себя вёл, когда работал с этим диском в стойке. Как в плохих комедиях про жуликов: постоянно осматривался по сторонам, отходил в сторону, возвращался. Оказалось, что он подменил диск. Честно, я не знаю зачем. Его финансовая выгода минимальная, скорее всего, даже не окупает время работы по замене корпуса.

                  У нас было ещё несколько странных ситуаций, и сейчас я о них расскажу.
                  Узнать подробности
                • Самодельный миниатюрный лазерный гравер на Arduino Uno

                  • Translation
                  • Tutorial

                  Полагаю, что проект, о котором я хочу рассказать, будет интересен всем, кто занимается электроникой. А именно, речь идёт о миниатюрном лазерном гравере, с помощью которого можно наносить изображения на картон, на дерево, на виниловые наклейки и на прочие подобные материалы. Идею проекта я почерпнул из этого руководства, сделав кое-что по-своему.
                  Как сделать гравер?
                  • +38
                  • 8.7k
                  • 8
                • Сборка ядра Linux 5.12.11 c LLVM 12 + Clang и LTO оптимизацией


                  Технический прогресс не стоит на месте, появляются новые компьютерные архитектуры, компиляторы становятся умнее и генерируют более быстрый машинный код. Современные задачи требуют все более креативного и эффективного решения. В данной статье пойдет речь, на мой взгляд, про один из самых прогрессивных тулчейнов LLVM и компиляторы на его основе Clang и Clang++, для языков программирования С и C++ соответственно. Хоть GCC — конкурент Clang, может агрессивнее оптимизировать циклы и рекурсию, Clang дает на выходе более корректный машинный код, и чаще всего не ломает поведение приложений. Плюс оптимизация программ не заканчивается только оптимизацией циклов, поэтому Clang местами дает лучшую производительность. В GCC же за счет переоптимизации вероятность получить unpredictable behavior значительно выше. По этой причине на многих ресурсах не рекомендуют использовать -O3 и LTO(Link Time Optimization) оптимизации для сборки программ. Плюс в случае агрессивной оптимизации, размер исполняемых файлов может сильно увеличиться и программы на практике будут работать даже медленнее. Поэтому мы остановились на Clang не просто так и опции компиляции -O3 и LTO работают в нем более корректно. Плюс современные компиляторы более зрелые, и сейчас уже нет тех детских болячек переоптимизации и LTO.
                  Узнать подробности
                • Можно ли сделать деревянный стеллаж без инструмента используя только отвертку и 3D-принтер? Легко!.

                  • Tutorial


                  Приветствую! Я хочу поделиться с вами очередной своей разработкой, которая позволяет сделать надежную, крепкую мебель и при этом без необходимости иметь инструмент, пылить в доме/квартире и собрать её буквально за один день. Эта статья для аудитории Хабра, которая любит DIY и получает удовольствие от процесса создания вещей своими руками. Осторожно, в статье много изображений и фотографий.
                  Читать дальше →
                • DDoS-атаки: откуда берется и куда девается “мусорный” трафик

                    На прошлой неделе в наших соцсетях выступил Георгий Тарасов, Product Manager в Qrator Labs.

                    Георгий выпускник ВМиК МГУ, работает в команде Qrator с 2012. Занимался разработкой, управлением проектами, собрал в компании команду pre-sales инженеров. Теперь развивает в Qrator новый продукт, а именно защиту от онлайн-ботов.

                    Делимся с вами расшифровкой эфира и записью.

                    Читать дальше →
                    • +45
                    • 5.2k
                    • 7
                  • Как я программировал шахматную партию против брата

                    • Translation


                    Это история о том, как я попытался выиграть у брата партию в шахматы. Всего лишь гребаную одну игру. Что в этом особенного? Хорош ли я в шахматах? Вовсе нет. Научился ли я чему-то в процессе игры? Тоже нет. Может, это история о путешествии ради путешествия, а не цели? Не совсем. Получил ли я хотя бы удовольствие от этого? Не уверен.

                    Это история о моей попытке соригинальничать в одной из самых изученных в мире игр, используя опыт разработки ПО там, где это, быть может, и не нужно.
                    Читать дальше →
                  • Стриминг видео с помощью Akka Streams

                    • Translation
                    Автор статьи, перевод которой мы сегодня публикуем, говорит, что стриминг видео не должен быть такой задачей, с которой у кого-либо возникают сложности. Всё дело — в правильном подборе инструментов, среди которых можно отметить пакет Akka Streams. Использование этого пакета позволяет эффективно разрабатывать приложения для потоковой передачи видео.



                    Правда, не следует думать, что то, о чём мы будем тут говорить, подобно простому примеру, вроде println(«Hello world»), в котором используется система акторов Akka. Сегодня вы узнаете о том, как создать свой первый сервис для потоковой передачи видео (прошу прощения, если моё предположение неверно, и у вас это уже не первый такой проект). В частности, тут будут использованы пакеты Akka HTTP и Akka Streams, с помощью которых мы создадим REST API, который обладает способностями стриминга видеофайлов в формате MP4. При этом устроен этот API будет так, чтобы то, что он выдаёт, соответствовало бы ожиданиям HTML5-тега <video>. Кроме того, тут я скажу несколько слов о наборе инструментов Akka в целом, и о некоторых его компонентах, вроде Akka Streams. Это даст вам определённый объём теории, которая пригодится вам в работе. Но, прежде чем мы приступим к делу, хочу задать один вопрос.
                    Читать дальше →
                    • +34
                    • 2.5k
                    • 6
                  • CSS, JavaScript и блокировка парсинга веб-страниц

                    • Translation
                    Недавно мне попался материал, посвящённый проблеме загрузки CSS-файлов, которая замедляет обработку материалов страниц. Я читал ту статью, стремясь научиться чему-то новому, но мне показалось, что то, о чём там говорилось, не вполне соответствует истине. Поэтому я провёл собственное исследование этой темы и поэкспериментировал с загрузкой CSS и JavaScript.


                    Читать дальше →
                    • +33
                    • 6.8k
                    • 8
                  • Как я ускорил движок на 13%

                    • Tutorial

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


                      Каким образом в нулевые в России случился бум IT? Дело вовсе не в высоких ценах на нефть. Если посмотреть на биографии и возраст лидеров движения — это сплошь математики и физики, получившие, очевидно, очень фундаментальное образование в СССР 70-80-х. И конвертировали это в «Яндекс» и далее по списку. Ну и остальные кадры оттуда же. Если в стране был такой сильный физмат, то это показатель качества образования в целом. Космическая гонка, опять же. В общем, условно, последние 20 лет СССР обеспечили первые 20 лет Рунета. Вопрос: что дальше? Советское образование кончилось 30 лет назад. Рунета не было бы, не будь этих 20-30 лет бума советского образования. Откуда бы отцы Рунета пришли тогда? Так вот, последние 30 лет — это 30 лет без бума советского образования. И кадровый голод, по-моему, уже начинается.
                      В России еще остается небольшое количество научных школ, работает несколько сильных университетов, есть институты, имеющие научный авторитет в мире. Тем не менее, если текущая ситуация продлится еще лет 5–10, научная база в стране будет уничтожена настолько, что создавать ее придется практически с нуля, приглашая зарубежных специалистов, в том числе и опытных менеджеров, работающих в сфере науки. (Какое будущее ждет российскую науку)
                      Узнать историю
                    • SB181: логический вычислитель на базе АЛУ 74LS181

                      • Translation


                      Уже какое-то время в моей мастерской дожидаются своего проекта пара микросхем АЛУ 74LS181. Но так как мысль о создании на их базе целого процессора была несколько пугающей, я решил задействовать эти чипы в роли «логического вычислителя»: своеобразного 8-битного калькулятора, который получает шестнадцатеричные входные данные и отображает результаты различных логических операций в двоичном и hex-форматах. Будучи собранным исключительно на базе логики микросхем 74-й серии без какого-либо микроконтроллера или ЦПУ, такое устройство оказывается удобным помощником в 8-битном программировании.
                      Читать дальше →
                    • Психотронная тюрьма риторики: история о том, что мешает нам мыслить здраво


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

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

                        Что же, ответ у меня есть. Я считаю, что этос — это бич мыслящего человека. Кайрос — кандалы, который выковал информационный век. А понимание того, как работает риторика — базовый инструмент критического мышления. Особенно для IT-специалиста.

                        Я так много рассказывал об этом на кухнях и в чатах, что решил написать статью. А получился лонгрид с научными исследованиями, разбором влияния алгоритмических новостных лент, и безумным комиксом из мемов, который я делал 4 часа в Фигме. Поехали!

                        UPD Большое спасибо всем тем людям, что помогли мне исправить ошибки и очепятки! Только на Хабре так стремятся помочь, и это неоценимо.
                        Читать дальше →