LINUX.ORG.RU

Избранные сообщения itn

Настройка Visual Studio Code для работы с LLama

Статьи — Разработка
Настройка Visual Studio Code для работы с LLama

В этой статье я расскажу как развернуть локальные аналог Chat-GPT и настроить VS Code для работы с ним.

( читать дальше... )

 , , ,

rtxtxtrx
()

Накидайте книг для продвинутого Си под онтопик

Форум — Development

Сто лет назад прочитал K&R и всегда хватало, а если я хочу углУбить?

// друг спрашивает :)

UPD: собрал из темы списочек, особо не редактируя (экстримов и модернов поболее одного, но пусть будет) – думаю, заглянувшим в будущем будет полезно:

  • modern c by jens gustedt
  • Thomas Mailund - Pointers in C Programming (2021)
  • Gustedt - Modern C (2020)
  • Kalin - Modern C Up and Running (2022)
  • King - C Programming. A Modern Approach, 2nd ed. (2008)
  • Хэзфилд «Искусство программировани на C»
  • «Язык C в XXI веке»
  • Экстремальный Си
  • extreme c programming
  • «UNIX. Профессиональное программирование» Уильям Ричард Стивенс, Стивен А. Раго
  • C Interfaces and Implementations: Techniques for Creating Reusable Software
  • Peter van der Linden, Expert C Programming: Deep C Secrets https://progforperf.github.io/Expert_C_Programming.pdf
  • Чан Теренс «Системное программирование на С++ для Unix»

 ,

pihter
()

Планшетный ПК Chuwi UBook X – всё работает из коробки

Галерея — Рабочие места

Маленькая предыстория. Пару месяцев назад у меня накрылся планшетный ПК Microsoft Surface Pro 5, который служил мне верой и правдой с 2018 года. Так как на личном устройстве выполнялись тривиальные рабочие задачи, я искал альтернативу на замену, но уже подешевле чем за более 100к, чтобы не боятся его или разбить, или зашаркать, или даже раздавить. Главное – максимальная автономность, ультракомпактность, маленький вес и отстёгивающаяся клавиатура, и если совсем коротко, то «пк х86 2-в-1». Тут один мой коллега подсказал посмотреть в сторону Chuwi UBook X такого же форм-фактора как и бывший MS Surface 5. Ранее я сильно скептически относился к бренду Chuwi, предполагая что это какой-нибудь Teclast-подобный мусорный ширпотреб, но я изменил своё мнение, когда 4 месяца назад мне попал в руки относительно производительный NUC-подобный ПК Chuwi LarkBox X 2023, который оказался весьма-весьма неплох. Короче, взял я этот Chuwi UBook X, и он меня очень приятно удивил в плане работы с линем на борту.

Кому интересно – о характеристиках я напишу в самом конце, главное другое. Изначально на устройстве стояла MS Windows 11 Pro. Естественно, китайская инсталляция сносится, и всё ставится начисто, но перед этим я решил попробовать какой-нить дистр Linux. Чисто побаловаться, как думал я. Выбор пал на LMDE 6. Почему? Потому что только у них Cinnamon прилизан до состояния «бери и пользуйся», и тут репы ещё дебиановские (который мне ближе всех остальных дистров). Поставил, и…

… и оно всё заработало из коробки! Последний раз я куда-то ставил ради спортивного интереса LMDE 2, с которым были сложности по железу, а тут прям вообще всё из коробки! А именно:

  • ускорение графики из коробки;
  • автоматическое увеличение масштаба до 150%;
  • wi-fi и bluetooth из коробки;
  • функционирующий тачскрин!;
  • функционирующее активное перо!!!;
  • в довесок к этому нормально работающая экранная клавиатура Cinnamion (после запуска устройства можно легко залогиниться без клавиатуры);
  • корректный индикатор аккумулятора;
  • корректное срабатывание спящего режима при закрытии/раскрытии клавиатуры-чехла;
  • работоспособный звук из коробки (кто сталкивался с проблемами в других устройствах, тот поймёт какая это боль).

Может это сейчас кажется «ничего особого» (сам до этого давно не следил за состоянием х86 планшетов на сабже), но раньше для подобных вещей мне приходилось читать тонны инфы чтобы завести тач на похожих устройствах, с применением патчей на определённые версии ядер, а ещё обязательно на отдельном ПК искались и качались дрова на wi-fi и синезуб… в общем не верится, что просто установил и работай. Я понимаю, что чисто статистически сейчас будет некоторая перекличка ненужнистов и/или даэтожговнополнецов, но всех адекватных хочу поздравить с очередным человеческим моментом системы по отношению к пользователю. На самом деле лично я не очень часто такое наблюдал. Поставил и работай… хехе)…

