LINUX.ORG.RU

Избранные сообщения i-rinat

В стандарт C предложено внести лямбды и defer из golang

Форум — Development

Привет, ЛОР!

Я тут тебе немного покушать принёс. Как ты, наверное знаешь, не за горами выход нового стандарта языка C – C23. Среди прочих вкусностей, таких как лямбды в стиле C++, в этот стандарт предложено добавить механизм defer, аналогичный существующему в языке Go.

Ссылка на предложение: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2895.htm

В случае, если этот стандарт будет принят, будет возможно написание вот такого кода:

p = malloc(N);
defer { free(p); }

Где аргументом оператора defer является анонимная функция. Так же возможны более сложные варианты использования:

enum { initial = 16, };
double buffer[initial] = { 0 };
...
size_t elements = 0;
double* q = buffer;
defer [orig = q, &q]{ if (orig != q) { free(q); }};
...
// increase elements somehow
...
// adjust the buffer
if (elements > initial) {
    double* pp = (q == buffer) ? malloc(sizeof(double[elements])) : realloc(q, sizeof(double[elements]));
    if (!pp) return EXIT_FAILURE;
    q = pp;
}
...

Учитывая всё это, скоро в C больше не будет нужно использовать goto вообще нигде, даже для очистки ресурсов при ошибке. Так заживём, ЛОР!

 , ,

hateyoufeel ()

Почему решая литкод ты никогда не станешь архитектором (но на самом деле никогда не хотел им быть)

Форум — Talks

Специальный выпуск для linux.org.ru.

Когда я был юношей, то они мне говорили «вырастешь — поумнеешь». Я вырос, но не поумнел. Но иногда я жалею, что не знал тогда того, что знаю сейчас — так и хочется написать тому юноше письмо из будущего, что я и намерен импровизировать в виде треда на LOR.

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

Поскольку первых людей сильно больше, чем вторых (соответственно спросу), то массовый программист, как правило, оценивается по тому, как много решений он может выдать между двумя глотками смузи. Индустрии нужно зарабатывать деньги на массовом конвеерном фуфле, индустрии не нужны оригинальные решения. Как решить большую сложную задачу на подобном конвеере? Взять больше смузи и хлебать чаще, посадить дополнительных смузихлебов на тестирование этого дела. Самое страшное — когда в подобном духе начинает работать Boeing, и самолеты начинают падать. Можно радоваться тому, что упал не ваш самолет, а можно подумать о том, что завтра ваше авто с вами за рулем может внезапно оказаться не ваше, потому что его хакнет 7-летний китайский ребенок, и единственная реальная защита — это тот факт, что Илон Маск платит всем денеги только чтобы уязвимостями в автомобилях и инфраструктуре не пользовались злоумышленники.

Мне вспоминается старый-престарый эпизод моей жизни, как я еще будучи школьником выиграл олимпиаду по информатике. Задача была на поиск кратчайшего пути (пардон, точного условия уже не помню, это было давно и неправда). Грамотный программист быстро выдаст вам «правильное» решение O(N log N) по алгоритму Дейкстры. Но поскольку на тот момент я не знал алгоритма Дейкстры и не был грамотным программистом, то вместо «правильного» решения выдал асимптотику O(N), заэксплуатировав некоторые особенности конкретных условий той задачи.

И второй эпизод, современный. Меня выбесило одно из недавних моих собеседований: некая контора дала мне тестовую задачку, являющуюся также одной из фундаментальных задач, решаемых их продуктом. Мне просто забыли сказать, что «правильный» метод должен быть O(N^3), и я случайно потратил целый день на разработку метода O(N^2), который оказался настолько неожиданным для «сеньоров», что им понадобилась целая неделя для анализа моего решения на 500 строчек (inb4: фу-фу, лапшемес), а на собеседование со мной собрали всю верхушку — на минуту у меня сложилось ощущение, будто меня собеседуют в гугл, а не в местную помойку. Я не удивлюсь, если вся их шарашка уже работает над интеграцией моего метода, и в скором времени получит премию, мол «наш отдел провел тщательные исследования предметной области...», а тебе, мартыха, хрен с маслом. И это собравшееся начальство на собеседовании было серьезно намерено развести меня на решение еще одной важной для их помойки задачки. Большая часть их штата джуно-мидлов занимается обвязками-прокладками-интерфейсами-тестированием, короче говоря, теми задачами, под которые можно нанять горсть рабов с улицы хоть прям щас — но эти люди в жизни не смогут выдать оригинального решения, а только будут ждать команд сверху.

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

