LINUX.ORG.RU

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

Чем плохо стабилизированное ПО?

Форум — Talks

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

Вот сделали gnome2, неплохой десктоп. Ради чего было его объявлять устаревшим и всем предлагать перейти на gnome3?

 

cvs-255
()

Управление окнами в Openbox

Форум — Desktop

Кто знает, можно ли в конфигирационном файле Openbox задать переключение окон в зависимости от порядка их открытия? Например, в браузере Firefox порядок такой - 1-ая вкладка это Alt+1, 2-ая – Alt+2 и так далее.

Хотелось бы подобное настроить для рабочего стола.

 , ,

bagdanchik
()

Локали, кодировки

Форум — Development

Привет. У меня просто каша в голове на эту тему. Из справочника:

All file I/O operations performed through std::basic_fstream<CharT> use the std::codecvt<CharT, char, std::mbstate_t> facet of the locale imbued in the stream. 

std::codecvt<char, char, std::mbstate_t> 	identity conversion
std::codecvt<char16_t, char8_t, std::mbstate_t> 	conversion between UTF-16 and UTF-8 (since C++20)
std::codecvt<char32_t, char8_t, std::mbstate_t> 	conversion between UTF-32 and UTF-8 (since C++20)
std::codecvt<wchar_t, char, std::mbstate_t> 	conversion between the system's native wide and the single-byte narrow character sets 

Из прочитанного создаётся ощущение, что все специализации fstream (кроме wchar_t и char) должны конвертировать в utf-8, а wchar_t в narrow char.

Что показывает практика: C utf-32 вроде так и происходит - на выходе в файле utf-8. А вот поведение wchar_t вообще не сходится с документацией. Он конвертирует не в narrow char, а в кодировку локали:

    basic_ofstream<wchar_t> f("22");
    locale l(f.getloc(), new std::codecvt_byname<wchar_t, char, mbstate_t>("ru_RU.CP1251"));
    f.imbue(l);
    f << L"й";

на выходе кс1251. Если локаль не указывать, то записи вообще нет. Пусть так, может даже удобно, но я вообще не увидел описание такого поведения в доках. Может это гцц специфично и вообще нестандартно? И кросплатформенно использовать wfstream для перекодировок не стоит. Ещё интересно можно ли во время выполнения узнать доступные локали (стд способами)? я не нашёл.

 

pavlick
()

моё новое*4 фидо - возрождение

Форум — Talks

после почти трёхлетнего перерыва таки был выбран оптимальный формат жизни моего нового фидо - твитерообразная эха, в общем фидо№2. по сравнению с ним, осуществлена полная поддержка lite-версии (а то как-то я в kolibri-os не смог залогиниться в неё, хотя читать сообщения мог)

адрес прежний: http://gk11.ru или https://gk11.ru. после того, как опеннет на https полностью перешёл - это последний оплот http :)

исходные коды https://github.com/gk11-ru/gk11

Official:

Проект gk11 - это сервис распределённого обмена сообщений в виде эхоконференций. Для обмена поддерживаются plain-text api и json. Возможна так же подписка в режиме только для чтения через RSS.

Принцип построения сети схож с фидошным, но упрощён.

Сервер gk11.ru - это одна из станций такой сети. Она может меняться сообщениями с любой другой станцией.

Обычно станция имеет тематику. Тематика этой станции - OpenBSD, мой личный блог и фидошный юмор.

Любой юзер может зарегистрироваться на данном сайте, введя логин и пароль, и общаться на нём. Поддерживаются https и http, html5 и html4, и даже plain text. Никто не уйдёт обиженным, совместимо со всеми. Хотя нет. Не поддерживаются Gopher и KOI8-R... пока не поддерживаются.

 

buratino
()

Посоветуйте, что поставить на старый компьютер i686 архитектуры процессора?

Форум — Desktop

