Page 1 of 3
[Ann] Version 1.0 Preview
Posted: Wed Mar 10, 2010 6:33 pm
by CintaNotes Developer
Hi guys,
well as promised here it is! But I should warn you that not much new is there on the visual UI side.
Here are
the most noticeable changes:
- Automatic import of beta .dat files at first start;
- CN now doesn't take more than 25MB of RAM even when having large number of notes in the notebook;
- The search is now faster on large notebooks: The Full Text Search (FTS3) SQLite extension is used. On the downside of that, the notebook file now has to accomodate the full text search index and is somewhat larger;
- A bunch of new parameters in the .settings file, most notably "notebook.file" which allows to specify any path to the notebook file;
- Automatic notebook reloading (for DropBox as discussed earlier);
- New menu: "View/Sort By". Note that any sorting mode other than "none" disables note moving commands
- "File/Import" command now has three options: .db, .dat and .xml;
- Minor bugfixes
What is yet to come:- Sorting bar, to make note sorting easier and more visual.
How to update: I advise you to make a copy of your CintaNotes folder, and put the attached new cintanotes.exe in there. At the first start, CN will recognize that there's an old .dat file and no .db file, so it will be imported (and after that renamed to notebook.imported.dat).
Eagerly awaiting your feedback! Thanks!
Re: [Ann] Version 1.0 Preview
Posted: Wed Mar 10, 2010 10:10 pm
by Noddy330
Running from USB Memory Stick.
Looking good
Nod
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 1:28 am
by danei
After importing my old notes, I find search fails for some cases.
I have a note contain 'UTF8', then I type 'utf', the note appears, but when I type 'utf8', there appears no search result.
The string 'ms' can't found, either, and so are some other chinese chars.

- utf
- 2010-03-11 09 17 39.png (21.79 KiB) Viewed 27232 times

- utf8
- 2010-03-11 09 18 05.png (12.98 KiB) Viewed 27223 times
I create a new note exactly tha same as the old one, the search for 'utf8' still fails, so I guess it's something regarding to search function, not import.
And m10.5 works as expected.
Here's the note, maybe it will help reproduce the case:
- note.zip
- note
- (2.76 KiB) Downloaded 2462 times
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 2:36 am
by CintaNotes Developer
danei wrote:After importing my old notes, I find search fails for some cases.
I have a note contain 'UTF8', then I type 'utf', the note appears, but when I type 'utf8', there appears no search result.
The string 'ms' can't found, either, and so are some other chinese chars.
I know what happens, and unfortunately there's no quick fix.
M10.5 uses linear search for finding exact substring. Since it holds all notes in memory, it offers acceptable performance when note count is under 10000.
1.0 stores notes in the DB and only part of them (the so-called page cache) is in memory. The exact search for substring using LIKE would be much slower. This is why CN now uses full-text search (FTS). FTS works via splitting text into tokens (roughly = words) and indexing them. The tokenization algorithm looks for standard word boundaries like whitespace, punctuation.
Now it is clear why it fails on your text. There are no spaces around UTF8, so it is not recognized as a separate word. It is still highlighted because highlighting is actually independent from search and uses exact substring search like before.
In fact you see the note when you type 'UTF' at all only because of the '* UTF-8 is the encoding...' comment string.
What can we do here:
1) I can provide the option to use the old slow linear search. But it will be slower than before because of disk access.
2) What are the tokenization rules for Chinese, maybe I could build them in? Are there any word-boundary characters and if so, what are their UTF-16 character codes?
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 4:05 am
by danei
CintaNotes Developer wrote:What can we do here:
1) I can provide the option to use the old slow linear search. But it will be slower than before because of disk access.
2) What are the tokenization rules for Chinese, maybe I could build them in? Are there any word-boundary characters and if so, what are their UTF-16 character codes?
for 1), it would be nice adding such option. If this option combines with puting all notes in memory would be better, I think, since I personally don't care so much about ram usage.
for 2), unfortunately, there're no such boundaries as space in chinese chars, and that's why search engines have quite a difficult work to recognize/split 1 chinese word from another. In fact, ancient chinese poets even use the uncertainty of boundaris between words to create artistic ambiguity...
Search index for east asia chars is a big project. Maybe using exsited project as lucene(with C port lucy) will do?
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 7:44 am
by Noddy330
Alex,
There’s something about installation and transition from beta that was not quite right for me.
I typically don’t read instructions, and my first install “failed” as I hadn’t spotted the dropdown on import for .dat and thus failed to find and import my data. I didn't get the automatic import.
2nd install went fine.
Maybe you could highlight the move from .dat to .db and its implications?
Now running ok - no problems
Nod
Entered Link in the preview version will not be saved!
Posted: Thu Mar 11, 2010 8:55 am
by Urmel
Hello Alex,
When I enter a link in an existing Note and press the [OK]-Button (or enter <Ctr>+<Enter>) the link is not saved.
The link will be accepted in the Link row and the link symbol will be displayed on the right side of this row. But it will not be saved...
This in my existing notes from the previous CintaNotes version. In new Notes, an entered link will be saved!
Existing links can't be changed (in old AND new notes)! When I change a existing link like "www.WebLink.com" to "http://www.WebLink.com" or any other mutation, the old link will not be changed when I press the [OK]-Button.
Sorry for my previous posting as new Topic