По устройству:

  • ЦП Intel Core i5 10210y на 4 ГГц;
  • ОЗУ 12 ГБ;
  • ПЗУ AirDisk SSD 512 ГБ, устройство доступно для самостоятельной разборки, SSD M2 формата 2242 возможно заменить (в том же MS SP5 это была распайка банков на плате);
  • ГПУ интегрированный Intel UHD Graphics 617, 10 поколения;
  • видеовывод micro-HDMI стандарта 1.4 на 4K 60 Гц;
  • экран со сторонами 3:2 на 12”, IPS 2160 х 1440, мультитач, 340 NIT;
  • активный стилус HiPen H7 на 4096 степеней нажатия (источник питания 1 АААА батарейка/аккумулятор);
  • TF-кардридер официально до 128 Гб;
  • WiFi: 2,4G/5G (802.11a/ac/b/g/n);
  • Bluetooth 4.2;
  • аккумулятор на 38 Вт.Ч (7,6 В/4500 мА);
  • помимо стандартного способа зарядки через блок питания, имеется возможность работы/зарядки от любого устройства, поддерживающего PD протокол с мощностью не менее 30 ватт (для этого брал дополнительно банк Romoss Sense 6PS Pro на 20000 mAh/30 ватт);
  • предустановленная ОС Microsoft Windows 11 Pro, если кому-то это важно;
  • габариты 292.19 на 207,89 на 9 мм, вес без клавиатуры ~810 грамм;
  • цельный корпус из алюминия;
  • маленькая плюшка в виде наклеенной защитной плёнки (чувствительность отличная);
  • а ещё планшет под линем не греется, в отличие от предыдущего MS SP5;
  • стоимость +/- 30000-35000 рублей за комплект «плашет + клавиатура/чехол + стилус + ОС».

Отдельно скажу, что он легко разбирается, модифицируется ОЗУ и M2-носитель, а так же возможно проведение модификации по установке дополнительных термопрокладок.

Справедливости ради стоит указать о явных минусах:

  • клавиатура без подсветки, и привыкнуть к этому тяжело;
  • ещё нет русификации клавиатуры – кому-то это будет в тягость;
  • мало портов, всего лишь 1 USB type-a и 1 универсальный USB type-c;
  • камеры 2 штуки (фронт и основа), качество ожидаемо хрень, но оно даже на дорогом MS SP5 всё было очень так себе;
  • вот, что реально не работает из коробки, так это мультитач, автоповорот и самое главное – правый клик на тачскрине. Хотя, автоповорот, возможно, где-то зарыт в настройках Cinnamon, и я просто сам пока не разобрался.

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

>>> Просмотр (2560x1731, 4816 Kb)

 , , , ,

NeTC
()

Временное рабочее (и не только) место

Галерея — Рабочие места

Корпус системного блока - MasterBOX NR200P от CoolerMaster в т.н. SFF (small form factor) исполнении. Габариты корпуса 376x185x292 мм. Вес около 8 кг в собранном виде без упаковки. Системник довольно удобен в транспортировке: помещается в сумку для тренировок, без вопросов проходит в ручной клади при перелетах.

Немного про начинку данного товарища:

Начну с главного компонента любого компьютера - блока питания. БП Seasonic Focus SGX на 650W с 80+ Gold сертификатом, модульный, форм-фактор SFX-L.

Материнская плата на B450 чипсете от Gigabyte, модель «I AORUS PRO WIFI». При выборе системной платы одним из критериев было наличие звукового чипа Realtek 1220 и поддержка WIFI5+BT не ниже версии 5.0. В итоге мать оказалась с довольно хреновым WIFI+BT чипом Intel AC9260, который был заменен на интеловский AX210.

Процессор Ryzen 5 5600X + башня be quiet! Pure Rock 2 c 4-мя тепловыми трубками.

Оперативная память Kingston KVR 2x32GB 3200Mhz.

Видеокарта MSI Ventus RTX 3060 12GB.

NVMe накопитель Samsung 970 EVO Plus 2TB произведенный 03.2023 со свежей прошивкой и контроллером Elpis (вместо Phoenix), который используется в старшей модели 980PRO.

«Перелётно-походный» монитор IIYAMA ProLite XUB2292HS-B1 (FHD, IPS, Flicker-free + Blue light reducer) с регулировкой по высоте/наклону/повороту.

Дешёвый графический планшет XP-Pen. Механическая клавиатура Ducky One 2 TKL. Мышь Smartbuy 334K. Микрофон HyperX SoloCast + вебка Logitech c270 для общения с коллегами и родственниками в Discord/Skype/Slack/Telegram. Игровой контроллер Xbox для покатушек и побегушек во всяких RDR2, DIRT Rally, GTA и прочих киберпанках. Беспроводные наушники Edifier W800BT Plus. Вроде всё.