Компьютер не мой, соседа, требуется доступ к интернету, скайп по возможности, youtube, ну и в принципе всё. Дистрибутив под 32 битную архитектуру уже в принципе сложно найти, почти все перешли исключительно на 64 бит и на arm. Но всё же. Хоть что-нибудь адекватное, шустрое, не с перегруженным простым меню. И желательно чтобы пакеты были компактные, интернета мало в месяц.

 ,

serhey
()

Переход на Линукс + набор ПО для второпня

Форум — General

Конфигурация компа

Процессор: Pentium II 266 Mhz.

ОЗУ: 256 Мб.

Винт: 8 Гб.

Видео: S3 Trio64V2/DX 4 Mb + 3dfx Voodoo 2.

Звук: Creative Sound Blaster AWE64.

Программы

Прямо сейчас я набираю это сообщение в браузере Opera 12.02 с компьютера на Windows 98 SE + KernelEx. Необходимо перейти на легкий (в плане потребления ресурсов компа) Линукс и найти аналоги виндовым программам.

Microsoft Office 97 (требуется любой легкий верстальщик документов и легкая программа для небольшой работы с таблицами типа Excel).

Opera 12.02 (от браузера требуется читабельный показ форматированного гипертекста с картинками и как можно меньшее потребление ОЗУ + процессора).

Sumatra PDF (читалка PDF, DJVU).

Bred (легкий текстовый редактор).

XMPlay (легкий муз. плеер, несильно нагружающий процессор).

Popcorn 1.87 (мыло).

FAR Manager (текстовый файловый менеджер с двумя или более столбцами).

WinHTTrack (быстро скоммуниздить сайт на винт).

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

Хипстёров и прочих недалеких, желающих предложить поменять комп, способеный хорошо выполнять все необходимые задачи, прошу воздержаться от сообщений в данной теме. Тема не для вас. Тчк.

 , ,

chaynik
()

список легких сайтов

Форум — Talks

Есть планшет B1-a71 с 512 ram, mtk 8317t 2 core 1.2 ghz . Дайте,пожалуйста, список легких сайтов разной направленности. Выбрасывать не предлагать. Хорошо работает linux.org.ru

 ,

Enter
()

Переехал на кучу утилит переписаных на Rust

Форум — Talks

Тег «угадай автора по заголовку».

Q: Зачем?

A: Ради эксперимента, повысится комфорт пользования терминалом или нет.

Q: Причем тут Rust?

A: Ни при чем, но из-за нативности и отсутствия GC на нем толпа людей побежала переписывать что ни попадя. С таким же успехом можно было бы и npm install, но тормозило бы. Ближе opam install или go get

Теперь мой терминал по истине свистит и пердит. Даю список если кому надо.

  • alacritty - GPU ускоренный терминал.
  • alias cat=bat- cat с хорошей подсветкой синтаксиса и нумерацией строк и пейджером.
  • broot - навигатор по каталогам, который одновременно показывает дерево, но адекватно себя ведет с громадными каталогами, показывая их по чуть-чуть.
  • dust - утилита для исследования места занимаемого каталогами, сортирует деревья файлов начиная с самых больших каталогов.
  • alias ls="exa -l --group-directories-first" ls с хорошими дефолтами, tree встроено.
  • rip Утилита для удаления файлов с разными удобными фичами и восстановлением
  • hors "How do I parse float in javascript?" - находит короткий ответ в интернетах и отвечает. Чуть лучше работает чем оригинал - howdoi.
  • mdcat - cat для Markdown, для отображения удобочитаемой формы документа. Ссылки делает сносками.
  • alias grep=rg - очень быстрый и удобный grep
  • starship - shell command prompt, показывает кучу полезной информации в зависимости от контекста, например git branch если в репозитории, версии софта и ЯП если в каталогах с сорцами, hostname если зайти по ssh.
  • tokei - сборщик статистики по ЯП и строкам кода в деревьях исходников.
  • hyperfine - бенчмарк утилита, time на стероидах.
  • tldr- сокращенная версия man, показывает как чем пользоваться в примерах, а не выдавая полную справку. Страницы поддерживаются сообществом для громадного количества утилит. Изначальный проект - https://tldr.sh/
  • topgrade - универсальная утилита обновления. При запуске пытается обновить все что видит - системные пакеты, vim пакеты и так далее.
  • runiq - быстрый sort | uniq с разными алгоритмами внутри.
  • fd - быстрый и удобный find, удобно чтобы не вспоминать заковыристые ключи
  • fselect - поисковик файлов с SQL-like языком запросов
  • sd - как sed, только интуитивный
  • i3status-rs - Сразу i3status+i3blocks. Плюс батарейки к i3blocks, которые как я понял автор решил убрать.
  • onefetch - Вроде neofetch, но для сорцов. Просто запустите эту штуку с корня любого git репа, клонированого локально
  • wasmtime - JIT runtime для WASI стандарта. Пускалка WebAssembly приложений.
  • scriptisto - «shebang-интерпретатор» для компилируемых языков, прозрачно собирает и кеширует нативные сборки кода