Что мы всё про меня да про меня. С точки зрения массовой индустрии Дуглас Крокфорд — посредственный программист, и в недавнем треде большое число отписавшихся доходчиво пояснило, почему это так. Да, подумаешь, он создал какой-то там JSON, на котором работает половина индустрии, а еще создал JSLint, который ведь оказался так себе и был вытеснен ESLint-ом, и вообще «я могу сделать лучше, просто оно мне не надо». Но печальная истина в том, что тысячи смузихлебов писали на JS безо всякого линта, и, я уверен, при возникновении онного долго противились новой технологии. Проходит время, и вот уже каждый школьник считает своим долгом задействовать ESLint и JSON, а пишет, естественно, на ES2015, добрая половина фич которого была реализована при непосредственном участии Крокфорда (кстати, мало кто знает, что Object.keys/Object.values еще в ES5 было внесено по инициативе Крокфорда) — но этот школьник понятия не имеет, откуда взялись «мои любимые технологии».

Я хочу подчеркнуть, что это не одиночный пример мнения отдельной макаки — это закономерность, которую заметил не только я, и не только эту. Такие люди, как Крокфорд, могут бесконечно выдавать оригинальные идеи, но как исполнитель они так-себе, у них вечно шило в попе, толкающее на приключения, потенциально грозящие сорвать сдачу проекта (которая назначена на вчера, как обычно). Я задумался: а кому могут быть в самом деле нужны такие люди? Да, в силиконовой долине можно себе пригреть местечко — по этому пути успешно прошелся Крокфорд. А что делать, если я не хочу развивать силиконовую долину? Я в молодости отказался ехать туда, и сейчас не особо горю желанием (но и не предлагают уже). Вот такое вот я капризное животное.

Более того, если допустить, что Крокфорд выдал некое супер-пупер классное решение для вашей фирмы, то возникает проблема — кто его будет поддерживать/развивать? А также так называемый Bus factor — что делать, если Крокфорда убьют Крокфорд уйдет? Типовой сеньор-помидор, посмотрев на код Крокфорда, выпучит глаза и закричит «ты где такое видел? Кто так делает? У тебя своя голова на плечах есть?».

Всё ли так безнадежно, и есть ли более-менее прикладные задачи, которые не сможет решить сеньор-принципал-архитектор даже в обнимку с цистерной смузи, даже выдавая по два заученных решения литкода в секунду? А может быть и есть. Например, быстрой инкрементальной Agile Scrum Kanban Fast-shipping Test Driven методикой постепенной разработки невозможно реализовать распределенную отказоустойчивую БД со строгой согласованностью данных. Отказоустойчивость — это бинарное свойство, БД либо отказоустойчива, либо нет. Не бывает почти отказоустойчивой приблизительно распределенной БД которая чуть ли не сохраняет все подтвержденные транзакции (привет разработчикам MongoDB). Ну то есть она в таком случае не отказоустойчива и не дает гарантий.

Даже Clickhouse можно почти сделать при достаточном стратегическом запасе смузи (только для единственного хоста), но яндекс так и не осилил аналога ZooKeeper (кластер ClickHouse работает через ZooKeeper), поскольку никакое количество костылей, инкрементально разработанных в Яндексе ранее, так и не смогли заменить одного грамотно продуманного решения. Что мы по итогу видим сейчас? Вся инфраструктура Яндекса стоит на ZooKeeper, найди возможность положить ZooKeeper — весь Яндекс встанет колом. Тот же Facebook тоже полагается на ZooKeeper (хоть и меньше, они там саги любят). В Amazon вообще всё печально, и я не поверю, что с любым количеством денег Amazon способен создать аналог ZooKeeper, поскольку я читал статьи их отдела по исследованию распределенных систем, и уровень там совершенно никакущий. Достоверно мне известна ровно одна контора, способная разрабатывать распределенные СУБД с гарантиями согласованности — это Google. Она разработала самое первое подобное решение, Google Chubby, близкой копией которого позже стал ZooKeeper.

