?

Log in

No account? Create an account

diman_novik_ru


Новиков Дмитрий

Свободный художник


Entries by category: it

[sticky post]Felix, qui potuit rerum cognoscere causas
diman_novik_ru
Счастлив тот, кто смог познать суть вещей (Вергилий).

... И правила моего журнала ...Collapse )

QT и динамически связывамые библиотеки в Linux
diman_novik_ru
Если в QT при компиляции появилась ошибка "undefined reference to symbol 'dlclose@@GLIBC_2.2.5'" (и вместе с ним "/lib64/libdl.so.2:-1: ошибка: error adding symbols: DSO missing from command line"), значит надо в дополнительные параметры сборки (qmake) внести строку "LIBS+=-ldl".

А ещё QT иногда после очередного обновления системы вдруг решает, что проект перенесён с другого компьютера, и стирает всё, что вы там в эти дополнительные параметры внесли. Поэтому их надо сохранять. Отдельно.

Компонента V7Plus : Ошибка инициализации XML Parser (1С 7.7)
diman_novik_ru
Или как починить MSXML-парсер.

Притащила одна бухгалтерша ноутбук с установленной на нём программой 1С версии 7.7. В этой старой 1С-ке не формировались бухгалтерские отчёты, при этом 1С-ка выдавала следующее сообщение об ошибке: "Компонента V7Plus : Ошибка инициализации XML Parser".

Перед этим она мне звонила, спрашивала, не знаю ли я как решить эту проблему, и я не знал, но был готов попробовать. Однако её шеф решил позвать 1С-ников. По словам бухгалтерши к ней поочереди приходили трое специалистов по 1С, но с мёртвой точки дело не сдвинулось. Пришла моя очередь :).

Я с такой проблемой никогда не сталкивался, и начал с найденных в интернете рекомендаций переустановить msxml-парсеры. Не знаю, почему, но везде, где рассматривалась эта проблема (из тех мест, что я нашёл), "знающие" люди говорили, что седьмая 1С-ка работает только с третьей версией xml-парсера, поэтому они рекомендовали удалить четвёртый и более новые, а третий переустановить. Кое где предлагали переустановить и третий и четвёртый парсер. Я это, конечно, всё попробовал, но это не помогло. По следам в системе я обнаружил, что это всё перепробовал не только я.

Read more...Collapse )

Realtek rtl8723ae в Linux
diman_novik_ru
Столкнулся я с этой железкой когда ставил Линукс товарищу на ноутбук Toshiba Satellite C870-DNW. В тот день ему очень хотелось получить работающий ноутбук побыстрее, поскольку он пообещал дочке, что в субботу у неё уже будет новый комп взамен сгоревшего старого. Дочку ему расстраивать не хотелось, и я его понимаю.

К тому же он товарищ очень занятый, работает практически без выходных, и зарулить к нему на несколько часов, что бы разобраться с этой железкой, было не вполне удобно. А я давно хотел купить себе большой мощный ноутбук, что бы можно было запускать на нём OpenCL-евские программы, ну и заниматься там программированием по этой теме при желании. Но вот каждый раз я отговаривал себя от этой мысли, убеждая себя, что такой ноутбук не является для меня жизненно необходимой вещью. Экономил, короче. А тут я подумал: а не купить ли мне ноутбук как у товарища, и убить этим двух зайцев? С одной стороны я поимею наконец железку, которую давно хочу, хоть она мне и не так нужна, но хочется, а с другой стороны у меня будет возможность спокойно, не беспокоя никого, не спеша не торопясь, как говорится, разобраться с этим WiFi rtl8723ae в Linux - заставить его работать у себя, а тогда можно будет спокойно за пять минут решить эту проблему у товарища, которому я Линукса поставил. Заодно повышу свой уровень в Линуксе.Ну и купил. И разобрался.Collapse )
В общем, кое-какой опыт в работе с ядрами и драйверами Линукса я по ходу дела получил. И большой мощный ноутбук у меня теперь есть, с экраном 1600х900. На нём OpenCL может работать. Можно поехать с ним куда-нибудь в Крым хоть на всё лето, и сидеть писать свои программы между походами на море.

Использование Linux для интернет-банкинга
diman_novik_ru
Вчера у одной клиентки оживлял комп под управлением Windows и случайно обнаружил, что она пользуется удалённым доступом к банковским услугам через систему iBank2.RU. В чём фишка? Этот iBank2.RU умеет работать и с Линуксом и с Mac-OS, предоставляя доступ к большой куче разных банков. И к 1С у этих iBank2.RU тоже есть примочка, позволяющая прямо из 1С отправлять платёжки в банк.

Лично меня это радует.

1С из под Линукса работает прекрасно, если удаётся заставить её видеть ключ защиты программы. Сетевые версии 1С уже давно поддерживают Линукс, причём официально, а вот с локальными версиями проблема - они только с платной примочкой к Линуксу ключи видят. Но есть надежда, что эту неприятность сообщество Линукс в скором времени преодолеет.

Ещё бы отчёты в налоговую можно было бы из Linux отправлять, и тогда Windows стал бы вообще не нужен.

Я очень жду этого счастливого часа. Буду бухгалтеров на Линукс пересаживать.

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

        $newR['introtext'] = ' Вводный текст \\\\\\\\\#абракадабра';

(Если вывести эту строку в окно интернет-бродилки без обработки, эта строка вывыглядит так: "Вводный текст \\\\\#абракадабра", то есть каждый двойной слэш превращается в один, и одиночный остаётся слэшем.)

и регулярное выражение к нему:

        $newR['introtext'] = preg_replace('|\\{1,}([^\\]*)|u', '\\\\\1', $newR['introtext']);

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

На выходе должно получиться: " Вводный текст \\#абракадабра", и при выводе на экран слэш будет воспринят как символ, а не как спецсимвол, то есть на экране мы увидим  " Вводный текст \#абракадабра".

Как бы не так...Collapse )


Разложение звукового потока в спектр
diman_novik_ru
В рамках работы над своим безумным проектом поизучал тут методы разложения звукового потока в спектр частот.

Методов, собственно, не много, если быть точным - только один, а именно - дискретное преобразование Фурье, которое имеет свои минусы. В частности, для обнаружения такой низкой частоты, как 20 Гц надо обрабатывать звук кусками минимум по одной двадцатой части секунды. При этом мы имеем обязательное требование закидывать в функцию преобразования массивы замеров с размерами степени двойки (... 256, 512, 1024 и т.д.). Если речь о ТВ-приёмнике в моём компьютере, с частотой оцифровки 32 кГц, то приходится брать по 1/16 секунды (2048 замеров). Причём такой метод разложения на спектр даёт лишь ответ на вопрос, могла ли быть в данном звуковом потоке та или иная частота из довольно ограниченного набора заранее обусловленных частот. Заранее обусловленные частоты отличаются друг от друга вдвое, то есть если мы взяли 2048 замеров из потока с частотой оцифровки 32 килогерца, то набор частот начнётся с 15,625 Гц, и каждая следующая частота будет вдвое больше (31,25 Гц; 62,5 Гц; 125 Гц; и т. д.) плюс набор проверяемых частот удвоен за счёт смещения фазы сигнала.

Ну и далее...Collapse )

Глядя на весь этот бардак хочется опять изобрести велосипед.

ЗЫ: Всё к этому идёт.