P.S. Снято на кроссовок.
P.P.S. Внутренности человека машинки https://imgur.com/7QDZrSs

>>> Просмотр (1920x1086, 2978 Kb)

 ,

basilic
()

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

Форум — 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
()

Интервью с Дугласом Крокфордом - создателем JSON

Форум — Talks

Дуглас Крокфорд - американский программист, занимающийся разработкой с 80х годов, работал в компании Atari, на студии Lucasfilm, был основателем нескольких стартапов.

Известен созданием формата обмена данными JSON, разработкой линтера JSLint, минификатора JSMin, разработкой типа для представления десятичных чисел с плавающей точкой DEC64. Является участником комитета по стандартизации TC39, принимал активное участие в разработке спецификации ECMAScript 2015 (ES6). Автор нескольких книг по JavaScript.

Интервью на русском языке выложено на youtube-канале https://www.youtube.com/watch?v=WSqCpWYfTFU

Основные тезисы:
  • Программистом стоит быть только если вы любите программировать
  • Дуглас начинал свою карьеру в качестве разработчика видео-игр, но сам в игры не играет
  • JSON хорош тем, что он всегда останется таким, какой он есть. Но если бы Дуглас разрабатывал его сейчас, то он бы его еще больше упростил
  • TypeScript не нужен
  • Статическая и сильная типизация не нужна. Динамическая и свободная система типов дает больше выразительности, возможностей и экономит время
  • Дуглас не доволен множеством нововведений в JS и он пользуется только подмножеством языка, как всегда и декларировал. Ему не нравится реализация Promise и он считает сахар async/await лишним.
  • 20-ти летние сеньоры были всегда, даже во времена его молодости. Это не веяние моды
  • Он ничего не знает и никогда не слышал о таких компаниях как Тинькофф, Сбербанк, Авито и Яндекс
  • Тесты на знания алгоритмов при приеме на работу бесполезны. Программистов надо отбирать по примерам их кода.
  • Чтобы стать крутым нужно постоянно учиться

 

javascript
()

Очередная итерация рабочего места

Галерея — Рабочие места

Спустя почти год после прошлой (Очередная итерация рабочего места) итерации, кхм болезнь стала прогрессировать) :)

Компы:
- Макбук про 2020 жены
- мой thinkpad t470s(вне кадра)
- В роли стационара сейчас Dell T5600 с двумя Xeon E5-2690, 64гб рам и GTX 1060

IBM Model M вместо клавиатуры и Logitech g305 как мышь.
К компу подключен маленький (20w) усилитель NAD к которому подключены две Arcus TM65, управление громкостью всегда под рукой через крутилку на аудио интерфейсе (Komplete Audio 1), к нему же подключены уже древние Sennheiser HD598.

Мониторы стоят два, один 2k 34" LG второй fullhd 24" DELL 2415.

На столе виден свитч — удобно рядом держать что бы подрубать всякую мелочь вроде лаптопов, rpi и тд и Xbox One что бы изредка во что-то поиграть.

Веб камеру использую очень редко — по этому обычно она отключена и лежит на полке, сейчас стоит обычная какая-то логитек, в планах купить HDMI Capture девайсину что бы использовать вместо вебкамеры одну из m43 камер что валяются по дому.

Вне кадра еще Tower Сервер Dell PowerEdge T610 с х5650 и 48гб RAM.

Ну и да, сорри что срач, стихийно решил сфокать утром :)

P.S Более широкий кадр (больше срача видно) https://i.imgur.com/EUrMgxg.png

>>> Просмотр (2000x1335, 1501 Kb)

 

shuck
()

Требуются JS (Vue.js) и Python (DRF) разработчики

Форум — Job

Дано: есть проект, которому уже около года. Бекенд написан на богомерзком Django Rest Framework (используется последняя версия). Кому как, но мне он не нравится. Переписывать проект с использование нормальных фреймворков у меня нет желания + я не считаю это рациональным (главное чтобы работало). В качестве базы данных используется Postgres. Для деплоя Docker. Я поднял гитлаб, настроил автодеплой. Фронт написан на Vue.js, используется Bootstrap, Vue-Router, Vuex. Ищу адекватных и самостоятельных разработчиков с опытом от 1 года, можно начинающих, если есть какие-либо свои проекты. Никаких беседок с херками не будет, тестовых заданий тоже, если есть профиль на гитхаб хоть с какими-нибудь образцами кода либо придется немного побеседовать (со мной). Работа: постоянная, частичная занятость, почасовая. Работа полностью удаленная, работать можно в удобное время. Никаких совещаний, бюрократии. Оплата от 350 рублей в час. Выплата зарплаты раз в две недели на карту, налом, если родились или что-то забыли в Расчленинграде (СПб).

