LINUX.ORG.RU

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

Тест Nvidia тиринг и ForceCompositionPipeline = On

 ,

Не пожалел времени,более 6 часов записывал,не считая времени загрузки на ютуб.

Я записал сравнение ForceCompositionPipeline = On и Off и почему опция On непригодна к использованию.
Почему- кадры «тиринга» никуда не исчезают, но вместо отображения тиринга я вижу на экране вот что, словами:
При включенной опции ForceCompositionPipeline = On я вижу «рывок» между двумя(возможно больше промежуток) кадрами и это очень хорошо заметно в любой даже самой плавной игре(не быстрым поворотом камеры) или банальной прокрутке браузера,но рывок это не самое страшное самое страшное это- отсутствие отклика от системы во время этого «рывка» никакие кнопки не работают как будто иксы зависают на долю секунды.
И количество таких рывков, очевидно зависят от загрузки системы(от ФПС)- если открыть одну вкладку в браузере и никаких больше окон вообще в системе то и рывков будет минимум(один в пару минут)
но если открыть пару вкладок в браузере, стим, любое окно в вайне, пару текстовых редакторов, терминал и пару файл-менеджеров, плюс запущенная игра-это все потребляет 50% CPU и 50-70% GPU
и количество «фризов» в каждом окне станет невыносимым-банально печатая текст в текст редакторе вводя «привет» вы напечатаете «приввет»(две буквы) потому что во время ввода «в» был «физ» и иксы не получили события «отжатия кнопки» и на долю секунды кнопка «в» была нажата и очевидно текстовый редактор по таймеру напечатал еще одну «в» так как в памяти «в» все еще нажата

и это весь интерфейс фризится-даже движения мышки «дергаются», хотя и показано что ФПС 60(или выше если без Vsync) и визуальный ФПС в таких условиях «ощущается» что ниже 20
к этому добавляется появление «бага рывка экрана» после альт-таба из/в любое приложение случайно начинают рывки идти с определенной очередностью и .... это неюзабельно вобщем(на видео ниже есть демонстрация,видео 13 и 8)

однако если выключить ForceCompositionPipeline = Off то система станет идеально отзывчивой,да будет тиринг при выделении(файлов в файл редакторе/раб столе к примеру) тиринг при перетаскивании окон,но при этом интерфейс не фризится и система отвечает на нажатие клавиш в любой момент

тоесть эта опция ForceCompositionPipeline = On заменяет «тиринг» ожиданием полного кадра во время ожидания кадра иксы «замораживаются» не отвечая на любой ввод

теперь по записи:
во первых- в записи со включенным ForceCompositionPipeline = On в видео(кадрах) есть тиринг, почему- потому что ffmpeg берет кадр из памяти, и в памяти во время «фриза» находится кадр с тирингом но этот кадр не отображается на экране и я вижу «фриз» но ffmpeg записывает кадр с тирингом, тоесть все кадры с тирингом в записи с ForceCompositionPipeline = On в этот момент мой экран был заморожен и я не видел кадра с тирингом, я видел кадр до и после тиринга
второе это опции записи- все видео записаны в 1080p на 60ФПС (даже те в которых 30ФПС), опция записи для всех видео одинакова и нагрузка системы идентична, вот строка

ffmpeg -video_size 1920x1080 -framerate 60 -f x11grab -i :0.0 -f pulse -ac 2 -channel_layout stereo  -i default -vcodec nvenc -preset slow -b:v 8M -maxrate 8M -bufsize:v 8M -bf 2 -refs 1 -bf 2 -refs 1 -g 120 -i_qfactor 1.1 -b_qfactor 1.25 -qmin 1 -qmax 70 -threads 0 -strict -2 </file>

