• Как сделать API на любое Android приложение. На примере WhatsApp

      Приветствую! Нарисовалась у меня задача: нужно интегрировать в CRM систему мессенджеры, а то трудно анализировать работу менеджеров, когда они общаются с клиентами используя один общий «рабочий» телефон. И первым делом нужно было подключить WhatsApp, как один из самых популярных мессенджеров у нашей целевой аудитории.
      Читать дальше →
    • Дешёвая и быстрая печать на чековом термопринтере

      • Tutorial

      У нас, айтишников, часто возникает задача напечатать что-то простое и одноразовое – например, логин и пароль новому сотруднику, тикет для монтажника или что-то в этом роде. Тратить бумагу и картридж на подобное очень дорого. При этом есть принтеры с ультрадешёвой скоростной печатью, про которые редко кто вспоминает, хотя видим мы их все каждый день по много раз. Речь про чековые термопринтеры.



      Читать дальше →
    • Кто есть кто в мировой микроэлектронике

        Типичная новость про электронику начала 2020 года: «Intel, вероятно, не будет размещать заказ на производство у TSMC, но рассматривает возможность сотрудничества с GlobalFoundries». Кто такие Intel — всем понятно, но что за GlobalFoundries и TSMC? Когда деревья были большими, каждая микроэлектронная компания самостоятельно производила свои микросхемы, а то и технику на их основе, как какая-нибудь Toshiba или IBM. С тех пор утекло много воды, производство подорожало, сложность приборов возросла, и в создании такого приземленного и распространенного девайса, как айфон, участвует несколько десятков высокотехнологичных компаний с трех континентов. Размеры мирового рынка полупроводниковых микросхем и приборов оцениваются больше, чем в 400 миллиардов долларов, но не все гиганты этого рынка имеют дело с конечными пользователями и часто появляются в новостях. Зато когда появляются — могут сбить с толку. Чтобы этого не происходило, я попробую кратко описать, кто есть кто.
        Читать дальше →
      • Краткая история космических микропроцессоров, часть вторая

          Это вторая часть статьи про историю микропроцессоров для космического применения. Первая часть – вот здесь. В ней на примерах американских и европейских микросхем мы посмотрели на историю развития радстойких чипов от первых однокристалльных процессоров до конца двухтысячных, когда проектные нормы космических разработок плотную подобрались к рубежу 100 нм.

          Следующий большой шаг в обеспечении радиационной стойкости наступил с переходом на суб-100 нм, где практически каждое следующее поколение технологии приносит новые вопросы: меняются материалы, меняются требования к топологии, растет статическая мощность (утечки безо всякой радиации, которые под дозой становятся еще хуже), продолжает расти значимость одиночных эффектов, которые превращаются во множественные. Эти задачи потребовали разработки новых подходов и, что удивительно, частичного возврата к старым, потому что часть вещей, отлично себя зарекомендовавших на нормах 1-0.18 мкм, на более тонких нормах не работает. Например, в таких технологиях для повышения выхода годных запрещено делать любимые дизайнерами радстойких чипов кольцевые транзисторы. О том, как дизайнеры справляются с новыми вызовами, я расскажу на примере России – и заодно сравню достижения наших соотечественников с успехами иностранных коллег и покажу, чего стоит ожидать в обозримом будущем.
          Читать дальше →
        • Краткая история космических микропроцессоров, часть первая

            Десятого июля 1962 года с космодрома на мысе Канаверал стартовала ракета “Тор” с первым коммерческим телекоммуникационным спутником на борту. Telstar-1 стал зарей новой эры космонавтики, показавшей, что космос может приносить людям реальную пользу. Этот аппарат ждало большое будущее, но днем раньше в небе над атоллом Джонсон, расположенном в пустынной части Тихого океана, взорвалась атомная бомба Starfish Prime. Взрыв уничтожил три сотни уличных фонарей на расположенных в полутора тысячах километров Гавайях, а также создал огромное количество свободных электронов, подхваченных магнитным полем Земли в рукотворный радиационный пояс. Каждый раз, когда Telsat-1 проходил через этот пояс, продвинутая транзисторная начинка набирала дозу радиации, и уже к ноябрю 1962 года он перестал работать. С изучения последствий этого инцидента началась история защиты космической электроники от радиации.

            С высотными ядерными взрывами, к счастью, довольно быстро завязали, но и без них работы достаточно, и требования по надежности и долговечности, предъявляемые к современным спутникам, становятся все амбициознее. Рассказать обо всем невозможно, но я постараюсь кратко осветить прошлое и настоящее космических микропроцессоров из разных стран. Почему именно микропроцессоров? Про них больше всего информации и они лучше понятны неспециалистам. Статья получилась длинной, поэтому я разбил ее на две части: ранняя история на примере США и Европы (под катом) и современная – на примере России (вот тут). Поехали!
            Читать дальше →
          • Как российский биотехстартап помогает бороться с раком

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


              Читать дальше →
            • Как работают квантовые компьютеры. Собираем паззл


                Квантовые компьютеры и квантовые вычисления — новый баззворд, который добавился в наше информационное пространство наряду с искусственным интеллектом, машинным обучением и прочими высокотехнологическими терминами. При этом мне так и не удалось найти в интернете материал, который бы сложил у меня в голове пазл под названием “как работают квантовые компьютеры”. Да, есть много прекрасных работ, в том числе и на хабре (см. Список ресурсов), комментарии к которым, как это обычно и бывает, еще более информативны и полезны, но картинка в голове, что называется, не складывалась.


                А недавно ко мне подошли коллеги и спросили “Ты понимаешь как работает квантовый компьютер? Можешь нам рассказать?” И тут я понял, что проблема со складыванием в голове целостной картинки есть не только у меня.


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

                Получилось или нет - решать, как обычно, вам.
              • Как программисту защитить свой пет-проект

                • Tutorial
                image

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

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

                Пошаговая инструкция под катом.
                Читать дальше →
              • 3 причины бросить учить английский на уровне Intermediate

                  За четыре года в стенах нашего офиса двадцать человек начинали учить английский, и только двое дошли до уровня advanced. За тысячу академических часов они перепробовали занятия в группе, индивидуальные консультации, оксфордские учебники, подкасты, статьи на Medium, даже смотрели «Кремниевую Долину» в оригинале. Стоило ли это таких усилий? Всё очень неоднозначно. Здесь я приведу мысли о том, какой уровень полезно освоить программисту, и когда стоит прекратить целенаправленное изучение.

                  Читать дальше →
                • Настоящее суммирование интернет-каналов — OpenMPTCPRouter



                    Можно ли объединить несколько интернет-каналов в один? Вокруг этой темы куча заблуждений и мифов, даже сетевые инженеры с опытом часто не знают о том, что это возможно. В большинстве случаев, объединением каналов ошибочно называют балансировку на уровне NAT или failover. Но настоящее суммирование позволяет пустить одно единственное TCP-подключение одновременно по всем интернет-каналам, например видеотрансляцию так, чтобы при обрыве любого из интернет-каналов вещание не прерывалось.

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

                      Доброй зимы, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за ноябрь 2019.


                      За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


                      В сегодняшнем выпуске.
                      Технологии внутри: Rust, TypeScript, JavaScript, Go, Python.
                      Тематика: веб разработка, инструменты для QA, работа с данными, инструменты разработчика и администратора.


                      Прошлый выпуск.

                      Читать дальше →
                    • В самом популярном фрагменте кода за всю историю StackOverflow ошибка! 

                      • Перевод
                      Недавнее исследование «Использование и атрибуция сниппетов кода Stack Overflow в проектах GitHub» внезапно обнаружило, что чаще всего в опенсорсных проектах встречается мой ответ, написанный почти десять лет назад. По иронии судьбы, там баг.

                      Давным-давно…


                      Еще в 2010 году я сидел в своём офисе и занимался ерундой: развлекался код-гольфингом и накручивал рейтинг на Stack Overflow.

                      Моё внимание привлёк следующий вопрос: как вывести количество байт в удобочитаемом формате? То есть как преобразовать что-то вроде 123456789 байт в «123,5 МБ».


                      Старый добрый интерфейс 2010 года, спасибо The Wayback Machine
                      Читать дальше →
                    • Поговорим о смерти

                        Люди не делятся на гарантированных самоубийц и на тех, кому это не грозит. Люди делятся на тех, кто совершил самоубийство, и тех, кто этого не сделал.


                        В момент слабости важно знать, что с тобой происходит и как грамотно действовать.


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


                        По данным Всемирной организации здравоохранения (ВОЗ), каждые 40 секунд кто-то из жителей Земли уходит из жизни сознательно, кончая жизнь самоубийством. Посмотрите на часы — секундная стрелка обошла круг. Ещё одна человеческая жизнь оборвалась.


                        Согласно приводимой ВОЗ статистике, среди причин смерти молодых людей (в возрасте 15—29 лет) в мировом масштабе самоубийства занимают второе место — не автокатастрофы, не наркотики, не алкоголь, не экстремальные виды спорта. Суицид.


                        Ежедневно в мире совершают самоубийства 3 тысячи человек, а ежегодно – около 1 миллиона человек (1,5 % всех смертей).


                        Что интересно, мужчины совершают самоубийство в 4 раза чаще, чем женщины, хотя женщины совершают в 4 раза больше попыток самоубийства. Ох уж эти театральные натуры.



                        Читать дальше →
                      • Заметки обо всем. Простые и опасные источники питания



                          О чем эта статья


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

                          Прошу желающих и интересующихся читать, критиковать, уточнять и дополнять на почту shiotiny@yandex.ru или на мой сайт в раздел «Контакты».

                          Вступление


                          Не так давно один мой знакомый влез пальцами в некую схему, которую собирался починить (проводок отвалился — так что просто припаять его надо было на место). И его ударило током. Не сильно ударило, но ему хватило, чтобы удивиться: «как так — тут микроконтроллер стоит, что тут может стукнуть? Он же от 5 вольт питается!».

                          Его удивление быстро разъяснилось: схема оказалась с бестрансформаторным питанием и без гальванической развязки от сети.

                          Далее последовали вопросы уже в мою сторону. Сводились они к двум вещам: «А чё? Так можно делать?!» и «А как оно работает?».

                          Хотя я и не считаю себя экспертом в электронике, но делать подобные блоки питания мне приходилось. Так что пришлось взять ручку и листок и объяснить как оно работает. Благо это совсем не сложно.

                          Возможно, что и вам покажется интересной тема «бестрансформаторных» источников питания или, сокращённо, БИП. Кому-то для общего развития, а кому-то и для практического применения.
                          Читать дальше →
                        • Как спроектировать корпус для прибора. Полное руководство

                          • Tutorial
                          От идеи до серийного производства: подробно об этапах разработки и о технологиях производства корпусов — факты, примеры из практики, фото. Если вам нужен корпус для прибора, обязательно прочитайте.

                          image
                          Изучая рунет, я не смог найти ни одной статьи, которая описывала бы ВСЕ этапы разработки и производства корпуса устройства.

                          Ни одной. Всё, что есть в интернете, касается лишь одного или двух аспектов этого процесса. Ну например: давайте набросаем корпус и распечатаем на 3D-принтере. Или купим типовой и насверлим в нём отверстий. Хотя на Хабре и есть пара материалов, но они тоже не так полны информацией, как могли бы быть.

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

                          Как спроектировать корпус — схема работы


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

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

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

                          Вот схема, по которой мы пойдем:
                          Читать дальше →
                        • Самые позорные ошибки в моей карьере программиста (на текущий момент)

                          • Перевод

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

                            Двоичные деревья поиска — эта структура данных для хранения элементов с возможностью быстрого поиска. Идея проста и гениальна: «меньше – налево, больше – направо». На этом простота заканчивается и начинаются сложные вопросы балансировки дерева, чтобы оно не превратилось в длинную ветку.




                            В этой статье мы дадим определение, перечислим правила размещения элементов в красно-чёрном дереве, рассмотрим алгоритм балансировки и закрепим сказанное на примере. Более подробно эту тему, а также другие виды двоичных деревьев поиска мы изучаем на курсе «Алгоритмы для разработчиков».


                            Читать дальше →
                          • Про любовь, или Зачем казачий сотник сменил мундир на узбекский халат

                              Ориентальный роман



                              Жил-был мальчик. Фамилия у мальчика была немного опереточная – Наливкин. Но при этом все мужчины Наливкины были воинами, поэтому с рождения мальчика готовили к службе в армии.

                              image

                              Звали мальчика Володей.

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

                              Там шла война, там Россия прирастала новыми землями, как будто сошедшими со страниц сказок «Тысячи и одной ночи».

                              Уже на следующий год после прибытия к новому месту службы 21-летний хорунжий участвует в военном походе в Хиву. Воюет лихо, за что досрочно производится в чин сотника. Завоевание Туркестана идет полным ходом, «дела» следуют одно за другим, и после туркменской экспедиции отличившегося сотника Наливкина поощряют внеплановым отпуском.

                              Он едет к родственникам в Саратов, и там, на берегах Волги, Володя Наливкин понял, что погиб.

                              ***

                              Жила-была девочка. Фамилия девочки была итальянской – Сартори, но родилась и выросла девочка, как и несколько поколений ее предков, в России, поэтому звали ее просто Машей.

                              image

                              Маша была не особенной красавицей, но зато большой умницей, и все саратовское дворянство, по которому и числились Сартори, считало ее первой невестой губернии. Маша Сартори получила блестящее по тем временам образование – она закончила Воспитательное общество благородных девиц, более известное как Смольный институт, свободно владела французским и немецким, обожала театр и музыку. Как и большинство провинциальных невест, она мечтала вырваться из скучного Саратова, блистать в столице и ездить по Европам.

                              Но после встречи с Володей Наливкиным она поняла, что планы меняются радикально.
                              Читать дальше →
                            • Опыт создания сборок Linux под одноплатники с поддержкой обновлений

                              image

                              Введение


                              На данный момент, на рынке представлен большой ассортимент одноплатников на любой вкус по приемлемой цене.

                              Как правило, различные сборки от производителей, предназначены для оценки платформы и являются отправной точкой нового проекта, поэтому не всегда подходят под конкретные задачи. В задачах где требуется высокая надежность, перед разработчиком встает вопрос, как доработать дистрибутив и потом не поплатиться за это полной переработкой образа и системы обновления.
                              Читать дальше →
                            • Андрей Терехов (продолжение): «Когда говорят, что мы отстали от американцев навсегда, я отвечаю: „Не дождетесь!“»



                                Вторая часть интервью с завкафедрой системного программирования Матмеха СПбГУ, доктором физмат наук, профессором, президентом компании «Ланит-Терком». Андрей Николаевич Терехов рассказал о создании кафедры матобеспечения ЭВМ и своих многочисленных учениках, языке PADLA, работе ассенизатора и технике бега в мешках.
                                Читать дальше →