Coder Social home page Coder Social logo

xintrea / mytetra_dev Goto Github PK

View Code? Open in Web Editor NEW
249.0 40.0 54.0 26.28 MB

MyTetra - smart crossplatform manager for information collecting / MyTetra - кроссплатформенный менеджер накопления информации / Официальная страница:

Home Page: http://webhamster.ru/site/page/index/articles/projectcode/105

Shell 0.01% CSS 0.05% PHP 1.17% QMake 1.13% C++ 97.63%
pim memory mind notes notebook

mytetra_dev's Introduction

MyTetra - smart manager for information collecting

MyTetra is open source and cross platform personal manager for information accumulation. It is powerful program for data memorization and structuring notes.

Repository mytetra_dev

ENG: Central source repository for MyTetra development.

RUS: Основной репозитарий исходников для разработки MyTetra.

Материалы о MyTetra

Соглашение о кодировании (оформление кода)

При написании кода следует руководствоваться следующими соглашениями:

  • кодировка файлов исходников: UTF-8;

  • в коде допустимы комментарии на русском и английском языках;

  • табуляция запрещена, отступы оформляются пробелами;

  • ширина отступов - 4 пробела;

  • комментарии должны иметь тот же отступ, что и у кода;

  • название файла с реализацией класса строится по принципу: ЭтоМойКласс.cpp;

  • название файла с заголовком класса строится по принципу: ЭтоМойКласс.h;

  • название класса строится по принципу: ЭтоМойКласс;

  • название метода строится по принципу: этоМетодКласса;

  • название переменных строится по принципу: этоПеременная;

  • Открывающая "{" и закрывающая блок скобка "}" должны стоять на отдельных строчках.

  • Каждый вновь создаваемый метод должен содержать комментарий, описывающий что делает метод. Так же желательно описать назначение параметров метода;

  • В заголовочном файле класса, после секции #include необходимо в комментарии написать назначение класса.

  • Каждый заголовочный файл должен иметь следующую конструкцию:

    #ifndef _CLIPBBRANCH_H_
    #define _CLIPBBRANCH_H_
    ...
    #endif // _CLIPBBRANCH_H_
    
  • Всегда следует использовать классы и контейнеры Qt вместо классов и контейнеров STL;

  • Программа MyTetra проектируется как кроссплатформенное Qt-only приложение. Программа MyTetra не должна зависеть от сторонних библиотек, не входящих в состав Qt. Если есть необходимость воспользоваться сторонней библиотекой, включаем ее исходники в проект.

Ветки в GIT

В системе Git создано две основных ветки.

  • master - основная ветка с последним стабильным релизом;
  • experimental - ветка для разработки.

Помимо этих двух веток временно создаются другие ветки для реализации того или иного функционала. После завершения работ изменения вливаются в ветку experimental. После стабилизации изменений в experimental, изменения вливаются в master и выпускается релиз.

Решив подключиться к разработке MyTetra используйте, пожалуйста, ветку experimental для получения актуального кода.

Сборка

MyTetra является программой, написанной по принципу Qt-only. Это значит, что для сборки MyTetra требуется только наличие Qt SDK. Никаких дополнительных библиотек для сборки не требуется.

В Linux сборка проводится командами:

qmake .
make

Установка проводится командой:

make install

Установленный бинарник размещается по пути:

/usr/local/bin/mytetra

В Linux, Windows и MacOs сборку можно сделать через QtCreator. Для этого в QtCreator надо открыть проект mytetra.pro, и выбрать:

Сборка - Собрать проект "mytetra"

Запуск

Для запуска MyTetra надо запустить собранный бинарник. В разных операционных системах бинарник размещается по разным путям. Для выяснения, по какому пути расположен собранный или установленный бинарник, надо просмотреть вывод сборки или вывод установки.

Для Linux и MacOs, при сборке генерируется бинарник с именем mytetra. Для Windows при сборке генерируется бинарник с именем mytetra.exe.

mytetra_dev's People

Contributors

admsasha avatar dartraiden avatar dikbsd avatar dmhud avatar dsbabkov avatar exl avatar jkollss avatar pavelsann avatar retmas avatar svech avatar tomasloh avatar tomintaiga avatar xintrea avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mytetra_dev's Issues

Подсветка ошибок

Во многих текстовых редакторах, что в браузерах, что в средах разработки есть встроенная проверка текста на опечатки, что довольно удобно. В MyTetra этого не хватает.

Ошибка при сборке под android

Вы сталкивались с такой ошибкой, при сборке под android?
NDK 13.1.3345770
Qt 5.6.2
GCC 4.9

../../../src/main.cpp:576: error: undefined reference to 'ftime'
collect2.exe: error: ld returned 1 exit status
Makefile:667: recipe for target 'bin/libmytetra.so' failed
mingw32-make: *** [bin/libmytetra.so] Error 1

Использование относительных путей к файлам

Возможно ли использование в базе относительных путей к файлам для аттачей типа "link", причем таким образом, чтобы путь был относительным по отношению к директории data?
Дело в том, что относительные пути такого рода дадут возможность использовать базу с прикрепленными файлами, лежащими в директории рядом с базой, совместно на нескольких компьютерах через синхронизируемый файловый ресурс.
Добавление аттачей с путями относительными директории приложения дело тривиальное, а вот относительно директории базы сильно сложнее, как я понимаю.

Диалоговое окно при запуске программы

При каждом запуске mytetra появляется окно с полем ввода и кнопкой Cancel, заголовок "mytetra".
Окно внешне похоже на то, что для ввода пароля, но без текста-подсказки. Поле ввода при этом заблокировано (нет возможности туда что либо писать).

Исходники из "experimental"
Система Gentoo Linux
qt-5.5.1
gcc-4.9.3

Доступ к нескольким базам знаний

Вы планируете добавить одновременную работу с несколькими разными базами из разных папок, с разными параметрами синхронизации?
Или подключение сторонних баз на уровне ФС например так:
MyTetra\data\external\data1
MyTetra\data\external\data2
Тогда синхронизация может работать через git submodule

программа "падает" при добавлении новой записи

версия 1.32.266

добавляю новую запись, жму OK или Cancel. Программа закрывается

вывод в консоль:

WalkHistory::clear()
Set main program file to  "mytetra"
Debug message before set message handler for target OS:  "any"
Set alternative handler myMessageOutput() for debug message
21:47:07 [INI] Debug message after set message handler
21:47:07 [INI] Check full current path  "/home/itspec"
21:47:07 [INI] Check config file  "/home/itspec/conf.ini"
21:47:07 [INI] Detect home directory  "/home/itspec/.mytetra"
21:47:07 [INI] Check config file  "/home/itspec/.mytetra/conf.ini"
21:47:07 [INI] File conf.ini can't' find in home directory  "/home/itspec/.mytetra"
21:47:07 [INI] Try find conf.ini in home subdirectory  "/home/itspec/.config/mytetra"
21:47:07 [INI] Check config file  "/home/itspec/.config/mytetra/conf.ini"
21:47:07 [INI] Config file  "/home/itspec/.config/mytetra/conf.ini"  is exists
21:47:07 [INI] Short config file name  "conf.ini"
21:47:07 [INI] Config directory name  "/home/itspec/.config/mytetra"
21:47:07 [INI] Config init file success find in home subdirectory  "/home/itspec/.config/mytetra"
21:47:07 [INI] Set work directory to  "/home/itspec/.config/mytetra"
21:47:07 [DBG] In iconsCollectionCheck(). Mytetra XML dir is:  "./data"
21:47:07 [DBG] Icons directory is exist
21:47:07 [DBG] Stylesheet success loaded from "/home/itspec/.config/mytetra/stylesheet.css"
21:47:07 [DBG] Get interface language "ru"
21:47:07 [DBG] Use language file  ":/resource/translations/mytetra_ru.qm"
21:47:08 [DBG] Column count change. New column count:  3
21:47:08 [DBG] RecordTableView::init()
21:47:08 [DBG] Show event of find dialog
21:47:08 [DBG] Init random generator
21:47:08 [DBG] MainWindow::restoreTreePosition() :  ("0", "1457971448osauk0q9jl", "1461238154jimvzt0s72")
21:47:08 [DBG] MainWindow::saveTextarea() : id : ""
21:47:08 [DBG] Save textarea...
21:47:08 [DBG] WalkHistory::add() : id  ""
21:47:08 [DBG] WalkHistory::add() : mode  0
21:47:08 [DBG] WalkHistory::add() start status:
21:47:08 [DBG] In RecordTableView setTableData() start
21:47:08 [DBG] MetaEditor::clearAll()
21:47:08 [DBG] Set new AttachTableModel to NULL data
21:47:08 [DBG] In table select non present
21:47:08 [DBG] In RecordTableView set new model stop
21:47:08 [DBG] RecordTableData - getPosById() - id: "1461238175qd72du5vcl"
21:47:08 [DBG] RecordTableData - this: 0x868e0d4
21:47:08 [DBG] RecordTableData - this - size() 2
21:47:08 [DBG] In table select non present
21:47:08 [DBG] RecordTableView::onClickToRecord() : current item num  0
21:47:08 [DBG] MainWindow::saveTextarea() : id : ""
21:47:08 [DBG] Save textarea...
21:47:08 [DBG] WalkHistory::add() : id  ""
21:47:08 [DBG] WalkHistory::add() : mode  0
21:47:08 [DBG] WalkHistory::add() start status:
21:47:08 [DBG]  File  "./data/base/14612381758cyanx4opr/text.html" 

