LINUX.ORG.RU

Сообщения Mirage1_

 

PyZMQ many-to-many queue

Форум — Development

Можно ли на PyZMQ реализовать очередь многие-ко-многим?

Чтобы несколько тредов пихали в очередь сообщения, и много тредов так же забирали из очереди (кто первый, тот и забирает)?

 , , ,

Mirage1_
()

mc + FTP with TLS

Форум — Desktop

Как известно, mc не имеет поддержки FTP+TLS,
[1] http://www.masterit.ru/mc-midnight-commander-ftp-over-tls/
[2] https://serverfault.com/questions/335682/ssh-tls-support-for-midnight-commander
[3] https://midnight-commander.org/ticket/3343

Я правильно понимаю, что самый простой (по временным затратам) путь копирования в/из FTPS-папки, это curlftpfs?

Вроде бы, Krusader тоже не умеет FTPS? https://www.google.ru/search?q=Krusader FTPS TLS

Про SCP/SFTP я знаю.

 , , ,

Mirage1_
()

Play Market, публикация под другим аккаунтом

Форум — Mobile

Как в Google Play Console предусмотрена процедура передачи прав на приложение и публикация его с другим applicationId с другого аккаунта?

Допустим, я разработал приложение, протестировал его - и передаю права фирме, которая хочет публиковать его самостоятельно. Понятно, что id придётся поменять. Будет ли Google ставить палки в колёса?

 ,

Mirage1_
()

Свопирование записей Redis

Форум — Development

Пробую разобраться.
Redis у меня используется для хранения сообщений от брокера - раздача пакетов заданий на вычислительные ноды.
Согласно redis.io, «Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.»
Но тут проблема. На VDS мало оперативки, а диск - быстрый SSD. Хотелось бы, чтобы по достижении лимита maxmemory, или близко к нему, Redis сбрасывал данные на диск, начиная с самых старых записей. Можно конечно, навелосипедить вручную, установив maxmemory-policy noeviction. Но хочется чтобы БД не ждала до упора, а заранее начинала свопить записи.

При этом, хочется не использовать системный swap.

Или проще в таком случае не заморачиваться, и запихнуть всё в Postgres? Супер-экстремальной производительности мне не требуется, пока достаточно 200-300 записей в секунду, и вряд ли будет сильно больше 1000 записей/сек. Постгрес у меня на сервере всё-равно будет крутиться.

Есть ли простое решение для Redis? P.S.Я решил пока не мучаться с Celery.

 , ,

Mirage1_
()

RawTherapee noise reduction

Форум — Multimedia

Умеет ли RawTherapee давить ISO-шум?

Я погуглил. Ссылка на linux.com не открывается. На dpreview.com одни понты, без описания процесса обработки, ну и упоминают Lab.

Посмотрел короткий video tutorial. Но там версия RT другая, у меня 4.0.9.

Какую версию RT лучше ставить, чтобы все современные фичи были, и не падало в корку?

 

Mirage1_
()

Exit from RawTherapee in i3wm

Форум — Multimedia

Камрады, подскажите способ выхода из RawTherapee в i3.

В официальной документации говорится, что «официальной кнопки для выхода из RawTherapee не существует, пользуйтесь крестиком в углу окошка». В i3wm можно ли настроить оформление окошек в виндовом стиле?

Какой способ выхода из RT в i3 будет самым оптимальным?

Документация:
[1] http://www.rawtherapee.com/shared/obsolete/RawTherapeeManual_3.0.pdf
[2] https://docs.google.com/document/d/1aIL97sjquDmnWOGToPrGhn1JzMLTuUOSVgJBwWYdf...

P.S. Использую RawTherapee в связке с Gwenview.

 ,

Mirage1_
()

play midi in C (Linux)

Форум — Multimedia

Вопрос вроде простой. Я искал кросс-платформенный способ проиграть MIDI-файл, нашёл PyGame и SDL. Но склоняюсь к нативному способу. Делаю небольшую демку.

Для Windows нашёл такой код: https://www.daniweb.com/programming/software-development/code/216360/play-a-m...

Какой библиотекой лучше играть .midi под современными линуксами?

Чтобы Windows-код не потерялся (мало ли, кому-то надо будет):