Но вот в чем проблема — ZooKeeper уже есть, а значит «ты нам не нужен». Что же еще требует глубокого вдумчивого погружения и нестандартной находчивости? Похожие требования есть у многопоточных приложений. Еще подобного рода мышление нужно при тяжелой глубокой отладке софтины, на отладку которой систематически забивали, предпочитая спринты и быстрые релизы. Правда, с распространением защищенных сред выполенния, вроде JVM, CLR, JS, и Python, неустранимая потребность в отладке сильно снизилось, потому что в крайнем случае можно просто перезапустить контейнер или иметь запасные контейнеры сразу. (Еще есть UI/UX, но про мертвых либо хорошо, либо ничего).

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

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

Парадокс в том, что смузи-мастеры чуть ли не поголовно мечтают быть творцами. Какой смысл этого стремления? «Хорошо там, где нас нет»? «Полчаса побунтовал - и фатит»? Прежде чем окончательно и бесповоротно решить встать на этот путь, посмотрите на настоящих успешных творцов (не путать с клоунами вроде меня или Илона Маска). Такие люди не заработают заоблачных денег, их не расхватывают на рынке труда, им не так просто устроиться на обычную должность, а даже если устроятся — умрут со скуки, попутно занимаясь ремонтом того, что не ломалось, таким образом выведя из строя какой-нибудь старый добрый сервис на Cobol или MUMPS, написанный в 70-х годах «настоящими программистами, настоящими, не то что новое поколение».

Показательно, что работодатели идут навстречу этому стремлению, мол «пишешь конфиги для CI/CD? Ну ты же архитектор теперь». Аналитический склад ума нельзя поменять за месяц, его нельзя быстро приобрести или положить на полку на период отпуска. Wannabe-творец-на-выходные в лучшем создаст популярный клон существующего софта — даже не потому, что не способен ни на что другое, а потому, что понимает, что сообщество не примет ни одной значимой инновации серьезнее плагина к Emacs или очередных скрипт-костылей для сборки C++. Да и то, плагины к Emacs не нужны, поскольку уже есть настоящее проверенное решение в виде Vim и его аналогов.

И я не могу упрекать работодателей (как правильно заметил Kogrom по ссылке выше): им нужна взаимозаменяемость и предсказуемость, им нужно снижение рисков и издержек; им нужен посредственный сайт, который будет создавать иллюзию наличия этого сайта у компании — а больше и не нужно; заказчикам нужна иллюзия масштабирования и отказоустойчивости, с бессмысленными невыполнимыми требованиями к системы — выдайте ему микросервисную архитектуру со стоимостью и временем разработки в 3 раза больше грамотного монолита, также бонусом дайте ценные инструкции по масштабированию бигдата-серверов монги сверх 500 ГБ (на случай, если его бигдата размещается в кластере из айфонов). Можно упрекать разве что себя (мне — себя, а вам — себя, не меня). Например, много лет назад я имел возможность выбрать семью и карьеру, но я выбрал то, что выбрал — не иметь власти, но знать всё и ничего одновременно. В этом есть свой кайф и неудобство одновременно.

 , , , ,

byko3y ()

А посоветуйте что посмотреть/послушать из англоязычного

Форум — Talks

Главное чтобы не было слишком много драмы, бандюков и войнушки. Порнуху тоже не предлагать как и фильмы/сериалы где порноконтента слишком много (Щепка, Игра Престолов - хорошие примеры такого вида фильмов/сериалов). Пойдёт почти что угодно, в приоритете что-то что позволяет хорошо отвлечься от грустной реальности и отдохнуть, ещё лучше если оно затягивает. Обязательное условие - оригинальная англоязычная озвучка с нормальным английским (не индусы и прочие товарищи которые говорят на каком-то своём инглише). Хочется потренировать свою распознавалку устного английского, а то я понял что она просела и я стал напрягаться во время прослушивания англоязычной речи (когда-то я много времени проводил изучая английский, а позже слушая англоязычных челов и иногда общаясь с ними, но то было давно и неправда). Из жанров что-то, что повышает настроение или как минимум не портит его. Рассматриваю все варианты, кроме май литтл пони, т.к. лошадок люблю только в гастрономическом плане, да и слишком детский контент мне не заходит.

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

