LINUX.ORG.RU

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

Музыкальный Linux для Игростроя

Форум — General

٩(。•́‿•̀。)۶

Ну, пора задуматься о музыке. Хочу написать десяток длинных амбиентов для игры, каждый соответствует локации для звукового выделения сцены + один универсальный для масло маслянное универсальных ситуаций. Ну плюс ещё отдельные звуки и музыка в соответствии с происходящими событиями. Короче хочу диалог игры и игрока не только визуальный, но и звуковой, а не только для галочки на фон повесить что-то из opengameart.com и всё.

Раньше пытался что-то брякать используя Pianoteq (Бесплатную версию где 20% клавиш не работает) https://www.jamendo.com/artist/443601/elizar-laboratories/singles

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

Пробовал как Ъ взять LMMS и всё делать там. Получается говняшка. Для себя понял что мне надо просто играть отрезки, затем из них складывать композицию (ибо я не умею и не могу играть сразу гтовое на основе нот или целиком составлять композицию) затем через VST плагины отдельные отрезки и/или всю композицию приводить к тому виду который будет интересен.

Что у меня есть

  • Миди клава M-Audio keystation 88es ~15 клавиш не работают (;⌣̀_⌣́)

Чво я умею <( ̄︶ ̄)>

  • Открыть Pianoteq/LMMS+SF2/Hydrogen или иное в зависимости от нужного инструмента
  • Сесть и просто брякая наигрывать что в голову взбредёт, в процессе находя интересное и далее импровезировать с этим интересным по итогу получается минут 20 потока «музыки» в виде записанного wav и MIDI из которых вырезаю понравившиеся куски, эти куски либо сами по себе либо потом пытаюсь их переиграть. Нот я не знаю. Если хочу повторить своё ранее что-то то просто прослушиваю старое и играю снова.

Ну и всё, больше я ничего не умею, на компе мегабайт 150 миди+wav отрывков накопилось :D от импровизаций

Чво я хочу (๑˃ᴗ˂)ﻭ

  • Открыть программу музыкальну
  • Выбрать инструмент любой или внешний типа Pianoteq
  • Сыграть несколько разного в поисках нужного (ну например амбиент для сцены весёлой/грустной/страшной/глупой/странной/затейливой/непонятной/начальной/конечной/ууууууу многа и надо эксперементировать)
  • На месте взять сыгранное и нарезать
  • Из нарезок составить композицию «ну не умею я целиком нужное взять и сыграть… ::(»
  • На отдельные отрезки наложить преобразования VST плагинами (будто есть альтернатива)
  • На всю композицию наложить преобразование для выравнивания по стилю (Ну там заглушить что-то или просто эхо добавить общее)

Ну и всё. Как то так. Редакторов куча,VST плагинов разных типов куча. По хорошему надо 360 монитор что-бы всё что надо вывести на экран с их милллиардами кнопок и крутилок

  • 1 Посоветуйте пожалуйста редактор (Ardour?)
  • 2 Посоветуйте пожалуйста VST на все случаи жизни (Calf?)

Посоветуйте пожалуйста иное. Понятное дело что надо пробовать, но тут же есть те кто уже прошарен и может сказать что мне лучше подойдёт например всё же LMMS если его правильно готовить.

Короче я от разнообразия потерялся, мне хочется просто один раз выбрать программный стек где я буду делать всё. Пусть этот стек будет неидеальным, но блин я не могу досканально изучить всё т те же VST там чёрт об них ногу сломит, выберу один и буду на нём жить. только вот какой (набор) выбрать calf **ка красивый что я не могу, такой уровень графиков и индикации наверное ни у одной программы нет, программировал просто боженька.

Ну вот как то так. Помогите советом пожалуйста. Не хочется скакать туда да сюда. Хочется просто взять инструменты в виде программ и просто начать работать, да их надо будет изучать, это понятное дело. Но вот что бы сыграть-нарезать-склеить-обработать и всё.

Пока вдохновился этим https://www.youtube.com/watch?v=u_PR46u1T_s но просто решил ещё задать вопрос текущий ибо вдруг кто что посоветует. Я в этом всём слабо шарю.

Всем добра и мира ::)

 , , , ,

LINUX-ORG-RU
()

автоматическая генерация картинок из кружочков и палочек (визуализация графа)?

Форум — Development

Возникла необходимость автоматически отрисовывать граф вот в таком виде http://a-iv.ru/trash/Z4.png

