• Windows10+Linux. Настройка GUI KDE Plasma для Ubuntu 20.04 в WSL2. Пошаговое руководство



    Введение


    Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО.
    Следует отметить, что существует определенная проблема, связанная с невозможностью интеграции ПО, полученного в on-line магазине Microsoft Store для использования в пользовательском образе Windows 10. Не вдаваясь в подробности уточню, что данная проблема связана с тем, что установленные из Microsoft Store программы связываются со служебной учетной записью Administrator, и при завершении создания пользовательского образа утилитой sysprep возникают обусловленные этим обстоятельством ошибки.
    Рассмотренный в данной статье способ позволить избежать такой проблемы при подготовке образа ОС Windows 10 с предварительно настроенной подсистемой WSL2, а также с заранее подготовленным и настроенным образом ОС Ubuntu 20.04 с GUI KDE Plasma, который в свою очередь может иметь свой набор пользовательского ПО.
    В сети Интернет имеется большое количество примеров и руководств по настройке подсистем WSL (т.е. WSL1 и сравнительно новой WSL2), с настройкой GUI интерфейса для linux систем на базе ОС начиная с версии Ubuntu 16.04 и заканчивая Ubuntu 20.04, но в основном это касалось рабочих столов на основе т.н. «легковесного» xfce4, имеющий вполне объяснимые ограничения в пользовательских настройках. Но что касается GUI KDE Plasma для Ubuntu 20.04, в сети не нашлось какой-либо существенной информации. Но именно этот вариант предоставляет конечному пользователю практически неограниченный набор настроек как внешнего вида системы, так и настроек оборудования, конечно с учетом текущих возможностей интеграции linux-систем, реализованных в подсистеме WSL2.
    Читать дальше →
  • Метеоритный дождь Персеиды 2020 года скоро достигнет пика: как смотреть шоу

    Каждый август приносит ночи, освещенные до 100 падающих звезд и огненных шаров в час.

    image

    Некоторые Персеиды 2019 года, вид из Македонии.
    Spaceweather.com/Stojan Stojanovski

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

    Этот знаменитый ливень происходит в это время каждый год, когда Земля дрейфует через облако обломков, оставленное гигантской кометой 109P / Свифта-Туттля. Кусочки пыли, гальки и другого космического мусора врезаются в нашу атмосферу, сгорая короткими яркими полосами и даже иногда полностью раздувающимися огненными шарами, проносящимися по ночному небу.
    Читать дальше →
  • Собственная CRM-система с сопровождением клиентов и встроенной логистикой

    Меня зовут Павел Ковтун, я совладелец сервиса по аренде сменных ковров в Санкт-Петербурге и Лен области VIRGINIA. Этим бизнесом я занимаюсь с 2011 года, а в этом материале хочу рассказать об it-инструментах, которые помогли компании выжить во время карантина.

    Сейчас у нас собственное программное обеспечение, которое мы постоянно самостоятельно дорабатываем и дополняем. Еще в самом начале, в 2011 году, мы поняли, что необходимо идти по пути автоматизации максимального количества процессов бизнеса, чтобы создать устойчивую модель. Проанализировав рынок, пришли к выводу, что специального ПО для ниши грязезащитных ковров в открытом доступе не существует. Слышали о таком ПО в некоторых компаниях, но в продаже их не было. Поэтому и решили разработать свое. И спустя 9 лет нисколько об этом не жалеем.
    Читать дальше →
  • Почему stl такой большой и такой пустой

    Всем привет! Я хочу поднять тему неполноты stl, порог входа в С++ и его сложность. Обо всем, да по порядку.

    Неполнота stl


    На дворе 2020 год. Только-только вышел новый стандарт. Добавили кучу полезностей (Подробный список можно посмотреть здесь, а также в других статьях на хабре). Чего только нет в современном stl для базовых ситуаций. Многие все ещё ждут networking, мелочи, но все равно не очень понятно в чем проблема. Если взглянуть на boost, там есть и networking и ещё много всего, но проблема, к которой я веду, присутствует и там.

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

    Описанная распространенная поломка касается кормушек для аквариума китайского производства (в т.ч. с Aliexpress) типа Automatic Fish Feeder ff-03, ff-02, ff-01 и им подобные.

    Кормушка Automatic Fish Feeder ff-03.

    Отчаиваться или выбрасывать кормушку не надо — скорее всего это не отсыревшая плата (которой отсыреть практически невозможно), а описанная ниже простая проблема, которую вполне можно устранить малыми усилиями, и связана она с ИТ в том числе.
    Читать дальше →
  • Элегантное доказательство задачи Бюффона о бросании иглы

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


    Тогда в подготовке мне сильно помогла эта статья. В отпускe я начал читать Владимира Игоревича Арнольда книжку «Математическое понимание природы» и наткнулся в ней на элегантное доказательство-рассуждение.


    Далее, мой пересказ с иллюстрациями.


    Читать дальше →
  • Тим Кук, Служба поддержки Apple, Ирландия и Фондю

    Доброго добра, уважаемые читатели.

    Хочу поделиться с вами своей историей эксплуатации MacBook Pro 13" 2020 с Touch Bar и Touch ID.

    О данной модели есть много статей на различных источниках. Кто-то хвалит, кто-то хает. Но в моей ситуации открылись новые грани.

    Микропредыстория — работаю и лично использую MacBook'и с 2009 года (чтобы вы понимали, что эксплуатация данного Mac и моя история не похожа на историю обезьяны с гранатой)

    Проблема


    С первого дня эксплуатации — заметный перегрев устройства. В первые дни — не спорю, ведь это беспрерывная синхронизация iCloud, Photo, iCloud Drive, установка любимого софта и тд.

    Прошла неделя — эксплуатация в режиме офисных программ и сёрфинга в интернете (без видео, торрентов и прочего) — заметный тактильно перегрев и работающие на максимум вентиляторы. В программе CleanMyMac — показывает температуру процессора 68-72 градуса по Цельсию. Странно.

    Прошла еще неделя — тот же перегрев. Обратился в службу поддержки Apple.
    Читать дальше →
  • Java рисует фигуры в документах PDF

    Когда я недавно редактировал документ PDF, мне нужно было добавить в документ некоторые графические объекты, такие как многоугольники, прямоугольники, эллипсы и т. Д. После поиска информации и тестирования я обнаружил, что Free Spire PDF для Java может помочь мне в приложениях Java. Завершите эту операцию.

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

    Конфигурация среды


    Установите бесплатный пакет Spire.Pdf.jar через хранилище Maven и настройте код файла pom.xml следующим образом:

    <repositories>
            <repository>
                <id>com.e-iceblue</id>
                <name>e-iceblue</name>
                <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
            </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>e-iceblue</groupId>
            <artifactId>spire.pdf.free</artifactId>
            <version>2.6.3</version>
        </dependency>
    </dependencies>
    
    Читать дальше →
  • Синтаксический сахар для SQL

    image

    Зачем это нужно?


    1. Увеличение скорости backend-разработки.
    2. Создание запросов, простых для чтения и написания.
    3. Создание web-сервисов на чистом SuQL, без необходимости постобработки на каком-либо языке программирования. Вам больше не понадобятся какие-либо backend языки или фреймворки. Представьте что вы уже можете получить данные из базы в том виде, в котором требует клиентское API
    4. Возможность расширить синтаксис самостоятельно, как угодно, выходя за рамки даже SQL. Границ просто нет.

    Читать дальше →
  • Коротко о this в функциях javascript

    Предисловие


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

    Недавно я все же, как мне кажется, сделал это и хотел бы поделиться с вами.

    Без лишних слов


    Мы разберем как простые, так и сложные примеры — так что всем будет интересно.

    Два основных тезиса, которые мы рассмотрим:

    (1) Для функций, объявленных через function(){}, this вычисляется в момент вызова.
    (2) Для стрелочных функций this определяется в момент создания функции.
    Читать дальше →
  • Аудио ЦАП на AK4393 + PCM2706

    Мое увлечение электроникой началось с такого забавного явления, как «аудиофилия» в худшем понимании этого слова: с верой в волшебные конденсаторы с электролитом из соплей китайских девственниц, публичным отрицанием советских лавсановых К73 и твердым убеждением, что «керамика – убийца звука». Мне хотелось чего-то этакого в смысле аудио, но что для этого нужно я тогда толком не понимал. Мой старший брат притащил откуда-то журнал “AudioVideo” в котором на одной из последних страниц была схема усилителя с входным дифференциальным каскадом на БСИТ транзисторах средней мощности и коряво сделанным источником тока на одном транзисторе, на который этот каскад был нагружен. Не самый лучший вариант, но тогда я этого не знал. Статья называлась «Усилитель с «пентодным» звучанием», а лампы – это же, типа, круто да и брат сказал, что будет круто и надо делать… Короче, один канал усилка я все-таки собрал. Усилитель, несмотря ни на что, издавал кое-какие звуки, большое спасибо автору статьи, некому Жану Цихисели, но шумел как сволочь и второй канал я собирать не стал.
    Читать дальше →
  • Билдеры или конструкторы? Рассуждаем вслух

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

    Для упрощения буду использовать аннотации lombok'a:

    @Value
    @Builder

    Недолго погуглив, получаем, что builder Отделяет конструирование сложного объекта от его представления так, что в результате одного и того же процесса конструирования могут получаться разные представления. Только ли для сложных объектов?

    Рассмотрим на простом примере:

    @Value
    public class Info {
        @Nullable String uuid;
        @Nullable String email;
        @Nullable String phone;
    }
    

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

    Но, как мы видим, все поля nullable, и создание такие объектов будет выглядеть не очень красиво:

            final Info info1 = new Info(null, "[email protected]", "79998888888");
            final Info info2 = new Info("3d107928-d225-11ea-87d0-0242ac130003", null, null);
            final Info info3 = new Info("3d107928-d225-11ea-87d0-0242ac130003 ", "[email protected]", null);
    ...
    

    Безусловно, есть варианты:

    1. Объекты, где немного полей разных типов, можно завезти несколько конструкторов. Но это не решает проблему класса выше.
    2. Использовать setter'ы — субьективно, нагромождает код.

    Читать дальше →
  • Критическая ошибка загрузчика GRUB2

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

    Обозначенная уязвимость, названная как «BootHole» и отслеженная как CVE-2020-10713, находится в загрузчике GRUB2, который, если его использовать, потенциально может позволить злоумышленникам обойти функцию безопасной загрузки и получить высокопривилегированный постоянный и скрытый доступ к целевым системам.

    Безопасная загрузка — это функция безопасности Unified Extensible Firmware Interface (UEFI), которая использует загрузчик для загрузки критически важных компонентов, периферийных устройств и операционной системы, обеспечивая при этом выполнение только криптографически подписанного кода во время процесса загрузки.

    «Одна из явных целей разработки Secure Boot — не дать неавторизованному коду, даже работающему с правами администратора, получить дополнительные привилегии и постоянство перед ОС, отключив Secure Boot или иным образом изменив цепочку загрузки», — говорится в отчете.
    Читать дальше →
  • Используем PyInstaller для создания exe-файла игры на Pygame

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

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

    Из множества библиотек, собирающих проекты в exe, выбрал PyInstaller. Его оказалось достаточно, чтобы справиться с задачей. Опишу все пошагово (для Windows).
    Читать дальше →
  • От поисковика на сайте до собственной поисковой системы

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


    Давным давно, когда можно было увидеть Pege Rank, а вебмастера играли на ТИЦ в карты, я создал свой первый сайт на тему автомобилей. Работая на простой CMS, он висел на дешевом хостинге без возможности установить базу данных. Тогда впервые мне пришла идея претворить свой первый проект в крупный портал с удобным поиском. Как только я поделился этой идеей со своим другом, который в то время успешно занимался разработкой и продвижением сайтов в поисковых системах (ПС), сразу же получил неутешительный фидбэк. Мол, это возможно, и даже одному клиенту он попытался это сделать, однако это настолько сложно, что проще сделать еще несколько сайтов и добавить их в сапу, чем заморачиваться над одним проектом с туманными перспективами монетизации. Что-то подобное я уже слышал от сварщика дяди Васи, когда пришел к нему с просьбой сварить две алюминиевых детали. Он долго рассказывал о специальных электродах, которых у него нет в наличии, аргоне, и что в молодости он с напарником из алюминия смастерил небольшой летательный аппарат, но в моем случае проще отказаться от алюминия и сделать все из обычного железа.


    С тех пор прошло много апдейтов ПС, и что же мы видим сейчас? Есть ли простое и быстрое решение, дабы сделать поиск на сайте? Так сказать, появилась ли у дяди Васи аргоновая сварка? Расцвели ли яблони на Марсе? Провел ли Илон Маск тест-драйв новой Tesla Mars? Запустили ли Джеймса Уэбба в космос или до сих пор его тёзка переворачивается в гробу?

    Читать дальше →
  • Идеальное резюме IT-рекрутера

    Рекрутер — тот человек, через которого проходят сотни, а то и тысячи резюме. Соответственно, когда открывается вакансия рекрутера, Hiring managers ожидают увидеть в откликах структурированные, понятные и практически идеальные резюме. Ведь кто-кто, а специалист по найму должен уметь «продать себя»‎.

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

    Резюме рекрутера должно быть максимально профессиональным. Так какое же оно — резюме IT-рекрутера? Каждое слово в нем имеет вес и находится на своем месте. Вот ключевые пункты, о которых я расскажу подробнее:

    • Опыт
    • Бизнес-ориентация и Cost Per Hire
    • История успеха
    • Социальные сети
    • Сопроводительное письмо
    Читать дальше →
  • Имитация динамических обоев из macOS штатными средствами Linux-систем

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


    В качестве обоев устанавливается только один файл картинки. Используемый файл обоев является символической ссылкой на другую картинку. Ступенчатая "динамичность" обоев обеспечивается заменой картинки-ссылки на новую в нужные моменты времени. В эти же моменты WM замечает изменение файла обоев и обновляет картинку.


    Таким образом, WM постоянно работает с одним и тем же файлом-картинкой, а вся логика работы обеспечивается обычным сценарием командной строки и простыми файловыми операциями.

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

    Привет! Меня зовут Максим Сулимов. Я являюсь создателем Ютуб-каналов бренда Youfact. За более чем 5 лет я собрал более 2,5 млн человек со всего мира на всех своих каналах. Один из них насчитывает более миллиона подписчиков, за что Youtube прислал мне награду в виде Золотой кнопки. Еще пять каналов набрали более 100 тысяч подписчиков, за что Youtube прислал награды в виде 5 Серебряных кнопок. В этой статье я расскажу вам про секреты оптимизации видео, о которых говорят только на платных курсах по Youtube. Поверьте, мне есть чем поделиться!

    1. Превью и заголовок


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

    — детям не важно, какое у вас название и что будет в ролике. Они кликнут на яркую и заманчивую превью. Чем ярче, тем лучше! Очень хорошо работают обложки, на которых изображены сами дети-авторы. Избегайте темный фон, черные предметы и силуэты. Ребенок хочет попасть в сказку или увидеть что-то мультяшное. Поэтому ярко-розовый, фуксия, голубой, желтый, белый — самые удачные цвета предметов и фонов на обложке. В Фотошопе или Lightroom можно изменить цвет предмета, если он у вас изначально был другого оттенка. Т.е. если у вас на превью есть гигантский чупа-чупс, но он непривлекательного цвета, измените его на фиолетовый, ярко-голубой или салатовый в Фотошопе. Это зацепит внимание! Потому что где в реальной жизни можно такое увидеть? Нигде! Поэтому это и заинтересует маленького зрителя. Поехали дальше.
    Читать дальше →
  • Маркетинг с помощью мобильного кошелька: новый способ получения выгоды

    Мобильные кошельки быстро вытесняют традиционные способы платежей. Большинство, если не все, мобильных устройств имеют встроенные, собственные приложения кошелька, которые люди могут использовать например, наиболее часто используемые приложения Apple Pay, Google Pay и Samsung Pay. В то время как они предлагают большую ценность для брендов в их нынешнем состоянии, маркетинг мобильных кошельков предоставляет возможность извлечь выгоду из этого нового маркетингового канала, который имеет огромный потенциал.


    image


    Мобильные кошельки с каждым днем набирают все большую популярность среди людей. На самом деле, опрос, проведенный компанией Airship, показал, что более половины респондентов (54%) использовали мобильные кошельки в том или ином качестве. Более того, 55% респондентов с большей вероятностью использовали мобильные кошельки для осуществления платежей в регистрах, чем стандартные методы, причем их число возросло до 73% при автоматическом применении купона или скидки.

    Читать дальше →
  • Raspberry pi & Азбука Морзе

    Парусник “NaN” сигналит SOS (See Our Success) Raspberry Pi, азбука Морзе и MQTT: вместе веселее


    Меня зовут Вова Балакин, я из московской школы на Юго-Востоке имени Маршала В.И.Чуйкова (классов “Силаэдр”: vk.com/silaedr), закончил 5 класс, интересуюсь программированием и техникой. Я хочу рассказать, что я делал этой весной. У меня был парусник, он назывался “Not a Number”(“NaN”). Выходить в море без сигнализации опасно, поэтому я подумал, что ему на мачте не хватает сигнальных огней. А лучше — сигнальных огней, которыми можно управлять удаленно. А лучше — удаленно из любой точки мира! У меня был Raspberry Pi — и тогда я придумал…

    Чего мне захотелось (Постановка задачи)


    … что можно прикрепить к мачте светодиод, соединить его с Raspberry Pi и запрограммировать так, чтобы из Интернета было возможно отсылать паруснику любое сообщение — и оно переводилось в код Морзе — и диод на мачте мигал в соответствии с этим кодом. И на ту же мачту закрепить фоторезистор — декодер кода Морзе, чтобы другой компьютер в Интернете мог получить переданный код.

    Что у меня вышло (Результат)


    После двух месяцев проб и ошибок у меня получилось написать программу, которая через MQTT-брокер(http://www.hivemq.com/demos/websocket-client/) позволяет любому человеку в Интернете, знающему Topic — секретный ключ для передачи сообщения клиенту, — отправить абсолютно любое сообщение написанное латиницей — и светодиод на мачте моего промигает его азбукой Морзе! (См. видео: www.youtube.com/watch?v=R1CFHTQZQuo.)
    Вот в целом как это работает: мы пишем сообщение и отправляем его MQTT-серверу, а он в свою очередь отправляет его на Raspberry pi, который переводит его в код Морзе и подмигивает светодиодом в соответствии с кодом.

    Вот код на Node.js на гитхабе.
    Читать дальше →