• Забудьте про RGB и HEX

    • Tutorial
    В CSS существует несколько способов представления цветов. Один из них — система HSL. В этой статье я покажу вам, какие возможности она открывает для верстальщика.
    Читать дальше →
  • Как TeamViewer хранит пароли



      TeamViewer — популярная программа для удалённого доступа к рабочему столу. Поэтому довольно интересно посмотреть, как она хранит пароли. Если вкратце, пароли хранятся в реестре Windows в зашифрованном виде. Для шифрования используется алгоритм AES-128-CBC и секретный ключ 0602000000a400005253413100040000.

      Такой метод сохранения паролей и связанное с ним повышение привилегий официально зарегистрированы 7 февраля 2020 года как уязвимость CVE-2019-18988 (применима ко всем версиям TeamViewer до 14.7.1965 включительно).
      Читать дальше →
    • Стартап These Nudes Do Not Exist генерирует обнаженку нейросетями



        Согласно информации издания Vice, создатели cтартапа These Nudes Do Not Exist обучили нейронную сеть создавать с помощью ИИ несуществующие в реальности изображения в стиле ню. Всего за один доллар каждый желающий может гарантированно создать и скачать уникальное и единственное в своем роде изображение очень клубничной специфики. Причем, после скачивания пользователь получает все права на картинку и может делать с изображением все что хочет — продать, сохранить, поставить на обои в смартфон или на рабочий стол.
        Читать дальше →
      • Можно ли писать скрипты на C++?


          Недавно пришлось мне опять/снова погрузиться в чудесный мир программирования Linux скриптов. В принципе, дело не очень хитрое, но поскольку мне попадаются такие задачи не часто, то каждый раз изучаю заново. Знаю точно, что завтра многое забуду и через месяц опять буду гуглить, как сделать то или это. Проблема еще оказывается в том, что зачастую не пишешь скрипт заново, а модифицируешь существующий, уже написанный кем-то. А он может быть не bash, а sh или еще что-то… Различия в синтаксисе есть, что работает в sh по идее должно работать и в bash, но не всегда наоборот. А если там dash или ash? Я не знаю… Различия в этих скриптовых языках все же есть, и они сбивают с толка. Ну и конечно, лично для меня, вишенка на торте, когда скрипт вызывает какой нибудь sed или awk и там такие параметры в командной строке, что смотришь на них и диву даешься. Понятно, что это все зависит от квалификации программиста, но вот у меня не все в голове помещается. И вот сейчас мое терпение лопнуло и я подумал, что отныне хочу попробовать писать скрипты на c++…

          Я понимаю, что для true системного администратора моя мысль может показаться крамольной. Но почему бы и нет?
          Читать дальше →
        • Адаптивная фоновая подсветка для телевизора на Raspberry Pi – аналог Ambilight

          image

          Это телевизор с диагональю 50” и 37 RGB точками адаптивной фоновой подсветки по верхней и боковым сторонам экрана. Как сделать аналогичную адаптивную фоновую подсветку для любого экрана или ТВ — тема избитая, но вполне актуальная по ряду причин.

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

          Во-вторых, на рынке нет и не будет самсунгов, сони, элджи и прочих ТВ с поддержкой данной технологии, так как она запатентована на многие годы вперед компанией Philips. И наконец — все решения «из коробки», доступные на али и иже с ним – имеют ряд ограничений в гибкости настроек и адаптации к размеру кадра видеоконтента, корректировок цветовой гаммы и т. д, являясь при этом всего лишь аппаратным костылем, анализирующим внешний сигнал и работающий только на формирование подсветки.
          Читать дальше →
        • 9 лучших опенсорс находок за сентябрь 2019

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


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


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


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

            Читать дальше →
          • C/C++. Как использовать внедряемые ресурсы приложения, при работе в GCC на Linux

              Захотелось как-то мне использовать в Linux внедряемые ресурсы, причём, автоматически. В общем, задача такая:


              1. Имеется Eclipse проект программы на C++.
              2. ОС: Linux Ubuntu. Компилятор: G++
              3. В проекте используются данные из внешних файлов: строки локализации, SQL-запросы, картинки, звуки и т.д.
              4. Все ресурсы необходимо внедрить в исполняемый файл, ибо программу планируется распространять, как портативную.
              5. Кроме того, хочется, что бы процесс был максимально автоматизирован, ибо лень.
              Если интересно, как мне это удалось, то прошу под кат...
            • Портируем многопользовательскую игру с С++ на веб c Cheerp, WebRTC и Firebase

              • Translation

              Введение


              Наша компания Leaning Technologies предоставляет решения по портированию традиционных desktop-приложений в веб. Наш компилятор C++ Cheerp генерирует сочетание WebAssembly и JavaScript, что обеспечивает и простое взаимодействие с браузером, и высокую производительность.

              В качестве примера его применения мы решили портировать для веба многопользовательскую игру и выбрали для этого Teeworlds. Teeworlds — это многопользовательская двухмерная ретро-игра с небольшим, но активным сообществом игроков (в их числе и я!). Она мала как с точки зрения скачиваемых ресурсов, так и требований к ЦП и GPU — идеальный кандидат.


              Работающая в браузере Teeworlds
              Читать дальше →
              • +25
              • 4.3k
              • 9
            • Шейдеры 3D-игр для начинающих

              • Translation
              image

              Хотите научиться добавлять в свою 3D-игру текстуры, освещение, тени, карты нормалей, светящиеся объекты, ambient occlusion и другие эффекты? Отлично! В этой статье представлен набор техник затенения, способных поднять уровень графики вашей игры на новые высоты. Я объясняю каждую технику таким образом, чтобы вы могли применить/портировать эту информацию в любом стеке инструментов, будь то Godot, Unity или что-то иное.

              В качестве «клея» между шейдерами я решил использовать великолепный игровой движок Panda3D и OpenGL Shading Language (GLSL). Если вы пользуетесь таким же стеком, то получите дополнительное преимущество — узнаете, как использовать техники затенения конкретно в Panda3D и OpenGL.
              Читать дальше →
              • +46
              • 16.6k
              • 5
            • Представляем Windows Terminal

              • Translation
              Windows Terminal — это новое, современное, быстрое, эффективное, мощное и производительное терминальное приложение для пользователей инструментов и оболочек командной строки, таких как Command Prompt, PowerShell и WSL.



              Windows Terminal будет поставляться через Microsoft Store в Windows 10 и будет регулярно обновляться, гарантируя, что вы всегда будете идти в ногу со временем и сможете пользоваться новейшими функциями и последними улучшениями с минимальными усилиями.

              image
              Читать дальше →
            • Музыка для ваших проектов: 12 тематических ресурсов с треками по лицензии Creative Commons

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

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

                Читать дальше →
                • +55
                • 43k
                • 9
              • Подборка: 5 полезных сервисов для написания статей на английском



                  Всем привет! Меня зовут Марго, я профессиональный маркетолог и редактор, в последние пару лет фокусируюсь на продвижении за рубежом и много пишу на английском. Я решила поделиться ссылками на приложения и сайты, которые помогают мне в ежедневной работе при создании контента. Надеюсь, список поможет изучающим английский и тем, кто публикует англоязычные материалы на Хабре.
                  Читать дальше →
                • Перенос сайта на статику: мотивация, стоимость, работа

                    Недавно мы сделали то, о чём грезят все программисты и дизайнеры — переписали всё с нуля: полный редизайн нашего сайта и написание «движка» с чистого листа. Ниже поведаем о мотивации и процессе миграции с онлайн-CMS на статику.





                    Читать дальше →
                  • Релиз кросс-платформенного .NET UI-тулкита AvaloniaUI 0.8

                      Состоялся очередной бета-релиз AvaloniaUI.



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

                      Читать дальше →
                    • Король разработки



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

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

                        Недавно у него дела пошли в гору, и там где нормальные люди радуются и расцветают, этот парень, кажется, совсем съехал с катушек. Мы с ним как следует выпили, и он рассказал мне много искреннего дерьма, которое, честно, я бы хотел расслышать обратно.
                        Читать дальше →
                      • C# является языком низкого уровня?

                        • Translation
                        Я большой поклонник всего, что делает Фабьен Санглард, мне нравится его блог, и я прочитал обе его книги от корки до корки (о них рассказывали в недавнем подкасте Hansleminutes).

                        Недавно Фабьен написал отличный пост, где расшифровал крошечный рейтрейсер, деобфусцировав код и фантастически красиво объяснив математику. Я действительно рекомендую найти время, чтобы прочитать это!

                        Но это заставило меня задуматься, можно ли перенести этот код C++ на C#? Поскольку на основной работе мне в последнее время приходится довольно много писать на C++, я подумал, что могу попробовать.

                        Но что более важно, я хотел получить лучшее представление о том, является ли C# языком низкого уровня?
                        Читать дальше →
                      • REST? Возьмите тупой JSON-RPC

                          В последнее время на Хабре разгорелось много споров по поводу того, как правильно готовить REST API.

                          Вместо того, чтобы бушевать в комментариях, подумайте: а нужен ли вам REST вообще?
                          Что это — осознанный выбор или привычка?

                          Возможно, именно вашему проекту RPC-like API подойдет лучше?
                          Читать дальше →
                        • Переключения языка ввода в Windows с помощью CapsLock

                          Предлагаемый мной способ не является чем-то уникальным и/или неизвестным. В любой из двух поисковых системы вы легко найдёте множество заметок о том, как настроить в Windows переключение языка ввода с помощью любой кнопки клавиатуры, прямо как в Linux, только чуть сложнее и с перезагрузкой. Однако, я так и не нашёл (тут можно меня поправить и предложить в комментариях ссылку) готовой инструкции, включающей в себя и такой немаловажный пункт, как спасение буквы Ё, а равно и обратного апострофа с тильдой. Таковую инструкцию я вам и предлагаю.
                          Читать дальше →
                        • Выжимаем все соки из Chromium на Linux

                          В этой статье рассмотрим, как выжать все соки из Хромиума и максимально ускорить его или другой браузер на его движке (Chromium, Google Chrome, Opera, Vivaldi, Яндекс и др.). За счет включения многих экспериментальных возможностей по вынесу вычислений с процессора на видеокарту и включения использования находящихся в разработке программных алгоритмов. За счет этого наш любимый хромиум станет работать быстрее, может перестать тормозить или моргать экраном.

                          Поехали!
                          Читать дальше →