У кружочков (узлов) известны координаты, палочки (связи) тоже известны - подскажите пожалуйста какую нить годную несложную утилиту/библиотеку? Выходной формат не очень важен - png, pdf, svg и пр.

Можно наверное в LaTeX, но сходу вышло как то муторно;-(

 , ,

AntonI
()

Насколько сложно смоделировать молекулу на самом фундаментальном уровне?

Форум — Development

Я не физик, в некоторых терминах могу ошибаться.

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

У меня есть несколько вопросов

а) насколько это легко, мне, как программисту который физику знает лишь поверхностно б) насколько это легко моему компьютеру с i7-4770, 16Gb, если я хочу смоделировать скажем момент соиденения двух атомов в молекулу в) в какую сторону копать?

Для сравнения примитивное моделирование гравитации для меня было простым занятием. Берем N точек, даем им координаты и массу, каждый тик времени вычисляем силу притяжение по формуле

F = m1*m2 / R^2. 
a = f/m; 
x += dx; 
dx += a;
для y аналогично

Дальше построив по координатам график можно было увидеть как тела движутся по эллипсу.

Сейчас же все выглядит для меня заметно сложнее.

  1. Насколько я понимаю привычных x,y координат ни у кварков, ни у протон/электрон не существует, мне нужна пси функция?
  2. Электрон в атоме крутится на около световых скоростях, следовательно мне нужно СТО/ОТО и привычные формулы типа dx += a перестают работать?
  3. Сложно будет визуализировать?
  4. Начальные условия нужно тщательно подобрать? (В случае с гравитацией все просто - одно тело неподвижно, второе движется не в сторону первого)

 , ,

abs
()

как сделать локальное (по окнам) переключение раскладок средствами X?

Форум — Desktop

здравствуйте

в kde есть очень удобная опция настройки раскладок клавиатуры

в Layout Switching Policy можно выбрать Global , Window … итд

как можно сделать то же самое но без kde?

 , , ,

brothermechanic
()

Объясните для дебилов на пальцах: какая разница между реализацией MVCC внутри Postgres и внутри какого-нибудь Oracle там последнего?

Форум — Development

Недавно чел один высказался при мне, что в postgres есть проклятие VACUUM (что как-бы по-всякому настраивается и можно избегать - это как наука про уборку мусора - как не срать, чтобы GC работал поменьше) и что в каком-то там Oracle тоже есть MVCC и оно как-то так реализовано, что старые версии оказываются в другом «таблеспейсе» и как-бы не нужен VACUUM. Я спросил физически-то в чём разница? Вот есть у тебя блок B+Tree дерева, там остаются старые версии туплов (строк), на которые ещё ссылаются какие-то транзакции, а когда никто не ссылается тупл помечается удалённым, но продолжает валяться в блоке B+Tree - никто же не станет перепаковывать блок целиком только чтобы похерить там пустое место, это же долго. Если в каком-то там Oracle старые версии вдруг хранятся в «каком-то другом месте», то как? Он их туда перекладывает при апдейтах? А как ссылающиеся на него транзакции переживают перекладывание? А зачем перекладывает, чтобы блок B+Tree пересобрать заново без пустых мест? А зачем, всё ж будет тормозить?

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

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

 

igloev
()

Intel'овские плюшки для слаки

Форум — Linux-hardware

Вот, сваял слакбилд для slackware-current.

https://github.com/stanson-ch/beignet.SlackBuild

Теперь Beignet (Интелевский OpenCL для процессоров Gen3+ c Intel HD Graphics) собирается и работает на current'е.

В гимпе фильтры значительно шустрее работают и всё такоэ.

Beignet был заброшен Интелем в пользу compute-runtime, но последний поддерживает процессоры только начиная с Broadwell. А постоянно меняющийся llvm привёл к тому, что ванильный Beignet не собирается при мало-мальски свежем окружении. В общем, несколько патчей из дебиана, парочка из арча, немножко своего - и всё снова заработало.

Обновил для llvm11. Вроде работает. Задрали уже обратную совместимость ломать.

 , , , , плюшки

Stanson
()

Текстовое IDE?

Форум — Development

Привет!

