Permalink
Commits on Jul 25, 2011
  1. Long overdue, but here is the defense presentation. Without the movie…

    wimleers committed Jul 25, 2011
    …s (screencasts), because that would make the git repository unnecessarily large.
Commits on Jun 29, 2011
  1. Pull in the latest change of QGeoIP, fixing an already-fixed-but-inco…

    wimleers committed Jun 29, 2011
    …rrectly-committed bug.
  2. Moved all existing settings into a "Analysis" tab. Added a new "Parse…

    wimleers committed Jun 29, 2011
    …r" tab which allows the user to set the Episodes discretizer settings file.
  3. Add a user-friendly settings dialog capable of storing the minimum su…

    wimleers committed Jun 29, 2011
    …pport, minimum PatternTree support and minimum confidence through QSettings.
  4. Remember the last import directory even after closing the application…

    wimleers committed Jun 29, 2011
    …, by using QSettings.
  5. Clean up main.cpp.

    wimleers committed Jun 29, 2011
Commits on Jun 28, 2011
  1. Explain why EpisodesParser::Parser is already taking care of correctl…

    wimleers committed Jun 28, 2011
    …y importing only new data from log files (thus preventing the importing of the same log file twice). Also explained the remaining bug (i.e. a log file ending with a non-complete quarter will prevent a next log file that contains the rest of the quarter from being imported).
  2. Minor change: don't close QGeoIP's databases in Parser::clearParserHe…

    wimleers committed Jun 28, 2011
    …lperCaches(), since the file is memory-mapped and is thus not really a cache that may grow useless over time, like QBrowsCap's in-memory cache.
  3. Add the ability to the UI to import Episodes log files (instead of th…

    wimleers committed Jun 28, 2011
    …e current hard coded file).
  4. Pull in the latest 2 commits of QGeoIP. Both fix incorrect results. T…

    wimleers committed Jun 28, 2011
    …he first also doubles the parsing performance, and hence the thesis text is now actually out-of-date. But since it has been queued for printing already, I'm not going to update it.
  5. Now with cleaned up compare support, that generates the correct "caus…

    wimleers committed Jun 28, 2011
    …es description", to thoroughly inform the user.
Commits on Jun 27, 2011
Commits on Jun 24, 2011
  1. Moved everything in the "literature study" directory into a new "docs…

    wimleers committed Jun 24, 2011
    …/report" directory, renamed "literature study.lyx" to "report.lyx" at the same time. This is more consistent with the actual contents of the literature study file, which has been extended to a full thesis report during this academic year.
Commits on Jun 17, 2011
  1. Added a description to the current mining result set (i.e. the found …

    wimleers committed Jun 17, 2011
    …causes). This required the addition of a static TiltedTimeWindow::quarterDistanceToBucket() function, which allows us to calculate the exact time range over which the mining occurred, given the end time of the last quarter that was analyzed.
Commits on Jun 16, 2011
  1. At last, support for filtering has been added! Everything is supporte…

    wimleers committed Jun 16, 2011
    …d: filtering by *multiple* items (autocompleted through ConceptHierarchyCompleter), case insensitivity, wildcards, live filtering. Hurray! This marks the last true challenge of my master thesis :)
  2. Now using QTableView instead of QTableWidget (the former is more mode…

    wimleers committed Jun 16, 2011
    …rn) and thus now also generating a QStandardItemModel on the fly, each time when association rules have been mined. Sorting is now properly supported for all columns.
    
    Minor: horizontal scrollbar is permanently disabled, column widths are determined automatically.
  3. Delete accidentally committed mainwindow.ui file, which only existed …

    wimleers committed Jun 16, 2011
    …for testing purposes.
  4. Added the ability to show relative occurrences (i.e. how often a slow…

    wimleers committed Jun 16, 2011
    … episode occurred relatively to the time range's number of page views).
  5. Fixed a minor bug in Analyst::mineRules() and an analogous bug in Ana…

    wimleers committed Jun 16, 2011
    …lyst::mineAndCompareRules() that allowed frequent itemsets that did not match the constraints to be mined.
  6. Implemented a browsable concept hierarchy in the form of a QStandardI…

    wimleers committed Jun 16, 2011
    …temModel; this allows for an initial version of faceted search, which is currently implemented as QLineEdit with a QCompleter subclass (which allows for multiple items in the concept hierarchy to be entered simultaneously) that allows one to filter the results. The filtering itself has not yet been implemented.
  7. Generate "isp:*" items instead of "location:isp:*", this makes them m…

    wimleers committed Jun 16, 2011
    …ore accessible and understandable in the UI.
Commits on Jun 14, 2011
  1. Fix typo.

    wimleers committed Jun 14, 2011
Commits on Jun 13, 2011
  1. Implemented an initial (rough) UI! Added many signals and slots to th…

    wimleers committed Jun 13, 2011
    …e Analytics and EpisodesParser modules to allow them to be operated and viewed from within the UI, disabled most debug output and ensured that all statistics are available through signals. Hence the UI provides the same insight as the (now disabled) debug output.
  2. Updated QBrowsCap to the latest version, this fixes the "QSqlDatabase…

    wimleers committed Jun 13, 2011
    …Private::removeDatabase connection is still in use, all queries will cease to work." warning that appears when used in the GUI.
Commits on Jun 12, 2011
  1. Parser::ProcessParsedChunk() is now a regular method instead of a slo…

    wimleers committed Jun 12, 2011
    …t (and is being called as such). There was absolutely no need to use the signal/slot mechanism here. Hence, also stopped emitting the parsedChunk() signal.
  2. Allow Analyst *and* Analyst's FPStream object to be moved to another …

    wimleers committed Jun 12, 2011
    …thread through a single function call, by overriding the moveToThread() method.