вторник, 31 декабря 2013 г.
понедельник, 30 декабря 2013 г.
Цитата
Лучший путь к написанию эффективного кода — не усложнять его без необходимости.
Бьерн Страуструп
воскресенье, 29 декабря 2013 г.
Релиз reup-1.3.2
Изменения:
- Timestamp в имени файла при архивировании репозитория заменен на дату_время;
- Проведена некоторая оптимизация кода.
Исходный код доступен ЗДЕСЬ.
вторник, 10 декабря 2013 г.
Релиз reup-1.3.0
Добавлена возможность автоматического обновления таблицы, описывающей модификации двигателей и соответствующие им файлы "прошивок".
Исходный код доступен ЗДЕСЬ.
Исходный код доступен ЗДЕСЬ.
воскресенье, 8 декабря 2013 г.
суббота, 7 декабря 2013 г.
Релиз reup-1.2.1
Изменения:
- Устранена ошибка в функции очистки каталога утилиты trimmhex (функция удаляла не все указанные файлы);
- Добавлен вывод уведомлений о выполняемых операциях и их завершении;
- Оптимизирована обработка пользовательского ввода.
Исходный код доступен ЗДЕСЬ.
понедельник, 2 декабря 2013 г.
Релиз reup-1.2.0
Главным новшеством в этой версии является функционал автоматического обновления идентификационной информации в hex-файлах.
Исходный код доступен ЗДЕСЬ.
Исходный код доступен ЗДЕСЬ.
воскресенье, 1 декабря 2013 г.
C++. Intel hex. Checksum calculation
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <algorithm>
#include <cstdint>
using namespace std;
vector<size_t> hexToNumBS(const string &srcStr) {
vector<size_t> v;
if ( srcStr.size() < 2 ) {
return v;
}
stringstream ss;
size_t code = 0;
for ( size_t i=1; i<srcStr.size(); i+=2 ) {
ss << hex << srcStr.substr(i-1, 2);
ss >> code;
v.push_back(code);
ss.clear();
}
return v;
}
string checksum(const string &str) {
vector<size_t> v = hexToNumBS(str);
u_int8_t cs = 0;
for ( size_t i=0; i<v.size(); i++ ) {
cs -= v[i];
}
stringstream ss;
ss << hex << static_cast<size_t>(cs);
string ret;
ss >> ret;
if ( ret.size() < 2 ) {
ret = "0" + ret;
}
else if ( ret.size() > 2 ) {
return "";
}
transform(ret.begin(), ret.end(), ret.begin(), ::toupper);
return ret;
}
int main() {
string fullOrigStr("102AE0007C0803A6382100084E8000209421FFE8CE");
cout << "Full original string: "
<< fullOrigStr << "\n";
string origStr = fullOrigStr.substr(0, fullOrigStr.size()-2);
cout << "Original string w/o checksum byte: " << origStr << "\n";
cout << "Calculated checksum: "
<< checksum(origStr) << "\n";
return 0;
}
четверг, 21 ноября 2013 г.
C++. Convert string to hex
После вчерашней заметки C++. Convert hex to string, стоит привести пример решения обратной задачи. То бишь, сконвертировать string в hex.
#include <iostream>
#include <sstream>
using namespace std;
void stringToHex(const string &srcStr, string &destStr) {
destStr.clear();
stringstream ss;
for ( size_t i=0; i<srcStr.size(); i++ ) {
ss << hex << static_cast<size_t>(srcStr[i]);
}
ss >> destStr;
}
int main() {
string srcstr("Hello world!");
string deststr;
stringToHex(srcstr, deststr);
cout << "\n" << deststr << "\n\n";
//
return 0;
}
среда, 20 ноября 2013 г.
C++. Convert hex to string
В рамках одного проекта встала задача сконвертировать hex в string. Гуглятся совершенно разные примеры и подходы. Я же хочу поделиться своим, на мой взгляд, наиболее простым и ясным решением.
#include <iostream>
#include <sstream>
using namespace std;
void hexToString(const string &srcStr, string &destStr) {
if ( srcStr.size() < 2 ) {
return;
}
destStr.clear();
stringstream ss;
size_t asciiCode = 0;
for ( size_t i=1; i<srcStr.size(); i+=2 ) {
ss << hex << srcStr.substr(i-1, 2);
ss >> asciiCode;
destStr.push_back(static_cast<char>(asciiCode));
ss.clear();
}
}
int main() {
string srcstr("48656C6C6F20776F726C6421");
string deststr;
hexToString(srcstr, deststr);
cout << "\n" << deststr << "\n\n";
//
return 0;
}
понедельник, 18 ноября 2013 г.
Релиз reup-1.1.2
Изменения в данной версии обеспечивают копирование всех файлов из каталогов hex и mpk при публикации репозитория. Ранее копировались только *.hex и *.mpk соответственно.
Исходный код доступен ЗДЕСЬ.
Исходный код доступен ЗДЕСЬ.
воскресенье, 17 ноября 2013 г.
Релиз reup-1.1.1
Некоторое время назад я решил переписать на C++ скрипт perl, созданный когда-то для автоматизации поддержки репозитория файлов для ЭБУ. Программа имеет консольный интерфейс с меню и активно работает с файловой системой, использует библиотеки boost. Несмотря на то, что reup (так я назвал свое произведение) "заточена" под конкретные условия и особенности организации работы, она может быть легко адаптирована и под другие аналогичные задачи благодаря доступным исходным кодам (reup распространяется на условиях GPL v3) и очень простой внутренней структуре.
Возможности текущей версии следующие:
Возможности текущей версии следующие:
- Триммирование hex-файлов с помощью внешней утилиты (задается в файле конфигурации);
- Архивирование оттримленных hex-файлов (архиватор и параметры архивации задаются в файле конфигурации);
- Обновление репозитория с заменой старых версий hex- и mpk-файлов их обновленными вариантами;
- Очистка директории утилиты trimhex (директория и расширения файлов, подлежащих удалению задаются в файле конфигурации);
- Публикация репозитория (файлы и каталоги локальной копии копируются по указанному в файле конфигурации адресу);
- Архивирование локальной копии репозитория.
Исходные код доступен ЗДЕСЬ.
суббота, 16 ноября 2013 г.
Релиз r49-16112013
Версии компонентов:
- libtoxic v7.5.2
- cr49 v1.3.0
- Qr49 v3.11.0
- Qr49: Добавлена возможность просмотра статистической информации по выделенным ячейкам в таблицах с исходными данными (количество элементов, сумма, минимальное значение, максимальное значение, среднее).
вторник, 5 ноября 2013 г.
Релиз r49-05112013
Версии компонентов:
- libtoxic v7.5.1
- cr49 v1.3.0
- Qr49 v3.10.3
- libtoxic: внесены коррективы в расчет приведенной мощности;
- libtoxic: исправлена ошибка, приводившая, при определенной комбинации исходных данных, к выводу "мусора" в отчет html;
- Qr49: улучшена логика работы кнопки "Копировать (НАМИ)" в диалоге "Отладочные данные";
- Qr49: внесены коррективы в функцию формирования данных в буфере обмена для вставки в отчет "НАМИ".
вторник, 29 октября 2013 г.
Конфигурация cmake для проекта на C++ с использованием boost
Задача стояла следующая. Есть кроссплатформенный проект на C++ (назовем его, к примеру, boost_test), который использует библиотеки boost (для примера, boost-filesystem). Используемый компилятор - gcc. Необходимо сформировать файл CMakeLists.txt, обеспечив статическое связывание проекта с нужными библиотеками boost и gcc в среде windows и динамическое в GNU/Linux. А заодно и освоить cmake, к которому давно приглядывался.
В результате, CMakeLists.txt получился следующим.
Вдогонку, привожу несколько ссылок с неплохим, на мой взгляд, введением в cmake:
В результате, CMakeLists.txt получился следующим.
cmake_minimum_required(VERSION 2.8)
project(boost_test)
set(APP_NAME boost_test)
set(CMAKE_BUILD_TYPE RELEASE)
aux_source_directory(src SRC_LIST)
set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -W -pedantic")
if(MINGW)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_SHARED_LIBS OFF)
else()
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_SHARED_LIBS ON)
endif()
find_package(Boost COMPONENTS system filesystem REQUIRED)
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIR})
endif()
if(MINGW)
set(BUILD_STATIC_LIBS ON)
set(BUILD_SHARED_LIBS OFF)
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
else()
set(BUILD_STATIC_LIBS OFF)
set(BUILD_SHARED_LIBS ON)
endif()
add_executable(${PROJECT_NAME} ${SRC_LIST})
target_link_libraries(
${PROJECT_NAME}
${Boost_SYSTEM_LIBRARY}
${Boost_FILESYSTEM_LIBRARY}
${Boost_LIBRARIES}
)
Вдогонку, привожу несколько ссылок с неплохим, на мой взгляд, введением в cmake:
- http://habrahabr.ru/post/155467/
- http://knzsoft.blogspot.ru/2012/04/cmakelisttxt.html
- http://www.devexp.ru/2010/01/sborka-proektov-s-cmake-vvedenie/
Хм.. И почему вот эти последние заметки не попались мне до того, как я закончил свой конфиг? Было бы куда проще, черт возьми )
boost. Компиляция с помощью gcc (mingw) в Windows
Оставим вводную в стороне и сразу за дело. На компьютере с Windows, где мне предстояло установить библиотеки boost, уже был установлен Qt, поэтому при сборке использовался mingw из комплекта Qt. Однако, ничто не мешает взять последнюю версию mingw отсюда. Итак, распаковываем скачанный архив boost и готовимся к сборке. Подготовка подразумевает правку файла bootstrap.bat и создание еще одного батника, назовем его build.bat. У меня содержимое этих файлов вышло следующее.
bootstrap.bat
build.bat
После того, как необходимые файлы отредактированы/созданы, приступаем к сборке. Для этого необходимо запустить сначала bootstrap.bat, который произведет компиляцию утилит автоматизации сборки библиотеки boost, а затем - созданный нами build.bat, который запустит сборку самой boost.
В общем-то и все. Скомпилированные библиотеки можно будет найти в каталоге stage.
Первоисточник: http://studff.ru/blog/programming/85.html.
UPD 18.12.2014
Заглянул в статистику своего блога и был удивлен популярностью данной статьи. На сегодняшний день, при актуальной версии boost 1.57, подобных манипуляций делать уже не нужно. Имея установленный MinGW, boost можно спокойно собрать буквально двумя командами (из каталога с исходниками).
UPD 24.04.2017
Рекомендуется к прочтению заметка boost. Компиляция с помощью gcc (mingw) в Windows. Более простой метод
bootstrap.bat
@ECHO OFF
REM Copyright (C) 2009 Vladimir Prus
REM
REM Distributed under the Boost Software License, Version 1.0.
REM (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
SET MINGWDIR=c:\Qt\Qt5.1.1\Tools\mingw48_32\bin\
SET BOOSTDIR=c:\boost\1.54.0\
SET PATH=%MINGWDIR%;PATH
ECHO Building Boost.Build engine
if exist ".\tools\build\v2\engine\bin.ntx86\b2.exe" del tools\build\v2\engine\bin.ntx86\b2.exe
if exist ".\tools\build\v2\engine\bin.ntx86\bjam.exe" del tools\build\v2\engine\bin.ntx86\bjam.exe
if exist ".\tools\build\v2\engine\bin.ntx86_64\b2.exe" del tools\build\v2\engine\bin.ntx86_64\b2.exe
if exist ".\tools\build\v2\engine\bin.ntx86_64\bjam.exe" del tools\build\v2\engine\bin.ntx86_64\bjam.exe
pushd tools\build\v2\engine
call .\build.bat gcc > ..\..\..\..\bootstrap.log
@ECHO OFF
popd
if exist ".\tools\build\v2\engine\bin.ntx86\bjam.exe" (
copy .\tools\build\v2\engine\bin.ntx86\b2.exe . > nul
copy .\tools\build\v2\engine\bin.ntx86\bjam.exe . > nul
goto :bjam_built)
if exist ".\tools\build\v2\engine\bin.ntx86_64\bjam.exe" (
copy .\tools\build\v2\engine\bin.ntx86_64\b2.exe . > nul
copy .\tools\build\v2\engine\bin.ntx86_64\bjam.exe . > nul
goto :bjam_built)
goto :bjam_failure
:bjam_built
REM Ideally, we should obtain the toolset that build.bat has
REM guessed. However, it uses setlocal at the start and does
REM export BOOST_JAM_TOOLSET, and I don't know how to do that
REM properly. Default to msvc for now.
set toolset=msvc
ECHO import option ; > project-config.jam
ECHO. >> project-config.jam
ECHO using %toolset% ; >> project-config.jam
ECHO. >> project-config.jam
ECHO option.set keep-going : false ; >> project-config.jam
ECHO. >> project-config.jam
ECHO.
ECHO Bootstrapping is done. To build, run:
ECHO.
ECHO .\b2
ECHO.
ECHO To adjust configuration, edit 'project-config.jam'.
ECHO Further information:
ECHO.
ECHO - Command line help:
ECHO .\b2 --help
ECHO.
ECHO - Getting started guide:
ECHO http://boost.org/more/getting_started/windows.html
ECHO.
ECHO - Boost.Build documentation:
ECHO http://www.boost.org/boost-build2/doc/html/index.html
goto :end
:bjam_failure
ECHO.
ECHO Failed to build Boost.Build engine.
ECHO Please consult bootstrap.log for furter diagnostics.
ECHO.
ECHO You can try to obtain a prebuilt binary from
ECHO.
ECHO http://sf.net/project/showfiles.php?group_id=7586^&package_id=72941
ECHO.
ECHO Also, you can file an issue at http://svn.boost.org
ECHO Please attach bootstrap.log in that case.
goto :end
:end
В этом файле, по сравнению с оригинальным, добавлены строкиSET MINGWDIR=c:\Qt\Qt5.1.1\Tools\mingw48_32\bin\
SET BOOSTDIR=c:\boost\1.54.0\
SET PATH=%MINGWDIR%;PATH
И изменена строкаcall .\build.bat gcc > ..\..\..\..\bootstrap.log
build.bat
SET MINGWDIR=c:\Qt\Qt5.1.1\Tools\mingw48_32\bin\
SET BOOSTDIR=c:\boost\1.54.0\
SET PATH=%BOOSTDIR%;%MINGWDIR%;PATH
CD %BOOSTDIR%
b2.exe --build-dir=%BOOSTDIR% toolset=gcc --build-type=complete stage
После того, как необходимые файлы отредактированы/созданы, приступаем к сборке. Для этого необходимо запустить сначала bootstrap.bat, который произведет компиляцию утилит автоматизации сборки библиотеки boost, а затем - созданный нами build.bat, который запустит сборку самой boost.
В общем-то и все. Скомпилированные библиотеки можно будет найти в каталоге stage.
Первоисточник: http://studff.ru/blog/programming/85.html.
UPD 18.12.2014
Заглянул в статистику своего блога и был удивлен популярностью данной статьи. На сегодняшний день, при актуальной версии boost 1.57, подобных манипуляций делать уже не нужно. Имея установленный MinGW, boost можно спокойно собрать буквально двумя командами (из каталога с исходниками).
bootstrap mingw
b2 toolset=gcc --build-type=complete
UPD 24.04.2017
Рекомендуется к прочтению заметка boost. Компиляция с помощью gcc (mingw) в Windows. Более простой метод
воскресенье, 13 октября 2013 г.
Запись скринкастов с помощью vlc
vlc - замечательная программа. Лично я использую ее и для просмотра фильмов, и для прослушивания музыки. Стоит отметить, что vlc не только плеер. Это настоящий комбайн. Так, с помощью vlc можно, к примеру, записывать скринкасты или конвертировать видео/аудио из одних форматов в другие. При этом настройки профилей доступны для редактирования.
В этой заметке я хочу показать, как выполняется запись скринкастов.
Запускаем vlc и выбираем пункт меню "Медиа -> Конвертировать/Сохранить".
В этой заметке я хочу показать, как выполняется запись скринкастов.
Запускаем vlc и выбираем пункт меню "Медиа -> Конвертировать/Сохранить".
В открывшемся диалоговом окне переходим на вкладку "Устройство захвата" и в качестве режима захвата выбираем "Экран". Выставляем желаемую частоту кадров и нажимаем на кнопку "Конвертировать/Сохранить".
В очередном диалоговом окне необходимо выбрать профиль, уточнить его настройки (контейнер, видеокодек, аудиокодек) и выбрать файл в который будет сохранен результат. После нажатия на кнопку "Начать" начнется запись.
Останавливается запись путем нажатия на кнопку "Останов" в главном окне vlc.
Вот, собственно, и все.
суббота, 21 сентября 2013 г.
четверг, 19 сентября 2013 г.
Релиз r49-19092013
Версии компонентов:
- libtoxic v7.5.0
- cr49 v1.3.0
- Qr49 v3.10.2
- Qr49: изменен интерфейс калькуляторов на панели расчетов;
- Qr49: из панели расчетов удален конвертер значений дымности. Данный функционал теперь доступен через пункт меню "Расчет -> Конвертировать значения дымности" и оперирует ячейками таблицы "Расчет удельных выбросов";
- Qr49: реализовано сворачивание главного окна по Shift-Esc.
понедельник, 16 сентября 2013 г.
Релиз r49-16092013
Версии компонентов:
- libtoxic v7.5.0
- cr49 v1.3.0
- Qr49 v3.10.1
- libtoxic: добавлен новый параметр расчетов "Дата испытаний";
- libtoxic: вывод в отчеты даты испытаний (если параметр "Дата испытаний" установлен) или даты расчета (используется текущая дата);
- libtoxic: добавлен вывод в отчет HTML значений параметра qmdw по точкам цикла (расчет ТЧ);
- libtoxic: улучшение внешнего вида отчета HTML;
- cr49: использование нового параметра расчетов "Дата испытаний";
- Qr49: использование нового параметра расчетов "Дата испытаний". На панели "Параметры расчета выбросов ВВ" добавлено поле установки даты испытаний и кнопка сброса даты на текущую;
- Qr49: устранена проблема вставки однострочных данных из буфера обмена.
воскресенье, 15 сентября 2013 г.
Релиз r49-15092013
Версии компонентов:
- libtoxic v7.4.0
- cr49 v1.2.1
- Qr49 v3.9.3
- libtoxic: формирование общих отчетов (по выбросам газообразных веществ и "твердых" частиц) в формате HTML по результатам расчетов на соответствие требованиям Правил ЕЭК ООН №49 и №96;
- libtoxic: информация для блока с описанием объекта тестирования (и для текстовых отчетов и для отчетов HTML) считывается из файла "r49data/engdescr.conf", если он существует, информация для блока с описанием технических жидкостей (для отчетов HTML) считывается из файла "r49data/techfluids.conf", если он существует;
- libtoxic: удален функционал по обработке отчетов (за ненадобностью, после создания функции saveReportHTML);
- libtoxic: более информативное сообщение о некорректных исходных данных при расчете приведенной мощности;
- Qr49: изменен диалог "Настойки отчетов". В диалоге реализован функционал по работе с файлами описаний объекта тестирования и технических жидкостей;
- Qr49: изменен один из путей поиска файлов перевода интерфейса ("langs/" вместо ".", "/usr/share/r49/translations/" - без изменений);
- Qr49: изменены значения левого, правого и нижнего полей страницы при выводе текстовых отчетов на печать (10 мм вместо 15 мм);
- Qr49: устранены замечания по работе функции ReportToPDF в среде Windows;
- Qr49: "горячие" клавиши функции рандомизации изменены на Ctrl+R.
воскресенье, 8 сентября 2013 г.
Релиз r49-08092013
Версии компонентов:
- libtoxic v7.3.1
- cr49 v1.2.1
- Qr49 v3.9.2
- Qr49: некоторые изменения в функциях открытия файлов документации во внешних программах;
- В архив с бинарными файлами для Windows добавлена windowsprintersupport.dll, необходимость в которой возникла после перехода на Qt 5.1.1.
понедельник, 19 августа 2013 г.
Релиз r49-19082013
Версии компонентов:
- libtoxic v7.3.1
- cr49 v1.2.1
- Qr49 v3.9.1
- libtoxic: устранена проблема, выражавшаяся в выводе значений параметра gPTs (по точкам) в отчет по результатам расчета выбросов газообразных ВВ с ОГ, когда этого не должно было происходить, при некоторых, редко используемых сочетаниях параметров расчета;
- Qr49: оптимизация логики GUI;
- Documentation: для более качественного вывода на печать, изменен код файла с описанием стандартов (diesel_engine_standards_ru.html).
среда, 14 августа 2013 г.
Релиз r49-14082013
Версии компонентов:
- libtoxic v7.3.0
- cr49 v1.2.1
- Qr49 v3.9.0
- Qr49: добавлена возможность вставки новых строк выше или ниже текущего положения курсора в таблицы с исходными данными для расчета выбросов вредных веществ и приведенной мощности;
- Qr49: на вкладке "Отчеты" добавлена кнопка "Открыть каталог", по нажатию на которую производится открытие каталога (с активным в данный момент отчетом) в системном файловом менеджере;
- Qr49: для таблиц с исходными данными для расчета выбросов вредных веществ и приведенной мощности добавлена возможность множественного выделения ячеек, соответствующий функционал программы адаптирован для работы в новом режиме;
- Qr49: введено отслеживание изменений в открытом отчете, при переключении на другой файл или завершении работы с программой выдается запрос на сохранение;
- Documentation: для более качественного вывода на печать, изменен код файла с описанием стандартов (diesel_engine_standards_ru.html).
воскресенье, 11 августа 2013 г.
Релиз r49-11082013
СКАЧАТЬ
Для загрузки можно также воспользоваться зеркалом архива на dropbox.
Версии компонентов:
- libtoxic v7.3.0
- cr49 v1.2.1
- Qr49 v3.8.0
- Qr49: в меню "Файл" добавлен пункт "Сохранить отчет и экспортировать в PDF...", реализующий последовательный запуск диалогов сохранения отчета и его экспорта в PDF;
- libtoxic: в шапке отчета для Euro-6..Euro-3 фраза "Report on cycle" заменена на "Report on ESC";
- libtoxic: в отчете по результатам расчета выбросов газообразных компонентов, в секции "Дополнительные точки", добавлены значения крутящего момента нетто;
- Qr49: новая реализация функции удаления строк из текущей таблицы, позволяющая удалять произвольные выбранные строки, а не только последнюю в таблице;
- Qr49: в меню "Файл" добавлен пункт "Копировать последние результаты в...", реализующий функционал копирования всех файлов, созданных в каталоге с результатами последнего проведенного расчета в другой каталог, указываемый в диалоге;
- libtoxic: добавлена новая функция, реализующая подстановку указанного текста в поля Engine протоколов;
- libtoxic: добавлена новая функция, создающая общий отчет (по результатам расчета выбросов газообразных компонентов и "твердых" частиц) на основе имеющихся;
- Qr49: добавлен диалог "Обработка отчетов", использование новых функций libtoxic (п. 6 и 7);
- Qr49: вызов диалога "Общие параметры", как и диалога "Обработка отчетов", помещены в новое меню "Настройки".
Из заказанного, в данном релизе отсутствует MultiSelection для таблиц и "умная" разбивка общего отчета на страницы при печати. Ждем следующих релизов )
вторник, 6 августа 2013 г.
Релиз r49-06082013
СКАЧАТЬ
Для загрузки можно также воспользоваться зеркалом архива на dropbox.
Версии компонентов:
- libtoxic v7.2.3
- cr49 v1.2.1
- Qr49 v3.7.4
- Qr49: при формировании отчета по выбросам ТЧ, ссылка на него теперь, так же, как и ссылка на отчет по выбросам газообразных компонентов, появляется в выпадающем списке вкладки "Отчеты";
- Qr49: обновлен файл перевода интерфейса на русский язык.
четверг, 1 августа 2013 г.
Релиз r49-01082013
СКАЧАТЬ
Для загрузки можно также воспользоваться зеркалом архива на dropbox.
Версии компонентов:
- libtoxic v7.2.3
- cr49 v1.2.1
- Qr49 v3.7.3
- libtoxic: внесены коррективы в расчет приведенной мощности;
- Qr49: улучшена работа функции рандомизации.
вторник, 30 июля 2013 г.
Релиз r49-30072013
СКАЧАТЬ
Для загрузки можно также воспользоваться зеркалом архива на dropbox.
Версии компонентов:
- libtoxic v7.2.2
- cr49 v1.2.1
- Qr49 v3.7.2
- libtoxic: устранена проблема, выражавшаяся в ошибочном выводе значений дымности в протокол по результатам расчета ТЧ.
Релиз r49-29072013
СКАЧАТЬ
Для загрузки можно также воспользоваться зеркалом архива на dropbox.
Версии компонентов:
- libtoxic v7.2.1
- cr49 v1.2.1
- Qr49 v3.7.2
- libtoxic: изменена логика в функции расчета дополнительных точек (Правила №49).
пятница, 26 июля 2013 г.
Релиз r49-26072013
СКАЧАТЬ
Для загрузки можно также воспользоваться зеркалом архива на dropbox.
Версии компонентов:
- libtoxic v7.2.0
- cr49 v1.2.1
- Qr49 v3.7.2
- Qr49: устранена проблема, выражавшаяся в отсутствии реакции программы при попытке открыть файлы документации во внешних программах, если в путях присутствовали символы кириллицы.
четверг, 25 июля 2013 г.
Релиз r49-25072013
СКАЧАТЬ
- Пакет для Arch Linux
- Файл PKGBUILD для Arch Linux
- Исходный код для создания дистрибутивных пакетов
- Сборка для MS Windows
- Руководство пользователя
- Архив с примерами расчетов
Версии компонентов:
- libtoxic v7.2.0
- cr49 v1.2.1
- Qr49 v3.7.1
- Изменена логика реакции GUI на действия пользователя.
вторник, 23 июля 2013 г.
Релиз r49-22072013
СКАЧАТЬ
- Пакет для Arch Linux
- Файл PKGBUILD для Arch Linux
- Исходный код для создания дистрибутивных пакетов
- Сборка для MS Windows
- Руководство пользователя
- Архив с примерами расчетов
Версии компонентов:
- libtoxic v7.2.0
- cr49 v1.2.1
- Qr49 v3.7.0
- Qr49: исправлена регрессивная ошибка, не позволяющая вводить отрицательные числа в диалоговом окне арифметических операций;
- Qr49, libtoxic: в диалоговом окне "Отладочные данные", при расчете приведенной мощности, добавлена функция копирования в специальном формате, использующемся для составления отчетов;
- Откорректировано руководство пользователя.
понедельник, 22 июля 2013 г.
воскресенье, 21 июля 2013 г.
Beeline блокирует Mega?
Похоже, что так. По крайней мере в г. Ярославль, пользуясь услугами интернет провайдера Beeline, невозможно зайти на сайт mega.co.nz, являющийся сервисом облачного хранения данных. Мега хороша: 50 ГБ бесплатно, шифрование, очень удобный веб интерфейс. Но с нашими ...ми провайдерами, типа билайна... При использовании услуг других интернет провайдеров проблем с доступом на mega.co.nz не обнаружено.
В общем, для счастливых пользователей Beeline я отзеркалил некоторые свои архивы (или их часть) на Dropbox:
В общем, для счастливых пользователей Beeline я отзеркалил некоторые свои архивы (или их часть) на Dropbox:
- r49 - программный комплекс, предназначенный для расчета удельных выбросов вредных веществ с отработавшими газами дизельных двигателей, испытываемых по стационарным циклам - зеркало на dropbox.
- mixan - программное обеспечение для экспресс анализа смесей сыпучих материалов и эмульсий, гранулометрического состава сыпучих материалов - зеркало на dropbox.
- biblref - программа для создания библиографических ссылок - зеркало на dropbox.
Релиз r49-20072013
СКАЧАТЬ
- Пакет для Arch Linux
- Файл PKGBUILD для Arch Linux
- Исходный код для создания дистрибутивных пакетов
- Сборка для MS Windows
- Руководство пользователя
- Архив с примерами расчетов
Версии компонентов:
- libtoxic v7.1.3
- cr49 v1.2.1
- Qr49 v3.6.0
- libtoxic: откорректирована формула расчета расхода воздуха по значениям разрежения на измерительном сопле.
- Qr49: добавлена функция рандомизации.
- Qr49: добавлена функция понижения точности чисел в выбранных ячейках.
- Qr49: вместо вывода информации о стандартах в собственном диалоге, производится открытие html в ассоциированном системном приложении.
четверг, 18 июля 2013 г.
InoReader. Приложение для Android
Вот теперь я доволен на все сто! ) Я уже описывал InoReader, который выбрал в качестве замены Google Reader (мир праху его). Веб-интерфейс этого приложения весьма и весьма удобен, есть даже мобильный его вариант. Однако, иметь программу чтения новостей для Android все же хотелось. Я верил в разработчика, учитывая какой объем работы и в какие сроки он провернул, создавая веб-приложение. И сегодня нам стала доступна бета версия InoReader для Android! Т.к. программа на текущий момент имеет статус беты, то в поисковой выдаче на Google Play пока недоступна. Тем не менее, для участников сообщества InoReader Android Beta Testers открывается доступ к разделу Google Play, содержащему программы для тестирования.
Наслаждайтесь чтением новостей!
UPD 09.08.2013
Программа появилась в общем доступе на Google Play:
https://play.google.com/store/apps/details?id=com.innologica.inoreader
Наслаждайтесь чтением новостей!
UPD 09.08.2013
Программа появилась в общем доступе на Google Play:
https://play.google.com/store/apps/details?id=com.innologica.inoreader
воскресенье, 7 июля 2013 г.
Использование Pepper Flash Player из Chrome в Chromium
Какое-то время назад Adobe объявили о том, что более не будут выпускать версий своего flash player для GNU/Linux. Последней оказалась версия 11.2. И черт бы с ними, vimeo и youtube спокойно переключаются на html5. Но, к сожалению, еще столько сайтов использует flash, что плейер все-таки приходится держать, а версия 11.2 уже реально протухла. Самой адекватной заменой мне представляется Pepper Flash Player от Google, который они встраивают в свой Chrome. Я же предпочитаю пользоваться Chromium. Ниже приводятся шаги по интеграции Pepper Flash Player в Chromium (предполагается, что последний у вас уже установлен) в Arch Linux.
UPD: 17.05.2014
Похоже, что после выхода Chromium 34.0.1847.137 (268882), указанный выше метод работать перестал...
UPD: 21.05.2014
Установка chromium-pepper-flash из aur решает проблему.
- Скачать Chrome (например, для Ubuntu) с сайта Google chrome.google.com;
- Извлечь из архива каталог PepperFlash и скопировать его куда-нибудь, например, в /opt или /usr/lib/chromium;
- Прописать в файл /usr/bin/chromium путь и версию используемого Pepper (посмотреть эту информацию можно в файле manifest.json, находящемся в извлеченном из deb пакета каталоге PepperFlash).
Содержимое моего файла /usr/bin/chromium.
#!/bin/bash
# Allow users to override command-line options
# Based on Gentoo's chromium package (and by extension, Debian's)
if [[ -f /etc/chromium/default ]]; then
. /etc/chromium/default
fi
# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system
# default CHROMIUM_FLAGS (from /etc/chromium/default)
CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-$CHROMIUM_FLAGS}
export CHROME_WRAPPER=$(readlink -f "$0")
export CHROME_DESKTOP=chromium.desktop
exec /usr/lib/chromium/chromium $CHROMIUM_FLAGS --ppapi-flash-path=/usr/lib/chromium/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.7.700.203 --password-store=gnome "$@"
UPD: 17.05.2014
Похоже, что после выхода Chromium 34.0.1847.137 (268882), указанный выше метод работать перестал...
UPD: 21.05.2014
Установка chromium-pepper-flash из aur решает проблему.
yaourt -S chromium-pepper-flash
среда, 3 июля 2013 г.
Релиз Qt 5.1
Qt 5.1 доступен для загрузки. Об основных новшествах можно узнать из обзора на opennet и, конечно же, из официального анонса на qt-project. А в разделе блога digia, посвященном qt, даже представлены фото счастливых людей ))
вторник, 2 июля 2013 г.
Объединение комментариев на Blogger и Google+
Было дело, Google представил в Blogger функцию объединения комментариев с Google+.
Т.к. заметки в этом блоге я также транслирую в свою ленту на Google+, такое нововведение показалось мне весьма удобным и полезным. Функция была включена. Однако, как показала практика, если я пишу комментарий к заметке в блоге, то публикуется он только в Google+! В блоге ничего не остается! Черт возьми, ну вот зачем было так делать? Cудя по справке от самой же Google, данная функция должна была просто дублировать комментарии, а не отправлять их в G+, оставляя блог ни с чем. Что-то у гугла все последние нововведения какие-то... странные, мягко говоря...
Т.к. заметки в этом блоге я также транслирую в свою ленту на Google+, такое нововведение показалось мне весьма удобным и полезным. Функция была включена. Однако, как показала практика, если я пишу комментарий к заметке в блоге, то публикуется он только в Google+! В блоге ничего не остается! Черт возьми, ну вот зачем было так делать? Cудя по справке от самой же Google, данная функция должна была просто дублировать комментарии, а не отправлять их в G+, оставляя блог ни с чем. Что-то у гугла все последние нововведения какие-то... странные, мягко говоря...
среда, 26 июня 2013 г.
В поисках замены Google Reader
После того, как Google объявил о том, что собирается похоронить Reader, огорчились очень многие. Технологии RSS нужно отдать должное - она позволяет очень здорово экономить время на чтении новостей. Обзоров альтернативных вариантов на замену великому Reader понаписано великое множество и я, пробежавшись по некоторым из них и взглянув на то, что предлагают другие, решил было вообще отказаться от RSS и раскидал поток новостей по соц. сетям, т.к. ни один из вариантов мне не понравился. Причинами отказа были: неудачный (на мой взгляд) веб интерфейс, отсутствие приложения под Android, урезанный функционал (хочешь удобства - покупай подписку), отсутствие возможности работать по https. В результате, часть новостей у меня шла через ленту Google+, часть через Facebook, часть вообще через e-mail, а на пару-тройку сайтов все-таки приходилось заходить. Минусы очевидны, даже нечего и говорить. И самым большим минусом было то, что многие сайты не обеспечивали синхронизацию своих новостных лент со страницей в соц. сети. Почему? Я не знаю. Вообще, такая фишка (из списка читаемых мною каналов) есть только у habrahabr, у которого в Google+ идет практически весь RSS поток, и у opennet, у которого поток идет в сеть ВКонтакте. Все остальные просто ведут страницу в соц. сети параллельно, абсолютно не утруждая себя размещать там хотя бы наиболее важные новости.
Итак, я решил положить конец возникшему бардаку и вернуться на RSS. Ну очень уж без него тяжко. Пробежавшись еще раз, уже спустя более 3 месяцев после анонса похорон, по сайтам, предоставляющим аналогичный Google Reader функционал, я, в итоге, сделал выбор. Им стал InoReader. Из плюсов данного сервиса стоит отметить следующие возможности:
- Логин с использованием аккаунтов Google или Facebook, а также наличие обычной регистрации;
- Работа по протоколу https;
- Очень удобный вэб интерфейс на русском языке с поддержкой горячих клавиш;
- Отсутствие ограничений на количество каналов;
- Упорядочивание каналов по каталогам;
- Комментирование новостей;
- Отправка новости по e-mail или в ленту соц. сети (коих предоставлено весьма приличное количество);
- Наличие мобильной версии сайта.
Наверное, это далеко не все плюсы данного сервиса, я перечислил лишь те, которые для меня являются наиболее важными. Из минусов я могу отметить лишь отсутствие своего клиента под Android. Хотя наличие удобного мобильного варианта вэб интерфейса, позволяет о вышеуказанном минусе забыть.
В общем и целом я своим выбором доволен, а разработчику InoReader - огромное спасибо за работу!
суббота, 22 июня 2013 г.
Bjarne Stroustrup. The C++ Programming Language (4th Edition)
Создатель языка C++ Бьерн Страуструп работает над 4-м изданием книги "Язык программирования C++". С черновиками к первым главам можно ознакомиться по ссылке http://www.stroustrup.com/4th.html.
воскресенье, 16 июня 2013 г.
Релиз biblref-1.1.3
Изменения:
- Проект переведен на использование Qt5.
- Откорректированы фильтры файловых диалогов открытия и сохранения.
- Внесены коррективы в файлы *.pro и README.
ПО с использованием Qt. Создание файла перевода на этапе сборки
При создании приложений с использованием фреймворка Qt, графический интерфейс пользователя которых переведен на несколько языков, встает вопрос об автоматизации создания файла перевода (*.qm) на этапе сборки проекта.
Приведенный ниже кусок кода файла проекта содержит следующие указания для утилиты qmake: каталог размещения файла *.ts, содержащего перевод элементов GUI в формате xml, каталог назначения, где будет размещена скомпилированная программа и куда замет следует скопировать файл перевода интерфейса, а также набор инструкций, обеспечивающий генерацию файла *.qm из *.ts и копирование созданного файла в каталог назначения.
Приведенный ниже кусок кода файла проекта содержит следующие указания для утилиты qmake: каталог размещения файла *.ts, содержащего перевод элементов GUI в формате xml, каталог назначения, где будет размещена скомпилированная программа и куда замет следует скопировать файл перевода интерфейса, а также набор инструкций, обеспечивающий генерацию файла *.qm из *.ts и копирование созданного файла в каталог назначения.
...
TRANSLATIONS = translations/myprogram_ru.ts
...
DESTDIR = ../myprogram-bin
...
updateqm.input = TRANSLATIONS
updateqm.output = myprogram_ru.qm
updateqm.commands = lrelease myprogram.pro && $(COPY) translations/*.qm ${DESTDIR}
updateqm.CONFIG += no_link target_predeps
QMAKE_EXTRA_COMPILERS += updateqm
среда, 12 июня 2013 г.
Релиз r49-12062013
СКАЧАТЬ
- Пакет для Arch Linux
- Файл PKGBUILD для Arch Linux
- Исходный код для создания дистрибутивных пакетов
- Сборка для MS Windows
- Руководство пользователя
- Архив с примерами расчетов
Версии компонентов:
- libtoxic v7.1.2
- cr49 v1.2.1
- Qr49 v3.5.1
- Улучшена компоновка диалога "Импорт данных" Qr49.
- Откорректированы фильтры файловых диалогов открытия и сохранения Qr49.
воскресенье, 9 июня 2013 г.
Релиз r49-09062013
СКАЧАТЬ
- Пакет для Arch Linux
- Файл PKGBUILD для Arch Linux
- Исходный код для создания дистрибутивных пакетов
- Сборка для MS Windows
- Руководство пользователя
- Архив с примерами расчетов
Версии компонентов:
- libtoxic v7.1.2
- cr49 v1.2.1
- Qr49 v3.5.0
- Проект переведен на использование Qt5.
- Т.к. отчет по результатам расчета всегда размещается на одной странице, печать номера страницы была неуместной и в данной версии libtoxic отменена.
- Устранено неадекватное поведение Qr49 в Windows после ввода некорректных данных при расчете оборотов A, B, C.
- При составлении шаблонов для автоматического импорта данных в Qr49 реализована привязка к заголовкам столбцов (именам параметров). Ранее привязка осуществлялась по номерам столбцов.
- В диалоге "Импорт данных" Qr49 добавлен виджет "Журнал", в котором отображаются привязки параметров r49 к параметрам в файле с импортируемыми данными. При сохранении шаблона именно содержимое этого виджета будет сохранено в файл.
- Для диалога "Импорт данных" Qr49 установлен фиксированный размер.
- Откорректировано руководство пользователя.
среда, 5 июня 2013 г.
Релиз Qwt 6.1
Состоялся релиз библиотеки виджетов и вспомогательных классов для визуализации числовых данных Qwt 6.1. О возможностях библиотеки можно узнать со страницы проекта на sourceforge: http://qwt.sourceforge.net/, а о нововведениях версии 6.1 - в официальном changelog: http://qwt.sourceforge.net/qwtchangelog.html.
воскресенье, 2 июня 2013 г.
Приложение с использованием Qt5. Необходимые библиотеки для работы в чистой Windows
Итак, написано приложение с использованием Qt5. В GNU/Linux, как обычно, все хорошо, все на месте, все прекрасно работает. Собираем свою программу в Windows и встает вопрос ее распространения для этого класса операционных систем. Какие библиотеки должны идти вместе с программой, чтобы она работала у любого пользователя на любом варианте Windows? Разумеется, что все зависит от использованных в программе модулей Qt5, поэтому я просто приведу пример для одного из своих проектов, читателю же, ориентируясь на приведенный список, придется сделать по аналогии. Список при использовании Qt 5.0.2 и release сборке проекта получился следующий.
UPD 08.09.2013
После перехода на Qt 5.1.1, список необходимых библиотек несколько изменился.
platforms/qminimal.dll
platforms/qwindows.dll
D3DCompiler_43.dll
icudt49.dll
icuin49.dll
icuuc49.dll
libEGL.dll
libgcc_s_sjlj-1.dll
libGLESv2.dll
libstdc++-6.dll
libwinpthread-1.dll
Qt5Core.dll
Qt5Gui.dll
Qt5PrintSupport.dll
Qt5Widgets.dll
UPD 08.09.2013
После перехода на Qt 5.1.1, список необходимых библиотек несколько изменился.
platforms/qminimal.dll
platforms/qwindows.dll
printsupport/windowsprintersupport.dll
icudt51.dll
icuin51.dll
icuuc51.dll
libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread-1.dll
Qt5Core.dll
Qt5Gui.dll
Qt5PrintSupport.dll
Qt5Widgets.dll
суббота, 1 июня 2013 г.
Информация об установленных модулях оперативной памяти в GNU/Linux
Зачастую, бывает необходимо провести некоторый апгрейд компьютера, в частности, доустановить или заменить модули оперативной памяти. Для того, чтобы купить именно то, что нужно, необходимо получить информацию о том, что уже имеется на борту. Например, тип памяти или количество установленных модулей, а также, есть ли в наличии свободные слоты. Понятно, что все это не проблема. Выключаем компьютер, открываем крышку и смотрим. Однако, гораздо удобнее получить необходимую информацию не выключая компьютера. В GNU/Linux это можно сделать с помощью программы dmidecode. К примеру, на моем Sony Vaio VPCF12M1R/H программа выдает следующее:
Первоисточник: http://www.howtogeek.com/howto/28475/how-to-tell-what-type-of-memory-your-linux-pc-has-installed/
[pa23@pa23comp ~]$ sudo dmidecode --type memory
# dmidecode 2.12
SMBIOS 2.6 present.
Handle 0x0009, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: Unknown
Error Information Handle: Not Provided
Number Of Devices: 2
Handle 0x000A, DMI type 17, 21 bytes
Memory Device
Array Handle: 0x0009
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: SODIMM
Set: None
Locator: SODIMM1
Bank Locator: Bank 0
Type: DDR3
Type Detail: Unknown
Handle 0x000C, DMI type 17, 21 bytes
Memory Device
Array Handle: 0x0009
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: SODIMM
Set: None
Locator: SODIMM2
Bank Locator: Bank 1
Type: DDR3
Type Detail: Unknown
[pa23@pa23comp ~]$
Как видно, в моем компьютере в наличии имеются 2 слота под модули памяти и оба они заняты. В каждом установлено по 2 ГБ. А я хочу иметь 8. Что ж, придется раскошелиться на 2 модуля по 4 ГБ )Первоисточник: http://www.howtogeek.com/howto/28475/how-to-tell-what-type-of-memory-your-linux-pc-has-installed/
четверг, 18 апреля 2013 г.
Google talk plugin для Arch Linux
В связи с тем, что google talk plugin, позволяющий общаться по сети с использованием веб-камеры и микрофона, распространяется под GNU/Linux только в виде пакетов rpm и deb, а также в связи с тем, что в AUR присутствуют неактуальные версии как исходного пакета rpm, так и файла PKGBUILD, я, приведя последний в порядок, собрал пакет для Arch Linux (x86_64), чем с удовольствием и делюсь с другими арчеводами.
google-talkplugin-current-1-x86_64.pkg.tar.xz
Установка как обычно:
sudo pacman -U google-talkplugin-current-1-x86_64.pkg.tar.xz
UPD: 23.04.2014
Значительно проще воспользоваться утилитой yaourt для установки из репозитория aur соответствующего пакета.
google-talkplugin-current-1-x86_64.pkg.tar.xz
Установка как обычно:
sudo pacman -U google-talkplugin-current-1-x86_64.pkg.tar.xz
UPD: 23.04.2014
Значительно проще воспользоваться утилитой yaourt для установки из репозитория aur соответствующего пакета.
суббота, 23 марта 2013 г.
суббота, 16 марта 2013 г.
r49. Обновление сборки
Обновлена сборка r49 для Arch Linux. Файл PKGBUILD также обновлен. Скачать можно ЗДЕСЬ.
mixan. Обновление сборки
Обновлена сборка mixan для Arch Linux. Файл PKGBUILD также обновлен. Скачать можно ЗДЕСЬ.
biblref. Обновление сборки
Обновлена сборка biblref для Arch Linux. Файл PKGBUILD также обновлен. Скачать можно ЗДЕСЬ.
пятница, 15 марта 2013 г.
Релиз engmod-2.0.3
Внесены некоторые коррективы в функцию формирования поля распределения.
Для загрузки: исходный код, пример расчета.
Для загрузки: исходный код, пример расчета.
воскресенье, 10 февраля 2013 г.
Цитата
В жизни любого программиста есть такие решения, после принятия которых тараканы в голове аплодируют стоя.
Игорь Савчук (Блогератор)
Звездные войны. Консольная версия
Если вы до сих пор не видели консольную версию звездных войн, рекомендую посмотреть. Здорово реализовано. Для этого вам нужен, собственно, терминал, telnet и интернет. Следующая команда запустит фильм.
Подробности, а также команды для Windows, можно найти в первоисточнике: Дьявольский traceroute до 216.81.59.173 - уличная магия для админов.
$ telnet towel.blinkenlights.nl
А один админ, использовав vrfs, Cisco 1841s и дружественный Reverse DNS, реализовал выдачу вводного текста из "Star Wars Episode IV: A New Hope". Увидеть эту круть можно с помощью следующей команды.$ traceroute 216.81.59.173
Подробности, а также команды для Windows, можно найти в первоисточнике: Дьявольский traceroute до 216.81.59.173 - уличная магия для админов.
пятница, 8 февраля 2013 г.
Похоже цензура работает...
Заметил, что после публикации шуточной заметки "Демоны, зомби и их убийства )" посещаемость моего блога упала в 3 раза... Очень похоже, что из-за ключевого слова "убийства" Google просто понижает ссылки на мой блог в поисковой выдаче. Куда мы катимся, черт побери?..
суббота, 2 февраля 2013 г.
Демоны, зомби и их убийства )
Как же я люблю GNU/Linux! Даже когда садишься за компьютер с плохим настроением, моя любимая система всегда порадует, донеся классный юмор разработчиков используемых мной программ. Все эти демоны, зомби и их убийства мне чертовски приятны ))) А при тестировании одной из своих программ, в попытке довести систему до "Out of memory", что мне, собственно, без труда удалось, получил в консоли милое сообщение "Убито"! Ну разве не прелесть? )))
суббота, 26 января 2013 г.
Релиз r49-26012013
СКАЧАТЬ
- Пакет для Arch Linux
- Файл PKGBUILD для Arch Linux
- Исходный код для создания дистрибутивных пакетов
- Сборка для MS Windows
- Руководство пользователя
- Архив с примерами расчетов
Версии компонентов:
- libtoxic v7.1.1
- cr49 v1.2.0
- Qr49 v3.4.3
- Устранено замечание, касающееся формирования отчета по выбросам газообразных компонентов по циклам Правил №96.
пятница, 18 января 2013 г.
Релиз r49-18012013
СКАЧАТЬ
- Пакет для Arch Linux
- Файл PKGBUILD для Arch Linux
- Исходный код для создания дистрибутивных пакетов
- Сборка для MS Windows
- Руководство пользователя
- Архив с примерами расчетов
Версии компонентов:
- libtoxic v7.1.0
- cr49 v1.2.0
- Qr49 v3.4.3
- Начиная с 7.1.0, новые версии libtoxic можно использовать без перекомпиляции клиентских программ, за исключением отдельных случаев, которые будут особо обозначены в анонсах.
среда, 16 января 2013 г.
Релиз r49-16012013
СКАЧАТЬ
- Пакет для Arch Linux
- Файл PKGBUILD для Arch Linux
- Исходный код для создания дистрибутивных пакетов
- Сборка для MS Windows
- Руководство пользователя
- Архив с примерами расчетов
Версии компонентов:
- libtoxic v7.0.1
- cr49 v1.2.0
- Qr49 v3.4.3
- В libtoxic исправлена ошибка, выражающаяся в пропуске расчета gPT при PTcalc=throughSmoke.
вторник, 15 января 2013 г.
Релиз r49-15012013
СКАЧАТЬ
- Пакет для Arch Linux
- Файл PKGBUILD для Arch Linux
- Исходный код для создания дистрибутивных пакетов
- Сборка для MS Windows
- Руководство пользователя
- Архив с примерами расчетов
Версии компонентов:
- libtoxic v7.0.0
- cr49 v1.2.0
- Qr49 v3.4.3
Изменения:
- В Qr49 исправлена ошибка представления заголовков столбцов из файла данных при импорте;
- Актуализирован диалог импорта данных Qr49.
воскресенье, 13 января 2013 г.
emacs. Справочник команд
Помимо моего личного конспекта, emacs-ерам, в особенности начинающим, неплохо было бы иметь и более полный справочник команд. К сожалению, у меня только для предыдущей версии emacs, но отличий по основным командам там представленным быть не должно.
Справочник команд GNU Emacs для версии 23
Также, имеется справочник в виде весьма оригинально оформленной картинки.
Справочник команд GNU Emacs для версии 23
Также, имеется справочник в виде весьма оригинально оформленной картинки.
суббота, 12 января 2013 г.
emacs. Управление
В дополнение к публикации своего конфигурационного файла .emacs, хочу также поделиться найденной у себя на жестком диске памяткой по горячим клавишам. Памятка составлена на основе встроенной в emacs справки и, понятное дело, информации в сети. Надеюсь, кому-нибудь пригодится, также, как когда-то мне. emacs - лучший редактор! )
UPD: 29.11.2013
UPD: 30.11.2013
UPD: 12.01.2014
UPD: 17.01.2014
UPD: 09.05.2014
UPD: 06.09.2014
UPD: 17.09.2014
UPD: 27.08.2015
EMACS
Создать/Открыть файл C-x C-f
Сохранить буфер в файл C-x C-s
Сохранить буфер под новым именем C-x C-w
Сохранить все измененные буферы в файлы C-x s
Перезагрузить файл в буфере C-x C-v
Переключиться в другой буфер C-x C-b
Закрыть активный буфер C-x k
Убить слово перед курсором M-<BACKSPACE>
Убить слово за курсором M-d
Убить все до конца строки C-k
Убить все до конца предложения M-k
Добавить пустую строку C-o
Удалить последующие пустые строки C-x C-o
Установить метку C-<SPACE>
Выделить абзац M-h
Выделить блок кода C-M-h
Выделить все C-x h
Вырезать выделенный текст C-w
Скопировать выделенный текст M-w
Вставить скопированый/вырезаный текст C-y
Выровнять текущую строку <TAB>
Преобразовать слово в верхний регистр M-u
Преобразовать слово в нижний регистр M-l
Поменять слова местами M-t
Поменять тек. и верхнюю строки местами C-x C-t
Установить метку для прямоуг. области C-<SPACE>
Скопировать указанную область в регистр C-x r r
Вставить прямоугольную область из регистра C-x r g <НОМЕР_РЕГИСТРА>
Вырезать прямоугольную область C-x r k
Удалить прямоугольную область C-x r d
Вставить прямоугольную область C-x r y
Вставить прямоугольную область пробелов C-x r o
Пронумеровать строки C-x r N
Вставить текст перед каждой строкой C-x r t <ТЕКСТ> <RET>
Отменить последнюю операцию C-_
Разделить окно по горизонтали C-x 3
Разделить окно по вертикали C-x 2
Оставить только одно окно C-x 1
Переключение между окнами C-x o
Поиск текста вперед C-s
Поиск текста назад C-r
Поиск с заменой M-x replase-...
Выйти из минибуфера / Прерывание команды C-g
Выход из рекурсивных уровней редактирования <ESC> <ESC> <ESC>
Повторение команды C-u <ЧИСЛО> <КОМАНДА>
Начать запись макроса C-x (
Закончить запись макроса C-x )
Выполнить записанный макрос C-x e
Компиляция M-x compile
Автоформатирование выделенного фрагмента C-M-\
Компиляция файла *.el M-x byte-compile-file
Переоткрыть файл в другой кодировке
C-x <RET> r <КОДИРОВКА> <RET> yes <RET>
Преобразование файла в другую кодировку
C-x <RET> с <КОДИРОВКА> <RET>
Закомментировать/Раскомментировать M-;
DIRED
Запуск режима нав. по файловой системе М-x dired
Выделить файл m
Снять выделение u
Копировать объект C
Удалить объект D
Переименовать объект R
Выделить файлы по рег. выражению % m
Переименовать группу файлов по рег. выр. % R
JABBER
Запустить jabber M-x jabber-connect-all
GNUS
Запустить gnus M-x gnus
Отобразить все каталоги imap L
Проверить почту в *Group* g
Проверить почту в INBOX / N
Отметить письмо для дальнейших команд #
Отметить письмо как прочитанное d
Отметить все письма как прочитанные c
Переместить письмо B m
Удалить письмо B <DEL>
Новое письмо m
Вложить файл C-c C-a
Ответить R
Ответить всем R w
Переслать C-c C-f
Сохранить письмо или вложение o
Отправить письмо C-c C-c
Выйти из открытых gnus-ом буферов q
ЗАКРЫТЬ EMACS C-x C-c
UPD: 29.11.2013
UPD: 30.11.2013
UPD: 12.01.2014
UPD: 17.01.2014
UPD: 09.05.2014
UPD: 06.09.2014
UPD: 17.09.2014
UPD: 27.08.2015
Релиз r49-12012013
СКАЧАТЬ
- Пакет для Arch Linux
- Файл PKGBUILD для Arch Linux
- Исходный код для создания дистрибутивных пакетов
- Сборка для MS Windows
- Руководство пользователя
- Архив с примерами расчетов
Версии компонентов:
- libtoxic v7.0.0
- cr49 v1.2.0
- Qr49 v3.4.2
Изменения:
- С целью оптимизации существующих решений, определения единого интерфейса для всех расчетов, реализованных в libtoxic, а также для упрощения поддержки кода и расширения функционала, библиотека была полностью переписана;
- cr49 теперь использует стандартные длинные ключи;
- Оптимизирована встроенная справка cr49;
- Улучшен внешний вид выводимой cr49 информации;
- Проведена оптимизация кода Qr49;
- По всему проекту исправлены обнаруженные мелкие недочеты;
- В качестве версии дистрибутива, включающего в себя libtoxic, cr49, Qr49 и дополнительные файлы, теперь будет использоваться дата релиза.
emacs. Минимальная конфигурация
Ну грех ведь не поделиться своей конфигурацией emacs )
Мой рабочий файл .emacs можно найти ЗДЕСЬ.
UPD: 29.11.2013
UPD: 30.11.2013
UPD: 28.13.2013
UPD: 12.01.2014
UPD: 17.01.2014
UPD: 25.01.2014
UPD: 27.04.2014
UPD: 28.04.2014
UPD: 17.02.2015
Мой рабочий файл .emacs можно найти ЗДЕСЬ.
UPD: 29.11.2013
UPD: 30.11.2013
UPD: 28.13.2013
UPD: 12.01.2014
UPD: 17.01.2014
UPD: 25.01.2014
UPD: 27.04.2014
UPD: 28.04.2014
UPD: 17.02.2015
среда, 2 января 2013 г.
Подписаться на:
Сообщения (Atom)