Какой текстовый редактор (vi(m)/emacs/etc.) выбрать для программирования на Питоне? Используемый мной Geany перешел на gtk3 и стал тормозить. Что мне нужно:

  1. Подсветка синтаксиса
  2. Поддержка вкладок и легкая навигация по ним
  3. Возможность запуска программы без выхода из редактора
  4. Подсказка по мере ввода для имен методов классов. Geany не всегда корректно угадывает.
  5. Автоотступы для новой строки. Автозамена Tab на 4 пробела.
  6. Поиск по всем открытым файлам
  7. Относительно высокая скорость работы
  8. Желательно: задание произвольной правой границы (например, в 72 символа)
  9. Я не знаю, как это делается в текстовых IDE, но желательно иметь возможность быстрой навигации по именам классов, методов и пр.
  10. Плюсом будет подсветка лишних скобок
  11. Плюсом будет автоопределение кодировки для обычных txt

 , , ,

Deleted
()

работа с SQL

Форум — Development

А что есть в Linux-ах красивого с GUI для проектирования БД (вот таблички нарисовать, связи между ними и т.д.). Код писать я и сам напишу, т.е. на генерацию БД мне наплевать, просто структура сложная и надо бы на неё смотреть наглядно. Как делать БД на бумаге знаю и даже делал до 20 таблиц, но тут их штук 40 и банально сложно всю структуру в голове держать/лист бумаги маленький и на него она не помещается. Windows тулзы для этого юзать не хочу, хочется чего-то опенсорсного и в Linux-е. Знаю про SQL Workbench, но там с HighDPI печально всё.

 ,

peregrine
()

Как в консоли параллельно выполнять обработку нескольких файлов?

Форум — Development

Есть консольная утилита pngcrush и надо ею пережать несколько тысяч картинок.
С помощью find написал обработку их всех. Но такое решение обрабатывает одну картинку за раз используя одно ядро.
Как сделать запуск нескольких процессов pngcrush?

 

Centrin0
()

Что перспективней Python или C#

Форум — Web-development

Для веба, для машинного обучения и вообще для себя и дальнейшей работы, что бы предпочли?

 ,

KRex
()

Как устроен захват экрана в x11?

Форум — Development

В частности в webrtc окошке браузеров? Интересуюсь с целью получения возможности прятать окно во время показа.

 , , , ,

pon4ik
()

Производительность; илитный запил оптимальных реализаций и основы матчасти.

Форум — Development

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

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

Изначально я хотел написать про то: что такое бесплатные вычисления на примере is_range() + сумма елементов массива, но тут выявилась смешная особенность, поэтому пока без is_range().

Начнём с простого - сумма елементов(float) массива. Как написать её быстро? Обычный крестопоц сделает так:

auto summ = accumulate(begin(vec), end(vec), 0.)

Этот код выдаёт 5.6GB/s(мы всё бенчим в л1д 32килобайта массив). Казалось бы, если бы мы слушали всяких «гуру», которые нам говорят: accumulate() - оптимизирован, «ты что умнее создатели stl"а?», «конпелятор умнее тебе - сам всё делает оптимально», «руками что-то делать слишком сложно и не нужно» - то мы бы там и остались с этими 5.6ГБ, но мы пойдём дальше и поймём почему так, и является ли это тем, что намн ужно.

Но посмотрев на код - он не векторизован:

	addq	$4, %rdx
	vcvtss2sd	-4(%rdx), %xmm2, %xmm2
	vaddsd	%xmm2, %xmm1, %xmm1

Почему? Патамучто это основная флоатпроблема: Он не ассоциативен - флоат не имеет в себе точных представлений всех чисел входящих в диапазон его «представления» т.е. порядкопроблемы.

Поэтому конпелятор НЕ ВЕКТОРИЗУЕТ флоат по умолчанию, ну никак. Даже такую банальщину.

Для решения этих проблем - есть ключик -funsafe-math-optimizations, который входит в -ffast-math, который кладёт на точность при вычислениях. Добавив его мы получаем уже 44.9GB/s.

Но теперь мы получаем ещё одну проблему - надо думать: «как бэ сунуть эту ключик не повредив там, где этот ключик не нужен».

Поэтому ноцанам, которые хотят быстро и не хоятт рандомных жоп из-за тупости конпелятора - пишут всё руками. Допустим на той же сишке это пишется так:

double memadd_autovec(buf_t buf) { //5.609465GB/s, либо 44.969652GB/s с ffast-math
  float * it = buf_begin(buf), * end = buf_end(buf), summ = 0.;
  do {
    summ += *it++;
  } while(it != end);
  return summ;
}