// sound a tugboat toot using a midi voice from the winmm.lib
// in case of Dev C++ link with libwinmm.a via
// Project>>Project Options>>Parameters>>Add Lib>>libwinmm.a
// BCX generated C code painstakingly modified for Dev C++ 
//
// Sound(Frequency,Duration[,Volume,Voice,Tempo])
// Volume = 0 to 127 (off to loudest)
// Voice = 0 to 127 (Shanai = 111, Tuba = 58, Accordion = 21)
// more midi voices: 
// Rock Organ = 18, Marimba = 12, Steel String Guitar = 25
// Choir Aahs = 52, Alto Sax = 65, Bird Tweet = 123, Sitar = 104
// FX 8 (sci-fi) = 103, FX 3 (crystal) = 98, Glockenspiel = 9 
//
// a Dev-C++ tested Console Application by  vegaseat  21nov2004
#include <cmath>
#include <windows.h>
#include <mmsystem.h>
using namespace std;
#define SNDQUE 10000
typedef struct _soundtype
{
  double  Freq;
  int     Dura;
  int     Vol;
  int     Voice;
  double  Tempo;
  int     sndTid;
} soundtype, *LPSOUNDTYPE;
static soundtype  SndPmtr[SNDQUE+1];
static int        gTenter;
static int        gTwait;
static int        gTexit;
static int        gTarray;
static BOOL       gTsig;
static HANDLE     gSThread = NULL;
double  Round (double,int);
double  Abs (double);
int     Sound (float,int=0,int=127,int=0,float=1);
// changed this from int PlaySnd(void) to:
DWORD WINAPI PlaySnd (LPVOID);
int main()
{
  // Tugboat whistle sound 95 hertz, 2000ms, 127 = loud, 111 = Shanai
  // experiment with your own sounds, it's fun ...
  Sound(95,2000,127,111);  // 2 second blast 
  Sound( 1,1000,  0,111);  // 1 second of silence 
  Sound(95,2000,127,111);  // 2 second blast 
  Sound( 1,1000,  0,111);  // 1 second of silence 
  Sound(95,2000,127,111);  // 2 second blast
      
  // wait till que is empty
  while(Sound(0) != 0)
  {
    Sleep(10);
  }
 
  return 0;
}
double Round (double n, int d)
{
  return (floor((n)*pow(10.0,(d))+0.5)/pow(10.0,(d)));
}
double Abs (double a)
{
  if (a < 0)  return -a;
  return  a;
}
int Sound (float Freq,int Dura,int Vol,int Voice,float Tempo)
{
  DWORD  dwThreadId;
  
  if (Freq == 0 && Dura < 1) return gTenter-gTexit;
  // silence
  if (Freq == 0) Vol = 0;
  if (Dura < 5) Dura = 5;
  gTenter++;
  gTsig = FALSE;
  if (gTenter >= SNDQUE)
  { 
    gTarray = gTenter % SNDQUE+1;
  }
  else 
  {               
    gTarray=gTenter;
  }
  SndPmtr[gTarray].Freq = Freq;
  SndPmtr[gTarray].Dura = Dura;
  SndPmtr[gTarray].Tempo = Tempo;
  SndPmtr[gTarray].Vol = Vol;
  SndPmtr[gTarray].Voice = Voice;
  SndPmtr[gTarray].sndTid = gTenter;
  if (gSThread == NULL && (Freq == Abs(Freq) || Freq == 0))
  {
      // «PlaySnd» needs casting (void *)
      gSThread = CreateThread(NULL,0,PlaySnd,(void *)«PlaySnd»,0,&dwThreadId);
      Sleep(1);
      return 0;
  }
  if (Freq != Abs(Freq))
  {
    if (Freq == -1)
    {
      Freq = 0;
      SndPmtr[gTarray].Vol=0;
    }
    SndPmtr[gTarray].Freq=Abs(Freq);
    gTsig=TRUE;
    while(gSThread!=NULL)
    {
      Sleep(10);
    }
    gTexit = gTenter-1;
    gTwait = gTenter-1;
    gTsig = FALSE;
    return PlaySnd(0);  // needs some kind of argument
  }
  return 0;
}
DWORD WINAPI PlaySnd (LPVOID)
{
  soundtype  LocSndPar;
  int  lTarray;
  
  while(gTenter > gTexit && gTsig == FALSE)
  {
    gTwait++;
    if (gTwait >= SNDQUE)
      lTarray = gTwait % SNDQUE+1;
    else
      lTarray = gTwait;
    LocSndPar = SndPmtr[lTarray];
    int Note = 0;
    int Phrase = 0;
    HMIDIOUT hMidi;
    midiOutOpen(&hMidi,(UINT)-1,0,0,CALLBACK_NULL);
    midiOutShortMsg(hMidi,(256*LocSndPar.Voice)+192);
    // convert frequency to midi note
    Note = (int)Round((log(LocSndPar.Freq)-log(440.0))/log(2.0)*12+69,0);
    Phrase = (LocSndPar.Vol*256+Note)*256+144;
    midiOutShortMsg(hMidi,Phrase);
    Sleep((int)(LocSndPar.Dura*(1/LocSndPar.Tempo+0.0001)));
    Phrase = (LocSndPar.Vol*256+Note)*256+128;
    midiOutShortMsg(hMidi,Phrase);
    midiOutClose(hMidi);
    gTexit++;
  }
  CloseHandle(gSThread);
  gSThread = NULL;
  return 0;
}

 , ,

Mirage1_
()

Для contrib не обязательно нужен non-free?

Форум — Linux-install

Вопрос наверное ламерский. Но хочется для себя прояснить такую ситуацию.

Когда устанавливаешь Debian 8 через Advanced graphical install, выдаётся подсказка, что contrib зависит от non-free: https://github.com/Jolicloud/apt-setup/blob/master/debian/po/ru.po#L484 «В виде пакетов доступно дополнительное ПО. Хотя, оно и свободное, оно зависит от несвободного ПО...»