в третьих- для местных форумных ботов, которые ниразу в жизни не видели тиринг и считают что он не существует
идите сюда http://codepen.io/anon/pen/rjoGwB (чтоб скачать- Export снизу справа с сохраните ZIP, распакуйте после скачки и откройте index.html) (вот клон http://liveweave.com/67C4N2 (скачать- сверху Tools-...as zip)), если в браузере не работает-просто скачайте любой из указанных.
Теперь запустите два Разных браузера на весь экран на двух рабочих столах(если у вас i7 восьмиядерный то три-четыре браузера(Firefox chromium midori qupzilla для примера,вообще любые)) и откройте скачанный файл или онлайн на весь экран
один из браузеров начнет лагать(количество окон в браузере не важно,достаточно одного,все невидимые окна не нагружают систему) и у вас будет тиринг
если включить ForceCompositionPipeline = On то тиринга не будет, но будут невероятные рывки (а если записывать в этот момент ffmpeg-ом то на видео будет дичайший тиринг(а на экране не будет да,а будут рывки))

Теперь видео-пруфы(везде где Vsync- с включенной вертикальной синхронизацией
1.Vsync ForceCompositionPipeline = Off ровный ФПС только при малом количестве объектов в кадре
2.ForceCompositionPipeline = On дергается даже при малом количестве объектов в кадре хотя ФПС показывает одинаковый даже лучше чем в прошлом
3.On и Off с 00:00 по 1:55 Vsync ForceCompositionPipeline = Off , с 1:56 до конца On, также тест лага мышки...плохо заметно на записи ибо «курсор движется» в кадрах ffmpeg когда у меня на экране все замирает включая курсор но всеравно заметно медленнее чем на 30ФПС на Off
4.Vsync ForceCompositionPipeline = Off никаких «лагов» в отзывчивости,мгновенная реакция на кнопки но есть тиринг(но его мало во всем видео) кадры тиринга 7679 12238 12328 http://imgur.com/a/ehx4y
5.Vsync ForceCompositionPipeline = On гдето раз в 5 сек идет один-два лага на «кадр тиринга» смотри ссылку ниже
6.раскадровка прошлого видео с 2231 кадра прошлого видео 115 следующих кадров, тиринг 00:02(кубы справа снизу) 00:07(тоже справа снизу) 00:32(две полосы по центру экрана) 00:52(нижняя часть экрана под полосой прокрутки ютуба) 1:49(чуть выше середины экрана), напоминаю- я на экране не вижу тиринга, на экране просто пропадает кадр тиринга и во время этого кадра весь «ввод» заморожен
7.1080 Vsync ForceCompositionPipeline = Off в начале видео «плавность анимаций в меню», на 30 ФПС сравните со следущим видео, также в конце движение мыши
8.1080 ForceCompositionPipeline = On сравнивайте плавность этого с предыдущем видео(надо быть слепым чтоб не увидеть разницу) и добавьте к этом то что весь «ввод» клавиатура и мышь работает с такимиже «лагами» тоесть во время этого «фриза» что ярко видно на видео даже клавиатура не отвечаает,даже переключение индикаторов типа Намлока на клавиатуре не работает(а в прошлом все прекрасно работает никакого лага для «ввода») также в конце лаги мыши-хорошо виден синхрон мыши к лагу
9.720 ForceCompositionPipeline = On выключены тени чтоб получить 60ФПС и 720 разрешение игры, лагов меньше но даже в начале видео в меню в «конце анимации» можно видеть лаг, также такойже как в прошлом видео лаг во время всего видео но меньше конечно за счет более высокого ФПС
10.720 Vsync ForceCompositionPipeline = Off 720 и без теней на 60ФПС сравните плавность с прошлым видео
11.Vulkan Vsync ForceCompositionPipeline = Off сравнивайте со следущим
12.Vulkan Vsync ForceCompositionPipeline = On все эти «маленькие рывки» воспринимаются нормально, но не забывайте- во время всех этих рывков у меня лагает весь «ввод»(что очевидно критично в такой игре которая показана)
13.Vulkan ForceCompositionPipeline = On без всинка, видео в полной мере показывает чем плоха эта опция ибо весь GUI интерфейс всей системы вот так вот лагает, вы думаете в таких лагах можно хотяб текст в альттабе печатать- буквы нажимаются по 2 раза и выделение мышкой ездит как захочет(во время лага курсор мыши продолжает двигаться сам по себе в направлении которое было до лага выделяя больше места)

TLDR- смотрите видео и читайте коммент к 6 и 8 и 13 (не забываем смотреть на фреймрейт слева свурху), и вывод ниже

Вывод-Когда запущена «одна игра» или «один браузер» или «одно окно редактора» опция ForceCompositionPipeline = On практически никак не отличается с Off режимом, но когда окрыто множество окон- опция On делает весь UI «лагающим» и неверно реагирующим на ввод с клавиатуры и мыши,при этом визуальный ФПС не соответствует показываемому(счетчиком).
Наиболее ощутимы лаги когда ФПС становится ниже 60,а это даже два окна файл менеджера и выделяя файлы в одном из них-ФПС уже просядет до 30-50
По результатам тестов- опция ForceCompositionPipeline = On не показывает(визуально на экране) кадр с тирингом и во время кадра(возможно двух кадров,лаги сильно ощутимы) с тирингом вся система «заморожена» но программы продолжают работать и могут брать «текущий кадр» и этот кадр который «не был показан» будет с тирингом.
Также- «визуальный ФПС» не соответствует тому что показан на счетчике в игре, можно убедиться в видео.

Все игры на видео,без записи у меня идут на 60ФПС+(даже tomb raider в 1080), нагрузка на CPU была от 20 до 50% максимум(и опция On Off не влияет на нагрузку), GPU только в tomb raider до 80%
сразу уточню-нагрузка на GPU даже 100% никак не влияет на запись/кодирование ffmpeg(будут потеряно чуть больше кадров но показанные фризы еслиб были из за нагрузки на GPU былиб и в опции Off, а их небыло)
на запись влияет только нагрузка CPU(если 100% CPU то ffmpeg будет дублировать много кадров давая всего 5-10ФПС в сек), нагрузка CPU в обоих режимах одинакова...
Лагает точно также без записи но вместо ffmpeg достаточно запустить пару окон браузера с файл менеджером(текстовый редактору уже будет неюзабельным)

Все видео записаны на последнем драйвере 378.09 и XFCE
Я тестировал эту опцию уже более года уж точно, пробовал на KDE(там все еще хуже по очевидным причинам-слишком много элементов просаживают ФПС ниже 60 очень часто) там такиеже лаги, также версия ядра/иксов/нвидиа дров/дистрибутива не влияют на результат
пробовал на двух дистрибутивах(второй убунта) и трех обновлениях opensuse- лаги идентичны
и да на это не влияет «железо» пробовал на более старой видеокарте нвидиа и совершенно другом железе- точно такиеже лаги
проблема очевидна- во включенной опции ForceCompositionPipeline = On
как она работает- не буду гадать, она работает как будто в «железе» тоесть в видеокарте это объяснялобы пропуск кадров и что иксы не отвечают и что пропущенный кадр можно взять из памяти но видеокарта его не показывает
но тогда почему настолько визуально разный ФПС при записи- еслиб это была только опция видеокарты тех лагов что на видео выше при On небылоб и видео былиб идентичны с Off
такчто думайте сами

Мне нужен «мгновенный отклик» от интерфейса,а со включеной опцией ForceCompositionPipeline = On я даже альт-табнуться не могу мгновенно приходится по два раза наживать хоткеи
про текст я уже писал, и вот еще один пример-я последние пол года играл в одну игру и записыввал ее на ютуб,вот пример видео
игра очень мало требовательна 20% CPU и 20% GPU(да она через эмулятор) и тиринг есть в некоторых видео на старте и в нескольких кадрах в процессе
https://www.youtube.com/watch?v=QH5GUd5d5Lw на 2:13 (на протяжении всей секунды к 2:14) можно видеть тиринг вот выделил на скриншоте http://imgur.com/a/0vXTv (между выделенными красными линиями спрайт горы разрезан по горизонту) поставив 0.25 скорость на ютубе это видно
так вот игра идет идеально и если включить ForceCompositionPipeline = On то появляются эти описанные «лаги» и я не могу реагировать и не вижу множества кадров,так как игра активная и требует реакции- в игре бывает по 1-2 кадра на «атаку» на которую нужно реакцию мгновенную делать,но «лаг»-мало того что может просто не показать кадр с «атакой» так еще даже если прошлый кадр был с анимацием атаки,и я должен на нее реагировать-я не могу потому что следущий кадр (случайно так выходит) не показывается потмоу что с тирингом,и в этот момент у меня не работает ни одна кнопка-тоесть моя реакция игрой не воспринимается. Поэтому всегда стоит Off у меня.

Как включить у себя ForceCompositionPipeline = On в терминал написать:

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceCompositionPipeline = On }"

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceCompositionPipeline = Off }"
чтоб выключить (ребутов или рестарта иксов не надо,после выполнения On экран моргнет(на пол секунды как минимум) но если вы записываете видео в этот момент с экрана- на видео этого «черного экрана» не будет)