Ах да, всё что вышло после 2003 года для меня, вероятно, будет новинкой (примерно тогда я стал сильно реже смотреть телевизор).

 , , ,

peregrine ()

С/С++: вопросы на собеседованиях

Форум — Development

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

Ping bugfixer

 , ,

former_anonymous ()

Чем пользуетесь из F-Droid?

Форум — Mobile

Собственно сабж. Третий андрофон. В первый раз ставил из него судоку. Во второй: блокнот. В этот раз: «Транзистор» для прослушивания радио.

А кто чем ещё пользуется?

 ,

AlexVR ()

Здравствуйте, это канал про Linux?

Форум — Talks

…Посоветуйте аниме без сисек.

Не, ну реально, весь этот фансервис во всех современных тайтлах убивает желание смотреть что-либо на корню. В то время как ishuzoku reviewers прорывают очередное дно в индустрии аниме, стирая грань между хентаем и аниме (до такой степени что оказались забанены на стриминговых сервисах) сердце и душа просит чего-то доброго и вечного типа Slayers (хотя и там тоже периодически фансервисили по самое не хочу).

В общем поделитесь чем-то, что можно посмотреть бородатому дяде под 30 и где не будет мелькающих трусов или сисек. Такое вообще всё еще делают? Или такие тайтлы навсегда остались в 80х?

Список того, про что я веду речь:

  • Slayers
  • Ginga Eiyuu Densetsu
  • Ano Hi Mita Hana no Namae o Bokutachi wa Mada Shiranai (Ano Hana)
  • Ascendance of a Bookworm
  • Girls’ Last Tour
  • One Punch Man
  • Sleepy Princess in the Demon Castle
  • Battleangel Alita
  • To aru kagaku no railgun – этакое «анимешное чёрное зеркало» – сюжетки про чудеса техники и то как они могут повлиять. Не слишком научно достоверно в деталях, но задуматься можно
  • Dr Stone – анимешный научпоп. Главная его задача (помимо развлечения) – показать что наука это круто
  • Yakusoku no Neverland – майндгейм, ангст. В конце, вроде как, намёк на антивойну, но не уверен - не дождавшись главы дропнул.
  • School Live – поведение ОЯШкольниц в зомбоапокалипсисе. Довольно трогательно пытаются сохранить модели поведения старого мира, понимая при этом (нуу.. почти все) ситуацию.

 ,

PPP328 ()

Посоветуйте сериал

Форум — Talks

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

Люди у нас смотрят кто во что горазд, Гусары, Зона комфорта и прочие. Лично я пробовал смотреть Гримм, Эврику, Затерянные в космосе, Звездный крейсер Галактика. Не зашло, вот совсем-совсем.

 , , ,

utanho ()

Управление архивом фоток. Автоматическая уменьшалка.

Форум — General

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

Фотки стяны с разным разрешением.

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

Просто уменьшить все фотки в 2 раза - в принципе выход, но они разные и не все можно покоцать именно в 2 раза, какую-то может быть можно только в 1.5 раза коцать. А какую-то в 8 раз, потому что она вся смазанная.

Короче, есть чё на эту тему?

 

igloev ()

d-IIIC,EOAA D-IOeAIOEOOA IAEOE D-OETHEIO

Форум — General

÷OIOIE AeAAIO/ IIIAA C,III *O, EIAAO - EIAAOEOON, II, D-OE D-ID-UOEAA OAeAAIAOO/ OOAOOIOO EOAeA IEAI - D-IIOTHAA OAAOEA U *AAUAeITHAAE. D-IOIAA D-IAeOIAIIC,I OAOOIIOOAAIEN tcpdamp'a *UNOIEIIOO/, THOI II D-UOAAAOON IOD-OA *INOO/ O IIEAIO/IIC,I ed- 10.1.1.1, E AAO-II, THOI OAAO *AE D-OI *AEAeAAOA IETHAAC,I IA AAIOII IAA UIAAAO :( iIOeAAO EOI D-IAeOEAOeAAO C,AeAA OUOON E THOI EOEAOO/ EAI N AAYAA OIIO/EI *OOAA IA D-OOO/ AIEEA E AAYAA ITHAAAAAAIO/ D-IIEI O IEI AeOOOeO :) ÷OIAeAA D-AAOAAOUI *OAA EIIAEEC,E - *OAA EAE OAIO/UAA OOA *EI :(

