• Очередная акция противников RMS, на этот раз против фонда GNU



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

      Как пишут на OpenNet.ru
      Группа мэйнтейнеров и разработчиков различных проектов GNU, большинство из которых ранее выступали за уход от единоличного лидерства Столлмана в пользу коллективного управления, основали сообщество GNU Assembly, при помощи которого предприняли попытку реформирования системы управления проектом GNU. GNU Assembly преподносится как платформа для сотрудничества разработчиков пакетов GNU, которые действуют ради свободы пользователей и разделяют предложенное видение проекта GNU.
      Читать дальше →
    • Простое сложное программирование



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

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

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

        Обычно разговоры о «сложности» включают в себя только оценочные суждения без какой либо численной оценки. А так как лично меня интересует вопрос сложности языков программировании, то я решил посчитать сложность реализации компилятора gcc в каких нибудь условных попугаях. Вдруг можно будет увидеть какие нибудь закономерности?
        Читать дальше →
      • RPA — обезболивающее или серебряная пуля?

          RPA (Robotic Process Automation) сейчас в некотором смысле напоминает старую добрую миниатюру Реввы: “Киииборги. Они заполонили всю планету!”. Про RPA говорят все чаще и чаще, появляются статьи и видео, рассказывающие о небывалом росте этого сегмента и многомиллионных экономиях тех, кто уже внедрил у себя RPA. Не то, чтобы и раньше этого не было, но сейчас стало уж совсем много.

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

          Некоторое время назад, столкнувшись с определенными задачами, я выбирал средство для их решения и обратил внимание именно на RPA. Прорвавшись через миллион рекламных статей и восторженных видео от реселлеров, протестировав практически все, что доступно в trial / free версиях, я остановился на Automation Anywhere, который неплохо подходил под требования. Позже, к слову, я обнаружил что в нашей компании существует целый отдел, который занимается автоматизацией с помощью Blue Prism. Обратная, так сказать, сторона крупных корпораций - не всегда знаешь, что у нас уже есть…

          Ну да речь не об этом. Не сразу, но через какое-то время я обнаружил, что самая сложная задача в RPA, это вовсе не написание роботов и не процесс их имплементации и сопровождения. Самое сложное - это управление ожиданиями на стороне менеджмента. Понимаете - они не инженеры, они управленцы. Они не понимают и не знают как, а главное почему, многие вещи работают так или иначе. Они читают такие же рекламные статьи и смотрят такие же рекламные видео как я в самом начале - и делают вывод: “Это же то, что нам нужно! Это решит все проблемы!”. И начинают интенсивно форсировать процесс внедрения. И хорошо, если есть  внутренний инженерный ресурс, который этим вопросом будет заниматься и подскажет, что где и как. А вот если задача попадет к интеграторам - это может быть большой проблемой. Может быть не сразу, может быть в перспективе, но я думаю что обязательно будет, и вот почему:

          Читать далее
        • Как я на коленке делал бесплатный курс программирования, о котором мечтал 3 года (и что пошло не так)

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

            Читать далее
          • Какая «идеальная» цель развития у языков программирования?



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

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

              Об этой проблеме меня заставила задуматься первоапрельская статья «Доказательное программирование»

              Понятно, что дата публикации статьи говорит сама за себя. Тем не менее, новые стандарты С++, постоянно выходящие спецификации Java или новый синтаксис у PHP 8, невольно заставляют задуматься, а в нужную ли сторону идет развитие языков программирования? Ведь большинство нововведений добавляют сложность в основной рабочий инструмент и решая одни проблемы, неявно добавляя множество других.

              А что должно быть в конце прогресса у развития такой дисциплины как программирование? Или хотя бы у одного конкретного языка? Ради достижения какой конечной «идеальной» цели разрабатываются новые стандарты языков программирования?
              Читать дальше →
            • История одной ошибки



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

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

                В продолжение серии статей про различные полезности для STM32 (1, 2 и 3), хочу рассказать, как в некоторых случаях, такое упрощение работы может стать источником совершенно не очевидных ошибок.
                Читать дальше →
              • Власти подготовили план привлечения искусственного интеллекта в суды


                  Как пишут на РБК:
                  Подготовлена концепцию машиночитаемого права, внедрение которой позволит снизить затраты граждан на юристов и трансформировать сферу контрольно-надзорной деятельности государства.

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

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

                  А как вы считаете, есть ли шанс у искуственного интеллекта в юриспрунденции?

                  • 53,8%Нет, в России даже с ИИ придется «договариваться»77
                  • 23,1%Может быть из этого что-то и получится33
                  • 23,1%Только ИИ может быть справедливым и неподкупным33
                • Перевод статьи «В защиту Ричарда Столлмана»

                  • Перевод

                  Два года назад, в результате клеветнической кампании в оруэлловском духе, проведённой жёлтой прессой по указке производителей проприетарного программного обеспечения, известный мыслепреступник Ричард М. Столлман (РМС) был ложно обвинён в одобрении изнасилований. Его 36 лет борьбы за Ваши цифровые права оказались отменены. Кампания по дискредитации была настолько свирепой, что он уволился с поста президента Фонда Свободного Программного Обеспечения. Фонд СПО ничего не сделал для того, чтобы отстоять и защитить его. Но это можете сделать Вы!


                  21 марта 2021г. Ричард Столлман был принят обратно в совет директоров Фонда СПО. В ответ СМИ развернули новую кампанию по его дискредитации. Была создана петиция, призывающая к насильственному выдворению как РМС, так и всего совета директоров Фонда СПО. РМС был ложно обвинён в сексизме, трансфобии, эйблизме и куче других вещей, чтобы его опорочить. Не слушайте эту ложь. Политические заметки Ричарда Столлмана и его статьи выражают позицию человека, твёрдо борющегося против любых форм дискриминации!


                  В ответ мы, Движение за свободное программное обеспечение, организовали свою петицию. Мы хотим, чтобы РМС остался на своём посту, а Фонд СПО не отступил. Мы призываем Фонд СПО защитить честь Ричарда Столлмана и его наследие. Ричард Столлман — живой человек, чьё право на свободу слова было грубо ущемлено.


                  Мы должны громко и чётко обозначить Фонду СПО свою поддержку пострадавшего.


                  Если Вы поддерживаете Свободное программное обеспечение, верите в свободу слова, свободу ассоциаций и социальную справедливость (настоящую социальную справедливость, при которой к человеку относятся с уважением, а не «отменяют» из-за его убеждений), подпишитесь здесь:


                  https://rms-support-letter.github.io/

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

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

                  Но самому, тем более на даче, сделать прикольнее и за вечер я довольно быстро её сваял. Насыпал семечек, а птицы не летят. С дачи пора уезжать, а птиц всё нет. Меня начали не давать покоя мысли "А что если птицы прилетят, когда меня не будет?". Просто залипать в веб-камеру и ждать так же как перед окном, только перед монитором мне показалось странно. Во всех камерах давно уже есть датчики движения.

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

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

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

                  Читать далее
                • Отменим ли мы Web?

                  • Перевод

                  Этот пост написан Ханной Вулфман-Джонс, но включает ответ эксперта по гражданским правам Надин Строссен, экс-президента ACLU

                  Рождение движения

                  Ричард Столлман и идеи свободного программного обеспечения, которые он разработал, зародились в те времена, когда компьютеры еще не стали неотъемлемой частью жизни обычных людей, то есть в 70-е годы. За много десятилетий до того, как наши сотовые телефоны отслеживали каждое наше движение, до того, как умные дома принесли массовое наблюдение в наши жилые комнаты, идея компьютеров как серьезных инструментов угнетения казалась явно абсурдной.

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

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

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

                  Читать далее
                • Очередной Хабро-хак для накрутки рейтинга на сайте



                    Почему «очередной»? Потому что первую мою статью о найденном способе обхода правил Хабра, прилетевшее НЛО принудительно скрыло в черновики, где она остается и по сей день.

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

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

                    Поэтому, данная статья предназначена в первую очередь для предотвращения злонамеренной (и постоянной) эксплуатации данной особенности, т.к. для обычных пользователей это может доставлять определенные неудобства.
                    Читать дальше →
                  • Использование лямбда-выражений в необобщённом коде C++

                      Появившиеся в C++11 лямбды стали одной из самых крутых фич нового стандарта языка, позволив сделать обобщённый код более простым и читабельным. Каждая новая версия стандарта C++ добавляет новые возможности лямбдам, делая обобщённый код ещё проще и читабельнее. Вы заметили, что слово «обобщённый» повторилось дважды? Это неспроста – лямбды действительно хорошо работают с кодом, построенным на шаблонах. Но при попытке использовать их в необобщённом, построенном на конкретных типах коде, мы сталкиваемся с рядом проблем. Статья о причинах и путях решения этих проблем.

                      Читать дальше
                      • +16
                      • 3,8k
                      • 6
                    • Опубликовано открытое письмо в поддержку Столлмана

                        Недавно была новость о том, что 23 марта 2021 года более 600 разработчиков-сторонников развития СПО, включая многих ментейнеров, подписали открытое письмо за увольнение Столлмана из совета FSF и со всех руководящих должностей, включая проект GNU.

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

                        Как пишет opennet.ru
                        Несогласные с попыткой смещения Столлмана со всех постов опубликовали ответное открытое письмо сторонников Столлмана и открыли сбор подписей в поддержку Столлмана (чтобы подписаться нужно отправить pull-запрос).
                        Читать дальше →
                      • Зачем дизайнеру юрист или как не получить административный штраф за видео или стоковое фото на своем сайте

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

                          По закону использовать изображение человека можно только по его письменному согласию определенным в согласии образом (это написано в статье 152.1 Гражданского кодекса). Фотостудии, например, именно для этого берут у заказчиков согласие в договорах на использование фотографий в портфолио, потому, что без согласия - такое использование будет незаконным.

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

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

                          Читать далее
                        • Заказчик не платит: как защититься или как забрать свой аванс у арендодателя?

                            В некоторых случаях никак. В некоторых можно. Погнали! 

                            За 20+ лет работы было у нас несколько случаев когда заказчики решили не платить. А у кого их не было?!

                            Для 99% заказчиков лучшей защитой от неоплаты является качественная работа. Однако, есть 1%, которые не платят уже забрав услуги или даже товар. С товаром проще, а с услугами дико сложно. Сейчас объясню. Есть пункт 1 статьи №782 ГК РФ, в котором сказано: “Заказчик вправе отказаться от исполнения договора возмездного оказания услуг при условии оплаты исполнителю фактически понесенных им расходов.”

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

                              Их было шестеро - барабанщик, басист, клавишник, гитарист, баянист и человек с татуировками. Как-то так начинался бы фильм о нас, о музыкальной группе Sun-Techniki.

                              Вы, возможно, скажете “ШТА?! Я точно на Хабре? Причём тут какой-то фильм о музыкальных сантехниках?”

                              Да, это Хабр, и это рассказ про музыкальную группу, состоящую из сотрудников одной продуктовой IT-компании.

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

                              Читать далее
                            • Создание аналога посмертного сore dump для микроконтроллера

                              • Tutorial


                              При разработке программного обеспечения любого класса и назначения, зачастую приходится заниматься поиском ошибок, которые привели к краху всего приложения. И если в случае обычного компьютера, анализ логов и core dump`ов как правило не вызывает сложностей, то для устройств на основе микроконтроллеров бывает сложно получить «посмертную» информацию, необходимую для изучения проблемы.

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

                              В продолжение серии статей про различные полезности для STM32 (1 и 2), предлагаю вашему вниманию решение для сохранения посмертной информации микроконтроллера при возникновении различных критических ситуаций с целью последующего анализа ошибки.

                              Ну и в соответствии с собственным наблюдением Хабр — ума палата, буду рад любым комментариям и предложениям, которые помогут протестировать или улучшить предлагаемое решение.
                              Читать дальше →
                            • Argumentum ad ignorantiam



                                Успел прочитал переводную статью «5 фактов о том, как Microsoft приватизировала открытый исходный код, убивая JavaScript в процессе». «Успел прочитать», потому что статью сразу безбожно заминусовали (через 30 минут уже было -12), а сейчас статья вообще скрыта в черновиках.

                                Её основная мысль была «Миссия Microsoft – так или иначе превратить каждого JavaScript-разработчика в дрон Microsoft TypeScript, приносящий деньги» за счет того, что «Microsoft внедрила использование TypeScript в React, Angular и Node, одновременно приватизировав Github и npm».

                                По мнению автора, именно для этого Microsoft купила Github, пакетный менеджер Npm (который является менеджером пакетов для NodeJS), а так же всячески продвигает свой VSCode как единственный редактор кода для TypeScript. И хотя все приведенные факты в статье имею место быть, но сам стиль подачи материала выглядит классической страшилкой из области теории заговоров, причем написанной человеком, который всей душой искренне любит JavaScript и ненавидит Microsoft.

                                Наверно я так и прошел бы мимо, если бы сам немого не кодил на JavaScript, и не по наслышке знаю ту боль, которую может причинить разработчику отладка на не типизированном языке. А ведь это одна из многих проблем, которую по задумке и предназначен решать TypeScript. Если бы не одно но…
                                Читать дальше →
                              • Маленькие хитрости для STM32

                                • Tutorial

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

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

                                Продолжая серию статей про маленькие хитрости разработки под STM32, хочу поделиться двумя очень простыми, но полезными функциями. Они никак не тянут на полноценный проект на github.com, но способны облегчить жизнь (или наоборот, выпить немало крови), при определенном стечении обстоятельств.

                                1. Буферизированный вывод отладочной информации в последовательный порт
                                2. Автоматическое включение защиты от чтения и модификации прошивки
                                Читать дальше →
                              • Размещение кучи FreeRTOS в разделе CCMRAM для STM32

                                • Tutorial
                                При разработке одного девайса на базе STM32F407 столкнулся с проблемой нехватки оперативной памяти. Назначение самого девайса не принципиально, но важно, что изначальный код писался для десктопной системы и его нужно было просто портировать на микроконтроллер под управлением FreeRTOS. А так как исходный код был написан на С++ и вопрос об экономии ОЗУ даже не стоял, то и вылезла соответствующая проблема.

                                Заниматься оптимизацией кода, одновременно добавляя себе проблем с поиском новых ошибок, очень не хотелось. Поэтому своевременно вспомнилось, что данная версия микроконтроллера имеет на борту дополнительный сегмент ОЗУ размером 64К (CCM SRAM), который сейчас никак не был задействован. Эврика — вот оно, решение!

                                Но к сожалению, все оказалось не так просто.

                                Читать дальше →
                                • +12
                                • 3,1k
                                • 9