Manjaro + Plasma Mobile на тех же PinePhone? Базовые приложения уже есть и работают, управляйте своим Linux как душе угодно, хоть каждое приложение с отдельным cgroups запускайте. Насчёт популярных приложений пока вопросы имеются, конечно, но активно пилится и выглядит более перспективно, как мне кажется, даже по сравнению с мертворождённой Ubuntu touch.
А Firefox каким боком сюда попал? Сервисы работают, сайт открывается, скачать можно, исходники открыты. Или удаление российских поисковых систем - это уже блокировка?
Негуманным ценами на серверную версию, отвратительным UX, низкой скоростью работы... Думаю, более сведущий человек сможет и дополнить. Единственная объективная причина, по которой 1С так популярна и существует вне конкуренции - активно меняющееся законодательство и нормативные акты, ну и сеть франчайзи...
Для Qt есть LGPL, но не для всех модулей, так что нужно быть внимательным при написании софта, правда, сейча всеть всякие kde libs и kirigami, так что с виджетами проблем быть не должно. А что до самого QtCreator, то если не собираетесь его продавать и модифицировать, то не вижу повода не собрать его из исходников. Лицензия на редактор/IDE не распространяется на производный продукт (код и бинарники).
У keepass две основные проблемы, которые не позволили перейти на него:
Разношерстные клиенты под разные платформы (Linux, Windows, браузеры, Android, iOS, и да, мне нужны все)
С синхронизацией все плохо: если добавить запись на одном устройстве оффлайн, а потом на другом - то базы уже не синхронизировать, bitwarden хотя бы честно говорит, что нельзя добавить запись оффлайн.
Похоже, что хабру пора открывать свой habritter, без сарказма - было бы полезно иметь такой чисто технический ресурс с короткими, но полезными заметками. На статью это, действительно, не тянет никак, могу долго распыляться на конструктивную критику, но думаю, что автор и сам все понимает. С другой стороны, конкретно таски в vscode как-то прошли мимо меня до этого момента, то есть материал полезен. Объективно не могу поставить плюс, но и минус - тоже. Автору желаю выжить и не пострадать в это тяжёлое время.
К сожалению, разработчики TS при всех успехах упорно не желают делать даже опциональную поддержку глубокого вывода типов, мол, все будет безумно медленно. Лично я хотел бы иметь строгий режим для компилятора с глубоким выводом, да и работает же как-то в других языках, просто у них там странная философия своя. Из-за этого типы в TS не совсем полноценны даже в compile-time, что прискорбно.
А как же ИП, самозанятые и организации по штатом менее 8 человек? На них с большой колокольни можно, им поддержка не нужна? Как раз таким людям ещё труднее приходится (по себе знаю), потому что резервов существенно меньше, чем у малой (не микро) компании.
Если значение просто прокидывается, то есть тип unknown, а для всех остальных случаев можно объявить обобщенный тип, необходимый функции. Но значимость типов куда выше. Допустим, что функция проста, если она ничего не возвращает - это пол беды, но если она возвращает any, то вся типизация сыпется, надеюсь, это не нужно пояснять.
Насколько помню: там компенсация может быть только в размере МРОТ, а если зарплата по договору выше, то разницу покрывает работодатель из своего кармана + не забываем, что все эти компенсации ещё получить надо, а для этого кто-то должен "побегать", и этому кому-то тоже нужно платить. В общем, бизнес в минусе в любом случае.
Спешу вас расстроить, кофе склонять к сотрудничеству со средним родом уже разрешили. А так согласен: в разговорной речи такое допустимо, но в письменной лучше придерживаться действующих норм.
На самом деле, это огромный косяк государства: сделали преференции для матерей, но возложили часть из реализации на плечи бизнеса. Лично знаю не одну такую, которая искала работу, чтобы потом оттуда уйти в декрет и получать деньги от работодателя, ведь уволить работника в декрете нельзя. И вот таких "работниц" на одной должности может висеть несколько у организации, а деньги коммерческая организация должна зарабатывать как-то, вот и крутятся. Негодование женщин, которые сталкиваются с подобными вопросами на собеседованиях я вполне понимаю, но и опасения работодателя не беспочвенны. Надо бы почитать - как в других странах подобная проблема решается на уровне государства, а то про наше уже есть анекдот про "всем пива за счёт заведения".
Про union как способ реинтерпретации тут уже написали (использовать с осторожностью), но главный, как по мне смысл: экономия памяти. Например, у нас некоторое значение может быть как int так и double, а то и что поэкзотичней (разные структуры), но мы знаем, что значение может быть только одно в один момент времени. Таким образом, нам не нужно выделять память под два поля в структуре, например, а лишь под объединение, которое будет иметь размер максимального типа: sizeof(double) < sizeof(int) + sizeof(double).
И небольшое напутствие на будущее: не стоит считать себя сколь угодно серьезным разработчиком и пытаться давать экспертные заключения, если все ваши приложения состоят из одного файла (а если это файлы по 4000+ строк - стоит обратиться к специалисту...)).
Да я писал под Attiny13, Attiny45, Arduino Nano/Uno но не разу не использовал volatile. Не отрицаю факта что он используется в сложных комплексных проектах
Как-то писал совсем небольшой проект на ATTiny13. Так вот, volatile просто необходим при работе с железом. Смысл его в том, что данный модификатор запрещает компилятору оптимизировать строки с доступом к переменной, объявленной как volatile. Например:
char working = 1;
void main(void)
{
while (working)
{
// do something
}
}
Имея такой код компилятор может запросто подставить 1 вместо обращения к переменной и дать на выходе бесконечный цикл. Но что, если мы хотим изменять значение в прерывании? Компилятор по-прежнему не знает, что эта переменная могла измениться, ведь она не изменяется нигде до чтения. Таким образом, без volatile изменение переменной в прерывании может быть проигнорировано, а с ним - не будет. Насчёт конкретно глобальных переменных уже точно не помню (давно дело было), но кто нам мешает глобально хранить лишь указатель на вполне локальную переменную? Надеюсь, смысл использования volatile теперь стал более прозрачен.
Manjaro + Plasma Mobile на тех же PinePhone? Базовые приложения уже есть и работают, управляйте своим Linux как душе угодно, хоть каждое приложение с отдельным cgroups запускайте. Насчёт популярных приложений пока вопросы имеются, конечно, но активно пилится и выглядит более перспективно, как мне кажется, даже по сравнению с мертворождённой Ubuntu touch.
Ну да, непорядок, надо срочно исправлять.
А Firefox каким боком сюда попал? Сервисы работают, сайт открывается, скачать можно, исходники открыты. Или удаление российских поисковых систем - это уже блокировка?
Негуманным ценами на серверную версию, отвратительным UX, низкой скоростью работы... Думаю, более сведущий человек сможет и дополнить. Единственная объективная причина, по которой 1С так популярна и существует вне конкуренции - активно меняющееся законодательство и нормативные акты, ну и сеть франчайзи...
Для Qt есть LGPL, но не для всех модулей, так что нужно быть внимательным при написании софта, правда, сейча всеть всякие kde libs и kirigami, так что с виджетами проблем быть не должно. А что до самого QtCreator, то если не собираетесь его продавать и модифицировать, то не вижу повода не собрать его из исходников. Лицензия на редактор/IDE не распространяется на производный продукт (код и бинарники).
QEMU+KVM с GUI в виде virt-manager.
Забыли видеоредактор Kdenlive.
Не ясно, почему Qt Creator идёт отдельно в списке - такая же IDE.
Если уж про системы управления разметкой, то можно вспомнить Kparted, fdisk, cfdisk, а для бекапов все подряд, включая dd, rsync, rsnapshot.
Gitlab да и GitHub во простых workflow вполне себе покрывают функционал Jira, так что self-hosted - вполне себе вариант.
Zoom - Jami.
Google Docs - self-hosted Collabora Office.
У keepass две основные проблемы, которые не позволили перейти на него:
Разношерстные клиенты под разные платформы (Linux, Windows, браузеры, Android, iOS, и да, мне нужны все)
С синхронизацией все плохо: если добавить запись на одном устройстве оффлайн, а потом на другом - то базы уже не синхронизировать, bitwarden хотя бы честно говорит, что нельзя добавить запись оффлайн.
Со своим сервером встаёт не самая тривиальная задача - не попадать в спам.
Похоже, что хабру пора открывать свой habritter, без сарказма - было бы полезно иметь такой чисто технический ресурс с короткими, но полезными заметками. На статью это, действительно, не тянет никак, могу долго распыляться на конструктивную критику, но думаю, что автор и сам все понимает. С другой стороны, конкретно таски в vscode как-то прошли мимо меня до этого момента, то есть материал полезен. Объективно не могу поставить плюс, но и минус - тоже. Автору желаю выжить и не пострадать в это тяжёлое время.
Я когда прочёл, то решил, что это просто вопрос с подвохом такой. Ну надо понимать, что наследования нет, есть композиция.
К сожалению, разработчики TS при всех успехах упорно не желают делать даже опциональную поддержку глубокого вывода типов, мол, все будет безумно медленно. Лично я хотел бы иметь строгий режим для компилятора с глубоким выводом, да и работает же как-то в других языках, просто у них там странная философия своя. Из-за этого типы в TS не совсем полноценны даже в compile-time, что прискорбно.
А как же ИП, самозанятые и организации по штатом менее 8 человек? На них с большой колокольни можно, им поддержка не нужна? Как раз таким людям ещё труднее приходится (по себе знаю), потому что резервов существенно меньше, чем у малой (не микро) компании.
Стоило добавить, что документация TS рекомендует использовать объединения типов и значения по умолчанию для функций и методов вместо перегрузки.
Если значение просто прокидывается, то есть тип unknown, а для всех остальных случаев можно объявить обобщенный тип, необходимый функции. Но значимость типов куда выше. Допустим, что функция проста, если она ничего не возвращает - это пол беды, но если она возвращает any, то вся типизация сыпется, надеюсь, это не нужно пояснять.
P.S.: Минус не мой.
Насколько помню: там компенсация может быть только в размере МРОТ, а если зарплата по договору выше, то разницу покрывает работодатель из своего кармана + не забываем, что все эти компенсации ещё получить надо, а для этого кто-то должен "побегать", и этому кому-то тоже нужно платить. В общем, бизнес в минусе в любом случае.
Спешу вас расстроить, кофе склонять к сотрудничеству со средним родом уже разрешили. А так согласен: в разговорной речи такое допустимо, но в письменной лучше придерживаться действующих норм.
На самом деле, это огромный косяк государства: сделали преференции для матерей, но возложили часть из реализации на плечи бизнеса. Лично знаю не одну такую, которая искала работу, чтобы потом оттуда уйти в декрет и получать деньги от работодателя, ведь уволить работника в декрете нельзя. И вот таких "работниц" на одной должности может висеть несколько у организации, а деньги коммерческая организация должна зарабатывать как-то, вот и крутятся. Негодование женщин, которые сталкиваются с подобными вопросами на собеседованиях я вполне понимаю, но и опасения работодателя не беспочвенны. Надо бы почитать - как в других странах подобная проблема решается на уровне государства, а то про наше уже есть анекдот про "всем пива за счёт заведения".
Вынужден покаяться, для unsigned типов сдвиг определен арифметически, то есть, как я понимаю, проблем в данном случае быть не должно.
Про union как способ реинтерпретации тут уже написали (использовать с осторожностью), но главный, как по мне смысл: экономия памяти. Например, у нас некоторое значение может быть как int так и double, а то и что поэкзотичней (разные структуры), но мы знаем, что значение может быть только одно в один момент времени. Таким образом, нам не нужно выделять память под два поля в структуре, например, а лишь под объединение, которое будет иметь размер максимального типа: sizeof(double) < sizeof(int) + sizeof(double).
И небольшое напутствие на будущее: не стоит считать себя сколь угодно серьезным разработчиком и пытаться давать экспертные заключения, если все ваши приложения состоят из одного файла (а если это файлы по 4000+ строк - стоит обратиться к специалисту...)).
Как-то писал совсем небольшой проект на ATTiny13. Так вот, volatile просто необходим при работе с железом. Смысл его в том, что данный модификатор запрещает компилятору оптимизировать строки с доступом к переменной, объявленной как volatile. Например:
Имея такой код компилятор может запросто подставить 1 вместо обращения к переменной и дать на выходе бесконечный цикл. Но что, если мы хотим изменять значение в прерывании? Компилятор по-прежнему не знает, что эта переменная могла измениться, ведь она не изменяется нигде до чтения. Таким образом, без volatile изменение переменной в прерывании может быть проигнорировано, а с ним - не будет. Насчёт конкретно глобальных переменных уже точно не помню (давно дело было), но кто нам мешает глобально хранить лишь указатель на вполне локальную переменную? Надеюсь, смысл использования volatile теперь стал более прозрачен.