Требования для фронтовиков:

  • Знание Java Script, последних его возможностей (async/await, import/export, спреды, генераторы, классы и тд);
  • Умение пользоваться npm;
  • Знание Vue.js и экосистемы (Vuex);
  • Умение пользоваться препроцессорами (Pug, SCSS);
  • Знание HTML5/CSS.

Требование для бидонщиков:

  • Знание Python (в проде последний);
  • Опыт с Django/DRF (формальное требование);
  • Прочитать про пакетный менеджер Poetry;
  • Знание основ SQL, опыт с Postgres;
  • Быть пользователем Linux и уметь пользоваться терминалом.

Общие требования:

  • git, git-flow;
  • Быть доступным вечером по МСК;
  • Поставить Discord.

Писать на %username%@gmail.com либо можете попробовать написать мне в личку на этом сайте (не знали, что на лоре есть личка?).

В письме указывайте опыт, часовой пояс, свой стек чем владеете и ссылку на профиль на гитхаб/гитлаб, либо ссылки на реализованные проекты с описанием что там делали. Пол, национальность, гражданство не интересуют. Работа не для вчерашних выпускников анскиллбокса (люди которые не осили самостоятельно прочитать Dive Into Python или повыполнять примеры с javascript.ru не нужны), предпочтение самоучкам. Те кто ранее программировал на других языках и хочет чему-то научиться на реальном проекте тоже подходят.

Актуально до 30.04.2021

 , , ,

tz4678
()

Для чего нужен Timer hack thread в майнкрафте?

Форум — Development

Майн - вещь со слабо развитой многопоточностью для такого размера софтины, разных потоков в нём всего штук 10. Один из них - «Timer hack thread» - визуально не делает примерно ничего: картинка.
Судя по найденному в интернетах, код у сабжа примерно такой - поток просто стартует и висит в вечном ожидании. Для чего нужен такой хак? Что-то, связанное с планировщиком? Как может одиночный спящий поток внутри игры, жрущей 3 гига памяти и 2 ядра полностью, влиять на что-то?

 , ,

izzholtik
()

Pi-KVM - проект открытого IP-KVM на Raspberry Pi

Новости — Hardware and Drivers
Pi-KVM - проект открытого IP-KVM на Raspberry Pi
Группа Hardware and Drivers

Состоялся первый публичный релиз проекта Pi-KVM: набора софта и инструкций, которые позволяют превратить Raspberry Pi в полностью функциональный IP-KVM. Это устройство подключается к HDMI/VGA и USB-порту сервера, чтобы управлять им удаленно, независимо от операционной системы. Можно включить, выключить или перезагрузить сервер, настроить BIOS и даже полностью переустановить ОС с загруженного образа: Pi-KVM умеет эмулировать виртуальный CD-ROM и флеш-накопитель.

Количество необходимых деталей, помимо самого Raspberry Pi, минимально, что позволяет собрать его буквально за полчаса, а общая стоимость окажется в районе $100 даже в самой дорогой конфигурации (в то время как многие проприетарные IP-KVM при меньшей функциональности будут стоить от $500 и выше).

Основные возможности:

  • Доступ к серверу через веб-интерфейс обычного браузера или VNC-клиент (никаких Java-апплетов или флеш-плагинов);
  • Низкая задержка видео (порядке 100 миллисекунд) и высокий FPS;
  • Полная эмуляция клавиатуры и мыши (включая светодиоды и прокрутку колесиком/тачпадом);
  • Эмуляция CD-ROM и флешки (можно загрузить несколько образов и подключать их по мере необходимости);
  • Управление питанием сервера с помощью ATX-пинов на материнской плате или через Wake-on-LAN; поддерживается IPMI BMC для интеграции в существующую сетевую инфраструктуру;
  • Расширяемые механизмы авторизации: начиная от обычной по паролю и заканчивая возможностью использования единого сервера авторизации и PAM.
  • Широкая поддержка железа: Raspberry Pi 2, 3, 4 или ZeroW; различные устройства видеозахвата;
  • Простой и дружественный тулчейн, который позволяет собрать и установить ОС на карту памяти Raspbery Pi всего парой команд.
  • И многое другое.

Также готовится к релизу специальная плата расширения для Raspberry Pi 4, которая реализует все описанные функции, плюс множество других возможностей (подробности на GitHub). Открытие предзаказов ожидается в четвертом квартале 2020 года. Стоимость ожидается в районе $100 или меньше. Подписаться на новость о предзаказе можно тут.

>>> Подробности на GitHub

 , , , ,

liksys
()

Темный i3

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