21:47:08 [DBG] Set attach file name list:  ""
21:47:08 [DBG] Record::getTextDirect() : return direct data
21:47:08 [DBG] RecordTableView::onClickToRecord() : id  "1461238175qd72du5vcl"
21:47:08 [DBG] RecordTableView::onClickToRecord() : name  "инфо"
21:47:08 [DBG] RecordTableView::onClickToRecord() : crypt  ""
21:47:08 [DBG] Editor::load_textarea() Set document URL to  "./data/base/14612381758cyanx4opr/text.html"
21:47:08 [DBG] Set new data to AttachTableModel with rows:  0
21:47:08 [DBG] Restore session succesfull
21:47:08 [DBG] WalkHistory::clear()
21:47:11 [DBG] Click on tray icon
21:47:11 [DBG] If not visible
21:47:11 [DBG] Textarea geometry X Y  0   74
21:47:11 [DBG] Textarea geometry Width Height  970   17
21:47:11 [DBG] Textarea frame geometry Width Height  970   17
21:47:12 [DBG] MainWindow::onFocusChanged() to  "knowTreeView"
21:47:12 [DBG] Main window focus deactivate, save all state.
21:47:12 [DBG] MainWindow::saveTextarea() : id : "1461238175qd72du5vcl"
21:47:12 [DBG] Save textarea...
21:47:12 [DBG] Editor::get_textarea_modified() : false
21:47:12 [DBG] WalkHistory::add() : id  "1461238175qd72du5vcl"
21:47:12 [DBG] WalkHistory::add() : mode  0
21:47:12 [DBG] WalkHistory::add() start status:
21:47:12 [DBG] WalkHistory::add() : mode WALK_HISTORY_GO_NONE
21:47:12 [DBG] Save window geometry and splitter sizes
21:47:12 [DBG] Save new main window geometry
21:47:12 [DBG] AppConfig::set_tree_position() :  ("0", "1457971448osauk0q9jl", "1461238154jimvzt0s72")
21:47:12 [DBG] MainWindow::onFocusChanged() to  ""
21:47:12 [DBG] MainWindow::onFocusChanged() to  "knowTreeView"
21:47:12 [DBG] Main window focus deactivate, save all state.
21:47:12 [DBG] MainWindow::saveTextarea() : id : "1461238175qd72du5vcl"
21:47:12 [DBG] Save textarea...
21:47:12 [DBG] Editor::get_textarea_modified() : false
21:47:12 [DBG] WalkHistory::add() : id  "1461238175qd72du5vcl"
21:47:12 [DBG] WalkHistory::add() : mode  0
21:47:12 [DBG] WalkHistory::add() start status:
21:47:12 [DBG] WalkHistory::add() : mode WALK_HISTORY_GO_NONE
21:47:12 [DBG] WalkHistory::add() : Repeate ID, dont save
21:47:12 [DBG] Save window geometry and splitter sizes
21:47:12 [DBG] Save new main window geometry
21:47:12 [DBG] AppConfig::set_tree_position() :  ("0", "1457971448osauk0q9jl", "1461238154jimvzt0s72")
21:47:12 [DBG] MainWindow::onFocusChanged() to  ""
21:47:12 [DBG] MainWindow::onFocusChanged() to  "knowTreeView"
21:47:12 [DBG] Main window focus deactivate, save all state.
21:47:12 [DBG] MainWindow::saveTextarea() : id : "1461238175qd72du5vcl"
21:47:12 [DBG] Save textarea...
21:47:12 [DBG] Editor::get_textarea_modified() : false
21:47:12 [DBG] WalkHistory::add() : id  "1461238175qd72du5vcl"
21:47:12 [DBG] WalkHistory::add() : mode  0
21:47:12 [DBG] WalkHistory::add() start status:
21:47:12 [DBG] WalkHistory::add() : mode WALK_HISTORY_GO_NONE
21:47:12 [DBG] WalkHistory::add() : Repeate ID, dont save
21:47:12 [DBG] Save window geometry and splitter sizes
21:47:12 [DBG] Save new main window geometry
21:47:12 [DBG] AppConfig::set_tree_position() :  ("0", "1457971448osauk0q9jl", "1461238154jimvzt0s72")
21:47:13 [DBG] MainWindow::onFocusChanged() to  ""
21:47:13 [DBG] MainWindow::onFocusChanged() to  "knowTreeView"
21:47:13 [DBG] Main window focus deactivate, save all state.
21:47:13 [DBG] MainWindow::saveTextarea() : id : "1461238175qd72du5vcl"
21:47:13 [DBG] Save textarea...
21:47:13 [DBG] Editor::get_textarea_modified() : false
21:47:13 [DBG] WalkHistory::add() : id  "1461238175qd72du5vcl"
21:47:13 [DBG] WalkHistory::add() : mode  0
21:47:13 [DBG] WalkHistory::add() start status:
21:47:13 [DBG] WalkHistory::add() : mode WALK_HISTORY_GO_NONE
21:47:13 [DBG] WalkHistory::add() : Repeate ID, dont save
21:47:13 [DBG] Save window geometry and splitter sizes
21:47:13 [DBG] Save new main window geometry
21:47:13 [DBG] AppConfig::set_tree_position() :  ("0", "1457971448osauk0q9jl", "1461238154jimvzt0s72")
21:47:13 [DBG] MainWindow::onFocusChanged() to  ""
21:47:14 [DBG] MainWindow::onFocusChanged() to  "knowTreeView"
21:47:16 [DBG] In slot add_new_toend_context()
21:47:16 [DBG] In add_new_record()
21:47:16 [DBG] Show event of find dialog
21:47:16 [DBG] Textarea geometry X Y  0   76
21:47:16 [DBG] Textarea geometry Width Height  592   17
21:47:16 [DBG] Textarea frame geometry Width Height  592   17
21:47:17 [DBG] Main window focus deactivate, save all state.
21:47:17 [DBG] MainWindow::saveTextarea() : id : "1461238175qd72du5vcl"
21:47:17 [DBG] Save textarea...
21:47:17 [DBG] Editor::get_textarea_modified() : false
21:47:17 [DBG] WalkHistory::add() : id  "1461238175qd72du5vcl"
21:47:17 [DBG] WalkHistory::add() : mode  0
21:47:17 [DBG] WalkHistory::add() start status:
21:47:17 [DBG] WalkHistory::add() : mode WALK_HISTORY_GO_NONE
21:47:17 [DBG] WalkHistory::add() : Repeate ID, dont save
21:47:17 [DBG] Save window geometry and splitter sizes
21:47:17 [DBG] Save new main window geometry
21:47:17 [DBG] AppConfig::set_tree_position() :  ("0", "1457971448osauk0q9jl", "1461238154jimvzt0s72")
21:47:17 [DBG] MainWindow::onFocusChanged() to  ""
21:47:18 [DBG] MainWindow::onFocusChanged() to  "textArea"
21:47:20 [DBG] MainWindow::onFocusChanged() to  ""
21:47:20 [DBG] AddNewRecord::okClick() : recordtext  "2"
21:47:20 [DBG] "Create temporary directory /tmp/mytetra1461347240ubhcvgf1ix"
21:47:20 [DBG] Save images...

21:47:20 [DBG] Block count 1 

21:47:20 [DBG] Save images finish

21:47:20 [DBG] In add_new()
21:47:20 [DBG] TreeItem::getAllFields() : Fields data  QMap(("crypt", "")("id", "1461238154jimvzt0s72")("name", "google earth"))
21:47:20 [DBG] RecordTableData::insert_new_record() : Insert new record to branch  QMap(("crypt", "")("id", "1461238154jimvzt0s72")("name", "google earth"))
21:47:20 [DBG] RecordTableData::insert_new_record() : New record pos "2"
21:47:20 [DBG] In table select non present
21:47:20 [DBG] RecordTableView::onClickToRecord() : current item num  2
21:47:20 [DBG] MainWindow::saveTextarea() : id : "1461238175qd72du5vcl"
21:47:20 [DBG] Save textarea...
21:47:20 [DBG] Editor::get_textarea_modified() : false
21:47:20 [DBG] WalkHistory::add() : id  "1461238175qd72du5vcl"
21:47:20 [DBG] WalkHistory::add() : mode  0
21:47:20 [DBG] WalkHistory::add() start status:
21:47:20 [DBG] WalkHistory::add() : mode WALK_HISTORY_GO_NONE
21:47:20 [DBG] WalkHistory::add() : Repeate ID, dont save
21:47:20 [DBG]  File  "./data/base/1461347240x869rx7gr1/text.html" 

