• TON: Telegram Open Network. Часть 2: Блокчейны, шардирование

      TON


      Данный текст — продолжение серии статей, в которых я рассматриваю структуру (предположительно) готовящейся к выходу в этом году распределенной сети Telegram Open Network (TON). В предыдущей части я описал её самый базовый уровень — способ взаимодействия узлов между собой.


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


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

      Читать дальше →
    • Domain fronting: что это такое?


        Вы уже наверняка слышали про domain fronting, особенно в контексте блокировки РКН серверов Google, отвечающих за сам google.com, и дальше последовавший запрет Google и AWS на использование их доменов для обхода блокировок.

        Что же такое прикрытие доменом?
      • Зомби, которые съедают вашу память

        • Перевод
        • Tutorial
        Что бы вы там себе не думали, а зомби существуют. И они действительно едят мозги. Не человеческие, правда, а компьютерные. Я говорю сейчас о зомби-процессах и потребляемых ими ресурсах. Это будет душераздирающая история о потерянных и снова найденных 32 ГБ оперативной памяти. Возможно, лишь некоторые из вас столкнутся с точно такой же проблемой, но если вдруг это произойдёт — у вас хотя бы будет шанс понять, что происходит.

        Начнём с того, что компьютеры под управлением ОС Windows склонны со временем терять память. Ну, по крайней мере, у меня, при моём способе ими пользоваться. После пары недель без перезагрузок (или, например, всего одного уикэнда за который я 300 раз пересобрал Хром) я стал замечать, что диспетчер задач начинает показывать мне очень маленькое количество свободной оперативной памяти, но в то же время в системе нет никаких процессов, которые эту самую память активно используют. В том примере выше (с 300 сборками Хрома) диспетчер задач сказал мне, что в системе занято 49.8 ГБ плюс ещё 4.4 ГБ памяти сжато — но при этом запущено всего несколько процессов, и все они в сумме даже и близко не используют столько памяти:

        image

        В моём компьютере 96 ГБ оперативной памяти (да, я счастливчик) и когда у меня нет вообще никаких запущенных процессов — я, знаете ли, хотел бы видеть ну хотя бы половину этой памяти свободной. Я правда рассчитываю на это. Но иногда этого достичь не удаётся и мне приходится перезагружать ОС. Ядро Windows написано качественно и надёжно (без шуток), так что память не должна бы пропадать бесследно. Но всё же она пропадает.
        Читать дальше →
      • Формирование изображений без объективов

        • Перевод

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


        Ещё средневековые ремесленники умели создавать стеклянные линзы и искривлённые зеркала для проецирования изображений. Такие конструкции использовались для изготовления микроскопов, камер-обскур, телескопов и прочих инструментов, позволяющих нам лучше увидеть очень маленькие и большие объекты, расположенные вдалеке и поблизости, на Земле и в небесах. Следующая революция в формировании изображений произошла примерно в середине XIX века: была изобретена фотография. Появилась возможность запечатлевать «остановленные моменты», воспроизводить их и тиражировать. Сегодня эра химической фотографии подходит к завершению, расцветает новая эпоха — цифровое формирование изображений. Его корни лежат в технологии телевидения, но мы будем считать началом эпохи 1975 год, когда появилась первая цифровая фотокамера. Сегодня миллиарды веб-камер и камер в мобильных телефонах по всему миру снимают более триллиона изображений в год, и многие из них сразу же выкладываются в интернет. Несмотря на взрывной рост количества, разнообразия и способов применения систем формирования изображений, задачи инженеров-оптиков остаются по большей части неизменными: создавать высококачественное оптическое изображение, как можно точнее передающее снимаемую сцену — чтобы «выглядело хорошо».

        Читать дальше →
      • Как движется Солнечная система

          Наверняка, многие из вас видели гифку или смотрели видео, показывающее движение Солнечной системы.



          Ролик, вышедший в 2012 году, стал вирусным и наделал много шума. Мне он попался вскоре после его появления, когда я знал о космосе гораздо меньше, чем сейчас. И больше всего меня смутила перпендикулярность плоскости орбит планет направлению движения. Не то, чтобы это было невозможно, но Солнечная система может двигаться под любым углом к плоскости Галактики. Вы спросите, зачем вспоминать давно забытые истории? Дело в том, что именно сейчас, при желании и наличии хорошей погоды, каждый может увидеть на небе настоящий угол между плоскостями эклиптики и Галактики.
          Читать дальше →
        • JPoint 2017 — конференция, которая смогла. Обзор лучших докладов в открытом доступе

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


            Идея проста: надо взять наиболее популярные доклады с JPoint 2017, кратенько пересказать, о чём там речь, почему это круто и зачем нужно лично мне. Каждый из этих докладов заслуживает отдельного разбора, но вначале — краткий обзор первой десятки. Поехали!



            Читать дальше →
            • +48
            • 23,1k
            • 6
          • Meeting Room Little Helper

              Сегодня я расскажу вам о приложении, которое создавалось в «Аркадии» для удобства бронирования переговорных комнат.



              Есть два основных сценария использования этого приложения:

              1. Поиск свободной комнаты
              Ежедневно в компании проходит множество митингов, переговорки бронируют менеджеры, разработчики и сотрудники HR-отдела. Поиск комнаты для митинга может быть довольно долгим и рутинным занятием. Чтобы понять, какая из комнат свободна в данный момент, необходимо зайти в календарь Outlook (или открыть дверь, отвлекая внимание участников проходящего совещания), просмотреть полное расписание по комнатам, найти свободный слот времени и создать appointment. За это время кто-то из сотрудников может забронировать комнату, и тогда необходимо начинать поиск заново. Гораздо удобнее сделать бронирование нажатием одной кнопки при помощи приложения, заранее получив подсказки о статусе комнат.

              2. Ad hoc бронирование
              Довольно часто возникает ситуация, когда нужно собраться минут на 15, чтобы коротко обсудить текущие задачи по проекту. В этом случае нет смысла занимать комнату на целый час, да может и не быть свободных слотов на выбранное время. Но если остаётся хотя бы 10 минут до следующего митинга, приложение позволит забронировать комнату, и для короткого митинга этого может быть вполне достаточно. Также иногда возникает ситуация, когда комната была забронирована на долгий срок, например, 2 часа, но митинг завершился раньше. В этом случае по завершении митинга можно нажать на кнопку отмены и освободить комнату.
              Читать дальше →
            • Как мы разработали технологию обнаружения устройств поблизости



              Эта история началась с функции “Рядом” в одном из наших мобильных приложений. Мы хотели, чтобы пользователи могли быстро создать групповой чат или добавить находящихся рядом пользователей в друзья. Мы попробовали решить эту задачу при помощи геолокации, Bluetooth, Wi-Fi и ультразвука, но у каждого из способов мы обнаружили критичные в нашем случае недостатки.

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

              В статье мы расскажем о принципе его работы, а также рассмотрим достоинства и недостатки других распространенных способов обнаружения устройств.
              Читать дальше →
            • Почему важно проверять, что вернула функция malloc

                malloc

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

                Примечание. В статье под функцией malloc часто будет подразумеваться, что речь идёт не только именно об этой функции, но и о calloc, realloc, _aligned_malloc, _recalloc, strdup и так далее. Не хочется загромождать текст статьи, постоянно повторяя названия всех этих функций. Общее у них то, что они могут вернуть нулевой указатель.
                Читать дальше →
              • Создаем CSS кейлоггер

                  Часто бывает так, что внешние JS файлы выглядят как угроза для клиента, в то время как внешнему CSS не придают особого значения. Казалось бы, как CSS правила могут угрожать безопасности вашего приложения, и собирать логины? Если вы считаете что это невозможно, то пост будет вам полезен.


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

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