anonymous ()

Переход на MicroG и немного свободного софта

Форум — Mobile

Решил немного написать о моём опыте перехода на MicroG и про небольшой список свободных аналогов софта.

TL;DR: жить на MicroG можно

Но сначала немного дополню статью от derlafff про XPosed.

Не доступен для свежих андроидов

Доступен вплоть до версии 8.1, на тот момент был то ли в альфе, то ли в бете, уже не помню. Для 9 версии есть под названием EdXposed (поддерживает ещё и 8.1).

Переход на MicroG

Существует форк NanoDroid (зеркало на гитхабе). Основные отличия от MicroG:

  • Собран как priv-app
  • Более новая версия сервисов Google
  • Заменяет системный WebView на BromiteWebView (свободный форк хрома, ungoogled, но как пишут авторы, сложно проверить, насколько) с автоматической блокировкой рекламы
  • Поддержка покупок и микроплатежей в Play Store

Прочитать про все отличия можно здесь.

С приложениями, использующими карты Google, могут возникнуть проблемы (например, Runtastic падает, хотя карты установлены). Читать дополнение в конце поста.

Очень желательно иметь Magisk вместо Superuser.

Скачиваем последнюю версию отсюда. Берём самую жирную. Распаковываем архив, редактируем .nanodroid-setup (описание настроек лежит здесь). FakeStore обязателен к установке.

Обязательно сделайте бэкап следующих приложений, т.к. иногда они по ошибке удаляются:

  • DeskClock (заменяется на OmniClock из архива)
  • messaging (заменяется на QKSMS из архива)
  • Gallery2 (замеяется на Simple Gallery из архива)
  • Camera (заменяется на Open Camera из архива)
  • Calendar (заменяется на Simple Calendar из архива)

Приложения заменяются только если в .nanodroid-setup включена установка приложений, в противном случае они просто удаляются.

Скорее всего заменяются ещё клавиатура от Google, Gmail и Google Music (не пользуюсь, поэтому не могу проверить).

Обязательно проверьте, поддерживает ли прошивка SignatureSpoofing, список есть здесь. Процитирую пост по ссылке выше:

Коротко говоря, это обход защитного механизма, не позволяющего прикидываться gapps'ами кому попало. Для этого необходимо либо патчить прошивку при помощи Xposed/Needle/Haystack, либо использовать совместимую прошивку

Прошиваем архив (желательно перед этим сделать бэкап), вычищаем остатки гугловых приложений (если они есть, я ставил с удалением GAPPS).

Для обновления компонентов без прошивки архива добавьте этот репозиторий в F-Droid.

Получение приложений

Я решил обойтись без установки Google Play Store. Тем не менее, он должен заработать. Для получения пакетов из Google Play я использую Aurora. Можно использовать аккаунт Google или анонимный. Некоторые приложения не устанавливаются, и я понятия не имею, почему. В основном это гугловые приложения и зависимые от них (к примеру, использующие Google Maps). Через Yalp и файловый менеджер такие приложения устанавливаются. Минимальная версия системы - 5.0. Есть проверка приложений на предмет известных трекеров в базе Exodus Privacy. Для более старых систем есть Yalp Store, который поддерживает версии Android от 2.0 и выше.

Для свободного софта конечно же F-Droid. Ещё существуют M-Droid с более приятным интерфейсом (и вроде как исправленной загрузкой скриншотов, но у меня оно не заработало), и G-Droid (лучше интерфейс, но нет поддержки сторонних репозиториев).

Немного про навигацию

Навигация по GPS работает. С навигацией по мобильной сети есть косяки. В MAPS.ME и некотором софте работает только MozillaNlpBackend, но показывает, будто телефон на другом конце города. Déjà Vu Location Service работает в другом софте (Карты Google, Яндекс.Карты, ЕСТ Такси), с погрешностью в 30-50 метров.