lwx51033
()

Разговор с программистом из SpaceX

 , , ,

Группа Linux General

Разговор с программистом из SpaceX. Учился в Хмельницком, работал в Microsoft, Google, с 2013 в SpaceX.

Темы: устройство в SpaceX, взгляд на Илона Маска «изнутри», программирование. Вопросы про используемые языки программирования, операционные системы, железо и т.п.

«Вкратце, в полёте и системах, обслуживающих полёт, используется С++ и Linux. В менее критичных системах широко используется Python и другие языки.»

Часть 1

Часть 2

Часть 3

>>> Подробности (Invalid URL, no host part!)

Stalin
()

А существует ли список часто используемых слов и фраз в английском?

 ,

Сабж.

Есть такой с переводом?

Часто используемые в разговоре слова и фразы(фразы типа «here we go» и прочие, которые дословно не переводятся).

Буду благодарен, если кто-то поделится оным.

ozzee
()

Скорость изменения Kernel API и почему его нельзя сделать более стабильным

 ,

Вопрос к тем, кто занимался кернел-девелопингом. С какой скоростью изменяется API ядра Linux для модулей? Какова вероятность того, что модуль (ну скажем, драйвер WiFi) отвалится в следующей версии ядра (в следующем релизе за тем, под который модуль разрабатывался)? Почему на уровне исходного кода совместимость практически нулевая? Как я понимаю, намного хуже, чем на бинарном.