Решил перекатиться с арча на дженту, заодно обновил свой вырвиглазный i3.

  • ФМ - ranger
  • App manager - dmenu
  • Editor ОС - emacs
  • ШГ - Liberation Mono
  • Colors - dracula

P.s. Как в emacs сделать отступы от краев окна? Выглядит просто немного не очень.

>>> Просмотр (1920x1080, 349 Kb)

 , , ,

RedMaun
()

Стиль кода

Форум — Development

Смотрю на официальный пример библиотеки mgo : https://labix.org/mgo

package main

import (
        "fmt"
	"log"
        "gopkg.in/mgo.v2"
        "gopkg.in/mgo.v2/bson"
)

type Person struct {
        Name string
        Phone string
}

func main() {
        session, err := mgo.Dial("server1.example.com,server2.example.com")
        if err != nil {
                panic(err)
        }
        defer session.Close()

        // Optional. Switch the session to a monotonic behavior.
        session.SetMode(mgo.Monotonic, true)

        c := session.DB("test").C("people")
        err = c.Insert(&Person{"Ale", "+55 53 8116 9639"},
	               &Person{"Cla", "+55 53 8402 8510"})
        if err != nil {
                log.Fatal(err)
        }

        result := Person{}
        err = c.Find(bson.M{"name": "Ale"}).One(&result)
        if err != nil {
                log.Fatal(err)
        }

        fmt.Println("Phone:", result.Phone)
}

Зачем делают так?

        result := Person{}
        err = c.Find(bson.M{"name": "Ale"}).One(&result)
        if err != nil {
                log.Fatal(err)
        }

Почему не так так?

        result := Person{} 
        result, err = c.Find(bson.M{"name": "Ale"}).One()
        if err != nil {
                log.Fatal(err)
        }

В чем смысл?

 ,

rubefiya
()

Android, зонды, безопасность, СПО, паранойя

Форум — Mobile

Disclaimer1: Проблема с данным маном в том, что местной аудитории, например, плевать на ведроид, а тому же 4pda наплевать на фанатичный СПО и избавление от зондов. Рискнем и запостим здесь.

Disclaimer2: Все описанное является суммой наклопленного мной опыта вперемешку с моим личным мнением. Пишите комменты, будем улучшать-дополнять-чинить

Уровень прошивки

Практически все стоковые прошивки на сегодняшний день идут с gapps (Google Apps). Что же это за зверь:

  • Любое приложение (даже не требуещее никаких прав) может с ним общаться.
  • Gapps имеют доступ к сети.
  • Gapps позволяют Google в любой момент установить/удалить с вашего телефона любое приложение.
  • Gapps постоянно держат открытое сетевое соединение с серверами гугла (для нужд push-нотификаций).
  • Gapps — нереальное огромное количество кода. Стоковый образ (если верить opengapps) будет весить около 700Мб.

ААААА, как это удолить этот рассадник потенциальных уязвимостей и жора батарейки?

Сложный вопрос, на самом деле. Есть три варианта действий:

  • Новый и простой, и профитный способ. Появилась прошивка «LingeageOS for microG». Если ваше устройство поддерживает её, просто ставьте её и наслаждайтесь. Fdroid+MicroG+пуши+signature spoofing+unlp+OTA-обновления из коробки
  • Самый простой способ. Если ваш андроид достаточно старый (на достаточно новом не удастся отключить самый главный компонент gapps), из Настройки->Приложения отключите все, связанное с Google (особенно, Google Service Frameworks):
    • root не требуется;
    • push-уведомления работать не будут;
    • на устройстве останется огромная и потенциальная куча гугловского дерьма, хоть и менее активная.
  • Способ посложнее. Накатываем root и вручную удаляем все пакеты и библиотеки, требуемые гуглу:
    • требуется root и разблокировка загрузчика;
    • минимальное количество зондов без смены прошивку на полностью опенсорсную;
    • увы, в последних версиях андроида вам, скорее всего, придется оставить несколько пакетов (вроде GoogleSetupWizard), иначе система не загрузится.
  • Самый профитный способ. Ставим альтернативную прошивку (или мотаем до следующей секции и покупаем устройство с пгавославной прошивкой без зондов из коробки). Наслаждаемся.
    • Требуется root, разблокировка загрузчика, шаманство и местами смена устройства.

Я тут начал наслаждаться, но вдруг понадобились пуши, да и Uber требует зонды. Что делать?

Вдоль

Попробовать поставить MicroG, свободную реализацию клиентской части гуглозондов. Самая больная часть: помимо собственно MicroG вам нужно будет запилить себе Signature Spoofing. Коротко говоря, это обход защитного механизма, не позволяющего прикидываться gapps'ами кому попало. Для этого необходимо либо патчить прошивку при помощи Xposed/Needle/Haystack, либо использовать совместимую прошивку (смотрите список, по ссылке, их стало очень много). Все подробности по той ссылке.