double hsumf(__v8sf v) {
  return (v[0] + v[1] + v[2] + v[3] + v[4] + v[5] + v[6] + v[7]);
}

double memadd_vec(buf_t buf) { //45.652002GB/s и класть на ffast-math
  __v8sf * it = buf_begin(buf), * end = buf_end(buf), summ = {};
  do {
    summ += *it++;
  } while(it != end);
  return hsumf(summ);
}

Т.е. разницы никакой нет, кроме нужной нам реализации горизантального сложение вектора. Когда я говорил пацану: «векторную сишку для написания быстрого кода юзать намного проще, чем плюсы» - поцан нипонимэ, да и любые пацаны скажут - ну дак с -ffast-math оба выдают по 45гигов - нахрен эта сишка нужна?

А вот зачем:

double memadd(buf_t buf) { //132.878440GB/s
  __v8sf * it = buf_begin(buf), * end = buf_end(buf), summ = {};
  do {
    summ += *it++;summ += *it++;summ += *it++;summ += *it++;
  } while(it != end);
  return hsumf(summ);
}

Это называется пацанский анролл копипастой, а вот заставить конпелятор нормально что-то разанролить очень сложно.

Если бы мы слушали всяких «гуру», которые нам вещают: «анрол говно и не нужен» - мы бы так и седели с 45-ю гигами, а так мы сидим с 132.878440GB/s. Т.е. анролл нам дал немного не мало ~300%.

Но основная мысль, которую толкают всякие «гуру» - это не надо следить за тактами/считать такты и прочее. Но мы о5 сделаем наоборот и посмотрим что будет.

Т.к. наш юзкейс упирается на 99% в throughput и дёргается одна инструкция, то нам достаточно просто считать теоретическую производительность для моего камня. 4.5(частота камня)*8(т.е. у нас камень с avx, то там вектор 32байта, либо 8флоатов.)*1(throughput нашей инструкции - в данном случае vpaddps из интел мануала). Т.е. 36гигафлопс, либо ~144гига. Т.е. мы сняли овер 90% теоретической производительности - остальные 10% у нас ушли в наши циклы, всякие горизонтальные суммы вектора и прочее, ну и конечно же чтение данных из кеша.

Но самое смешное - на моём хасвеле умножение имеет throughput 0.5 - т.е. на хасвеле умножение быстрее сложения. Это новая забористая трава у интела.

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

Поэтому очень смешно слушать, когда какие-то пацаны говорят: «float point имеет такую же производительность как и инты» - нет, оно имеет такоу же производительность лишь по причине того, что на штеуде инты тормазят так же, как и float.

И чтобы окончательно в этом убедится - мы взглянем на fma(вариации умножения со сложением/вычитанем), которые имеют throughput 0.5 - да, да - на хасвеле умножение+сложение в 2раза быстрее просто сложения. Это уже не просто трава - это что-то принципиально новое.

У целочисленного сложения же throughput 0.5 и казалось бы, если мы поменяем в нашей функции float на int - у нас будет сложение работать в 2раза быстрее, но это не так. Оно выдаёт те же 130гигов, а почему?

Вообще у камня есть такая фича, допустим у нас:

add $1, %reg0//вот тут инструкция add залочит регистр reg0
add $1, %reg0//а эта инструкция уйдёт в лок до особождения предыдущей инструкцией регистра reg0

Чтобы такой жопы небыло - есть специальная фича:

add $1, %reg0//lock reg0
add $1, %reg0//И тут вместо того, чтобы уйти в лок - камень вместо reg0 даёт инструкции любой свободный регистр.

Эта фича называется прееименование регистров, либо как-то так - мне лень гуглить.

Дак вот штука в том, что фича работает через жопу. Мне лень читать мануал и искать почему так, но штука в том, что она ограничивает throughput. На умножении и целочисленном сложении она огранивает throughput c 0.5 до 1.

И вот я решил заюзать сложении через fma:

__v8sf fmaadd(__v8sf a, __v8sf b) {
  return _mm256_fmadd_ps(_mm256_set1_ps(1.), a, b);// a + b * 1. == a + b.
}

double memadd_fma(buf_t buf) {
  __v8sf * it = buf_begin(buf), * end = buf_end(buf), summ = {};
  do {
    summ = fmaadd(summ, *it++);
  } while(it != end);
  return hsumf(summ);
}