Есть ли практические причины, по которым нельзя сделать хотя бы для определённых модулей более-менее стабильный API?

te111011010
()

Подгоревший питон со вкусом багета

 , ,

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

Stahl
()

Nemo mobile

 ,

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

Дистриб: mer
Окружение: Nemo mobile
Рабочий стол: Glacier
Телефон: Jolla C

Сорсы тут: https://github.com/nemomobile-ux/glacier-home

chapay
()

Когда N одноядерных процессоров лучше одного процессора с N ядрами?

 ,

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

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

Собственно я прав? Или есть ещё случаи когда N одноядерных процессоров лучше одного процессора с N ядрами?

Deleted
()

FreeType Fedora 24 -> Fedora 25: очень тонкие шрифты

 , ,

Только я один заметил? Или у меня глюки? Как вернуть толщину? Мой /home/birdie/.config/fontconfig/fonts.conf :

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Needed for Qt4: http://labs.qt.nokia.com/2008/09/01/subpixel-antialiasing-on-x11/ -->
 <match target="font" >
  <edit mode="assign" name="lcdfilter" >
   <const>lcdlight</const>
  </edit>
  <edit mode="assign" name="hinting" >
   <bool>true</bool>
  </edit>
  <edit mode="assign" name="hintstyle" >
   <const>hintfull</const>
  </edit>
  <edit mode="assign" name="rgba" >
   <const>rgb</const>
  </edit>
 </match>
</fontconfig>

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

birdie
()

Как правильно подписать репозиторий дистрибутива, чтобы при установке не возникало ошибок по поводу публичного ключа?

 , , ,

Собираю дистрибутив debian под корпоративные нужды (с необходимым списком пакетов для установки). В состав дистрибутива входит сервер ltsp. При формировании образов ltsp (fat-client) с указанием репозитория на дистке, выдается ошибка что репозиторий не подписан и формирование образов завершается. Если я подписываю репозиторий, то выдается ошибка при установке дистрибутива, что не найден публичный ключ и установка завершается. Как правильно подписать репозиторий дистрибутива, чтобы при установке не возникало ошибок по поводу публичного ключа?

maks_
()

CLOCKS_PER_SEC = 128. Это нормально?

 ,

Собрал софтину clang-ом на FreeBSD-серваке. std::cout << CLOCKS_PER_SEC << "\n"; вывело 128. На десктопном линуксе было что-то типа 1000000. Как жить дальше?