MicroG позволяет завести пуши, сервисы геолокации (со множеством бекендов, ищите nlp location backend в f-droid) и большое количество софта (когда я в последний раз тыкал, работали даже покемоны).

Уровень софта

Без гуглозондов жить есть!

https://f-droid.org/ — каталог с опенсорсным софтом.

Предлагаю вам следующий список приложений, способный заменить типичный набор проприетари из типичной вендорской прошивки. Аналогичный список: https://github.com/Datenschutz/awesome-FOSS-apps

  • Yalp store. Позволяет ставить приложения из Google Play (да, иногда это все-таки нужно), в том числе через общий аккаунт. Не требует зондов.
    • Позволяет так же выкачивать купленные приложения (но не факт, что они заработают: они при работе могут проверять лиценизию через gapps, возможно, тут может помочь microg).
    • Альтернативно, воспользуйтесь моим решением для выкачивания софта прямо в свой репозиторий f-droid.
  • K-9 Mail. Почтовый клиент.
  • DAVDroid. Синхронизация контактов с owncloud/nextcloud.
  • Gadgetbridge. Синхронизация с умными часами и браслетами (pebble, mi band и некоторые другие)
  • NewPipe. Клиент для YouTube. Умеет воспроизводить видео в фоновом режиме как музыку, загружать файлы.
  • Odyssey. Просто материальный музыкальный плеер, но в последнее время очень нужный, т.к. вендоры повадились заменять в прошивке плеер на Google Music.
  • Набор простых и красивых затычек для различных приложений — simple mobile tools.
  • Файрволл AFWall+ файрволл (имеет Xposed модуль для расширения возможностей)
  • Amplify Battery Extender.
  • DNS66.
  • KDE Connect.
  • OpenKeychain.
  • OpenVPN FOSS.
  • Картография и навигация: Maps.Me (приз симпатий от комментаторов), OsmAnd (приз глюкалова от меня, но щито поделать).
  • Список стал очень жирным. Пока новые элементы не добавляю, думаю над критериями включения в него софта.

Если вы будете ставить проприетарный софт, помните о следующем:

  • Желательно зайти в настройки приложения и вручную запретить доступ ко всем ненужным разрешениям, дабы не промахнуться в нужный момент.
  • Отключите приложению фоновый доступ к сети (если у вас свежий Android) или вообще доступ к сети (если у вас стоит файрволл).
  • Малвари вроде «Сбербанк Онлайн» вообще лучше создать отдельный аккаунт на телефоне.
  • Яндексовским приложениям нельзя давать доступ к местоположению. Вообще никаким — все сливают.
  • Проприетарь может читать названия аккаунтов, даже не принадлежащих ей. Называйте их максимально обще, т.е. вместо «sportloto@syncserver.com» делайте «contacts sync».

Права суперпользователя

Читая васянский 4pda вы часто можете увидеть «ну и накатываем SuperSU.zip». Не делайте этого. Есть прекрасный опенсорсный superuser, совместимый со свежими ведроидами. Нужно лишь поставить zip (используйте beta на android >=6) и apk.

Если ваша прошивка основана на LineageOS, то все еще проще. Где-то рядом с загрузками в директории extra должен валяться zip, включающий встроенные и интегрированные в прошивку права суперпользователя. Профит.

XPosed

XPosed — опенсорсный фреймворк для низкоуровневых хаков.

  • Не доступен для свежих андроидов.
  • Позволяет заставить не увидеть root всякие «Сбербанки Онлайн».
  • Имеет кучу некрофильских и неопенсорсных модулей. Осторожнее.
  • Легким движением руки может окирпичить прошивку.
  • Полезные модули:
    • PlayPermissionsExposed
    • YouTubeAdAway (но все-таки советую использовать NewPipe, LightTube, WebTube, SkyTube или MiniTube. Тысячи их!)
    • XPrivacy — по своей сути это «песочница» для любого, даже системного, ПО. Xprivacy применяет правила ко всему ПО. Эти правила можно создавать самому или качать готовые. То есть, к примеру, если установлено нечто местами полезное, но попутно показывающее свою рекламу, Xprivacy можно просто запретить этому ПО доступ в сеть. Или если очередная косынка хочет интернет, список контактов, доступ к микрофону и камере, то с Xprivacy это легко и просто запрещается конкретно этой гадости и она даже будет при этом работать не имея доступа к тому, что ей будет запрещено.

Уровень устройства