Возможно, ошибка переводчиков. Так как на сайте Дебиана написано по-другому: «The contrib archive area contains supplemental packages intended to work with the Debian distribution, but which require software outside of the distribution to either build or function

То есть, софт из contrib не обязательно требует non-free на этапе запуска/использования. Может быть, что non-free софт просто использовался для сборки бинарных пакетов. Кстати, можете привести пример такого софта? Неужели для Debian компилируют софт с помощью несвободных компиляторов (Intel C++, MSVC++)?

P.S. На википедии хорошая справка по DFSG.

 ,

Mirage1_
()

Отключение кнопки PowerOff в Debian

Форум — Linux-hardware

Какой самый правильный способ отключить стандартную реакцию на нажатие кнопки выключения питания (ATX)? Понятно, что от 5-sec нажатия и шнура не спастись. Но спиногрызы научились выключать-включать. На компе Debian.

Как лучше включать в таком случае? Можно ли включение тоже запретить, сделать только по сигналу из LAN?

P.S. В гугле нашёл https://unix.stackexchange.com/questions/34489/how-to-disable-shutdown-so-tha...

1. alias shutdown=' '
2. chmod 0 /sbin/shutdown

 , ,

Mirage1_
()

Внешний IPv4 у Ростелекома

Форум — Admin

Не знаете, как пробросить порты до домашнего роутера у Ростелекома? У некоторых, как видно, эти проблемы с 2014 года. Сколько такая услуга у Волгателекома стоит? Похожая услуга есть у них для мобильной связи": M2M-ip за 800 руб/мес..

У меня роутер Eltex (PON), там какая-то система для админов прошита Eltex.EMS. Сегодня пробросил порт :443 до домашнего сервера, и через 5 минут пропал доступ к роутеру по :80 и :22. Веб-морда стала недоступна. Остался только TELNET. Вечером снова буду сбрасывать настройки кнопкой, и тратить время на сношения с этим чудом техники.

Как вообще обстоят дела с IPv6 у Ростелекома?

 ,

Mirage1_
()

Посоветуйте хостинг

Форум — Development

Посоветуйте недорогой и более-менее надёжный shared-хостинг с поддержкой Python, или VPS (для Debian). Россия не критична, для зарубежных пользователей.

У какого хостера лучше брать VPS/VDS: чтобы держал пиковую нагрузку до 6-10 ядер процессора 3 GHz, памяти нужно не так много, порядка до 16-32 GB в пике, канал входящий желательно до 1 Гбит/сек, но можно и порядка <=200 Мбит/сек. Желательно, чтобы цена на входящий трафик была не сильно высокой. Жёсткий диск не критичен, достаточно SSD 20 GB. Сколько это обычно стоит в месяц?

 ,

Mirage1_
()

Посоветуйте толковые книги на русском/английском по Си++ (Cxx11)

Форум — Development

Посоветуйте толковые книги на русском/английском по Си++.
Чтобы был нормальный перевод и содержание.
У меня где-то лежит каталог с O'Reilly, надо бы посмотреть среди них. Ещё что-то брал по акции «книга за 1 рубль» в books.ru

В двух словах - я старпёр, который изучал Си/Си++ в 1996-1997 году по книжкам:
* В.В.Подбельский Язык Си++ (Финансы и статистика)
* Беляков М.И., Рабовер Ю.И., Фридман А.Л. Мобильная операционная система
* немного смотрел русский перевод Керниган-Ритчи в бумажном виде в библиотеке когда интернетов не было, а свою книгу купить - стипендия не позволяла
* в 2004-2005 году читал книгу Страуструп Б. Дизайн и эволюция С++

Все эти книги читал в бумажном варианте.

По работе писал только на Си с классами и на Паскале с классами (+Делфи). Сейчас хотел бы по-изучать Си++, чтобы понимать современный код. Какие книги посоветуете? Интересует компактное изложение фундаментальных основ, желательно - на русском языке. Или что-то не очень тяжёлое на английском (чтобы не надо было переводить каждое слово со словариком). Надеюсь, понятно объяснил. Спасибо.

Просто я встретил на днях код вида

A::B::C::D ...
, и понял, что пора догонять поезд. На университетских знаниях 20-летней давности сейчас делать почти нечего. Хочу перестать заниматься быдлокодерством, и начать осваивать современные знания.

Ещё - есть ли краткая табличка с основными различиями в стандартах (Comparison table/list)? Или лучше просто прочитать для начала Wikipidia:C++11, и составлять такую таблицу самому?

За что браться не следует однозначно новичку, что освоить для быстрого JFF-эффекта, если хорошо знал в своё время Си с классами? Нравится концепция namespaces. Ещё хотелось бы впоследствии плавный переход на какую-то функциональщину, чтобы знания по современному Си++ пригодились. Какие концепции/подходы есть общие?

 ,

Mirage1_
()

RSS подписка на новые темы