• Новый проект братьев Дуровых: Telegram Open Network

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

    Уже запущена тестовая сеть и на официальном сайте есть два интересных документа, проливающих свет на то, как будет функционировать этот проект. Это описание TON, 132 страницы (ссылки на страницы в тексте указаны в круглых скобках, (45)) и описание блокчейна, 120 страниц (ссылки на страницы указаны в квадратных скобках, [55]). Виртуальная машина и язык программирования смарт-контрактов в этой статье рассматриваться не будут, кому нужно — разберёт сам, а кто не разберёт — тому не нужно.

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

    Итак, что такое Telegram Open Network (TON)?


    Читать дальше →
  • Как собеседовать работодателя?

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

    Надо ли писать код на доске? Надо ли жонглировать бинарными деревьями и знать наизусть все сложности алгоритмов, или просто разговаривать про жизнь и проекты?

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

    Читать дальше →
  • (Не актуально, починили) Заметка. Как Теле2 делится доступом к личному кабинету новых абонентов

      Если вы новый абонент Теле2, то есть вероятность того, что сотовый оператор без вашего согласия не только поделился вашими персональными данными с кем-то еще, но и передал возможность управлять вашим «личным кабинетом» третьим лицам.

      Не нужно никаких хакерских атак, сложных взломов и т.п. — все несколько банальнее.


      Источник: кадр из рекламы Теле2 и кот c Я.Плакал
      Читать дальше →
    • Ближе к земле: как я сменил коворкинг на дом в деревне

        От редакции блога: наверняка многие помнят историю про поселок программистов в Кировской области — начинание экс-разработчика из Яндекса впечатлило многих. А наш разработчик решил создать свое поселение в братской стране. Передаем ему слово.



        Привет, меня зовут Георгий Новик, я работаю бэкенд-разработчиком в Skyeng. В основном реализую хотелки операторов, менеджеров и других заинтересованных лиц в отношении нашей большой CRM, а еще подключаю всякие новомодные вещи для customer service — ботов для техподдержки, сервисов автоматического прозвона и пр.

        Как и многие разработчики, я не привязан к офису. Что делает человек, который не обязан ежедневно ездить в контору? Один отправится жить на Бали. Другой осядет в коворкинге или на родном диване. Я же выбрал совсем другое направление и переехал на хутор в белорусских лесах. И теперь от меня до ближайшего приличного коворкинга 130 километров.
        Читать дальше →
      • Чему я научился у ведущего программиста

        • Перевод

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

        Это одна из причин, по которой я начал вести дневник. Каждый день, попадая в интересные ситуации, я описывал их. И всё благодаря тому, что я сидел рядом с ведущим программистом. Я мог вблизи наблюдать за его работой, и видел, насколько она отличается от того, что сделал бы я. Мы много программировали вместе, что ещё больше облегчало мои наблюдения. Более того, в нашей команде не осуждается «подглядывание» за людьми, пишущими код. Когда мне казалось, что происходит что-то интересное, я поворачивался и смотрел. Благодаря постоянным вставаниям я всегда был в курсе происходящего.

        Я год просидел рядом с ведущим программистом. Вот чему я научился.
        Читать дальше →
      • Когда почта доставляет: боремся с потерями push-уведомлений в iOS

          Со стороны пользователя почтовый клиент — приложение нехитрое. Разработчики Яндекс.Почты даже шутят, что в приложении всего три экрана: список писем; отправка письма; экран about.

          Но очень много интересного происходит под капотом. Как многие мобильные приложения, Почта использует push-уведомления, чтобы взаимодействовать с пользователями. Как многие iOS-приложения, Почта теряет часть уведомлений в силу особенностей работы Apple Push Notification Service.

          Руководитель iOS-группы Яндекс.Почты Ася Свириденко докажет, что даже с учетом ограничений системы, с потерями push-уведомлений можно и нужно бороться, если они критичны для вашего приложения. Для Почты это так, потому что push-уведомления о новых письмах — это то, ради чего пользователь устанавливает приложение. Если же для вашего приложения доставка push-уведомлений не так критична, узнать, какие велосипеды нагородила мобильная Яндекс.Почта, все равно интересно.


          Речь пойдет о remote notification, то есть уведомлениях, которые приходят с сервера через APNs (Apple Push Notification Service). Локальные уведомления затрагивать не будем и поговорим о том:

          • Как выглядит API для работы с push-уведомлениями. Рассмотрим схему доставки push-уведомлений и то, где в этой схеме могут возникать потери. 
          • Как решили бороться с потерями в Яндекс.Почте — об очереди push-уведомлений.
          • Как логировать и какие еще сложности могут встретиться.
          Читать дальше →
          • +30
          • 5,9k
          • 9
        • Как программист банк выбирал и договора читал

            image
            Девять лет назад я написал заметку про то, как не быть обманутыми злыми буратинами. Всё, что там написано не потеряло актуальности, и сегодня мы рассмотрим попытку выбрать банк читая бумаги, а не рекламу. В данной заметке рассмотрены ВТБ, Альфа Банк, Авангард. По этим банкам приведены цитаты из действующих на 22.08.2019 договоров и оценочные суждения автора о приемлемости и удобстве предлагаемых договоров. В целом автор рассмотрел уже 8 банков из топа, и там тоже всё плохо. Рассматриваются только условия договоров, не учитывая процентов по кредитам, депозитам и иные потребительские качества банка.

            В моём менеджменте персональных и семейных финансов фигурирует три разных категории финансов:

            1. Оперативные финансы — карточка и наличные которыми я пользуюсь ежедневно, магазины, интернет покупки и тп. Ключевые параметры: удобство пользования, качество поддержки, кешбек.

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

            3. Инвестиции — различные инвестиционные средства, долговременные. Недвижимость, акции, облигации и тп. Ключевые параметры такие же как у оперативного резерва, кроме ликвидности. Не вижу смысла играть в высокодоходные инвестиции которые может упереть девочка в салоне ООО «Дядя Вася» по франшизе сотового оператора.

            В данном случае я выбирал банк для второй категории.
            Читать дальше →
          • Всплывай! Транзишены в iOS

              Привет, Хабр! Всем нравятся отзывчивые приложения. Ещё лучше, когда в них есть уместные анимации. В этой статье я расскажу и покажу со всем «мясом», как правильно показывать, скрывать, крутить, вертеть и делать всякое с всплывающими экранами.


              Читать дальше →
              • +29
              • 5,8k
              • 8
            • Тирания позитивного мышления угрожает вашему здоровью и счастью

              • Перевод
              Каждый слышал такое: «просто будь на светлой стороне!» или «счастье — это выбор, просто будь счастливым!». Бесконечные книги «помоги себе сам» или «как быть счастливым» заполняют полки книжных магазинов. Книга «Ни Сы» Джен Синсеро (приведено название русского издания, в оригинале «You Are a Badass», прим. перев.) была в списке бестселлеров Нью-Йорк Таймс в течение 32 недель, а «Сила позитивного мышления» Нормана Винсента Пила («The Power of Positive Thinking», Reverend Norman Vincent Peale), опубликованная в 1952 году и переведённая на 15 языков, до сих пор популярна. Идея того, что вы можете быть счастливым, если вы просто захотите этого, глубоко интегрирована в американскую армию, школу, и на рабочие места, и призвана улучшить производительность труда, душевное здоровье и способность справляться с жизненными трудностями.


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



                В один яркий солнечный день, когда на стройке работа просто кипит, всё вокруг ярко и позитивно, и прямо хочется вечерком пожарить шашлык, на объект проник бывший сотрудник одного из подрядчиков. Он прошёл мимо проходной, помахал рукой охраннику, который знал его в лицо (но не знал, что он уволен), и зашёл внутрь. Там он пошёл к своим друзьям из Центральной Азии. Через полчаса они уже жарили шашлык и наслаждались жизнью.

                Нюанс в том, что костёр они развели между двух газовых баллонов.

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

                Все остались живы и даже более-менее целы (ничего необратимого). Шашлык улетел, но на орбиту не вышел. Шампуры не проткнули никого внизу и сбоку. А вот к неудавшимся космонавтам приехала полиция, скорая и чуть ли не Спортлото.

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

                За одного такого родственника на стройке накладывается штраф от 500 тысяч рублей и выше, и стройка может быть приостановлена от 14 до 90 дней. А это кончается очень, очень печально для генподрядчика и заказчика.

                Именно после этого инцидента позвали нас решить задачу ИТ-средствами.
                Читать дальше →
              • Грамотная настройка сервера отправки почты для скриптов PHP, настройка функции mail()

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

                  Как известно протокол SMTP не подразумевает никаких средств защиты от спама и аутентификации пользователя, поэтому крупными и не очень компаниями были придуманы «фиксы» безопасности протокола.
                  Если вы устанавливаете выделенный сервер с доменом размещенным на нем, очень рекомендуется выполнить данные настройки, что бы все было как надо.

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

                  Название заголовка выбрал именно такое, так как вначале своего пути я искал что-то вроде этого. Настраивать будем postfix, php, dns (ptr, spf), и другое.

                  Эта статья будет интересная людям, настраивающим выделеные сервера, но не менее интересна для обычных программистов.

                  Подробности под катом
                  Читать дальше →
                • Почему не SQL?



                    Без преувеличения можно сказать, что SQL — один из самых распространенных в мире языков. Информационные системы могут быть написаны на Java, Python, JavaScript, C#, PHP и десятке других языков, но SQL база в том или ином виде будет в абсолютном большинстве таких систем. Среди бизнес-приложений процент систем, использующих SQL, вообще стремится к 100%.

                    При этом большинство существующих материалов о SQL на хабре и других ресурсах сводятся к простым вопросам, вроде: «какие типы соединений бывают», «чем левое соединение отличается от правого», «что такое триггеры» и так далее. Более того, в этих материалах практически ничего не говорится о проблемах SQL (и его реализациях), которых на самом деле очень и очень немало. Поэтому мы решили восполнить оба этих пробела: с одной стороны рассказать, как многие вещи в SQL работают изнутри, а с другой стороны — почему они работают не так как нужно / хотелось бы.

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


                      Полтора года назад, читая работы про уязвимости Meltdown и Spectre, я поймал себя на том, что не очень понимаю разницу между сокращениями i.e. и e.g. Т.е. по контексту вроде бы понятно, но потом вроде бы как-то и не совсем то. В результате я тогда сделал себе небольшую шпаргалку именно по этим сокращениям, чтобы не путаться. И тогда же появилась идея этой статьи.


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

                      Читать дальше →
                    • 19 полезных возможностей файла .htaccess

                        19 полезных возможностей файла .htaccess


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

                        Читать дальше
                      • Челобитная в Apple

                        image

                        Шок и трепет


                        В мае сего года мне позвонил ведущий программист проекта DO-RA, ранее работавший в крупных международных компаниях и оперирующий с мобильной платформой iOS. Его через Apple connect любезно предупредили, что: в действиях, программах, отчётах и, по-видимому, в его замыслах идентифицированы признаки мошенничества, спама, нарушения авторских и иных прав с их монотонным перечислением на юридическом английском.

                        Наш программист написал апелляцию в компанию, в том духе, что лицензиат не совершал никаких порочащих его действий, способных повредить ему самому, его аккаунту и, тем более, компании Apple. И стал ожидать ответа. По регламенту рассмотрение подобных обращений происходит за 10-30 дней.
                        Читать дальше →
                      • Блокировка Telegram, Hetzner подсеть /16, опыт общения с РКН

                          Работаю в достаточно крупной консалтинговой компании с представительствами по всему миру. Головной офис в Германии… Так сложилось, что, уехав из России около 20 лет назад, до сего момента про РКН и блокировки я лишь читал и сопереживал.

                          Информация ниже, я так понимаю, не новость, но хотелось поделиться с сообществом актуальной информацией, опытом общения (сроки ответа) и самим шаблонным ответом, часть которого «доставила» и совсем испортила настроение, масштабом проблемы и т.п.
                          Читать дальше →
                        • Российский математик опроверг 53-летнюю гипотезу о раскраске сетей

                          • Перевод

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




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

                          Задачи по раскраске сетей [см. хроматическое число / прим. перев.], вдохновлённые вопросом такой раскраски карт, при которой соседние страны имеют разные цвета, находятся в фокусе исследований математиков почти 200 лет. Задача состоит в том, чтобы понять, как раскрашивать узлы некоей сети (или графа, как зовут их математики) так, чтобы у любых двух связанных узлов были разные цвета. В зависимости от контекста, эта раскраска может предоставить эффективный способ рассадки гостей на свадьбе, расстановке производственных задач по свободным временным промежуткам, или даже решения судоку.
                          Читать дальше →
                        • Как диагностировать проблемы интеграции SDK. Опыт команды разработки Yandex Mobile Ads SDK

                            Всем привет! Меня зовут Дмитрий Фисько, я разрабатываю Yandex Mobile Ads SDK. Наша библиотека предназначена для монетизации мобильных приложений на платформе Android и iOS. Сегодня я хочу рассказать вам о том, как мы упростили разбор сложных ошибок интеграции SDK в Android-приложения. Возможно, наш опыт пригодится и вам.

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

                            К сожалению, не все ошибки интеграции SDK можно определить по мониторингам. Если такая ситуация возникает, мы обращаемся к партнёру, чтобы уточнить детали интеграции. Затем мы стараемся определить причину проблем и помочь их решить. Если даже этой информации недостаточно, чтобы определить причину ошибок, мы запрашиваем у партнёра разрешение на реверс-инжиниринг приложения. После разрешения мы начинаем смотреть на работу рекламного SDK в приложении как на чёрный ящик. Просматриваем сетевую активность через proxy, проверяем отображение рекламных view через Layout Inspector и др.
                            Читать дальше →
                            • +26
                            • 1,8k
                            • 2
                          • Режим ограничения доступа к аксессуарам в устройствах iOS и как его обходят

                              Сегодня я расскажу об одном интересном с технической точки зрения решении Apple, посредством которого компания попыталась защитить свои устройства от перебора паролей – и о том, что из этого получилось в результате. Для начала отвечу на вопрос, для чего вообще нужен режим ограничения доступа к аксессуарам в iPhone.

                              Защита от взлома кода блокировки экрана


                              Основной рассказ о системе безопасности iOS ещё впереди. Сейчас же я хочу акцентировать внимание на одной достаточно спорной особенности iOS, которая ставит безопасность всех данных пользователя как в устройстве, так и в облачной учётной записи в зависимость от одного единственного фактора: кода блокировки экрана. Если известен код блокировки экрана, из iPhone можно извлечь практически все данные, включая пароли от учётных записей. Защита резервных копий паролем? Нет, не слышали: она как бы есть, но сбросить её, зная код блокировки – дело нескольких секунд. Отвязать украденный телефон от iCloud? Если известен код блокировки – вообще без проблем; пароль от iCloud меняется в несколько секунд, причём старый пароль от Apple ID не нужен. Двухфакторная аутентификация? Прекрасно, обязательно включите её! Вот только если код блокировки известен, всё устройство целиком становится тем самым вторым фактором. Скромно упомяну такие вещи, как база данных паролей пользователя в iCloud, его сообщения SMS и iMessage, а также данные «Здоровья», которые наши программы могут расшифровать при помощи кода блокировки (при необходимости сбросив предварительно пароль от «облака» при помощи всё того же единственного кода блокировки).
                              Читать дальше →
                              • +14
                              • 3,6k
                              • 4
                            • ЭЦП – еще один вид мошенничества

                                Этот текст — продолжение обсуждения проблем, связанных с безопасностью использования ЭЦП.

                                UPD1. (от 18 сентября): для тех кто добавил статью в закладки, кратко о предпринятых действиях и результатах за прошедшие два месяца: были написаны заявления в налоговую, прокуратуру, ОВД и Министерство связи. ОВД по результатам проверки направила данные в ОБЭП и прокуратуру. Прокуратура, по результатам проверки — в налоговую. Налоговая рекомендовала обратиться в минсвязи. Минсвязи ответило: на вас зарегистрировано два сертификата, за защитой ваших прав, свобод и законных интересов вы можете обратиться в ОВД и прокуратуру. Круг замкнулся. Пока нет ответа от ОБЭП, но, поскольку экономического преступления не совершено…

                                UPD2. (от 10 октября): по первому случаю тоже есть «прогресс» — после более чем года разбирательств, человеку разблокировали счета.

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