Тут тоже всё плохо. Выбор:

  • Рандомный флагман с хорошей поддержкой LineageOS (CyanogenMod). Поддержка, вероятно, будет хорошей, секьюрити-апдейты будут приходить долго (например, для htc desire hd цианоген обновлялся до самого конца — декабря 2016 года), но вот версия андроида, скорее всего, застрянет. Обычно дорого. Можно искать по списку официально поддерживаемых линейкой устройств.
  • OneplusOne / Wileyfox Swift 1. Поставлялись с CyanogenOS, имеют хорошее коммьюнити разработчиков, будут долго обновляться в софтовой части. В железной — все плохо. 1+1 уже довольно старый и хорошие запчасти купить сложно. Wileyfox изначально имел несколько проблем, в т.ч. слабенькую батарейку. Компенсируется ценой, местами можно найти новое в продаже. Довольно бюджетно.
  • Fairphone 2. Очень дорого, очень хорошо. Но это в теории, как там на практике — хз, не пользовался, отпишитесь.
  • Рандомный телефон с официальным портом los. Сойдет, главное, чтобы фатальных багов в порте не было. Долгой жизни порта не ждите.
  • Рандомный телефон с васянским los. Совсем плохо, но если телефон уже куплен, ничего не поделать.
  • Рандомный телефон с васянским ведроидом, основанным на стоковой прошивке / без исходников / проч. Лучше такое не ставить, а подготовить прошивку самостоятельно, смотрите выше и ниже.

Следует также заметить, что:

  • Существует несколько устройств с CyanogenOS, без доступной Cyanogenmod. В комплекте идут сервисы microsoft, gapps и много разной другой блотвари. Исходники обычно зажабены. Пример устройств: Wileyfox Spark, Wileyfox Swift 2(|+|x).
  • Выбирая устройство, так же загляните на его страничку на 4pda. Ресурс хоть и васянский, но очень полезный: можно увидеть список доступных прошивок, FAQ по типичным проблемом, список самых вероятных заводских проблем (которые можно проверить еще перед покупкой).

Уровень физической безопасности

Для чего нужна физическая безопасность:

Допустим, ваш девайс попал в руки злоумышленнику.

  • Во-первых, вы хотите, чтобы он не имел никакой возможности прочитать важные файлы с вашего телефона (кейз ФБ-1).
  • Во-вторых, вы хотите узнать, не добавил ли он кейлоггеров в ваш загрузчик (кейз ФБ-2).

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

Я бы на вашем месте на это не рассчитывал.

  • Аппаратные защиты часто не надежны и опираются на принципах безопасности через неясность, в них переодически находят уязвимости
  • На прекрасных, казалось бы, телефонах Xiaomi вы не сможете разблокировать загрузчик, если с Xiaomi что-либо случится: разблокировка производится с участием интернета при помощи (работающей только под Windows) программы, требующей их аккаунта и доступа к интернету. У HTC похожая ситуация, но в несколько более мягких условиях.
    • Скорее всего, это доставит неудобств именно вам, а не злоумышленнику
  • Всякие проприетарные системы полнодискового шифрования тоже не выдерживают проверок специалистами.

Выводы:

  • Для хранения ваших секретных файлов в безопасности от ФБ-1 используйте, к примеру, Secrecy.
  • «Таблеток» от ФБ-2 на сегодняшний день нет. Промбируйте телефон при помощи скотча и волос и не расставайтесь с ним.
  • Лучше все-таки не хранить никакие важные данные на телефоне.

Модули сотовой связи

В каждом мобильном телефоне, почти каждом планшете есть GSM-модуль мобильной связи. Это —

  • Фактически отдельное устройство, обычно имеющее максимальный доступ к процессору, памяти и переферии. Зачем это делают — черт знает. Возможны исключения, нужно уточнять в каждом отдельном случае.
  • Идентифиционный модуль, который постоянно разговаривает с воздухом.
  • Куча проприетарного кода, который никто не анализировал. В тех немногих случаях, когда анализировали — находили кучу всего интересного.
  • Работает это все на протоколах, местами разработанные в 80-х годах.

Так что тут все настолько плохо, что я даже предложить ничего не могу. Страдайте.

Вроде, все, что хотел сказать. Выдыхаю

 , , , ,

derlafff
()

Запилил PNG->[BB] транслятор. Ругайте

Форум — Talks

 , ,

Edible
()

Веселая музычка из /dev/urandom

Форум — Development
cat /dev/urandom | hexdump -v -e '/1 "%u\n"' | awk '{ split("0,2,4,5,7,9,11,12",a,","); for (i = 0; i < 1; i+= 0.0001) printf("%08X\n", 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i)) }' | xxd -r -p | aplay -c 2 -f S32_LE -r 16000

Source: http://blog.robertelder.org/bash-one-liner-compose-music/

 , ,

Oxdeadbeef
()

Десктоп модератора-бездельника

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