Хочу получать число микросекунд, которые проведены в моём коде, а не вообще. Для этого набыдлокодил такой код: (double там появились после того, как integer-деление 128 на 1000000 стало давать 0. Короче, чё делать-то с этим 128? Как так может быть?

    double raw = clock();
    double result = raw / ( ((double)CLOCKS_PER_SEC) / ((double)1000000l));
    return result;

Спасибо.

hlamotron
()

ЯРИЛ 2.0

 , , , стремная фигня

Группа Игры

ЯРИЛ (Язык Разметки Интерактивной Литературы) — это русская платформа для парсерной интерактивной литературы. Отличается изначальной ориентированностью на русский язык и визуальным программированием всей игровой логики.

Платформа состоит из Редактора, Плеера и Тестера. Тестер — приложение для проведения автоматизированных проверок проходимости игр.

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

Платформа написана на Java SE 6. В перепакованный архив с программой включено несколько игр.

>>> Подробности (oreolek.ru)

Oreolek
()

Релиз Pisaahriktux 4.0 (Naagliteruufaetraceerefocozeneaxtoreial II)

 , , ,

Вышел релиз Pisaahriktux 4.0 (Naagliteruufaetraceerefocozeneaxtoreial II), сборки для Raspberry Pi на основе PiLFS для юзеров ядерной фреймбуферовской консоли без иксов с локалью KOI8-R.

В этой версии: aalib-1.4.0, aria2-1.28.0, arj-3.10.22, asterisk-13.9.1, audiofile-master, aview-1.3.0, bdwgc-gc7_6_0, beetle-supergrafx-libretro-master, biew-610, bitlbee-3.4.2, bvi-1.4.0, catdoc-0.95, cfitsio, Char-KOI8R-1.08, clit18, cmake-3.6.2, curl-7.50.1, Cython-0.24.1, db-6.2.23, DirectFB 1.7.7, djvulibre-3.5.27, ed-1.13, emacs-25.1, enca-1.19, fbgrab-1.3, fbi-2.12, fdupes-1.6.1, fetchmail-6.3.26, flac-1.3.1, flasm, flux 1.4.4, fontconfig-2.12.1, freetype-2.7, fribidi-0.19.7, frobtads-1.2.3, frotz-2.44, gambatte-libretro-master, gdb-7.11.1, Genesis-Plus-GX-master, giflib-5.1.4, git-2.10.2, glib-2.48.2, gnu-ghostscript-9.14.0, gnutls-3.5.3, gophernicus-2.0, guile-ncurses-2.0, ha-master, hdf5-1.8.17, ImageMagick-7.0.3-0, indent-2.2.10, irssi-0.8.20, jansson-2.9, jp2a-1.0.6, jq-1.5, lame-3.99.5, lcms2-2.8, lftp-4.7.3, lha-1.14i-ac20050924p1, libao-1.2.0, libass-0.13.2, libatomic_ops-7.4.4, libcaca-0.99.beta19, libdrm-2.4.70, libexif-0.6.21, libgcrypt-1.7.3, libgpg-error-1.24, libiconv-1.14, libidn-1.33, libjpeg-turbo-1.5.0, libogg-1.3.2, libpciaccess-0.13.4, libpng-1.6.25, libpthread-stubs-0.3, libretro-fceumm-master, libretro-vecx-master, libsigc++-2.99.7, libsigsegv-2.10, libtasn1-4.9, libtheora-1.1.1, libtommath-1.0, libtorrent-0.13.6, libunistring-0.9.6, libusb-1.0.20, libvorbis-1.3.5, libvpx-master, libxml2-2.9.4, libxmp-4.4.0, lighttpd-1.4.41, links-2.13, lunzip-1.8, lynx2.8.9dev.10, lziprecover-1.18, lzlib-1.8, maxima-5.38.1, mc-4.8.18, mpg123-1.23.6, mplayer-2016-09-18, mpv-0.20.0, msmtp-1.6.5, mutt-1.7.1, mypy-0.4.5, nano-2.7.1, nettle-3.2, nmap-7.30, numpy-1.11.2, p7zip_16.02, pdb2txt, plzip-1.5, poppler-0.47.0, poppler-data-0.4.7, prboom-plus-2.5.1.4, procmail-3.22, psftools-1.0.7, rename-1.9, RetroArch, rtorrent-0.9.6, scons-2.5.0, screen-4.4.0, SDL12-kms-dispmanx-master, SDL2-2.0.4, SDL2_image-2.0.1, SDL2_mixer-2.0.1, SDL2_net-2.0.1, SDL2_ttf-2.0.14, SDL_image-1.2.12, SDL_mixer-1.2.12, SDL_net-1.2.8, SDL_ttf-2.0.11, sdparm-1.10, sharutils-4.15.2, snes9x2002-master, sox-14.4.2, speex-1.2rc1, squashfs-utils 4.3, strace-4.13, swftools-2013-04-09-1007, tcsh-6.19.00, tiff-4.0.6, TiMidity++-2.14.0, tree-1.7.0, unarj-2.65, unrar, unrtf-0.21.9, vorbis-tools-1.4.0, wcslib-5.15, xmp-4.1.0, zip30.

Отдельно привожу список компиляторов и интерпретаторов:

  • bwbasic 3.0 (Bywater BASIC Interpreter)
  • GNU Cim 5.1 (Simula compiler that compiles into C)
  • f2c (Fortran to C Translator) version 20100827
  • FOCAL-1.0.1
  • Focal-81 by Dave Conroy
  • Free Pascal Compiler 3.0.0
  • Gforth 0.7.3 (GNU Forth)
  • GNU Cobol 2.0-rc2
  • GNU Guile 2.0.12 (implementation of the Scheme programming language)
  • GNU Smalltalk 3.2.5
  • The Icon Programming Language 9.5.1
  • MARST 2.7 (Algol 60 to C Translator)
  • The Mumps Compiler 17.11 by Kevin C. O'Kane
  • Nim Compiler 0.14.2
  • Erlang/OTP 19.0
  • Python 3.5.2
  • Refal-5 Version PZ Feb 29 2016
  • Regina-REXX 3.9.1
  • Ruby 2.3.1
  • Steel Bank Common Lisp 1.3.11
  • SNOBOL4 2.0 (The Macro Implementation of SNOBOL4 in C (CSNOBOL4B))
  • Vishap Oberon Compiler (oberon-2 compiler)
  • PHP 7.0.12
  • YASM 1.3.0 (Modular Assembler)

Напоминаю, что рекомендуемый объём карты памяти теперь составляет не менее 8 Гб, хотя теоретически оно должно влезать и на 4 Гб (но, фрагментация).

Скачать: http://saahriktu.org/downloads/pisaahriktux_4.0_distro.tar.xz

saahriktu
()

Kaitai Struct 0.5

 , , ,

Группа Open Source

После трёх месяцев разработки состоялся релиз Kaitai Struct 0.5 — языка описания форматов структур данных. Идея проекта состоит в том, что описав структуру формата файла или сетевого протокола единожды на формальном языке .ksy, можно скомплировать такое описание в исходный код парсера на любом поддерживаемом языке программирования.

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

>>> Подробности (kaitai.io)

GreyCat
()

Ветер крепчает

 , , ,

После того, как запилил у себя на нетбуке экс-эф-це-е, моя конфигурация awesome показалась мне жутко некрасивой и я решил всё переделать. Ковыряться в lua-коде не было более желания, а тайлингом я всё равно в последнее время очень мало пользуюсь, поэтому решил поставить крысу. Результат сего вы можете видеть на скриншотах.

( Подробности под катом )

>>> Все скриншоты

>>> Просмотр без искажений ЛОРа и в нормальном качестве

sudopacman
()

Cron. Выполнение каждую минуту.

 , , ,

Добрый вечер ЛОР.
Имеется скрипт, который надо выполнять каждую минуту. Почитав маны по крону, понял, что крутить надо через crontab, но как ?
Попробовал написать так

# m h  dom mon dow   command
/1 * * * * /home/rainx/wp.sh
Ругнулся на некорректность, если написать там просто 1 - не работает. Как сие чудо правильно подкрутить?
Прошу прощения за такой глупый вопрос, просто этой зверушкой пользуюсь первый раз :3

Neverhex
()

Синтаксический анализ на конечных автоматах

 ,

Добрый день!

Помогите пожалуйста разобраться с конечными автоматами. Нужно сделать разбор текста формата json. Да, знаю, есть инструменты flex и bison, которые могут делать парсеры по описанию грамматики, но мне нужно разобраться как реализовать конечный автомат на C++ без применения этих инструментов. Я нарисовал следующую диаграмму состояний: здесь. Такой автомат не может работать с вложенными конструкциями: объектами и массивами, только с последовательностью пар «name»:value.

Вопросы в следующем:

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

2. Я читал, что для обработки вложенных конструкций применяются Магазинные автоматы. Как можно нарисовать диаграмму такого автомата? Что должно храниться в стеке? Как реализовать в плане архитектуры такой автомат? Когда считывается фигурная скобка, по идее, нужно сохранить в стек текущее состояние. Какой состояние будет при этом у нового автомата? Init? Хорошо, а когда будет закрывающая скобка, нужно вернуть из стека прежнее состояние. А какое оно должно быть? Мы сохраняли состояние ожидания фигурной скобки. Куда дальше переходить из этого состояния? Ведь на этом уровне автомат не должен знать что там внутри скобок.

А какая должна быть архитектура? Как представить автомат? В виде класса? Что пихать в стек? В общем, много вопросов. Подскажите пожалуйста как решаются подобные задачи с конечными автоматами.

silart
()

Linux без GNU

 , , ,

Предлагаю создать свой болгенос без GNU на базе LFS:

  • Ядро - LLVMLinux
  • Компилятор - Clang
  • Libc - musl
  • Libcxx - libc++abi
  • Вместо GNU окружения - Busybox + BSD окружение
  • Формат пакетов - RPM
  • Десктоп - только Wayland.
Athor
()

iptables connlimit не работает?

нужно ограничить число подключений к httpd,

на сервере:
iptables -A INPUT -p tcp -m connlimit --connlimit-above 5 --dport 80 -j DROP

на клиенте для теста запускаем slowloris..

на сервере после запуска атаки:
netstat -nta | grep :80 | grep ESTABLISHED | wc -l
180

судя по 'iptables -L -n -v' правило ниразу не сработало

где я не прав?
linux 2.6.30-2, iptables 1.4.4-2

urykhy
()

FAR для дистрибутивов GNU/Linux

 , , ,

Начато портирование знаменитого файлового менеджера FAR для GNU/Linux.

https://github.com/elfmz/far2l

http://www.pcweek.ru/foss/blog/foss/8848.php

Может интересно будет кому из олдфагов.

Странно, что внутри используется wxwidgets. Видимо слава Wal Commander / WCM Commander с их иксовыми прелестями не даёт кому-то покоя. Ну хоть хорошо, что тут не голый иксовый тулкит.

Собрал для страждущих бинарь: http://baat.z-lab.me:666/FAR2L.tar.xz

Скриншотец чуть позже выложу. Как разберусь, где хранится его конфиг.
Разобрался, в ~/.WinPort, обещанные скриншоты:

Fira Mono: http://baat.z-lab.me:666/screens/firamono.png
Божественный Terminus: http://baat.z-lab.me:666/screens/terminus_1.png http://baat.z-lab.me:666/screens/terminus_2.png
Lucida Console http://baat.z-lab.me:666/screens/lucida.png

EXL
()

Как я перестал бояться и полюбил Firefox

 , , ,

Привет, чатик. Тут такое дело, я последние года два сидел на Pale Moon, возлагал на этот проект большие надежды и активно за него агитировал. А тут взял и свалил на лису. Потому что, блин, две тыщи шестнадцатый год, а в бледнолуне нет и не предвидится:

  • Нормального HTML5
  • Мультипроцессного режима или как он там, E10S. Классная штука, плевать на оперативку.
  • Гибкого интерфейса. Нет, серьёзно. Снаружи с появлением австралиса всё выглядит приколоченным гвоздями, но в темах можно практически что угодно переписать и с каждой версией этот процесс становится проще.
  • Достаточного количества аддонов.
  • Второй половины четвёртого разработчика.

    Такие дела.

droserasprout
()