Карты Google работают. Яндекс.Карты тоже. Приложения, использующие OSM и Яндекс.Карты - работают.

Свободные аналоги разного софта

  • Maps - форк MAPS.ME с вырезанной рекламой и трекерами
  • Замена YouTube - YouTube Vanced (поддержка авторизации через MicroG, фоновый режим, тёмная тема и ещё всякие плюшки, есть в репозитории Magisk), NewPipe (не поддерживает авторизацию, есть импорт подписок, экспортировать оные можно здесь). Есть ещё много других, но я знаю только про эти, лол.
  • Fennec F-Droid - Firefox с вырезанной телеметрией и проприетарными компонентами. Базируется на последних сборках официального Firefox. Для любителей ESR есть IceCatMobile.
  • Chrome - Bromite - форк хромиума, нацеленный на приватность и блокировку рекламы. Синхронизация, экономия данных и прочее - вырезано. Репозиторий для F-Droid - здесь.
  • Аутентификатор - Aegis. Поддерживает импорт из других аутентификаторов (нужен root). Попроще и для более старых версий системы - FreeOTP и FreeOTP+ (добавлен импорт и экспорт)
  • SSH клиент - ConnectBot
  • oandbackup - замена TitaniumBackup
  • Scarlet Notes FD - замена Google Keep. Есть синхронизация (как я понял, для включения облачной синхронизации нужно установить версию из Google Play).
  • K-9 Mail - почтовый клиент, поддерживает шифрование OpenPGP (требуется OpenKeychain)

Разный годный открытый софт

  • Nextcloud
  • DAVx⁵ - синхронизация (вместо гуглокалендаря)
  • KDE Connect - интеграция телефона с Plasma (в какой-то момент ещё и с Gnome)
  • OsmAnd~ - навигация, использует OpenStreetMap, и насколько я помню, может использовать и другие источники карт. Приложение платное, полная версия находится в магазинах, ссылки на сайте. Переход на MicroG и немного свободного софта (комментарий)
  • andOTP - простой аутентификатор с возможностью экспорта/импорта и шифрования бэкапов
  • EDS Lite - клиент для работы с криптоконтейнерами VeraCrypt, TrueCrypt, LUKS. Полная версия находится здесь.
  • Password Store - клиент для pass
  • Shelter - песочница для изоляции приложений
  • Forecastie - прогноз погоды, использует OSM
  • Gadgetbridge - подключение умных часов и браслетов
  • Scrambled Exif - удаление EXIF из фотографий
  • Kiwix - выкачивание Википедии и других вики-сайтов и чтение их оффлайн
  • Vanilla Music - музыкальный плеер. Насколько я знаю, единственный поддерживающий теги в OGG Opus. По запросу «vanilla» в F-Droid находятся полезные дополнения.
  • Simple Mobile Tools - простые открытые реализации галереи, календаря, файлового менеджера, контактов, заметок, музыкального плеера, фонарика, калькулятора и других приложений
  • GameDealz - неофициальный клиент для сайта IsThereAnyDeal. Вкратце - поиск скидок на игры.
  • Phoenix for VK - открытый клиент для ВКонтакте

Напишите, если знаете годные аналоги свободного софта (и любой годный открытый софт), добавлю в список.

Всякие мелочи

ClassyShark3xodus - сканирование всех приложений в системе на предмет трекеров. Использует базу Exodus Privacy.

Komoot - не открытое, но использует OSM. Аналог приложений вроде Runtastic (хоть и умеет меньше). Судя по Exodus Privacy, трекеров нет.

UPD: дополнение от ma1uta

UPD2: Хорошая статья на habr.com

 , ,

Deleted ()

Bounty: добавить в mksquashfs поддержку чтения из tar напрямую (docker -> squash)

Форум — Job

Есть утилита mksquashfs из пакета https://github.com/plougher/squashfs-tools

Она умеет делать readonly образ файловой системы.

Есть докер, который умеет выгружать свои образы в tar.

Когда в CI под не рутом распаковываешь tar в директорию, что бы из неё сделать squashfs, то убиваются все права, владение файлами и нельзя сделать файлы из /dev