Переехал на работе с венды на линупс, никаким определенным дистрибутивом корпоративная политика не ограничивает, поэтому поставил федору. Венда правда все равно осталась в виртуалке в местном ESX, так как не все нормально работает под лялихом. К слову Evolution удалось подружить с Exchange, но Outlook все равно удобнее

Fedora 22, Gnome 3.16

Firefox и Steam

Gnome Terminal и Nautilus

>>> Просмотр (3600x1080, 2655 Kb)

 , , ,

JB
()

Новые плюшки Xfce

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

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

Левая и правая панели автоматически скрываются. Правая панель нужна для того, чтоб смотреть на ней часы, календарь, показания индикаторов - нагрузки, температуры железа, чтоб использовать 3 особые кнопки быстрого запуска и чтоб перетаскивать окна с одного на другой рабочий стол (даже xfdashboard такого не позволяет, а в гноме вроде можно так. Хоткеи я для этого осилил, но и мышкованием пользуюсь. В некоторых ОС типа винды, Deepin - панели и по круче сделаны - современно молодежно).

В нижней панели справа первый значок - это xfce4-linelight-plugin - вызывает окно поиска файлов и ищет по мере набора названия файла во всех папках. По двойному щелчку по найденному файлу или по категории - открывает файл или папку /tmp/xfce4-linelight-plugin в Thunar'e со ссылками на найденные файлы.

Левее значок - это HotCorner - делает в Xfce углы рабочего стола активными - горячие углы. - Можно вызвать xfdashboard, показать рабочий стол, запустить заставку, выключить монитор или запустить какую-то свою команду. У меня при наведении курсора в левый низ открывается меню Whisker (иконку «Избранное» я так и не нашел), а при наведении в правый низ - пока что показывает рабочий стол, только я не знаю зачем.

Слева в нижней панели после меню Whisker идет Командная строка Verve - запоминает 25 команд, но может видимо больше. sudo dolphin запустить не может видимо из-за sudo - окошко для введения пароля не выскакивает даже. Но обычные команды может.

Вместо terminator'a у меня теперь при нажатии F12 выпадает выпадающий xfce4-terminal. При потери фокуса он может прятаться, а может не прятаться, если кнопку одну нажать. С таким терминалом стало веселее жить даже.

OS: Mint 17 qiana
Kernel: i686 Linux 3.13.0-24-generic
Packages: 3124
Shell: bash 4.3.11
Resolution: 1920x1080
DE: XFCE4
WM: Xfwm4
WM Theme: greenWindows
GTK Theme: FlatStudioLight [GTK2]
Icon Theme: Emerald
Font: Helvetica Neue 9
CPU: Intel Pentium 4 CPU 3.00GHz @ 3GHz
GPU: GeForce GT 430
RAM: 899MB / 2015MB

Вот такие пироги, кто что скажет, посоветует?

>>> Просмотр (1920x1080, 528 Kb)

 ,

votafak
()

KVM для игр. мануал

Форум — Desktop

Здравствуйте. Кто из вас настраивал квм для игр? поделитесь полными мануалами.
Спасибо.

 , ,

darkenshvein
()

Бесплатные идентификаторы USB для открытого аппаратного обеспечения

Новости — Hardware and Drivers
Группа Hardware and Drivers

Несмотря на то, что в 2013 году консорциум USB-IF отказался выделить диапазон идентификаторов (VendorID) для открытых проектов, энтузиастами была найдена лазейка.

При определении USB-устройств операционные системы использует 16-разрядные идентификаторы VendorID (VID) и ProductID (PID). В частности, невозможно одновременно использовать два устройства с одинаковыми идентификаторами, если им требуются разные драйверы.

Правила получения диапазона строго запрещают передачу идентификаторов продукта в любой форме, а само получение обходится в несколько тысяч долларов (за один диапазон ёмкостью аж в 65535 PID, что приводит к очевидному выводу — большая часть полученных идентификаторов лежит у владельцев мёртвым грузом). Но эти правила не распространяются на диапазоны, выданные в давние времена, ещё до образования USB-IF. Компания InterBiometrics, владеющая именно таким диапазоном (VID 1209), за всё время использовала лишь 6 идентификаторов из 65535. Поэтому она оставила себе «про запас» PID с 0×1000 по 0×1FFF, а остальные (0×2000-0xFFFF) передала проекту pid.codes, благодаря чему, любое открытое аппаратное обеспечение теперь может получить свой уникальный идентификатор.

Процедура описана здесь. Условиями получения являются: распространение под свободной лицензией, наличие публичного репозитория и, естественно, интерфейса USB.

>>> Подробности

 , , ,

anonymous
()

Книги по дискретной математике и дискретной вероятности

Форум — Development

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

 ,

GreenBag
()