Что не зашло совсем

Все вышеперечисленое ставится через cargo install <package_name> (кроме alacritty), название смотрите на страницах. Сам cargo и Rust ставятся через

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

P.S. Призываю остальных взять ЯП вашей секты и поставить такой эксперимент и отписаться. Да-да, расскажите как вы пользовались ls на Java. Пользователей emacs прошу не беспокоить

 , , ,

vertexua
()

Состоялся релиз дебаггера скриптов на bash'е - bashdb-4.4-1.0.0

Форум — Talks

Сабж. Изменения - https://fossies.org/linux/bashdb/NEWS .

Эта версия требует bash версии 4.4. С 5-м bash'ем эта версия не работает.

Скачать: https://sourceforge.net/projects/bashdb/files/bashdb/4.4-1.0.0/bashdb-4.4-1.0...

 ,

saahriktu
()

Динамические библиотеки, конспект

Форум — Development

Привет. Так вышло, что пришлось основательно разобраться в теме и пока память свежа изложил всё в виде небольшой памятки. Удобно по прошествии некоторого времени освежить память прочитав небольшой конспект. Вообще, по-хорошему, блог что ли какой завести )). Просьба - не флудить, ссылки/комментарии/дополнения по теме приветствуются. ЗЫ: подразумевается, что либы -fpic

1. Утилиты readelf, objdump. Читать man elf, man ld.so. N в именах структор
   подразумевает 32 или 64.
2. Структура ELF файла:
   1. заголовок (смещение 0, struct ElfN_Ehdr). Readelf::ELF Header
   2. program header table (массив struct ElfN_Phdr). Содержит информацию о том
      как отображать секции в память процесса. Readelf::Program Headers
   3. section header table (массив struct ElfN_Shdr). Readelf::Section Headers
3. link_map   
3.1. Загруженные в память модули попадают в список (массив) из struct link_map.
     Списков может быть много, каждый список - "пространство имён". Для
     загрузки модулей в неглобальный список (создание нового) используется
     dlmopen().
3.1. Получать link_map модуля через dlinfo() или dladdr1():
     [--code--]
     #define _GNU_SOURCE
     #include <link.h>
     #include <dlfcn.h>
     #include <stdio.h>
     int main()
     {
        static char addr_in_mod;
        Dl_info __info;
        struct link_map *lm;
        if(dladdr1(&addr_in_mod, &__info, (void*)&lm, RTLD_DL_LINKMAP) != 0) {
           printf("link_map:\n");
           struct link_map *i = lm;
           for(; i->l_prev != NULL; i = i->l_prev);
           for (; i != NULL; i = i->l_next)
              printf("addr diff=%p  name=%s%s",(void*)i->l_addr,  i->l_name, i==lm?"  <--cur\n":"\n");
        }
     }
     //output:
     //link_map:
     //addr diff=0x41f000  name=  <--current module
     //addr diff=0xb7fc4000  name=linux-gate.so.1
     //addr diff=0xb7fa3000  name=/lib/libdl.so.2
     //addr diff=0xb7dc5000  name=/lib/libc.so.6
     //addr diff=0xb7fc6000  name=/lib/ld-linux.so.2
     [/--code--]
