Open Office шагает по стране, теперь шаблоны некоторых документов в интернете размещаются в формате .odt. Иногда с дубликатами в .pdf или .doc. А иногда и без них.
Что делать рядовому юзверю, который привык к своему MS Office и ни про какой OO знать не хочет? Поставить плагин фирмы Sun. Открывает и .odf и .odt.
Беда только в том, что фирму Sun купил Oracle. В этой конторе работают прирожденные барыги - они сделали бесплатный сановский плагин коммерческим и требуют за последнюю версию продукта 90 баксов.
Ну ничего, в сети еще есть бесплатная ПРЕДпоследняя версия. Качаем отсюда: http://narod.ru/disk/22749935000/odp-3.1-bin-windows-en-US.rar.html
пятница, 30 июля 2010 г.
суббота, 24 июля 2010 г.
Компиляция gcc программ с OpenMP
Нужно прилинковать библиотеку GOMP(ключ -lgomp при линковке). При компиляции, по идее, нужен ключ gcc -openmp (или -fopenmp), но у меня проект и без них откомпилировался и собрался.
Перенаправление ввода-вывода
Три потока, три пути, выбирай куда идти... Это я про stdin, stdout, stderr.
Допустим, у нас есть проект, который мы собираем из командной строки командой gmake. Генерируется многостраничная выдача и гораздо удобнее читать ее из файла, а не в окне терминала. Пишем gmake > файл и... в файле оказывается лишь несколько строчек. Засада.
А все потому, что при компиляции/сборке генерируются два типа выражений - просто output и ошибки. Первые идут в stdout, вторые - в stderr. Поскольку оба потока по умолчанию связаны с экраном, юзер их не всегда и различает. А когда начинаем перенаправлять - тут отличия и всплывают. Значок > перенаправляет только stdout. А вот комбинация >& перенаправит в файл и stdout, и stderr.
Узелок на память - список операторов перенаправления:
операция > файл - перенаправляет все сообщения stdout в файл;
операция >& файл - перенаправляет все сообщения stdout и stderr в файл;
операция < файл - перенаправление stdin, операция возьмет на вход содержимое файла;
операция >> файл - сообщения из stdout будут дописываться в конец файла (append).
Все это работает и в Windows и в Unix.
Допустим, у нас есть проект, который мы собираем из командной строки командой gmake. Генерируется многостраничная выдача и гораздо удобнее читать ее из файла, а не в окне терминала. Пишем gmake > файл и... в файле оказывается лишь несколько строчек. Засада.
А все потому, что при компиляции/сборке генерируются два типа выражений - просто output и ошибки. Первые идут в stdout, вторые - в stderr. Поскольку оба потока по умолчанию связаны с экраном, юзер их не всегда и различает. А когда начинаем перенаправлять - тут отличия и всплывают. Значок > перенаправляет только stdout. А вот комбинация >& перенаправит в файл и stdout, и stderr.
Узелок на память - список операторов перенаправления:
операция > файл - перенаправляет все сообщения stdout в файл;
операция >& файл - перенаправляет все сообщения stdout и stderr в файл;
операция < файл - перенаправление stdin, операция возьмет на вход содержимое файла;
операция >> файл - сообщения из stdout будут дописываться в конец файла (append).
Все это работает и в Windows и в Unix.
четверг, 22 июля 2010 г.
Простая программа на Python
# -*- coding: cp1251 -*-
w = 10
h = 10
fh = open('simple.txt', 'w')
for i in range(h):
s = ''
for j in range(w-1):
elem = 'a_{' + str(i) + ',' + str(j) + '}'
s = s + elem + ' '
elem = 'a_{' + str(i) + ',' + str(w) + '}'
s = s + elem + ' \n'
# простой вывод на экран - print s
fh.write(s)
fh.close()
Комменты. # - комментарии. Строчка с coding - на всякий случай, чтоб не ругался IDLE. Блоки не ограничиваются ни begin/end, ни {} - внутри блока нужно сделать отступ либо Tab, либо 4 пробела. Регулярные выражения реализованы не так как в Perl, здесь используются функции.
w = 10
h = 10
fh = open('simple.txt', 'w')
for i in range(h):
s = ''
for j in range(w-1):
elem = 'a_{' + str(i) + ',' + str(j) + '}'
s = s + elem + ' '
elem = 'a_{' + str(i) + ',' + str(w) + '}'
s = s + elem + ' \n'
# простой вывод на экран - print s
fh.write(s)
fh.close()
Комменты. # - комментарии. Строчка с coding - на всякий случай, чтоб не ругался IDLE. Блоки не ограничиваются ни begin/end, ни {} - внутри блока нужно сделать отступ либо Tab, либо 4 пробела. Регулярные выражения реализованы не так как в Perl, здесь используются функции.
среда, 21 июля 2010 г.
Latex - матрицы из пакета amsmath
Окружения tabular и array не слишком удобны для набора матриц, особенно если порядок большой - нужно указывать выравнивание для каждого столбца.
Если подключен amsmath (\usepackage{amsmath,amssymb}), можно использовать окружения pmatrix, bmatrix, matrix и др. Отличаются они лишь формой скобок.
Одно маленькое замечание. Если написать просто \begin{pmatrix} \end{pmatrix} - ничего работать не будет - latex выдаст ошибку "Missing $ inserted". А все потому, что все окружения типа XXmatrix работают только в math mode. Поэтому нужно сделать так:
\begin{equation}
\begin{pmatrix}
\end{pmatrix}
\end{equation}
Если подключен amsmath (\usepackage{amsmath,amssymb}), можно использовать окружения pmatrix, bmatrix, matrix и др. Отличаются они лишь формой скобок.
Одно маленькое замечание. Если написать просто \begin{pmatrix} \end{pmatrix} - ничего работать не будет - latex выдаст ошибку "Missing $ inserted". А все потому, что все окружения типа XXmatrix работают только в math mode. Поэтому нужно сделать так:
\begin{equation}
\begin{pmatrix}
\end{pmatrix}
\end{equation}
четверг, 15 июля 2010 г.
Графопостроитель
Обнаружил весьма продвинутую программу для рисования графиков и анализа данных - SciDAVis.
Умеет строить всякие графики, экспортировать их в некоторые векторные и растровые форматы (выбор, правда, совсем небольшой). Есть функции для расчета корреляции, автокорреляции, свертки и деконволюции. И даже возможность взятия прямого и обратного быстрого преобразования Фурье (БПФ, оно же FFT), а также функции для работы со спектрами и сигналами.
Пакет лежит здесь: http://scidavis.sourceforge.net/. Почитать о нем на русском можно в блог-посте.
Умеет строить всякие графики, экспортировать их в некоторые векторные и растровые форматы (выбор, правда, совсем небольшой). Есть функции для расчета корреляции, автокорреляции, свертки и деконволюции. И даже возможность взятия прямого и обратного быстрого преобразования Фурье (БПФ, оно же FFT), а также функции для работы со спектрами и сигналами.
Пакет лежит здесь: http://scidavis.sourceforge.net/. Почитать о нем на русском можно в блог-посте.
Немного про Batch
Не перестаю удивляться синтаксису BAT-файлов.
Вот так не работает
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 (echo Cannot switch on extensions)
ELSE (echo Extensions are switched on)
- не знает cmd.exe команды ELSE.
А надо вот так:
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 (echo Cannot switch on extensions
)ELSE (echo Extensions are switched on)
так как ПРЕДЛОЖЕНИЕ (такой элемент языка) ELSE должно быть на той же строчке, что и команда, следующая за оператором IF.
Теперь про setlocal. Эта директива включает некоторую опцию только для данного bat-файла.
Далее цитата из хелпа:
"Команда SETLOCAL принимает необязательные аргументы: ENABLEEXTENSIONS или
DISABLEEXTENSIONS. Это позволяет включить или отключить расширенную обработку
команд до выполнения команды. Аргумент ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION включает или отключает отложенное расширение переменной среды."
Пригодиться это все может, если нужно распечатывать значения счетчика цикла во время итераций (даже это в BAT-никах без удара в бубен не сделаешь).
отложенное расширение переменной среды.
Вот так не работает
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 (echo Cannot switch on extensions)
ELSE (echo Extensions are switched on)
- не знает cmd.exe команды ELSE.
А надо вот так:
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 (echo Cannot switch on extensions
)ELSE (echo Extensions are switched on)
так как ПРЕДЛОЖЕНИЕ (такой элемент языка) ELSE должно быть на той же строчке, что и команда, следующая за оператором IF.
Теперь про setlocal. Эта директива включает некоторую опцию только для данного bat-файла.
Далее цитата из хелпа:
"Команда SETLOCAL принимает необязательные аргументы: ENABLEEXTENSIONS или
DISABLEEXTENSIONS. Это позволяет включить или отключить расширенную обработку
команд до выполнения команды. Аргумент ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION включает или отключает отложенное расширение переменной среды."
Пригодиться это все может, если нужно распечатывать значения счетчика цикла во время итераций (даже это в BAT-никах без удара в бубен не сделаешь).
отложенное расширение переменной среды.
Подписаться на:
Сообщения (Atom)