Хочется что бы mksquashfs перепаковывал tar в образ напрямую, без распаковки на диск.

Мейнтейнер не понял, зачем это нужно: https://github.com/plougher/squashfs-tools/issues/25 а ему плохо объяснили.

Я готов заплатить за эту работу, нужен патч, который делает эту вещь. Достаточно уметь делать это не из стрима, а из файла, но из tar-стрима будет ещё лучше.

Код нужно будет залить в наш репозиторий https://github.com/flussonic/squashfs-tools и надо будет оформить pull request, который хорошо бы что бы приняли.

Оценки по времени и деньгам можно прислать мне напрямую на max@erlyvideo.org

 , ,

max_lapshin ()

Поиск по закладкам и истории. Делюсь годнотой

Форум — Talks

https://chrome.google.com/webstore/detail/worldbrains-memex/abkfbakhjpmblaafn...

https://addons.mozilla.org/en-US/firefox/addon/worldbrain/

Расширение, которое работает полностью офлайново и позволяет искать по закладкам и истории (полнотекстовой поиск). Код и Issues есть на ГитХабе. Лицензия MIT.

Для тех, кто предпочитает синхронизацию, такая возможность тоже есть.

upd. Есть три версии: халявная, за 1.5 евро/мес и за 6 евро. Набор фич разный. Смотрите на официальном сайте в разделе Pricing. Некоторые:

iOS and Android Apps
Free Self-Hosting & Open-Source
API
Save with any cloud provider (Soon)
Sync between computers (Soon)
Manual Backup to Google Drive

К слову, разработку проспонсировало несколько спонсоров, на общую сумму что-то около больше 100 тыс. долларов. (Сумма была актуальна несколько месяцев назад).

 , , ,

Deleted ()

Документация к языкам программирования

Форум — Development

Всевозможные учебники и книги - это хорошо, но обычно их предлагают купить и часто не совсем дёшево, даже если они описывают базовый уровень. Бесплатным решением, очевидно, является официальная документация. Когда я открыл документацию к python, я был приятно удивлён, что она написана практически как учебник. Для Java вроде бы тоже всё относительно неплохо в этом плане, хотя хотелось бы отдельный оффлайновый pdf.

Мне захотелось скачать себе документацию в подобном виде для C и C++. Зашёл на их официальные сайты, там описание стандарта предлагают получить на сайте ISO за немалые суммы денег. Да и само описание стандарта далеко не для обучения. Хорошо, подумал я, попробую тогда посмотреть документацию к одной из реализаций языка - GCC-CPP, и вижу, что описанное там тоже вовсе не подходит для обучения. Даже описания типов и примеров объявления нет (может плохо искал, но в заголовках не заметил).

Нет, это не тред «подскажите книгу по Сям», таких для начинающих я и сам могу гору насоветовать.

Вопрос следующий: существует ли нормальная доступная бесплатная документация по которой можно изучать C, C++? Официальная документация по другим языкам была бы тоже интересна.


Update

C, C++
Online-ресурсы и учебные пособия для начинающих:

Как дополнение: Рабочая версия стандарта C++14 от 19 ноября 2014 г. (с официального сайта стандарта)


Fortran


Python
В дополнение к официальной документациипереводу руководства Python 3.1):


Object Pascal. Lazarus

Перемещено Klymedy из talks

 , , , ,

grem ()

Я тут накропал управлялку для онлайн медиаплееров

Форум — Talks

https://addons.mozilla.org/en-US/firefox/addon/foxhorn/

сорцы https://github.com/wayerr/foxhorn

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

поддерживает яндекс, фконтактик, ютуб.

отличие от аналогов: можно добавлять свои плееры прямо в настройках - https://d58.imgup.net/Screenshot2ae6.png

ps. да уже писал както но теперь она в репозиторий попала, ну и глюков поменьше

Deleted ()

gtk decoration

Галерея — Скриншоты

Осиливаю decoration
Вот так получилось

decoration {
	border-radius: 0px;
	padding: 2px;
	box-shadow: 0 2px 3px 1px black;
}

.ssd decoration .titlebar,
decoration {
	background: #464D4D;
}

.maximized decoration,
.fullscreen decoration {
	padding: 0px;
}