Но меня ждала жопа: 27.347290GB/s, причем не анролл и ничего не помогал. Я уж подумал, что мануал наврал, но позже до меня допёрло: у неё latency 5тактов и ((4.5×8)÷5)×4 ~= 29гигов - т.е. я получаю производительность с её latency, но какой жопой оно так?

Потом я вспомнил, что гцц гинерит анрольный код вида:

add $1, %reg0
add $1, %reg0
//а не
add $1, %reg0
add $1, %reg1

Т.е. на неё вообще не работает переименовывание регистров - и инструкции постоянно в локе. Я это проверил и оказался прав. Ну и я написал такой мемадд:


__v8sf fmaadd(__v8sf a, __v8sf b) {
  return _mm256_fmadd_ps(_mm256_set1_ps(1.), a, b);
}

inline void fma_10way_finality(__v8sf * cache, __v8sf * it, __v8sf * end) {
  switch(end - it) {
    case 8:
      *(cache + 7) = fmaadd(*(cache + 7), *(it + 7));
      *(cache + 6) = fmaadd(*(cache + 6), *(it + 6));
    case 6:
      *(cache + 5) = fmaadd(*(cache + 5), *(it + 5));
      *(cache + 4) = fmaadd(*(cache + 4), *(it + 4));
    case 4:
      *(cache + 3) = fmaadd(*(cache + 3), *(it + 3));
      *(cache + 2) = fmaadd(*(cache + 2), *(it + 2));
    case 2:
      *(cache + 1) = fmaadd(*(cache + 1), *(it + 1));
      *(cache + 0) = fmaadd(*(cache + 0), *(it + 0));
    case 0:
      break;
    default: error_at_line(-1, 0, __FILE__, __LINE__, "bad_aligned");
  }
}

double memaddfma_10way(buf_t buf) {
  __v8sf * it = buf_begin(buf), * end = buf_end(buf), summ = (__v8sf){};
  __v8sf * cache = (__v8sf[10]){{}};
  uint64_t i = 0;
  while((it += 10) <= end) {
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    i = 0;
  }
  fma_10way_finality(cache, (it - 10), end);
  summ = (*(cache + 0) + *(cache + 1) + *(cache + 2) + *(cache + 3) +
	  *(cache + 4) + *(cache + 5) + *(cache + 6) + *(cache + 7) +
	  *(cache + 8) + *(cache + 9));
  return hsumf(summ);
}

Пришлось хреначить финалити, ибо тут «анролл» на 10, а почему на 10 - для максимального throughput"а - надо, чтобы каждый каждый регистр юзался через 5тактов - т.е. 10регистров.

И вся эта порятнка нужна для борьбы с тупостью конпелятора.

Это уже: 214.167252GB/s(раельно там в районе 250 - просто мой бенч говно). 107 гигафлопс на ведро. Из теоретических 144, но тут уже влияние кеша. Причем 50+ из которых выкидываются и просто бесплатные.

Теперь вопрос к пацанам - что нам дадут эти гагфлопсы, когда у нас будет массив не 32килобайта, а 32мегабайта? Зачем нужно выживать максимум, когда скорость памяти отсилы 20-30гигабайт и нам хватит даже С++ кода с ffast-math?

Ну и призываются упомянутые мною пацаны: mv - этот тот експерт, что вещал про «руками переименовывать регистры не надо» и «анрол ваще ненужен», emulek вещал про ненужность счёта тактов, и не понимал что такое «беслпатно», AIv - не понимал в чем проблема плюсов, ck114 - так же не понимал в чем проблема плюсов.

Бенчи: https://gist.github.com/superhackkiller1997/606be26fa158ef75501d - вроде я там ничего не напутал.

P.S. - не выпиливайте пж, пусть пацаны «нужно» или «не нужно». Мне интеерсно. Ну и там рекомендации пацанов.

 , , ,

Carb_blog
()

Сделать из vim C++ IDE, подскажите, пожалуйста, список дополнений

Форум — Development

Предъистория: несколько раз пытался пользоваться vim и каждый раз бросал. Всякий раз он мне казался неудобным. В этот раз плюнул на стандартные настройки, перенастроил его по-нормальному и да, теперь им сходу стало можно пользоваться как редактором текста. В частности: перенёс перемещение курсора с hjkl на esdf и esc на shift+space. Также, курсор при движении влево-вправо теперь не останавливается на конце строки.

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