3.2. Во время переразмещений символ ищется в модулях указанных в link_map
     списке начиная от начала списка т.е. порядок важен, "gcc -ls1 -ls2"
     libs1.so находится в списке раньше, чем libs2.so.
3.3. При добавлении библиотеки через LD_PRELOAD, она попадает перед остальными
     разделяемыми библиотеками в глобальном link_map списке.
3.4. Опция RTLD_DEEPBIND для dlopen - собственные символы модуля приоритетнее
     символов из вышестоящих в link_map списке модулей.
     Собственные символы загружаемой библиотеки содержат:
      1. символы из самой загружаемой библиотеке
      2. символы из библиотек, которые были слинкованы с загружаемой из
         командной строки (у первых приоритет выше).
3.5. При загрузки через dlopen, библиотеки добавленные с флагом RTLD_GLOBAL
     имеют приоритет над RTLD_LOCAL, не смотря на то, что находятся в link_map
     списке позже (не относится к получению void f() через dlsym()). Например:
     [--code--]
     // предоставляет void f(), ссылается на void f().
     dlopen("lib1.so", RTLD_LOCAL);
     // предоставляет void f().
     dlopen("lib2.so", RTLD_GLOBAL);
     // при ленивом переразмещении, lib1.so будет ссылаться на lib2.so::f().
     [/--code--]
4. RTLD_GLOBAL - символы из загруженного модуля будут участвовать в
   переразмещениях для заргуженных в дальнейшем библиотек. RTLD_LOCAL - не будут.
   Если lib2.so линкуется с lib1.so через командную строку
   "gcc -fpic -shared -l2 s.c -o lib1.so", то видимость символов из lib2.so
   наследуется от видимости символов из lib1.so:
   [--code--]
   dlopen("./lib1.so", RTLD_LAZY|RTLD_GLOBAL);    // символы из lib2.so глобальные
   dlopen("./lib1.so", RTLD_LAZY|RTLD_LOCAL);     // символы из lib2.so локальные
   [/--code--]
   Если lib2.so подгружается из lib1.so через dlopen(), то видимость символов
   из lib2.so контролируется флагом dlopen() при загрузке lib2.so. Способ
   загрузки (через командную строку или dlopen) и флаг для dlopen при
   загрузки lib1.so значения не имеет.
5. Переразмещение (relocation).
5.1. Переразмещение - процесс соединения символьной ссылки с символьным
     определением.
     Переразмещение: ленивое - загрузчик вызывается при ссылке на символ, и
     ненеленивое - переразмещение при загрузке. Переразмещение переменных всегда
     неленивое.
5.2. Символы, требующие переразмещения, содержатся в .rel... секциях. В них
     находятся ElfN_Rel структуры.
     [--code--]
     typedef struct {
         Elf32_Addr r_offset;    \\ адрес внесения правки (адрес в GOT, например. readelf::Offset).
         uint32_t   r_info;      \\ содержит тип переразмещения и индекс в таблице символов (массив Elf32_Sym[]).
     } Elf32_Rel;
     typedef struct {
         uint32_t      st_name;   \\ индекс в таблице строк. Т.е. сопостовляет символ с Си строкой.
         Elf32_Addr    st_value;  \\ адрес символа в текущем модуле (readelf::Sym.Value).
         uint32_t      st_size;
         unsigned char st_info;
         unsigned char st_other;
         uint16_t      st_shndx;
     } Elf32_Sym;
     [/--code--]
5.3. Механизм обращения к переменным (требующим переразмещений):
     1. линкер на старте правит .got секцию, она начинает указывать на нужные
        данные.
     2. ссылка на переменную в коде (в .text секции):
          [--code--]
          call   44c <__x86.get_pc_thunk.ax>  # получаем в eax адрес следующей инструкции
          add    $0x1bcb,%eax                 # в eax адрес .got секции
          mov    0x14(%eax),%edx              # отступ от края .got на адрес переменной,
                                              # разыменовываем в edx
          [/--code--]