The problem occurs only in the preview version, so the separate topic can be deleted...
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 9:49 am
by ale
Hello Alex, importing the old notebook went Ok,
I'm trying the new sorting feature, and a first observation might be... would it be better if after changing the sorting criteria, the focus remained to the previously focused note before the change?
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 3:48 pm
by Noddy330
Alex,
It looks like .db updates are not being written away correctly.
I opened a file, changed a record, viewed another record, minimised CN – none of these updates changed the “modified date” (I used f5 to refresh)
I closed CN and the “modified date” was updated.
I expected the “modified date” to change every time I modified a record.
By “modified date” I mean the column in explorer that displays date & time
Nod
PS When I move the CN Window the "modified date" of .settings is updated ok
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 5:48 pm
by CintaNotes Developer
danei wrote:for 1), it would be nice adding such option. If this option combines with puting all notes in memory would be better, I think, since I personally don't care so much about ram usage.
Ok, tomorrow I'll release Preview 2 which will have the "Exact Search" option in the Search menu.
danei wrote:for 2), unfortunately, there're no such boundaries as space in chinese chars, and that's why search engines have quite a difficult work to recognize/split 1 chinese word from another. In fact, ancient chinese poets even use the uncertainty of boundaris between words to create artistic ambiguity...
Yes, I've done some googling and it seems people are getting real Ph.D. degrees on solving this problem