Для этого мне минимально необходим следующий функционал:

  • переключение между заголовочником и исходником,

  • переход к определению функции под курсором,

  • переход к объявлению функции под курсором,

  • переход к предыдущей позиции курсора (не используя закладки),

  • плагин для содержащания файлов проектах,

  • переход к файлу, указанному директивой include под курсором,

  • аналог вкладок в других редакторах и переключение между ними,

  • подсветка синтаксиса,

  • подсветка всех слов аналогичных тому, что под курсором (по клавише),

  • инкрементальный поиск,

  • поиск во всех файлах проекта с подсветкой найденного,

  • переименование метода класса в исходнике с автоматическим изменением сигнатуры в заголовочнике,

  • astyle (ну это просто),

  • автодополнение (уже подсказали в другой теме, не пишите про него),

  • дебаггер (с вычислением символа под курсором и переходом из одной точки дебага в другую),

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

  • Ну и, конечно, сохранение/открытие проекта, быстрый запуск компилятора и скомпилированного файла.

Ну вот и всё. Вроде ничего не забыл.

 ,

next_time
()

Расскажите про barman, пожалуйста

Форум — Admin

Всем привет,

Пытаюсь настроить бэкапы PostgreSQL с помощью Бармана, но никак не могу понять разницу между сценарием 1 и сценарием 1b на их сайте.

По сути я хочу сделать вот такую структуру:

- 2019/07/10
  - wal-1
  - wal-2
  - wal-3
  - wal-n

- 2019/07/11
  - wal-1
  - wal-2
  - wal-3
  - wal-n

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

Подскажите, пожалуйста, если кто сталкивался.

 ,

alex07
()

Свободное ПО в электронике.

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

Многое хочется написать. Во-первых, про разрешение 800х600 скажу, чтобы сразу не придирались. У меня сейчас стоит карта S3 Trio64V2, для которой я дорабатываю драйвер для Xorg. Так что низкое разрешение -- это рабочий момент.

На экране изображена моя текущая деятельность -- разработка инфракрасного датчика. Весь фетиш в том, что я, проявив героизм против фраз "Да что ты мучаешься! Поставь OrCAD! Делать тебе нечего?", использовал исключительно свободное ПО. Схему я создавал в gschem (проект gEDA). Трассировка ручками осуществлялась в PCB. Просмотр результатов перед передачей в производство -- gerbv. И вот результат труда вы видите на экране: экспериментальная партия однослойных печатных плат (25 шт.) с маской и шелкографией, изготовленная в Зеленограде. Проект передавался в производство в формате Gerber RS-274X, файл для сверлильного станка в формате NC drill/Excellon. У технолога не возникло ни единого вопроса, кроме способа разделки плат (фрезерование или скрайбирование).

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

Резюме: свободное ПО (с соотв. трудностями) можно использовать при производстве электроники. Предлагать переходить на это ПО людям, сто лет сидящим на ворованном OrCAD, PCAD и пр., я не советую. Пока к людям не придет осознание (либо приказ сверху), что использовать ворованный, дорогой продукт -- это очень плохо и опасно, то изменить что-то не получится. Поскольку я сам для себя хозяин в данном вопросе, и ко мне в мастерскую никакая сволочь с советами не лезет, то мне проще.

Zubok
()

Операционная система GNU Emacs завоевывает десктоп! :)

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

Операционная система GNU Emacs получила новые возможности! Собрал волю в кулак и написал библиотеку, которая практически полностью реализует протокол X11. Библиотека незамысловато называется x11 и написана на чистом Emacs Lisp, но пока имеет статус technical preview, хотя в принципе уже можно писать что-то реальное. За основу пока взяты описания протокола на XML из проекта XCB, которые разворачиваются в реализацию. В результате имеем практически все расширения. Работа с протоколом осуществляется в асинхронном стиле подобно XCB. Чего пока нет:

  • MIT-SHM. Запросы реализованы, но работать через разделяемую память из операционной системы Emacs мы пока не можем, поэтому Будем через сокет закидывать. Тем более, что разница в скорости, говорят (видел где-то в инете замеры), не такая сумасшедшая.
  • XKB. Просто забыл реализовать пару конструкций XML, используемых для описания этого расширения. Это я скоро реализую, поэтому расширение будет работать в полном объеме.
  • Big-requests. Тоже будет реализовано. Расширение содержит всего один запрос. Он реализован. Но именно для этого расширения надо несколько перелопатить процедуры формирования запросов к серверу X, так как подсчет размеров запросов изменяется с этим расширением.
  • GLX. Огромнейший пласт. За него возьмусь сильно позже. Тут же еще надо полностью сгенерировать протокол GL, а он очень обширный.