5.4. Механизм обращения к функциям, для пример - exfn():
     1. ссылка на exfn() в коде (в .text секции)
     2. переход на "трамплин" в .plt секции - plt@exfn()
     3. переход на разыменованный указатель из .got.plt, если переразмещение
        уже было произведено, то попадаем на exfn(), иначе:
        3.1. возврат в plt@exfn(), в стек кладётся смещение в .rel.plt
             секции Elf32_Rel структуры и указатель на link_map список
        3.2. вызов ld.so, правится указатель в .got.plt
        3.3. переход на exfn().
6. .dynamic секция может быть прочитана из программы через массив _DYNAMIC[],
   который содержит struct ElfN_Dyn, автоматически заполняется линкером.
7. Экспортируемые символы из elf модуля указываются в .dynsym секции.
8. -rdynamic опция линкера (для исполняемого ELF) - символы из exe, которые не
   были востребованы библиотеками, указанными в командной строке, не
   экспортируются (не указываются в .dynsym секции) и не участвуют в
   переразмещениях в библиотеках, которые подргружаются через dlopen. Данная
   опция заставляет линкер помещать в таблицу все функции.
9. Управление экспортом из модуля
   * Управление экспортом по умолчанию:
     gcc -fvisibility=default
     -fvisibility=hidden
     -fvisibility=internal
     -fvisibility=protected
   * Управление экспортом посимвольно:
     __attribute__ ((visibility ("hidden")));
     __attribute__ ((visibility ("hidden")))
   * Для группы:
     #pragma GCC visibility push(hidden)
     ...
     #pragma GCC visibility pop
   * static и анонимные namespace
   * Управление эспортом через export map, через опцию --version-script

 , , ,

pavlick
()

Previous, эмулятор рабочих станций NeXT

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

