29 Авг

Использование Sox

Просто заметка для себя, чтобы не забыть.

Необходимо было массово склеить пару тысяч звуковых файлов попарно. Делается это при помощи Sox достаточно просто.

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

sox.exe filename1.wav filename2.wav result_filename.wav

Чтобы файлы замиксовать, то есть чтоб они проигрывались одновременно с самого начала, пишем так:

sox.exe -M filename1.wav filename2.wav result_filename.wav

Такие дела.

08 Авг

Ошибка при установке Passenger

Каждый раз сталкиваюсь с этой проблемой и каждый раз забываю, в чём причина.
После установки Passenger и попытке запуска passenger-install-apache2-module выскакивает примерно следующая ошибка:
`method_missing': undefined method `this' for #<Gem::Specification:0x4db6d12 … бла-бла-бла
Код ошибки может отличаться и ситуация может быть другой.
Решение следующее:
достаточно выполнить следующую команду
gem update --system 2.4.8 --no-ri --no-rdoc

Этой командой мы апдейтим апдейтер до нужной нам версии.
Такие дела.

12 Ноя

Соединение с несколькими БД с использованием ActiveRecord

В общем, с Ruby у меня пошло как-то получше, чем ранее с python’ом и фреймворком Yii2.
Смотрю тут всякие видеоуроки, читаю книги, уже немного фигачу всякие мелочи с использованием Sinatra и ActiveRecord.
Вот понадобилось тут из одного приложения создавать подключения к нескольким базам данных. Искал всякие варианты — ничего толком не нашел. Там вроде можно как-то конфиги указывать в database.yml, но у меня не получилось. Зато получилось вот так:
для начал нам потребуется собственно сам activerecord

в файле app.rb — основной файл приложения Sinatra, — прописываем следующее:

require 'rubygems'
require 'sinatra'
require 'sinatra/activerecord'

ActiveRecord::Base.configurations["mysql1"] = {
:adapter => "mysql2",
:host => "localhost",
:username => "username",
:password => "userpassword",
:database => "databasename",
:encoding => "utf8"
}

ActiveRecord::Base.configurations["mysql2"] = {
:adapter => "mysql2",
:host => "localhost",
:username => "username",
:password => "userpassword",
:database => "oher_databasename",
:encoding => "utf8"
}

А далее в коде при создании класса с нашей моделью прописываем вот так:

class Table1 < ActiveRecord::Base
establish_connection "mysql1"
end

class Table2 < ActiveRecord::Base
establish_connection "mysql2"
end

Вот и всё. После этого у меня приложение заработало нормально.

Немного позже напишу ещё о том, как подключиться к базе MSSQL из синатры (если, конечно, получится).

09 Окт

PHP + MSSQL

Попросили меня тут на днях сделать простенький интерфейсик для работы с базой данных одной программы по управлению доступом (СКУД). Но дело в том, что там используется база MSSQL.
Не, ну а чо, микрософт, так микрософт. Начал рыть инфу, что да как делать. В общем, нашел такую штуку как FreeTDS — это драйвер для подключения как раз-таки к нужной мне БД.
Поставил, прогеморроился полдня с ней, но так и не получилось настроить. В итоге начал искать другие варианты.
И наткнулся на одном сайте, что с php, установленной через apt-get, не очень кошерно использовать тулзы, установленные из исходников. Подсказали, что при таком варианте достаточно доустановить просто
apt-get install libsybdb5 freetds-common php5-sybase
/etc/init.d/apache2 restart

В общем, установил, рестартнул Апач, в коде пхп прописал что-то типа такого:

  try {
    $hostname = "server_ip";
    $port = 1433;
    $dbname = "DatabaseName";
    $username = "Login"; 
    $pw = "Password"; 
    $pdo = new PDO ("dblib:host=$hostname:$port;dbname=$dbname",$username,$pw);
  } catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    exit;
  }

и всё волшебным образом заработало!

24 Апр

Books.ru снова радует

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

14 Фев

Серверок

Купил себе серверок. Небольшй такой, чисто поэкспериментировать, побаловаться, а там, глядишь, может чего хорошего с ним сделаю.
Так как пока никаких планов на него нет, то купил самый дешевый, за 99 рублей в месяц.
Характеристике соответствуют цене, собственно:
256 МБ оперативной памяти
500 МГц процессора
10 ГБ жесткого диска.

В общем, пока что туда только поставил сервер mumble для голосового общения. Стандартный Апач, фтп, пхп, мускуль. Буду дальше что-нибудь придумывать.