Остальные расширения вроде бы должны работать, если их описания правильные и если я что-то не упустил принципиального. Я работу всех расширений даже не проверил, так как очень спешу радостью поделиться. :)

(размер экрана уменьшил до 1024x768, чтобы скриншот поменьше был)

На скриншоте сверху робкая демонстрашка в стиле LSD основного протокола X11 (Core protocol). Ну с arcs, rectangles и core fonts все и так понятно. А вот как выведены фотографии? Я пока не настолько крут, чтобы писать растеризацию jpg и png на Emacs Lisp. Пораскинув мозгами, пошел смотреть, чем может помочь ImageMagick. Оказалось, есть там возможность получить дамп картинки в нужном формате. Так и сделал: надо отобразить картинку - дергаем stream, она нам отдает дамп в буфер, мы его отсылаем в сервер X. «Привет, Isden» написана мышкой. Демка отслеживает событие motion-notify и рисует маленький квадратик под указателем. По кнопке «q» - выход (отслеживается событие key-press)

На скриншоте снизу робкая и неумелая демонстрашка расширения XRender. Тоже в стиле LSD. На ней мы видим linear gradient, radial gradient, треугольник и отрисовку сглаженных окружностей. Окружности состоят из трапезоидов. Алгоритм рассечения (tessellation) я применил первый, какой мне пришел в голову - горизонтальными трапециями. Какая есть проблема? Сглаженный текст! Что-то мне писать растеризацию TrueType или Type1 на Emacs Lisp не улыбается. Есть идея написать программку на Си с помощью Xft, которую я буду что-то просить растеризовать, а она результат будет отдавать в Emacs. То есть примерно как и с ImageMagick поступить.

Надо хорошенько переобдумать API библиотеки, чтобы его заморозить. При этом надо учесть потенциальные и вероятные будущие новшества в Emacs и в библиотеке, чтобы людям не пришлось переписывать то, что написано ранее. Есть недостатки в Emacs, которые реально мешают и раздражают. Преодолимы, конечно, но это будут костыли. Если интересно, то потом поясню, а то уже и так много воды налил.

Так что есть потенциальная возможность воплотить мечту atoku в жизнь. :)

Традиционная ссылка на обоину: #888888. Старую удалил, так как она надоела, а новую еще не искал. Этот серый цвет реально бесит. :)

 , ,

Zubok
()

Автоматическое формирование отчётов в LaTeX.

Форум — General

Пока оформлял отчёт по НИРу, возникла идея — всё это дело автоматизировать. Есть БД с некими результатами. Полагаю, что нужно скриптом собирать определённую выборку из БД, и на основании выборки (за дату или период) формировать файлы данных для gnuplot и .tex-файлы, которые потом кормить pdflatex'у.

Подтолкните в какую сторону смотреть. Как формировать tex-файл по определённым условиям.

 , ,

arbyz
()

Посоветуйте, что почитать / посмотреть по нейросеткам

Форум — Development

А конкретнее - хочу понять, как распознавать изображения и «понимать», что на них есть.

Я в этом полный никто, поэтому хочется что-то без заумных высказываний, понять которые можно только имея какой-то багаж знаний в этой области.

И да, хочется без привязки к python и TensorFlow, потому что писать буду, вероятей всего, не на них, а на всеми-не-любимой java и Deeplearning4J.

 deeplearning4j, image recognition, , ,

bvn13
()

зависание файловой 1С

Форум — Admin

Добрый времени суток. Стоит файловая 1С под Ubuntu - 18.04. Периодически происходит зависание(появляются часики и висит). Приходится закрывать и открывать. Раньше все было нормально. Может кто сталкивался? Или в базе проблемы?

Заранее благодарен...

 ,

vadim55_242
()

Второй vpn пускается через первый и от этого тормозит. Как пофиксить?

Форум — Admin

Я по умолчанию всегда держу openvpn соединение включенным, используя его как default gateway, так как живу в тоталитарной стране с цензурой интернета. Иногда мне надо подключать openconnect vpn для доступа к компьютерному кластеру. Если я делаю это при включенном openvpn соединении, соединение с кластером тормозит. Я предполагаю, что трафик опенконнекта идет через тот самый default gateway. Как пофиксить? Бонусные очки за решение, использующее GUI нетворкменеджера.

 ,

hlebushek
()