danei wrote:Search index for east asia chars is a big project. Maybe using exsited project as lucene(with C port lucy) will do?
I don't think I'll be able to do it right now. And this will undoubtedly push CintaNotes way beyond it's current size of under 1 MB. I could use ICU for tokenizing, this is a de-facto standard library for internationalization, but it's size kills me: it's about 20 MB of extra DLLs. This is hardly acceptable for an USB-Stick app like CN.
To make CN use more memory for caching, you can adjust the "sqlite.pragma.cache_size" parameter in the settings file. It is set to number of pages, 4096 bytes each.
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 6:02 pm
by CintaNotes Developer
Noddy330 wrote:Alex,
There’s something about installation and transition from beta that was not quite right for me.
I typically don’t read instructions, and my first install “failed” as I hadn’t spotted the dropdown on import for .dat and thus failed to find and import my data. I didn't get the automatic import.
2nd install went fine.
Maybe you could highlight the move from .dat to .db and its implications?
Now running ok - no problems
Nod
Hmm, that's strange. I couldn't reproduce that. The algorithm is actually very simple. On start, CN checks if the notebook file exists (cintanotes.settings/notebook.file, cintanotes.db by default). If so, no auto import will occur. If not, it will check if there's a notebook.dat file in the current directory. If yes, the file is imported into a newly created DB.
Re: Entered Link in the preview version will not be saved!
Posted: Thu Mar 11, 2010 6:04 pm
by CintaNotes Developer
Urmel wrote:When I enter a link in an existing Note and press the [OK]-Button (or enter <Ctr>+<Enter>) the link is not saved.
...
Hello Urmel, thanks for reporting this! I've already found the bug and fixed it. It will be released in Preview 2 tomorrow.
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 6:06 pm
by CintaNotes Developer
ale wrote:Hello Alex, importing the old notebook went Ok,
I'm trying the new sorting feature, and a first observation might be... would it be better if after changing the sorting criteria, the focus remained to the previously focused note before the change?
Hi ale,
I tend to disagree on that. Remember the time when View/Reverse Order kept the focus? Each time I used this command, I've found myself doing "Aarrrgh" having to press Home in order to get to the top. See, the main use case here is: I want to have certain notes at the top and see them immediately. I already see the currently focused note, don't need any sorting to work with it.
I admit, there is a valid use for keeping the focus, as in: "select a note as a reference point, sort, move up or down from reference point to find needed note". But I think it's certainly not more than 50% of how the sorting is used.
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 6:25 pm
by CintaNotes Developer
Noddy330 wrote:It looks like .db updates are not being written away correctly.
I opened a file, changed a record, viewed another record, minimised CN – none of these updates changed the “modified date” (I used f5 to refresh)
I closed CN and the “modified date” was updated.
I expected the “modified date” to change every time I modified a record.
By “modified date” I mean the column in explorer that displays date & time
Nod
PS When I move the CN Window the "modified date" of .settings is updated ok
The "Modified Date" column (or else, the "Last Modified" file attribute) is unreliable in this case. It gets updated only when file is written AND CLOSED, it doesn't reflect changes to the files that are still open, and CN keeps the DB file open till you exit (unlike .settings).
You can do a quick check yourself: make some modification to the notes and terminate the cintanotes.exe process. The next time you run CN, your modifications will be there.
If you really need top-notch reliability (i.e. even in case of system crash right when you are saving your note), you might want to set the "sqlite.pragma.synchronous" settings parameter from "OFF" to "NORMAL" or even "FULL". CN will become much slower however, because after each modification CN will freeze till the information is physically on disk. Usually if you do backups there's no real need in that.
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 7:25 pm
by Noddy330
CintaNotes Developer wrote:Noddy330 wrote:It looks like .db updates are not being written away correctly.
I opened a file, changed a record, viewed another record, minimised CN – none of these updates changed the “modified date” (I used f5 to refresh)
I closed CN and the “modified date” was updated.
I expected the “modified date” to change every time I modified a record.
By “modified date” I mean the column in explorer that displays date & time
Nod
PS When I move the CN Window the "modified date" of .settings is updated ok
The "Modified Date" column (or else, the "Last Modified" file attribute) is unreliable in this case. It gets updated only when file is written AND CLOSED, it doesn't reflect changes to the files that are still open, and CN keeps the DB file open till you exit (unlike .settings).
You can do a quick check yourself: make some modification to the notes and terminate the cintanotes.exe process. The next time you run CN, your modifications will be there.
If you really need top-notch reliability (i.e. even in case of system crash right when you are saving your note), you might want to set the "sqlite.pragma.synchronous" settings parameter from "OFF" to "NORMAL" or even "FULL". CN will become much slower however, because after each modification CN will freeze till the information is physically on disk. Usually if you do backups there's no real need in that.
Hmm. I'll try a few things. Yes, the data did get saved - and I certainly didn't lose data, but pondered the implications for CN & DropBox (which I am not currently using). Nod
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 7:31 pm
by Noddy330
CintaNotes Developer wrote:Noddy330 wrote:Alex,
There’s something about installation and transition from beta that was not quite right for me.
I typically don’t read instructions, and my first install “failed” as I hadn’t spotted the dropdown on import for .dat and thus failed to find and import my data. I didn't get the automatic import.
2nd install went fine.
Maybe you could highlight the move from .dat to .db and its implications?
Now running ok - no problems
Nod
Hmm, that's strange. I couldn't reproduce that. The algorithm is actually very simple. On start, CN checks if the notebook file exists (cintanotes.settings/notebook.file, cintanotes.db by default). If so, no auto import will occur. If not, it will check if there's a notebook.dat file in the current directory. If yes, the file is imported into a newly created DB.
Ok, Lets forget it. I'm up and running. Thanks. Nod
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 7:33 pm
by CintaNotes Developer
Noddy330 wrote:Hmm. I'll try a few things. Yes, the data did get saved - and I certainly didn't lose data, but pondered the implications for CN & DropBox (which I am not currently using). Nod
There are none actually. DropBox doesn't rely on the Last Modified attribute as well (would be stupid to do so), and DB file is open by CN in non-exclusive mode so it can be overwritten by DropBox.
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 7:39 pm
by Noddy330
CintaNotes Developer wrote:Noddy330 wrote:Hmm. I'll try a few things. Yes, the data did get saved - and I certainly didn't lose data, but pondered the implications for CN & DropBox (which I am not currently using). Nod
There are none actually. DropBox doesn't rely on the Last Modified attribute as well (would be stupid to do so), and DB file is open by CN in non-exclusive mode so it can be overwritten by DropBox.
That's good, thanks. Nod
Re: [Ann] Version 1.0 Preview
Posted: Thu Mar 11, 2010 11:41 pm
by Guest
Cant wait to use the new version
But is it possible to integrate one more thing?
- option in the "View" menu to hide the menu (toggle with ALT like in Firefox or Windows Explorer)
Re: [Ann] Version 1.0 Preview
Posted: Fri Mar 12, 2010 1:15 am
by danei
CintaNotes Developer wrote:danei wrote:for 1), it would be nice adding such option. If this option combines with puting all notes in memory would be better, I think, since I personally don't care so much about ram usage.
Ok, tomorrow I'll release Preview 2 which will have the "Exact Search" option in the Search menu.
To make CN use more memory for caching, you can adjust the "sqlite.pragma.cache_size" parameter in the settings file. It is set to number of pages, 4096 bytes each.
Thanks for the option and tip.
BTW, What will happen if every east asia char be treated as a token, regardless of space?
I mean, for example, if I search [char1][char2], CN first search index for [char1], then in the result search index for [char2] for the very combination [char1][char2].
This will not affect pure English users, and may give reasonable performance for east asia(and other) chars.
In fact, the languages inherited from latin, greek and cyrillic use space as seperator. Those east asia, india, all right-to-left languages don't use space.