21:47:20 [DBG] Set attach file name list:  ""
21:47:20 [DBG] Record::getTextDirect() : return direct data
21:47:20 [DBG] RecordTableView::onClickToRecord() : id  "1461347240vjxcrchcah"
21:47:20 [DBG] RecordTableView::onClickToRecord() : name  "2"
21:47:20 [DBG] RecordTableView::onClickToRecord() : crypt  ""
21:47:20 [DBG] Editor::load_textarea() Set document URL to  "./data/base/1461347240x869rx7gr1/text.html"
21:47:20 [DBG] Set new data to AttachTableModel with rows:  0
21:47:20 [DBG] Parse tree to DOM elapsed time:  17  ms
21:47:20 [DBG] Move file from  "./data/mytetra.xml"  to  "./trash/1461347240oksmx3ic40_mytetra.xml"
21:47:20 [DBG] Remove file  "./trash/14576095024cbvfzzlgo_mytetra.xml"  from trash
21:47:20 [DBG] Save editor config file

*** Error in `mytetra': double free or corruption (out): 0x0885be78 ***
======= Backtrace: =========
/lib/libc.so.6(+0x68756)[0xb62d5756]
/lib/libc.so.6(+0x6e60d)[0xb62db60d]
/lib/libc.so.6(+0x6ed25)[0xb62dbd25]
/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/libstdc++.so.6(_ZdlPv+0x1b)[0xb646bbee]
/usr/lib/libQt5Widgets.so.5(_ZN13QFontComboBoxD0Ev+0x24)[0xb722ea52]
/usr/lib/libQt5Widgets.so.5(_ZN13QWidgetActionD1Ev+0x132)[0xb713619e]
/usr/lib/libQt5Widgets.so.5(_ZN13QWidgetActionD0Ev+0x1c)[0xb71361e8]
/usr/lib/libQt5Core.so.5(_ZN14QObjectPrivate14deleteChildrenEv+0x7d)[0xb6782075]
/usr/lib/libQt5Widgets.so.5(_ZN7QWidgetD1Ev+0x340)[0xb712ddd6]
/usr/lib/libQt5Widgets.so.5(_ZN8QToolBarD1Ev+0x2f)[0xb72ba1bf]
mytetra[0x817b47a]
mytetra[0x81866d6]
mytetra[0x8186758]
mytetra[0x808ab4c]
mytetra[0x808ad9c]
/usr/lib/libQt5Core.so.5(_ZN14QObjectPrivate14deleteChildrenEv+0x7d)[0xb6782075]
/usr/lib/libQt5Widgets.so.5(_ZN7QWidgetD1Ev+0x340)[0xb712ddd6]
/usr/lib/libQt5Widgets.so.5(_ZN7QDialogD1Ev+0x37)[0xb7302f93]
mytetra[0x80e612f]
mytetra[0x815e36e]
mytetra[0x815e93d]
mytetra[0x81cc965]
/usr/lib/libQt5Core.so.5(_ZN11QMetaObject8activateEP7QObjectiiPPv+0x701)[0xb67813c5]
/usr/lib/libQt5Core.so.5(_ZN11QMetaObject8activateEP7QObjectPKS_iPPv+0x3b)[0xb6781a71]
/usr/lib/libQt5Widgets.so.5(_ZN7QAction9triggeredEb+0x5a)[0xb70dda18]
/usr/lib/libQt5Widgets.so.5(_ZN7QAction8activateENS_11ActionEventE+0xf3)[0xb70e0133]
/usr/lib/libQt5Widgets.so.5(_ZN11QToolButton14nextCheckStateEv+0x30)[0xb72c6266]
/usr/lib/libQt5Widgets.so.5(+0x1e6fca)[0xb71e3fca]
/usr/lib/libQt5Widgets.so.5(_ZN15QAbstractButton17mouseReleaseEventEP11QMouseEvent+0xf6)[0xb71e41a0]
/usr/lib/libQt5Widgets.so.5(_ZN11QToolButton17mouseReleaseEventEP11QMouseEvent+0x27)[0xb72c61e9]
/usr/lib/libQt5Widgets.so.5(_ZN7QWidget5eventEP6QEvent+0x2e8)[0xb7132a3e]
/usr/lib/libQt5Widgets.so.5(_ZN15QAbstractButton5eventEP6QEvent+0x58)[0xb71e54b4]
/usr/lib/libQt5Widgets.so.5(_ZN11QToolButton5eventEP6QEvent+0x8b)[0xb72c6303]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x97)[0xb70e8915]
/usr/lib/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x11e5)[0xb70eef07]
/usr/lib/libQt5Core.so.5(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0x93)[0xb675810d]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate14sendMouseEventEP7QWidgetP11QMouseEventS1_S1_PS1_R8QPointerIS0_Eb+0x3bf)[0xb70ed517]
/usr/lib/libQt5Widgets.so.5(+0x15378f)[0xb715078f]
/usr/lib/libQt5Widgets.so.5(+0x155dd0)[0xb7152dd0]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x97)[0xb70e8915]
/usr/lib/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x3b7)[0xb70ee0d9]
/usr/lib/libQt5Core.so.5(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0x93)[0xb675810d]
/usr/lib/libQt5Gui.so.5(_ZN22QGuiApplicationPrivate17processMouseEventEPN29QWindowSystemInterfacePrivate10MouseEventE+0x2fe)[0xb6bf6216]
/usr/lib/libQt5Gui.so.5(_ZN22QGuiApplicationPrivate24processWindowSystemEventEPN29QWindowSystemInterfacePrivate17WindowSystemEventE+0x123)[0xb6bf82ed]
/usr/lib/libQt5Gui.so.5(_ZN22QWindowSystemInterface22sendWindowSystemEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x42)[0xb6bda928]
/usr/lib/libQt5XcbQpa.so.5(+0x62ee5)[0xb394bee5]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x23c)[0xb595b85d]
/usr/lib/libglib-2.0.so.0(+0x45b59)[0xb595bb59]
/usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x37)[0xb595bc0e]
/usr/lib/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x5c)[0xb67a7dec]
/usr/lib/libQt5XcbQpa.so.5(+0x630b2)[0xb394c0b2]
/usr/lib/libQt5Core.so.5(_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x24)[0xb675664e]
/usr/lib/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0xe2)[0xb6756a22]
/usr/lib/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x99)[0xb675e2db]
/usr/lib/libQt5Gui.so.5(_ZN15QGuiApplication4execEv+0x24)[0xb6bec462]
/usr/lib/libQt5Widgets.so.5(_ZN12QApplication4execEv+0x14)[0xb70e409a]
mytetra[0x806b0cc]
/lib/libc.so.6(__libc_start_main+0xf4)[0xb628544b]
mytetra[0x806b5f1]
======= Memory map: ========
08048000-0855c000 r-xp 00000000 08:03 2115015    /usr/bin/mytetra
0855d000-08563000 r--p 00514000 08:03 2115015    /usr/bin/mytetra
08563000-08565000 rw-p 0051a000 08:03 2115015    /usr/bin/mytetra
08565000-08a0a000 rw-p 00000000 00:00 0          [heap]
b0600000-b0621000 rw-p 00000000 00:00 0 
b0621000-b0700000 ---p 00000000 00:00 0 
b0730000-b0731000 rw-p 00000000 00:00 0 
b0731000-b0847000 rw-s 00000000 00:05 2490378    /SYSV00000000 (deleted)
b0847000-b0859000 rw-s 00000000 00:05 2457608    /SYSV00000000 (deleted)
b0859000-b0d1a000 rw-s 00000000 00:05 2424839    /SYSV00000000 (deleted)
b0d1a000-b0d4a000 r--p 00000000 08:03 544502     /usr/share/locale/ru/LC_MESSAGES/libc.mo
b0d4a000-b0d93000 r-xp 00000000 08:03 3155794    /lib/libncurses.so.5.9
b0d93000-b0d94000 ---p 00049000 08:03 3155794    /lib/libncurses.so.5.9
b0d94000-b0d96000 r--p 00049000 08:03 3155794    /lib/libncurses.so.5.9
b0d96000-b0d97000 rw-p 0004b000 08:03 3155794    /lib/libncurses.so.5.9
b0d97000-b0d9d000 r-xp 00000000 08:03 1655099    /usr/lib/libffi.so.6.0.1
b0d9d000-b0d9e000 r--p 00005000 08:03 1655099    /usr/lib/libffi.so.6.0.1
b0d9e000-b0d9f000 rw-p 00006000 08:03 1655099    /usr/lib/libffi.so.6.0.1
b0d9f000-b219e000 r-xp 00000000 08:03 3237115    /usr/lib/libLLVM-3.5.so
b219e000-b219f000 ---p 013ff000 08:03 3237115    /usr/lib/libLLVM-3.5.so
b219f000-b2225000 r--p 013ff000 08:03 3237115    /usr/lib/libLLVM-3.5.so
b2225000-b222e000 rw-p 01485000 08:03 3237115    /usr/lib/libLLVM-3.5.so
b222e000-b2237000 rw-p 00000000 00:00 0 
b2237000-b2242000 r-xp 00000000 08:03 1642371    /usr/lib/libdrm_radeon.so.1.0.1
b2242000-b2243000 ---p 0000b000 08:03 1642371    /usr/lib/libdrm_radeon.so.1.0.1
b2243000-b2244000 r--p 0000b000 08:03 1642371    /usr/lib/libdrm_radeon.so.1.0.1
b2244000-b2245000 rw-p 0000c000 08:03 1642371    /usr/lib/libdrm_radeon.so.1.0.1
b2245000-b27f2000 r-xp 00000000 08:03 951515     /usr/lib/mesa/r300g_dri.so
b27f2000-b27f3000 ---p 005ad000 08:03 951515     /usr/lib/mesa/r300g_dri.so
b27f3000-b280a000 r--p 005ad000 08:03 951515     /usr/lib/mesa/r300g_dri.so
b280a000-b280e000 rw-p 005c4000 08:03 951515     /usr/lib/mesa/r300g_dri.so
b280e000-b29f1000 rw-p 00000000 00:00 0 
b29f1000-b2a17000 r-xp 00000000 08:03 3023279    /lib/libudev.so.1.6.3
b2a17000-b2a18000 ---p 00026000 08:03 3023279    /lib/libudev.so.1.6.3
b2a18000-b2a19000 r--p 00026000 08:03 3023279    /lib/libudev.so.1.6.3
b2a19000-b2a1a000 rw-p 00027000 08:03 3023279    /lib/libudev.so.1.6.3
b2a1a000-b2a37000 r--p 00000000 08:03 2944592    /usr/share/fonts/corefonts/webdings.ttf
b2a37000-b2a38000 rw-s 00000000 00:05 2392070    /SYSV00000000 (deleted)
b2a38000-b2a3f000 r--s 00000000 08:03 1139561    /usr/lib/gconv/gconv-modules.cache
b2a3f000-b2ae9000 r--p 00000000 08:03 2942438    /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf
b2ae9000-b2b9f000 r--p 00000000 08:03 2942502    /usr/share/fonts/dejavu/DejaVuSans.ttf
b2b9f000-b2ba7000 r--s 00000000 08:03 3015650    /var/cache/fontconfig/87f5e051180a7a75f16eb6fe7dbd3749-le32d4.cache-4
b2ba7000-b2ba8000 r--s 00000000 08:03 1796863    /home/itspec/.cache/fontconfig/6983787ac5860c1dbec021ee808b364e-le32d4.cache-4
b2ba8000-b2ba9000 r--s 00000000 08:03 1796858    /home/itspec/.cache/fontconfig/d73f2240ee58263fec427f9c5b0a6438-le32d4.cache-4
b2ba9000-b2baa000 r--s 00000000 08:03 1796848    /home/itspec/.cache/fontconfig/2b8733543ea0430d65b44a9783a21427-le32d4.cache-4
b2baa000-b2bac000 r--s 00000000 08:03 3015894    /var/cache/fontconfig/0b1bcc92b4d25cc154d77dafe3bceaa0-le32d4.cache-4
b2bac000-b2bae000 r--s 00000000 08:03 3015851    /var/cache/fontconfig/711dae798b6bff4224ea2776edcb5c93-le32d4.cache-4
b2bae000-b2bc2000 r--s 00000000 08:03 3015887    /var/cache/fontconfig/ac7f0675734d71afbd251a77e2ff17f0-le32d4.cache-4
b2bc2000-b2bca000 r--s 00000000 08:03 3015662    /var/cache/fontconfig/acc285bc1956c3c4bc7afb41d537a85a-le32d4.cache-4
b2bca000-b2bce000 r--s 00000000 08:03 3015864    /var/cache/fontconfig/5dac49e74d8a3622eea6c94592a6c625-le32d4.cache-4
b2bce000-b2bd3000 r--s 00000000 08:03 3015863    /var/cache/fontconfig/4460665c0f3e88acdd4c85aa2f409b99-le32d4.cache-4
b2bd3000-b2bd8000 r--s 00000000 08:03 3015862    /var/cache/fontconfig/4467b976098fb13588b23c76ba4750d8-le32d4.cache-4
b2bd8000-b2bda000 r--s 00000000 08:03 3015860    /var/cache/fontconfig/b2d431a31d342c7b6b32ea8a8f796c86-le32d4.cache-4
b2bda000-b2bdb000 r--s 00000000 08:03 3015857    /var/cache/fontconfig/6ef3cb86ec2b94257f34d8aad949be2d-le32d4.cache-4
b2bdb000-b2bee000 r--s 00000000 08:03 3015853    /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-le32d4.cache-4
b2bee000-b2bef000 r--s 00000000 08:03 3015850    /var/cache/fontconfig/e61abf8156cc476151baa07d67337cae-le32d4.cache-4
b2bef000-b2c42000 r--s 00000000 08:03 3015735    /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-le32d4.cache-4
b2c42000-b2cb6000 rw-p 00000000 00:00 0 
b2cb6000-b2cba000 r--s 00000000 08:03 3015849    /var/cache/fontconfig/a595ca43be94766bbfe429f07fba82d0-le32d4.cache-4
b2cba000-b2cbf000 r--s 00000000 08:03 3015737    /var/cache/fontconfig/b7b96da43d018c777cd824110a0f12ee-le32d4.cache-4
b2cbf000-b2cd7000 r--s 00000000 08:03 3015784    /var/cache/fontconfig/4b5cf4386f1cde02a336ba961b4ac82d-le32d4.cache-4
b2cd7000-b2d2a000 r--s 00000000 08:03 3015661    /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-le32d4.cache-4
b2d2a000-b2d7b000 r-xp 00000000 08:03 3154172    /usr/lib/libQt5Svg.so.5.5.1
b2d7b000-b2d7d000 rw-p 00051000 08:03 3154172    /usr/lib/libQt5Svg.so.5.5.1
b2d7d000-b2dd9000 r-xp 00000000 08:03 3064321    /usr/lib/libjpeg.so.62.1.0
b2dd9000-b2dda000 r--p 0005b000 08:03 3064321    /usr/lib/libjpeg.so.62.1.0
b2dda000-b2ddb000 rw-p 0005c000 08:03 3064321    /usr/lib/libjpeg.so.62.1.0
b2ddb000-b2ddf000 r--s 00000000 08:03 3015832    /var/cache/fontconfig/580bda594161061e6ef4cc8a4db09662-le32d4.cache-4
b2ddf000-b2de6000 r--s 00000000 08:03 3015796    /var/cache/fontconfig/1dce2cb908b447e938fc03acd9b47fcf-le32d4.cache-4
b2de6000-b2def000 r--s 00000000 08:03 3015795    /var/cache/fontconfig/12b26b760a24f8b4feb03ad48a333a72-le32d4.cache-4
b2def000-b2df4000 r--s 00000000 08:03 3015775    /var/cache/fontconfig/61c91b4f4892ffae4bc0efef540a1e5d-le32d4.cache-4
b2df4000-b2e00000 r--s 00000000 08:03 3015761    /var/cache/fontconfig/f73c51d6200a78c2054c26a5b2398976-le32d4.cache-4
b2e00000-b2e21000 rw-p 00000000 00:00 0 
b2e21000-b2f00000 ---p 00000000 00:00 0 
b2f00000-b2f03000 r--s 00000000 08:03 3015827    /var/cache/fontconfig/aecded52ccf112ce9ddb976f75eab3bb-le32d4.cache-4
b2f03000-b2f09000 r--s 00000000 08:03 3015755    /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-le32d4.cache-4
b2f09000-b2f0d000 r--s 00000000 08:03 3015658    /var/cache/fontconfig/f6b893a7224233d96cb72fd88691c0b4-le32d4.cache-4
b2f0d000-b2f14000 r--s 00000000 08:03 3015745    /var/cache/fontconfig/f349e9996a5320f6dd491cedd2b1f964-le32d4.cache-4
b2f14000-b2f1c000 r-xp 00000000 08:03 3154004    /usr/lib/qt5/plugins/iconengines/libqsvgicon.so
b2f1c000-b2f1d000 rw-p 00007000 08:03 3154004    /usr/lib/qt5/plugins/iconengines/libqsvgicon.so
b2f1d000-b2f26000 r-xp 00000000 08:03 852102     /usr/lib/qt5/plugins/imageformats/libqjpeg.so
b2f26000-b2f27000 rw-p 00008000 08:03 852102     /usr/lib/qt5/plugins/imageformats/libqjpeg.so
b2f27000-b2f2d000 r-xp 00000000 08:03 852100     /usr/lib/qt5/plugins/imageformats/libqico.so
b2f2d000-b2f2e000 rw-p 00005000 08:03 852100     /usr/lib/qt5/plugins/imageformats/libqico.so
b2f2e000-b2f37000 r-xp 00000000 08:03 2564151    /usr/lib/libXrender.so.1.3.0
b2f37000-b2f38000 r--p 00008000 08:03 2564151    /usr/lib/libXrender.so.1.3.0
b2f38000-b2f39000 rw-p 00009000 08:03 2564151    /usr/lib/libXrender.so.1.3.0
b2f39000-b2f43000 r-xp 00000000 08:03 41307      /usr/lib/libXcursor.so.1.0.2
b2f43000-b2f44000 r--p 00009000 08:03 41307      /usr/lib/libXcursor.so.1.0.2
b2f44000-b2f45000 rw-p 0000a000 08:03 41307      /usr/lib/libXcursor.so.1.0.2
b2f45000-b2f46000 ---p 00000000 00:00 0 
b2f46000-b3746000 rw-p 00000000 00:00 0          [stack:7844]
b3746000-b378a000 r-xp 00000000 08:03 3065831    /usr/lib/libdbus-1.so.3.14.6
b378a000-b378b000 r--p 00043000 08:03 3065831    /usr/lib/libdbus-1.so.3.14.6
b378b000-b378c000 rw-p 00044000 08:03 3065831    /usr/lib/libdbus-1.so.3.14.6
b378c000-b3790000 r-xp 00000000 08:03 1319977    /usr/lib/libxcb-util.so.1.0.0
b3790000-b3791000 r--p 00003000 08:03 1319977    /usr/lib/libxcb-util.so.1.0.0
b3791000-b3792000 rw-p 00004000 08:03 1319977    /usr/lib/libxcb-util.so.1.0.0
b3792000-b3796000 r-xp 00000000 08:03 2335181    /lib/libuuid.so.1.3.0
b3796000-b3797000 r--p 00003000 08:03 2335181    /lib/libuuid.so.1.3.0
b3797000-b3798000 rw-p 00004000 08:03 2335181    /lib/libuuid.so.1.3.0
b3798000-b3816000 r-xp 00000000 08:03 516736     /usr/lib/libQt5DBus.so.5.5.1
b3816000-b3818000 rw-p 0007d000 08:03 516736     /usr/lib/libQt5DBus.so.5.5.1
b3818000-b3852000 r-xp 00000000 08:03 2703400    /usr/lib/libfontconfig.so.1.8.0
b3852000-b3853000 ---p 0003a000 08:03 2703400    /usr/lib/libfontconfig.so.1.8.0
b3853000-b3854000 r--p 0003a000 08:03 2703400    /usr/lib/libfontconfig.so.1.8.0
b3854000-b3855000 rw-p 0003b000 08:03 2703400    /usr/lib/libfontconfig.so.1.8.0
b3855000-b3893000 r-xp 00000000 08:03 2720740    /usr/lib/libxkbcommon.so.0.0.0
b3893000-b3894000 r--p 0003d000 08:03 2720740    /usr/lib/libxkbcommon.so.0.0.0
b3894000-b3895000 rw-p 0003e000 08:03 2720740    /usr/lib/libxkbcommon.so.0.0.0
b3895000-b389b000 r-xp 00000000 08:03 2719839    /usr/lib/libxkbcommon-x11.so.0.0.0
b389b000-b389c000 ---p 00006000 08:03 2719839    /usr/lib/libxkbcommon-x11.so.0.0.0
b389c000-b389d000 r--p 00006000 08:03 2719839    /usr/lib/libxkbcommon-x11.so.0.0.0
b389d000-b389e000 rw-p 00007000 08:03 2719839    /usr/lib/libxkbcommon-x11.so.0.0.0
b389e000-b38b8000 r-xp 00000000 08:03 3082250    /usr/lib/libxcb-xkb.so.1.0.0
b38b8000-b38b9000 r--p 00019000 08:03 3082250    /usr/lib/libxcb-xkb.so.1.0.0
b38b9000-b38ba000 rw-p 0001a000 08:03 3082250    /usr/lib/libxcb-xkb.so.1.0.0
b38ba000-b38bc000 r-xp 00000000 08:03 1278016    /usr/lib/libxcb-keysyms.so.1.0.0
b38bc000-b38bd000 r--p 00001000 08:03 1278016    /usr/lib/libxcb-keysyms.so.1.0.0
b38bd000-b38be000 rw-p 00002000 08:03 1278016    /usr/lib/libxcb-keysyms.so.1.0.0
b38be000-b38c0000 r-xp 00000000 08:03 3081534    /usr/lib/libxcb-shm.so.0.0.0
b38c0000-b38c1000 r--p 00001000 08:03 3081534    /usr/lib/libxcb-shm.so.0.0.0
b38c1000-b38c2000 rw-p 00002000 08:03 3081534    /usr/lib/libxcb-shm.so.0.0.0
b38c2000-b38c7000 r-xp 00000000 08:03 1640998    /usr/lib/libxcb-icccm.so.4.0.0
b38c7000-b38c8000 r--p 00004000 08:03 1640998    /usr/lib/libxcb-icccm.so.4.0.0
b38c8000-b38c9000 rw-p 00005000 08:03 1640998    /usr/lib/libxcb-icccm.so.4.0.0
b38c9000-b38cd000 r-xp 00000000 08:03 1565722    /usr/lib/libxcb-image.so.0.0.0
b38cd000-b38ce000 r--p 00003000 08:03 1565722    /usr/lib/libxcb-image.so.0.0.0
b38ce000-b38cf000 rw-p 00004000 08:03 1565722    /usr/lib/libxcb-image.so.0.0.0
b38cf000-b38e5000 r-xp 00000000 08:03 3170759    /usr/lib/libICE.so.6.3.0
b38e5000-b38e6000 r--p 00015000 08:03 3170759    /usr/lib/libICE.so.6.3.0
b38e6000-b38e7000 rw-p 00016000 08:03 3170759    /usr/lib/libICE.so.6.3.0
b38e7000-b38e9000 rw-p 00000000 00:00 0 
b38e9000-b39cd000 r-xp 00000000 08:03 663830     /usr/lib/libQt5XcbQpa.so.5.5.1
b39cd000-b39d2000 rw-p 000e3000 08:03 663830     /usr/lib/libQt5XcbQpa.so.5.5.1
b39d2000-b39d6000 r-xp 00000000 08:03 3154102    /usr/lib/qt5/plugins/imageformats/libqsvg.so
b39d6000-b39d7000 rw-p 00004000 08:03 3154102    /usr/lib/qt5/plugins/imageformats/libqsvg.so
b39d7000-b39dd000 r-xp 00000000 08:03 852099     /usr/lib/qt5/plugins/imageformats/libqgif.so
b39dd000-b39de000 rw-p 00005000 08:03 852099     /usr/lib/qt5/plugins/imageformats/libqgif.so
b39de000-b39e7000 r-xp 00000000 08:03 876599     /usr/lib/qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so
b39e7000-b39e8000 rw-p 00009000 08:03 876599     /usr/lib/qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so
b39e8000-b39f6000 r-xp 00000000 08:03 868407     /usr/lib/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
b39f6000-b39f7000 rw-p 0000e000 08:03 868407     /usr/lib/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
b39f7000-b3b29000 r--p 0024c000 08:03 280921     /usr/lib/locale/locale-archive
b3b29000-b3d29000 r--p 00000000 08:03 280921     /usr/lib/locale/locale-archive
b3d29000-b3d2d000 rw-p 00000000 00:00 0 
b3d2d000-b3d32000 r-xp 00000000 08:03 893837     /usr/lib/libXdmcp.so.6.0.0
b3d32000-b3d33000 r--p 00004000 08:03 893837     /usr/lib/libXdmcp.so.6.0.0
b3d33000-b3d34000 rw-p 00005000 08:03 893837     /usr/lib/libXdmcp.so.6.0.0
b3d34000-b3d35000 rw-p 00000000 00:00 0 
b3d35000-b3d37000 r-xp 00000000 08:03 3173037    /usr/lib/libXau.so.6.0.0
b3d37000-b3d38000 r--p 00001000 08:03 3173037    /usr/lib/libXau.so.6.0.0
b3d38000-b3d39000 rw-p 00002000 08:03 3173037    /usr/lib/libXau.so.6.0.0
b3d39000-b3d49000 r-xp 00000000 08:03 642878     /lib/libbz2.so.1.0.6
b3d49000-b3d4a000 r--p 0000f000 08:03 642878     /lib/libbz2.so.1.0.6
b3d4a000-b3d4b000 rw-p 00010000 08:03 642878     /lib/libbz2.so.1.0.6
b3d4b000-b5601000 r-xp 00000000 08:03 361701     /usr/lib/libicudata.so.55.1
b5601000-b5602000 r--p 018b5000 08:03 361701     /usr/lib/libicudata.so.55.1
b5602000-b5603000 rw-p 018b6000 08:03 361701     /usr/lib/libicudata.so.55.1
b5603000-b5612000 r-xp 00000000 08:03 1642363    /usr/lib/libdrm.so.2.4.0
b5612000-b5613000 r--p 0000e000 08:03 1642363    /usr/lib/libdrm.so.2.4.0
b5613000-b5614000 rw-p 0000f000 08:03 1642363    /usr/lib/libdrm.so.2.4.0
b5614000-b5615000 rw-p 00000000 00:00 0 
b5615000-b5619000 r-xp 00000000 08:03 3015620    /usr/lib/libXxf86vm.so.1.0.0
b5619000-b561a000 r--p 00003000 08:03 3015620    /usr/lib/libXxf86vm.so.1.0.0
b561a000-b561b000 rw-p 00004000 08:03 3015620    /usr/lib/libXxf86vm.so.1.0.0
b561b000-b561c000 r-xp 00000000 08:03 82101      /usr/lib/libxshmfence.so.1.0.0
b561c000-b561d000 r--p 00000000 08:03 82101      /usr/lib/libxshmfence.so.1.0.0
b561d000-b561e000 rw-p 00001000 08:03 82101      /usr/lib/libxshmfence.so.1.0.0
b561e000-b5641000 r-xp 00000000 08:03 3081431    /usr/lib/libxcb.so.1.1.0
b5641000-b5642000 r--p 00022000 08:03 3081431    /usr/lib/libxcb.so.1.1.0
b5642000-b5643000 rw-p 00023000 08:03 3081431    /usr/lib/libxcb.so.1.1.0
b5643000-b5648000 r-xp 00000000 08:03 3081539    /usr/lib/libxcb-sync.so.1.0.0
b5648000-b5649000 ---p 00005000 08:03 3081539    /usr/lib/libxcb-sync.so.1.0.0
b5649000-b564a000 r--p 00005000 08:03 3081539    /usr/lib/libxcb-sync.so.1.0.0
b564a000-b564b000 rw-p 00006000 08:03 3081539    /usr/lib/libxcb-sync.so.1.0.0
b564b000-b564e000 r-xp 00000000 08:03 3081533    /usr/lib/libxcb-shape.so.0.0.0
b564e000-b564f000 r--p 00002000 08:03 3081533    /usr/lib/libxcb-shape.so.0.0.0
b564f000-b5650000 rw-p 00003000 08:03 3081533    /usr/lib/libxcb-shape.so.0.0.0
b5650000-b5651000 rw-p 00000000 00:00 0 
b5651000-b565a000 r-xp 00000000 08:03 3081501    /usr/lib/libxcb-render.so.0.0.0
b565a000-b565b000 r--p 00008000 08:03 3081501    /usr/lib/libxcb-render.so.0.0.0
b565b000-b565c000 rw-p 00009000 08:03 3081501    /usr/lib/libxcb-render.so.0.0.0
b565c000-b5663000 r-xp 00000000 08:03 3081545    /usr/lib/libxcb-xfixes.so.0.0.0
b5663000-b5664000 r--p 00006000 08:03 3081545    /usr/lib/libxcb-xfixes.so.0.0.0
b5664000-b5665000 rw-p 00007000 08:03 3081545    /usr/lib/libxcb-xfixes.so.0.0.0
b5665000-b5672000 r-xp 00000000 08:03 3081486    /usr/lib/libxcb-randr.so.0.1.0
b5672000-b5673000 ---p 0000d000 08:03 3081486    /usr/lib/libxcb-randr.so.0.1.0
b5673000-b5674000 r--p 0000d000 08:03 3081486    /usr/lib/libxcb-randr.so.0.1.0
b5674000-b5675000 rw-p 0000e000 08:03 3081486    /usr/lib/libxcb-randr.so.0.1.0
b5675000-b5677000 r-xp 00000000 08:03 3081458    /usr/lib/libxcb-present.so.0.0.0
b5677000-b5678000 r--p 00001000 08:03 3081458    /usr/lib/libxcb-present.so.0.0.0
b5678000-b5679000 rw-p 00002000 08:03 3081458    /usr/lib/libxcb-present.so.0.0.0
b5679000-b567b000 r-xp 00000000 08:03 3081456    /usr/lib/libxcb-dri3.so.0.0.0
b567b000-b567c000 r--p 00001000 08:03 3081456    /usr/lib/libxcb-dri3.so.0.0.0
b567c000-b567d000 rw-p 00002000 08:03 3081456    /usr/lib/libxcb-dri3.so.0.0.0
b567d000-b567e000 rw-p 00000000 00:00 0 
b567e000-b5682000 r-xp 00000000 08:03 3081448    /usr/lib/libxcb-dri2.so.0.0.0
b5682000-b5683000 r--p 00003000 08:03 3081448    /usr/lib/libxcb-dri2.so.0.0.0
b5683000-b5684000 rw-p 00004000 08:03 3081448    /usr/lib/libxcb-dri2.so.0.0.0
b5684000-b569c000 r-xp 00000000 08:03 3081483    /usr/lib/libxcb-glx.so.0.0.0
b569c000-b569d000 ---p 00018000 08:03 3081483    /usr/lib/libxcb-glx.so.0.0.0
b569d000-b569e000 r--p 00018000 08:03 3081483    /usr/lib/libxcb-glx.so.0.0.0
b569e000-b569f000 rw-p 00019000 08:03 3081483    /usr/lib/libxcb-glx.so.0.0.0
b569f000-b57d4000 r-xp 00000000 08:03 3026164    /usr/lib/libX11.so.6.3.0
b57d4000-b57d5000 r--p 00134000 08:03 3026164    /usr/lib/libX11.so.6.3.0
b57d5000-b57d8000 rw-p 00135000 08:03 3026164    /usr/lib/libX11.so.6.3.0
b57d8000-b57d9000 r-xp 00000000 08:03 3026051    /usr/lib/libX11-xcb.so.1.0.0
b57d9000-b57da000 r--p 00000000 08:03 3026051    /usr/lib/libX11-xcb.so.1.0.0
b57da000-b57db000 rw-p 00001000 08:03 3026051    /usr/lib/libX11-xcb.so.1.0.0
b57db000-b57df000 r-xp 00000000 08:03 3015505    /usr/lib/libXfixes.so.3.1.0
b57df000-b57e0000 r--p 00003000 08:03 3015505    /usr/lib/libXfixes.so.3.1.0
b57e0000-b57e1000 rw-p 00004000 08:03 3015505    /usr/lib/libXfixes.so.3.1.0
b57e1000-b57e2000 rw-p 00000000 00:00 0 
b57e2000-b57e4000 r-xp 00000000 08:03 2944056    /usr/lib/libXdamage.so.1.1.0
b57e4000-b57e5000 r--p 00001000 08:03 2944056    /usr/lib/libXdamage.so.1.1.0
b57e5000-b57e6000 rw-p 00002000 08:03 2944056    /usr/lib/libXdamage.so.1.1.0
b57e6000-b57f7000 r-xp 00000000 08:03 2588813    /usr/lib/libXext.so.6.4.0
b57f7000-b57f8000 r--p 00010000 08:03 2588813    /usr/lib/libXext.so.6.4.0
b57f8000-b57f9000 rw-p 00011000 08:03 2588813    /usr/lib/libXext.so.6.4.0
b57f9000-b580c000 r-xp 00000000 08:03 893906     /usr/lib/libglapi.so.0.0.0
b580c000-b580e000 r--p 00012000 08:03 893906     /usr/lib/libglapi.so.0.0.0
b580e000-b5814000 rwxp 00014000 08:03 893906     /usr/lib/libglapi.so.0.0.0
b5814000-b5838000 r-xp 00000000 08:03 3113144    /usr/lib/libexpat.so.1.6.0
b5838000-b583a000 r--p 00023000 08:03 3113144    /usr/lib/libexpat.so.1.6.0
b583a000-b583b000 rw-p 00025000 08:03 3113144    /usr/lib/libexpat.so.1.6.0
b583b000-b5865000 r-xp 00000000 08:03 2278065    /usr/lib/libgraphite2.so.3.0.1
b5865000-b5866000 ---p 0002a000 08:03 2278065    /usr/lib/libgraphite2.so.3.0.1
b5866000-b5867000 r--p 0002a000 08:03 2278065    /usr/lib/libgraphite2.so.3.0.1
b5867000-b5868000 rw-p 0002b000 08:03 2278065    /usr/lib/libgraphite2.so.3.0.1
b5868000-b5869000 rw-p 00000000 00:00 0 
b5869000-b5909000 r-xp 00000000 08:03 279996     /usr/lib/libfreetype.so.6.11.4
b5909000-b590d000 r--p 0009f000 08:03 279996     /usr/lib/libfreetype.so.6.11.4
b590d000-b590e000 rw-p 000a3000 08:03 279996     /usr/lib/libfreetype.so.6.11.4
b590e000-b5914000 r-xp 00000000 08:03 378259     /lib/librt-2.22.so
b5914000-b5915000 r--p 00005000 08:03 378259     /lib/librt-2.22.so
b5915000-b5916000 rw-p 00006000 08:03 378259     /lib/librt-2.22.so
b5916000-b5a4b000 r-xp 00000000 08:03 966827     /usr/lib/libglib-2.0.so.0.4600.2
b5a4b000-b5a4c000 ---p 00135000 08:03 966827     /usr/lib/libglib-2.0.so.0.4600.2
b5a4c000-b5a4d000 r--p 00135000 08:03 966827     /usr/lib/libglib-2.0.so.0.4600.2
b5a4d000-b5a4e000 rw-p 00136000 08:03 966827     /usr/lib/libglib-2.0.so.0.4600.2
b5a4e000-b5a50000 r-xp 00000000 08:03 378257     /lib/libdl-2.22.so
b5a50000-b5a51000 ---p 00002000 08:03 378257     /lib/libdl-2.22.so
b5a51000-b5a52000 r--p 00002000 08:03 378257     /lib/libdl-2.22.so
b5a52000-b5a53000 rw-p 00003000 08:03 378257     /lib/libdl-2.22.so
b5a53000-b5ab9000 r-xp 00000000 08:03 352323     /usr/lib/libpcre16.so.0.2.6
b5ab9000-b5aba000 r--p 00065000 08:03 352323     /usr/lib/libpcre16.so.0.2.6Аварийный останов

Вложенные маркированные списки

Обычно в текстовых редакторах нажатие Tab приводит к переводу на следующий уровень вложенности маркированного списка, тут же при этом только появляется табуляция. В меню я увидел специальную кнопку, которая похоже двигает отступ у элемента списка, вот по Tab на элементе списка должно происходить что-то такое же, только немного подальше и должен меняться маркер...

Задача: исправить баг. Иногда появляется Critical error при нажатии кнопки "Удалить" или "Вырезать" в списке записей.

Задача: исправить баг.
Сложность: низкая.
Важность: высокая.

Внешнее проявление

При нажатии на кнопку "Удалить" или "Вырезать" иногда появляется ошибка вида:

Critical error

Can not remove file 
./data/base/1235231515kjh2ui9whr/text.html 
to reserve file
./trash/7453747334skln2m1j5k_text.html

Program was closed.

Последовательность действий, вызывающих ошибку

  1. Выбрать любую запись (обычную, зашифрованную - неважно)
  2. Внести изменения в запись (набрать новую строку), запись не производить (т.е. кнопку "Записать" не нажимать, у кого она видна, Ctrl+S не нажимать).
  3. Нажать "Вырезать" или "Удалить".
  4. Лицезреть сообщение об ошибке.

БАГ: Потеря информации после редактирования

Создал новую ветку, разместил в ней запись, зашифровал ветку. Всё ок, файл зашифрован.
Перезапускаю программу, перехожу в ветку, ввожу пароль - запись видна, всё ок.
Редактирую запись, добавляю в неё картинку, кучу текста. Смотрю в файл - всё лежит в открытом виде. Удивляюсь, перезапускаюсь, просит пароль (еще раз проверяю - данные лежат в открытом виде). После ввода пароля вижу пустой лист с данными, а файл базы безнадежно испорчен (полагаю, процедурой дешифровки).
Маленький пушистый зверёк.

Ошибка при синхронизации

Версия 1.32.250

В дереве навигации создаю подветку третьего (именно третьего) уровня
например так
-test1
--------test2 [1]
-----------------------test3 [2]

подветки содержат записи.
выделяю любую запись в последней подветке и жму Синхронизация
Получаю диалоговое окно с ошибкой и программа закрывается.
RecordTableData::getField() : get unavailable record index 0
Program was closed.
При этом в окне синхронизации видим Everything up-to-date, что говорит об успешной синхронизации

Если выделять запись не последней подветки, а любую другую (независимо от уровня) то всё проходит без ошибок.
Опытным путём установил, что ошибка возникает на третьем уровне вложенности (на втором всё нормально).

Очистка форматирования текста в редакторе MyTetra

Проблема:

При вставке текста, взятого из окна браузера, текст может содержать различные теги форматирования. В MyTetra предусмотрена кнопка [C] - для сброса форматирования к стандартному, заданному в настройках редактора.

Задача:

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

  • Если выделена строка в абзаце (то, есть не весь абзац), очищать форматирование только для начертания. Нельзя изменять отступы.
  • Если начало и конец выделения находятся на начале/конце абзаца, то надо очистить как начертание, так и отступы.
  • Если в выделенном фрагменте есть картинка, то картинка должна остаться. (Стандартный Qt-метод setCurrentCharFormat() удаляет картинки из текста).
  • Учесть, что если применить технику "вырезаем выделение, чистим, и вставляем заново через removeSelectedText()/insertHtml()", то первая строка такой вставки получит форматирование, отличное от заданного - будут по неизвестной причине добавлены вертикальные отступы самим Qt. Эту особенность надо как-то скомпенсировать или обойти.

Подробности:

  • Весь код редактора сосредоточен в каталоге /src/libraries/wyedit;
  • Метод, который очищает форматирование, находится в файле:
/src/libraries/wyedit/formatters/TypefaceFormatter.cpp

метод называется:

void TypefaceFormatter::onClearClicked(void)

его можно (и нужно) менять.

  • При необходимости можно создать класс-очиститель текста, с именем типа TextCleaner.
  • Основной класс (виджет) редактора - класс Editor, размещенн в файле Editor.cpp;
  • Класс области редактирования называется EditorTextArea, он унаследован от QTextEdit. Указатель на нее в рамках класса Editor называется textArea.
  • Начертание и размер стандартного шрифта, который надо установить на очищаемый кусок текста, берутся вот отсюда:
editorConfig->get_default_font()
editorConfig->get_default_font_size()

Правка кода:

Правка кода должна проводиться в отдельной ветке. После проверки, код будет влит в ветку experimental.

$(dirname $0) => $(dirname $(readlink -e $0))

Строку
PROGDIR=$(dirname $0)
файла
mytetra.run
имеет смысл заменить на
PROGDIR=$(dirname $(readlink -e $0))
, так как при создании ссылки на на mytetra.run и запуск через неё приводит к "печальным" последствиям в виде запуска бесконечного количества экземпляров программы и зависанию ПК(по крайней мере, моего ПК под управлением Ubuntu 16.04)

P.S.
Прошу прощения что не создал pull request - grep по PROGDIR ничего даёт

Разрешение экрана

Если есть возможность оптимизировать иконки под большие разрешения экрана, было бы очень здорово. У меня разрешение экрана 3200*1800, значки очень мелкие, текст нормальный.

Что делают эти кнопки?

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

При нажатии Quit программа не выходит

При нажатии Quit программа не выходит (не исчезает из трея, не исчезает в процессах). То есть её можно открыть и увидеть там уже расшифрованные последние открытые записи. При этом ей невозможно нормально пользоваться - любое нажатие в окне игнорируется.
Проблема не возникает сразу, а только через некоторое время, если открытой программой не пользоваться. Если открыть, ввести пароль и тут же открыть, то всё отрабатывает штатно, включая git синхронизацию.
Логов нигде не нашёл, что надо выслать?

HotKeys

ИМХО основная проблема программы связана с трудоемкостью заведения новых записей (по сравнению с аналогами). Одним из методов является введение быстрых клавиш или хотя бы подбор по первым буквам меню через Alt (но для этого все операции необходимо завести все операции в меню программы). Очень большая просьба добавить быстрые клавиши для работы с деревом и записью

Задача: исправить баг. Автоматически не сохраняются изменения в тексте записи после просмотра/редактирования HTML кода.

Задача: исправить баг.
Сложность: низкая.
Важность: высокая.

Внешнее проявление

После работы с исходным HTML-кодом записи, не сохраняется текст записи.

Последовательность действий, приводящих к ошибке

  1. Выбратьлюбую запись.
  2. Открыть просмотр HTML (можно ничего в HTML не редактировать).
  3. Закрыть просмотр кнопкой ОК.
  4. Перейти на другую запись.
  5. Вернуться к редактируемой записи, и увидеть что изменения в тексте не сохранились.

Возможная причина появления ошибки

Стандартный флаг объекта QTextEdit, отвечающий за отслеживание изменений при редактировании, сбрасывается при полной замене HTML кода на код, полученный из окна редактирования HTML-кода. Вследствии этого программа считает, что изменений небыло внесено, и записи не происходит.

[bug] fcitx stop working on MyTetra v.1.42.2

Configuration:
Linux mint 18.2 Sonya
MyTetra v.1.42.2

Steps

Start MyTetra.
Start typing, press CTR+SPACE to change input mode with fcitx

Actual result
fcitx does not change input mode (e.g. for typing Japanese/Chinese etc.)

Expected result
fcitx changes input mode (MyTetra v1.32.314 worked perfectly with fcitx)

Не коректная вставка некоторых изображений из буфера обмена.

Win7 x64.
При вставке некоторых png картинок с прозрачным фоном из буфера обмена появляются артефакты.
При вставке по ссылке проблем нет.

Например эта картинка https://hsto.org/files/5cc/363/d97/5cc363d97a434cb0bc775cf76969c00c.png
при вставке через буфер обмена выглядит так
http://img.techpowerup.org/161223/capture031-20161223-215612.png
при вставке по ссылке так
http://img.techpowerup.org/161223/capture032-20161223-215932.png

Текст без шрифта

По умолчанию не отображается никакого шрифта в том месте, где выбирается шрифт. Очевидно, что набираемый текст какому-то шрифту соответствует, раз уж он отображается, но шрифта нет. Более того, если часть текста выделить и шрифт "поменять" на Arial, то мы увидим, что текст не изменится (вероятно шрифт по умолчанию - Arial), но у него теперь и впредь будет отображаться шрифт Arial, а вот у остального текста - так и останется безымянный одиночка.

Moving tree

Hello!
is there any way to moving trees between trees?

For example:

parent tree1 - |
                     | - sibling tree
                     |
                     | - sibling tree 2
parent tree2-|
                     |
                     | - sibling tree 3

parent tree3 ( ex-sibling tree 3 with all notes)

I want to change parent tree for sibling tree (sibling tree 3 move to parent tree 1) and make sibling tree parents tree.

Время последнего изменения

Очень не хватает возможности видеть дату последнего изменения заметки. Дата создания есть, а изменения почему-то нет, многие заметки у меня могут с течением времени обновляться, хотелось бы видеть когда именно была добавлена последняя информация.

Не добавляются файлы без расширений

Файлы без расширений в при прикреплении к записи добавляются с нулевым размером. При удалении такого файла возникает ошибка "Не могу удалить файл file_name на диске. Файл не существует." Версия 1.42.2 для Linux.

Вопрос: ui файлы

Почему в проекте не используются файлы ui?
На мой взгляд это сократило бы количество строк в cpp и h файлах, а также было бы проще искать ту или иную кнопочку.

О пустой заметке

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

[bug] Windows is not maximized after reopen from tray

Configuration

Windows 7 x86_64.
MyTetra v.1.42.2

Steps

  1. Start MyTetra.
  2. Resize the window somehow but do not maximize.
  3. Maximize the window.
  4. Close (X) the window.
  5. Reopen the windows from the system tray.

Actual result

The window is NOT maximized.

Expected result

The window is maximized.

http://webhamster.ru/site/page/index/articles/projectcode/105

Главные особенности программы

  • Всегда запоминается геометрия окна

[bug] Window is not maximized after program restart

Configuration

Windows 7 x86_64.
MyTetra v.1.42.2

Steps

  1. Start MyTetra.
  2. Resize the window somehow but do not maximize.
  3. Maximize the window.
  4. Quit from the program (e.g. Ctrl+Q).
  5. Start MyTetra.

Actual result

The window is NOT maximized. And it is a little bigger that the size of desktop.

Expected result

The window is maximized.

http://webhamster.ru/site/page/index/articles/projectcode/105

Главные особенности программы

  • Всегда запоминается геометрия окна

Кнопка ОК по умолчанию в окне создания записи

Мелочь, но было бы приятно.

В окне создания записи, если стоит настройка о возможности создания пустых записей,
написав название записи и нажав Enter окно записи закрывается так как по умолчанию фокус стоит на кнопке Cancel (кстати она так же и называется в русской локали).
Нужно чтобы фокус по умолчанию был на ОК
Так можно быстро создавать записи (например список дел).

Конечно работает CTRL+Enter.. но все же эту комбинацию нужно знать чтобы пользоватся ею.

Использую v.1.42.2 под Linux

О создании маркированного списка

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

Demo Data/ Manual

It would be great to have a demo database/user manual to demonstrate
1- All of the capabilities
2- Allow users to test the UI (and support translation efforts)

Контекстное меню с картинкой

Совсем неочевидно и весьма неудобно поведение контекстного меню в текстовом редакторе. Когда пользователь нажимает правой кнопкой мыши (стандарт при вызове контекстного окна) на картинке, он ожидает, что "Edit image properties" относится именно к той самой картинке, на которую он нажимал. Но на самом деле при этом станут изменятся свойства.. картинки, которая непосредственно перед курсором ввода (который к клавиатуре относится, а не к мыши).
По сути это означает, что чтобы редактировать свойства картинки на неё надо нажать дважды - сначала левой кнопкой (курсор появляется в нужном месте) и теперь правой. При этом, да, нельзя забывать, что контекстное меню также может вызываться и по кнопке с клавиатуры. Думаю было бы логичным, если бы нажатие правой кнопки мыши по изображению приводило к перестановке курсорса клавиатуры в нужное место(сразу за картинкой), а только потом к появлению контекстного меню... Тогда на вызов контекстного меню с клавиатуры это бы не повлияло.

Работа со ссылками

В контекстном меню записи есть пункт "Скопировать ссылку". Как этой ссылкой можно пользоваться? Так как очень хотелось бы иметь возможность ссылаться в одной записи на другую в этой же (или другой, когда станет доступна работа с несколькими) базе. При попытке написать конфиг обработчика ссылок для KDE (~/.kde/share/services/mytetra.protocol) столкнулся с двумя проблемами. Обработка ссылки невозможна, т.к. непонятно с каким ключом передать бинарнику mytetra ссылку. Даже если ключ существует, а я его просто не знаю, то видимо возникнет еще проблема с количеством запущенных экземпляров mytertra - судя по ответному сообщению более одного экземпляра не запускается, соответственно и обработка ссылки не произойдет.

Drag & Drop

При переносе записи падает ошибка getItem() + полный краш приложения
1
2

Выбор лицензии - отправная точка проекта.

License file

Множество проблем может быть вызвано от непонимания важности и необходимости продукта. В коммьюнити есть возможность заявить о своих правах на "код", "софт", "продукт", определив под какой лицензие оный будет распространяться в сети.

Хорошо бы сделать:

невозможно удалить значёк для ветки/подветки

После того как для ветки/подветки установлен значёк (иконка), нет возвожности отменить это действие.
Кроме этого, при назначении иконки утрачивается возможность визуализации признака зашифрованности (значёк замка замещается). Может быть стоит как-то выделить название зашифрованной ветки, например другим цветом.

Пропадает каретка конца строки

При редактировании записи если поставить правую каретку в сантиметре от края и начать менять размер окна в меньшую сторону, то каретка скрывается за левой границей виджета.
Очевидно, что должна существовать какая-либо ширина документа по умолчанию и виджет кареток должен быть связан с прокруткой документа в случае, когда тот не помещается в размеры окна.

Исправление файла mytetra.run

От pipitos:

(http://webhamster.ru/punbb/viewtopic.php?pid=1589#p1589)

В текущей версии для Linux 64 для запуска есть файл "mytetra.run" который не работает если запускать его из любого каталога кроме текущего с программой. Это вызывает сложности если делать"ярлык" на рабочем столе.
Чтобы избавиться от проблемы я привел его к такому виду:
#!/bin/sh

PROGDIR=$(dirname $0)

LD_LIBRARY_PATH=$PROGDIR/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH

$PROGDIR/mytetra

Возможно не плохо будет сделать что-то подобное в дистрибутиве.

[EXPIRED] Сбой диалога хранения настроек в русскоязычном каталоге

Win 7 x64, MyTetra 1.42.

Распаковываем содержание архива в русскоязычный каталог C:\Тетра и запускаем mytetra.exe.

Видим диалог без выбора места хранения настроек (standart и portable).

Переименовываем C:\Тетра в C:\Tetra и получаем ожидаемый диалог.

В эпоху Юникода запирать пользователя в англоязычном каталоге считаю моветоном.

P.S. Стандарт с буквой т на конце — в русском языке, а в английском — на конце d, т.е. Standard.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.