.tiled decoration {
	box-shadow: 0 0 3px 3px black;
}

.popup decoration,
.csd.popup decoration,
tooltip decoration {
	padding: 0px;
	background: transparent;
	box-shadow: none;
	border: none;
}
Работает и для gtk2. А за padding-top, оказывается, можно перемещать окна.
Какая-то темная материя ;)

p.s. DE обычный Гном, font-size: 0; для панели, просто эксперименты.

>>> Просмотр (1600x1800, 211 Kb)

 ,

Deleted ()

пришло время похвастаться, похвастаться само не похвастается

Форум — Talks
processor       : 159
cpu             : POWER8E (raw), altivec supported
clock           : 3425.000000MHz
revision        : 2.1 (pvr 004b 0201)


sysbench --test=cpu --num-threads=320 --cpu-max-prime=200000 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 320

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 200000


Test execution summary:
    total time:                          7.7822s
    total number of events:              10000
    total time taken by event execution: 2128.6179
    per-request statistics:
         min:                                 17.77ms
         avg:                                212.86ms
         max:                                677.81ms
         approx.  95 percentile:             438.23ms

Threads fairness:
    events (avg/stddev):           31.2500/13.09
    execution time (avg/stddev):   6.6519/0.80

 

nerfur ()

Обратная совместимость во фрисофте

Форум — Talks

Некий Андрей Пономаренко начал рассылать по мейллистам ссылки на свой сервис отслеживания изменений в API/ABI в свободном софте.

http://abi-laboratory.pro/upstream-tracker.html

Например, любители потрясти дряхлыми флеймами могут начинать рассупонивать шуткомёты:

http://abi-laboratory.pro/tracker/timeline/gtk /

http://abi-laboratory.pro/tracker/timeline/qt/

Ах, да. Автор выложил исходники генератора отчетов на гитхаб: https://github.com/lvc/abi-tracker.

 

AP ()

Книга дня от PacktPub.com (бесплатно)

Форум — Talks

На сайте PacktPub.com ежедневно можно бесплатно добавить в аккуант и скачать книгу, которая участвует в этот день в акции. Для загрузки необходима регистрация на сайте. Книга добавляется в аккаунт навсегда. Книги доступны в форматах PDF, MOBI, ePub, Kindle. Так же есть возможность скачать все исходные файлы (примеры из книги).

Книга дня на PacktPub.com (доступна до 02:00 MSK)

Новые книги будут добавлятся в виде комментариев - подписывайтесь на текущую тему для получения уведомлений

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

Перемещено Licwin из general

 , ,

FRWHate ()

Создаю нескучные обои в Darktable и Gimp

Галерея — Скриншоты

Пускай Adobe, Phase One и DxO пока не выпустили свои программные продукты под ОС GNU/Linux, это не значит, что обрабатывать фотографии в свободных ОС трудно. Под Линукс существует немало самых разных программ для работы с фотографиями. На нашем сайте часто упоминают свободный рав-конвертер Darktable и, конечно же, растровый редактор Gimp — два приложения, которые, в связке, позволят воплотить в жизнь все ваши творческие задумки.
На скриншоте процесс обработки недавно сделанных снимков. Главный герой — Darktable 1.6.8 демонстрирует всю гибкость своего интерфейса и мощь возможностей. Множество модулей на все случаи жизни, огромное количество настроек и способов добиться желаемого. Видно что программа развивается очень быстро. Обрезка, ресайз и финальное добавление резкости — в Gimp. Фильтрами GEGL пока не совсем удобно пользоваться, или я не привык, но, как известно, работа ведётся, надеюсь скоро все мелкие недочеты, в том числе с недостаточной производительностью в отдельных операциях, будут исправлены. ОС, если это вдруг имеет значение - Ubuntu 15.04.
Получившиеся у меня обои рабочего стола (эти и другие) можно свободно загрузить на сайте opendesktop.org

>>> Просмотр (1920x2130, 2469 Kb)

 , ,

ist76 ()

Выручайте!

Форум — Development

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

Накидайте пожалуйста литературы про основы. Интересует opengl, openscenegraph, opendynamic engine, основы всего этого. Посоветуйте книги для введения в курс.

Спасибо!

 , , ,

OxiD ()