Решил вот собрать из git. (https://github.com/svn2github/Previous). Собралось (rev 916), поехало (для сборки нужен libSDL2, CMake), РОМы для трёх видов рабочих станций в комплекте.

Распаковал образ с https://winworldpc.com/product/nextstep/1x , указал в настройках грузиться со скази-винта, выбрал РОМ для эмулируемой машины - и вперёд. Звук работает, цветной вариант рабочей станции - тоже (для него брал NeXT OS 3.3), для корректного выключения нажать f10 (эмуляция нажатия кнопки питания). Внутри есть cc от GNU . С сетью пока не разобрался, но говорят она работает.

Форум: http://www.nextcomputers.org/forums/viewforum.php?f=22&sid=dd8c88c47aba48... (откуда я собственно об эмуле и узнал)

>>> Просмотр (1440x900, 276 Kb)

 

Andrew-R
()

mpv + vaapi Может кому пригодится.

Форум — Desktop

Время от времени возникают вопросы об ускорении vaapi в mpv. Особенно не на intel карточках. Так вот, лёд тронулся. Почитать можно в этом треде https://github.com/mpv-player/mpv/issues/5711
Вкратце - в Мезу добавили всё что надо, ну и MPV с libva свежие нужны.
Проверял на обычном h264
Наконец-то оно заработало так же эффективно как 100 лет работает vdpau. Ну почти... там есть вопросы например по деинтерлейсу...
Полезно, если AMD дропнут поддержку vdpau.

По идее должно быть достаточно (при пустом config'е)
mpv --hwdec=vaapi <файло>

Однако мне пришлось так.
mpv --gpu-context=x11egl --hwdec=vaapi <файло>
Судя по логу оно и так пытается загрузить vaapi-egl, но без этой опции фейлится.

Mesa из Padoka, mpv 28 из PPA указанного на их оф. сайте. Остальное (ядро, libva, ffmpeg) - дефолт из Ubuntu 18.04 Правда, с дефолтным ядром возможно есть какая-то нештабильность, хотя может это частная проблема. Короче всё ещё YMMV но прогресс на лицо.

$ vainfo
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Mesa Gallium driver 18.2.0-devel - padoka PPA for AMD CAPE VERDE (DRM 2.50.0, 4.15.0-22-generic, LLVM 7.0.0)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileNone                   :	VAEntrypointVideoProc

 , , ,

mos
()

3D News - обширное тестирование Intel CPU, от 2700К

Форум — Talks

https://3dnews.ru/969891

Годнота приехала в наши битдробилки, там надо просто смотреть графики.

 , ,

Deleted
()

Использование старого железа осознанно отказываясь от апгрейда.

Форум — Talks

Хай ЛОР, скажи откуда мне откуда берется желание пользоваться некрожелезом, убитыми ноутбуками и одноплатниками как настольным ПК? В частности сейчас прицепил ноутбук hp g6 2211sr к монитору и клавиатуре с мышью, живется неплохо, хотя под столом стоит пекарня с amd ryzen 1500x. Единственная мысль это экономия пространства и электроэнергии ибо у меня БП в пекарне на 550V.

 , , ,

karton1
()

Slackware пользователей тред.

Форум — Desktop

Если пользуетесь(пользовались) Skackware расскажите немного о:

Почему вы выбрали Slackware? Как долго пользуетесь?

Какой версией пользуетесь и почему?

Если ушли с неё, то на что и почему?

Какие репы подключены? Или где ищите софт? Вообще его хватает или приходится писать слакбилды?

Какое DE у вас используется? Оно хорошо приготовлено в Slackware?

Какие советы можете дать начинающим падаванам-слакварьщикам?

 ,

ult
()

Хочется странного. Очереди FIFO / LIFO.

Форум — Development

Всем привет.
Подскажите, есть ли известная и проверенная библиотека которая позволяет сделать очередь которая будет расшарена между потоками, с возможностью делать выборку либо с конца либо с начала.
P.S.
Если ничего такого нет, то возможно спонсирование разработки такой вещи с условием выпуска под свободными лицензиями.

 , ,

denisE
()

Ультрабюджетный 15" ноутбук

Форум — Talks

Вечерок добрый, ЛОР. Давненько я не заглядывал.

Обращаюсь к товарищам зелёным и не очень с вопросом: господа, какой взять _новый_ ноутбук тысяч за 14-16, чтобы обязательно хорошо работал линукс и было 4 ГБ оперативки? Я потыкал яндекс-маркет и конфигураторы на сайтах магазинов. Составил большую таблицу с TDP, частотами и результатами бенчмарков процессоров. Но ничего не понял. Вроде все процессоры одни и те же, а вот в чём-то аэмдэ апэу на треть мощнее целерона за те же деньги и даже моего старого пентиума. А в чём-то мой старый пентиум обходит их всех. А в чём-то целерон рвёт любой процессор как тузик грелку. Не могу разобраться. Может, тупой. Может, повзрослел и перестал разбираться в тех вещах, в которых нужда разбираться у нормальных людей возникает лишь раз в несколько лет.

Цели: установка Xubuntu, а далее - набор текстов, сотворение презентаций, написание программок на Ruby, интернетики, почта, фильмы, всё такое. То есть, самый обычный студенческий домашне-рабочий (буду таскать несколько раз в неделю на родную кафедру) use-case.

Какой процессор для этого подойдёт в условиях необходимости предельно экономить бабло: AMD E2-9000, AMD E2-9000e, Intel Celeron N3050/N3060, Intel Celeron N3350? Важно лишь чтобы не были заметны сильные фризы при работе, чтобы не тормозил браузинг, чтобы при наборе текста в офисном пакете текст появлялся на дисплее не через несколько секунд, а сразу. Сейчас пользуюсь древним, собранным через задницу и сильно подержанным самсунговским планшетом на Pentium 987, который от каждого клика и тапа уходит в дикий троттлинг, и мне это надоело.

На качество экрана плевать, мне сойдёт и 1366x768/глянец/15,6". SSD не нужен. Главное - 4 гигабайта памяти, большой дисплей и как можно дешевле в Москве прямо в ближайшие дни и без доставки, без заказа из-за рубежа, без б/у и покупки с рук. Ах да, точно: как я понял, у всех современных процессоров TDP раз в пять-шесть ниже того, к чему я привык за последние несколько лет. То есть 5-15 ватт максимум. Это означает, что они все практически не греются при стандартной нагрузке, и долго живут от одного заряда аккумулятора? Аккумуляторы-то примерно те же, что и раньше были?

И из всего этого вытекает второй вопрос: как мы докатились до жизни такой? Я не про свой невысокий достаток, я про то, что три года назад ноутбуки с такими же характеристиками стоили те же 14-18 тысяч, ну а пять лет назад, в благословенном 2012-м - и вовсе тысяч 8 или 9 в ближайшем магазине. Понятно, что был кризис, денег нет, но вы держитесь, но почему рынок за три с лишним года так и не адаптировался? Почему в продаже в категории «для нищих» только это и никакого прогресса?

Благодарю за внимание, если вы меня им удостоите. Жду дельных советов и разъяснений за экономику.

 , , , ,

djambeyshik
()

CDE? Fvwm!

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

Всегда визуально нравился CDE, но некоторые мелочи отбивали желание работать в нем. Так, например, я не осилил, как в нем сделать кейбиндинг из трех клавиш, отсутствие трея и пр. мелочи. Поэтому неспешно наковырял свою тему для fvwm2, взяв за основу тему c fvwm-themes. Весь десктоп занимает чуть меньше 200Мб в памяти после загрузки. Система - OpenBSD. Почему OpenBSD? Потому что она простая и понятная, в ней работает все железо, которое у меня есть, почти все программы, которые мне нужны - в ней присутствуют и они свежих версий, всякие излишества нехорошие, вроде пропиетарного софта или systemd - отсутствуют, она обновляется два раза в год.

На скриншоте можно видеть FvwmButton в качестве панелек, xclock, календарик fvwmscript, терминал - xterm (по моим наблюдениям - xterm - самый лучший, потому что самый быстрый), в качестве мессенджера pidgin, файловый менеджер thunar, индикатор батареи - xbatt.

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

 ,

Slack
()

Открытая реализация Caesar3 - julius

Новости — Игры
Группа Игры

Caesar 3 — градостроительный симулятор в сеттинге Древнего Рима, созданный Impressions Games в 1998 году. В рамках проекта реверс-инжиниринга исполняемого файла bvschaick был восстановлен исходный код игры.

julius полностью повторяет Caesar 3, имена переменных и алгоритмов даны по их назначению в игре, либо восстановлены из комментариев. Проект реализован на языке C и доступен под лицензией GPLv3. В игре восстановлены все возможности игровой механики оригинала, а также режимы CityConstruction и сюжетная компания.

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

По просьбе автора проекта я не буду указывать ссылку на оригинальный репозиторий. Автор не планирует менять язык для дальнейшей разработки, работоспособность проверена только на Ubuntu 16/Mint 17

Ссылка на форк ниже (портировано на с++)

>>> Форк julius (сборка g++)

 caesar 3, foss game, open caesar 3

dalerank
()

и снова (но давайте более теоретически!?) про тормоза с USB-флешкой вопрос

Форум — Desktop

добрый день!

друзья!

этот вопрос задавался миллионы раз — но всегда появляется кто-то кто начинает давать *практические* советы как это исправить. пожалуйста, друзья, давайте на этот раз не будем тут писать практические советы (ими заполнен четь более чем весь интернет!).

вопрос: почему во время копирования больших файлов на медленный USB-накопитель (даже из не основного диска) — вся система начинает переодически подзависать включая курсор мыши?

интересует сугубо *технические* (теоретические) детали этого механизма, а не рецепты исправления этого. да(!) я хочу чтобы оно и дальше тормозило (не хочу это исправлять!), но при этом лучше понимать природу этих явлений.

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

сможете помочь? заранее спасибо!

 , freezing, ,

user_id_68054
()