avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Friday August 7, 2020, 1:26 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - ital2 [ switch to compact view ]

Pages: [1] 2next
(to my knowledge)

You'll remember some OneNote discussions, people complaining about the stall of the desktop version (which remains available, for the time being).

There's a general risk that any software developer out there might rise their update prices, at any given time, tenfold; the same is true with them switching to a cloud and/or subscription model, and the real risk here - it was me who mentioned this some months ago on the outlinersoftware forum (or additionally even here, I don't remember); nobody else seems to care, or then feared in private - is that the function of the software in question could cease, by real technical reasons or just since the developer will have decided so, with any (minor or more probably) major Windows 10 update.

As for going from desktop to cloud, a blatant example is Correlate, the ONLY (then) really smart (available) file management system, (then and) now, and, the fact which is utmost appalling: They don't give awy ANY info anymore if you don't "sign up with your corporate [or MS or similarly pre-checked, "genuine"] mail address".

At the time (version 6.6, in 2013, for example), it was 149$ plus VAT, i.e. near 200 euro for continuously-buggered European Union customers, and now, can't even know; I don't know either if people who had bought in time, have been able to continue their software beyond them "going cloud" or not, but whatever: They could "kill" their defunct desktop application anytime, or then MS (by pure technical means) could do it for them, again anytime.

Since we're speaking of "serious users" here - who else would buy a file manager at 200 bucks? -, this situation seems to be inadmissible to me.

It goes without saying that users could only fall into such a possible trap whenever the tool in question either changes your data format or then does add real added value to your data, in form of invaluable but scarcely exportable meta-data (as Correlate does; well, I don't know anything of the latter's exportability there).

(To give a counter-example: If you edit your video with one tool, and then there's something in their policy you're really unhappy with, you continue your cutting work, on this movie or with any other coming along, with any other editing tool on the market.)

What do people / prospects speak about indeed, it's the fallacy - "fact" for them - that you should not confide your data to some "little developers" - "who knows if they still will be in business next year?"; at the same time, even the biggest software developers in the world simply just kill their software ad libitum (ie just as it pleases them); examples abound, for that last 30 years or so.

Thus, it becomes obvious that the risk does not lie in your developer's being a 1-man shop or some multi-national conglomerate (which will certainly outlive the particular software they will have sold you, but that'll be no consolation for you), but in the fact that whenever you accept to comply with some dedicated file format, or some very special meta-data management, even if that will rise your productivity to some unheard-before level, you'll be

- at the mercy of the respective developer re possible price increases ("backed-up" by automatic W10 updates killing what you've got before), or

- overhaul of other factors (the tool going desktop > cloud or any other nuisance you are not going to accept), and that's not even speaking of

- stealing your data (which is even possible for desktop applications, but more probable for cloud "solutions").

Hence, what to do? I think that every such application which treats your data in a way that it'll be NOT possible to switch to any competitor, hassle-free and without losing (core or meta) data, should provide, up-front, transition tools (and which you could try up-front, too, i.e. onto some sample data) in order for you to verify that if there is any problem with that tool, you'll be free to leave, in some way or some other.

Of course, if that tool is spectacularly superior to its competition, that will be difficult to achieve, but at least technically, there should be some chance for doing so, and/or for competitors to "overtake" then, without too much trouble.

Some weeks ago, I said, in the outlinersoftware forum, upon the question "Exporting Ultra Recall database (any experiences, pls?)",

"Hint: UR doesn’t have a principal parent, and then secondary parents, but then, the respective table mentions them in a given, chronological order (of time of creation of the parentage, which for the very first parent is identical to the time of creation of the item), so the first occurrence there could be treated as the parentage, further occurrences as links, even in tools without cloning (like RightNote)." - which was a little bit simplified, of course (the outlinersoftware forum not being a technical one, far from it), since

- not in all cases, the very first occurrence of some info item will be it's "natural" one; sometimes, it'll be some (later-created) "clone" which really will be the "core" occurrence (among other examples, you first write down some "ToDo", then only create the "real", "original" subject within its ontology)

- I (on purpose) didn't address the fact over there that such "original" items then could have become renamed and, in particular, moved within their tree in-between (but these are just minor, technical, "problems"; the necessary data, for analyzing all this correctly, in that case, will be all there).

Whatever: My point being: Especially the "exotic" data formats, or (meta-) data re-arrangements, should be perfectly "open", and then, it wouldn't matter that much if you confide your data to some - reliable - "lesser" developer, in view of the fact that the "big shots" don't treat you any better in the end:

- You should be confident that your data isn't at risk (in both respects: you not losing your data, and any third-party not getting access to it), and

- You should be confident that for your data, there will be some manageable way out.

If I have left out valid considerations / aspects, please add them.

Living Room / Does Al-Tubaigy Has Free Dates?
« on: December 07, 2018, 05:44 PM »
You know, that currently most famous pathologist world-wide. Why so? Well, there would be another appointment for him in perspective, in order to return to the right way some, well, let's call it, asshole. Nothing really pernicious, but quite a nuisance, quand même ! So, cutting off of him some of his larcenous fingers would probably do him VERY good, and to society assuredly, it's the Shariah way, for the real nuisances.

Around a week or so, very late in the evening, I received the following mail:

Virus alert - <[email protected]> - [email protected] has been hacked! Change your password immediately!

I have very bad news for you.
03/10/2018 - on this day I hacked your OS and got full access to your account [email protected]

So, you can change the password, yes.. But my malware intercepts it every time.

How I made it:
In the software of the router, through which you went online, was a vulnerability.
I just hacked this router and placed my malicious code on it.
When you went online, my trojan was installed on the OS of your device [!].

After that, I made a full dump of your disk (I have all your address book, history of viewing sites, all files, phone numbers and addresses of all your contacts).

A month ago, I wanted to lock your device [!] and ask for a not big amount of btc to unlock.
But I looked at the sites [!] that you regularly visit, and I was shocked by what I saw!!!
I'm talk you about sites for adults.

I want to say - you are a BIG pervert. Your fantasy is shifted far away from the normal course! [!]

And I got an idea....
I made a screenshot of the adult sites where you have fun (do you understand what it is about, huh?).
After that, I made a screenshot of your joys (using the camera of your device) [!] and glued them together.
Turned out amazing! You are so spectacular!

I'm know that you would not like to show these screenshots to your friends, relatives or colleagues.
I think $710 is a very, very small amount for my silence.
Besides, I have been spying on you for so long, having spent a lot of time!

Pay ONLY in Bitcoins!
My BTC wallet: 13hjTSbwVJfsDgL3qaQSu3fs2qmHQCHRXT

You do not know how to use bitcoins?
Enter a query in any search engine: "how to replenish btc wallet".
It's extremely easy

For this payment I give you two days (48 hours).
As soon as this letter is opened, the timer will work.

After payment, my virus and dirty screenshots with your enjoys will be self-destruct automatically.
If I do not receive from you the specified amount, then your device will be locked, and all your contacts will receive a screenshots with your "enjoys".

I hope you understand your situation.
- Do not try to find and destroy my virus! (All your data, files and screenshots is already uploaded to a remote server)
- Do not try to contact me (you yourself will see that this is impossible, the sender address is automatically generated)
- Various security services will not help you; formatting a disk or destroying a device will not help, since your data is already on a remote server.

P.S. You are not my single victim. so, I guarantee you that I will not disturb you again after payment!
This is the word of honor hacker [! hear hear!]

I also ask you to regularly update your antiviruses in the future. This way you will no longer fall into a similar situation.

Do not hold evil! I just do my job. [! So that would be called a career criminal?]
Good luck.

Now don't take me wrong. As said, I received this mail very late in the evening, and though, some 15 minutes later, I was already asleep, so no harm done in my case, I don't hate this asshole in the slightest, I just want him to live on without his thievery fingers asap.

He does not know anything about my "device", he does not know anything of my "fantasy" - but then, it's news to me that a(n imaginary-only, of course, in view of my age) predilection for normal intercourse with girls aged 18 to 30 (whilst being quite happy with some quite older model in real life, or as the French say: "If you don't have what you love, you better love what you have (got)!") was "shifted far away from the normal course!" - wow: times have quite changed, then!

And of course, none of my "devices" got any camera, except for a simple phone which I only use for calling (incl. incoming calls), and which is permanently stored, the lens touching the shelf; my dedicated camera being stored within a cupboard.

This being said, I wonder though what could be the percentage or rather the per mills, of people NOT sleeping after receiving such a piece of half-baked shit, or who even would pay: so better Al-Tubaigy took care of such assholes, in the end, right? ;-)

On the other hand, that was quite a change from the usual "I'm from Africa, and you'll get x per cent of the multi-million transfer", the latest one of those even started his mail by a hilarious "I present myself as Sir." - no kidding, even I couldn't invent such crazy things!

Living Room / 100 Photoshop Bombs
« on: December 07, 2018, 11:48 AM »
Isn't that a lovely one?:

And that's Patrick, the frozen chicken with a name:

Today we'll eat Patrick, and tomorrow we'll kill Jane, his sister.

Oh, the good ol' times on the family farm!

Last comment on Bits for that: http://www.bitsdujou...=search-for-software :

"The page linked as "Website" above goes into length criticising the competition, stating (my wordings here) that the automatisms there (sentences, paragraphs) do it wrongly, and then you must do it manually anyway, and thus, with Nova, which forces you to do it manually to begin with, that's the real way to do it. The page states this manual way of doing it in Nova is a simple as it gets, but it doesn't tell us HOW this process is facilitated by Nova; also, and with all due respect, I would like to know WHERE the alleged advantage of Nova (except for the price of a mere 10$ of course) over the competition lies, since logically, even if the manual processing in Nova is easy/simple:

If some of the automated competitors do 8 new paragraph dividers right and 1 wrong, I immediately see this on screen, from the faulty length - this being a big difference with for example OCR where I would need to read the whole text attentively, in order to look up processing errors -, I put the mouse cursor there, then either delete the faulty paragraph divider, or insert the missing one - also, I firmly believe that such a mistake will not occur once a page with the automated competition but perhaps once every third or fourth page or the like -; at the same time, with Nova, I must put in all the 9 dividers of my example manually, be that easy or not.

So from what I conceive, Nova just seems to be grossly inferior to its competitors and does not present the alleged - and NOT explained - advantage over its competition at all, but I'd welcome any pertinent information.

Would it be too harsh to say that from what I read from the current text on the linked page, it seems that text tries to turn a big disadvantage into a feigned advantage, hoping readers will not grasp the amount of additional work they will have to do in Nova, over what they would have to do with some competitor's tool? Fact is, I read that text with interest and then had to realize it didn't answer any of my questions but just built up something I felt like being allegedly illusionary expectations in order to blur my discernment."

Referring to this page: : "NOVA Text Aligner is a tool designed to make manual text alignment as easy and simple as possible. It doesn't use any automatic paragraph or sentence alignment algorithms. Why? Because there are things where a human can not be replaced and parallel text editing is such a thing." and blah blah blah on that matter - no comment from the developer.

Please note the logical bomb in the little text cited: He states that there is no alignment (!) automatism in his tool, and for justifying this, he claims "a human can not be replaced" in "parallel text EDITING" (my formatting): In order to justify his not having done his homework for step 1, he pretends no tool of this kind could help with step 2, and you might agree that these steps are clearly distinct, for once.

Would you buy software from a developer who's so deeply at war with logic? Or am I too harsh here? ;-)

Since my question in the discount section was not answered:

"Re AdGuard: Since it's by subscription, can anybody confirm that it allows for viewing/browsing main "newspaper" and other propaganda sites which systematically leave you out if you use the usual adblocker (e.g. Adblock, Adblock Plus), and if so, which ones (and understood of course that you do NOT make an "exception")?

If there is some link to something potentially important, I open it then in Edge instead of FF, but I don't browse such sites anymore.

If the above is not the case, why is AdGuard so well regarded her in this forum? Since Adblock Plus works fine, too, for the sites remaining for me. Is it just because of "for once, the developer gets paid!"? Well, Adblock Plus's one gets paid, too - some call that extortion, but he wins the actions against him, up to now.

So I would really be interested in some pertinent information, and ideally along the lines, "is not blocked by adblocker-blocking sites, for most of them.""

So, what the heck with a paid / subscription ad-blocker, since the others work well, except for being detected by more and more sites?

Or in other words, yes, a non-(frequently) detectable ad-blocker would be worth its money again!

But then, why is that so difficult, since even with the usual ad-blockers of today, the whole crap is downloaded to your system first, THEN only your ad-blocker begins it discarding work?

I've written about that problem several times, here and in Also, cf. my post re that Apple mobile Mac touch line above the F-keys, here, some year ago.


In a year somewhere around 1982, in the "IBM XP" or "XT" or whatever they called it, there had been 12 F-keys, in 2 6-keys columns (F1...6 and F7...12) at the left of the keyboard (kb): almost perfect, for ANY "batch processing" of any kind. Then, those 12 F-keys were REPLACED by 12 F-keys above the kb, in 3 groups à 4 F-keys; if those lunatics had grasped the need for ADDITIONAL F-keys, we wouldn't have fallen into that Windows-PC non-interactivity we've now have endured for almost 40 years.

F-keys to the left are for "batch-processing of any kind", as I've just said. This means that whenever you do NOT much of typing, but do "batch" processing of any kind, your left hand (for left-handers: everything to the right, 2 times more expensive, I know) will not be above the kb, but on your desk, to its (the kb's) left), and your digit will press the relevant F-keys. On the other hand, for any command you'll need when typing, those F-keys 1...12 ABOVE the kb are perfectly situated, e.g. for bolding things, or whatever, so we always would have needed BOTH ranges of F-keys, but hardware lunatics stole that setup from us.

As an aside: Cherry lunatics have been particularly idiotic - wait: I'll prove it: they're real idiots! -: Whilst in the Eighties, really good, i.e. journalist's kb's were about 300 Deutschmark (= around 300 bucks/Euros now), with LOTS of additional (F-) keys, in those years, Cherry produced some kb's with just SOME additional F-keys, mostly above the (regular) number keys / the regular 1...12 F-key range, and then, they only continued to sell those in the U.S. - not speaking here of the 5 left-alone key placements around the 4 arrow keys on your (standard or whatever) kb; whenever Cherry put those 5 keys there, it was for CRAZY kb's, having, instead of the num-keys, some what do you call again, for finger-mousing? Crazy, as said.

Technically, there is not the slightest problem with 24 F-keys, since the Windows system, from its beginnings or at least since very numerous years, is able to process the scan codes for 24 F-keys, not just for 12; ok, those F-keys 13...24 do NOT have dedicated scancodes, but those of Alt-Control-F...1...12 or whatever; I'm too lazy to look it up for you, not being your valet, but fact is, introducing, and then maintaining, 24 F-keys instead of just 12, would not have caused the slightest problem with anybody's system.

As you perhaps know, some "gaming" kb's have introduced 1...5 or 1...6, in exceptional cases even 1...10 or 1...12 additional (!) F-keys, at the left of the abc keys of their respective kb. Unfortunately, these come with totally crazy scan codes, almost invariably (?), since my trial with such a Logitech kb (the G910; and such a trial implies that you have to send that piece of crap back, and they will never sell you any other thing, good or bad, most of the time) showed me that its 5 additional F-keys send the scan codes of F1...5 - are those coders outright crazy?!!!

As said before, there are quite almost reserved scan codes for F13...24, and it seems (?) that no hardware (kb) manufacturer currently has the minimal IQ (of around 85, or let's say 82 1/2) to em- and deploy them.


Thus, you need additional input devices; some "keypad" or similar; of course some real numerical keypad which just doubles your regular numerical keypad will NOT do. (They send the same scan codes as your in-kb numerical kb does, so their only use if for left-handers using a regular, right-hander kb.)

As I said before (here and elsewhere), the almost-ideal solution for this problem is the Cherry (!) 4700, with 21 keys (18 of them being 1-key-size, 3 of them being 2-key-size: "0", "enter" and "plus"); the scan codes are NOT stored within some electronics within the keypad itself, so it relies upon (un-problematic) software, but it's just around 40 bucks/euro or a little less; the alternatives are a Preh 30 (with, you guessed it, 30 keys, which is, in theory, much better, but then, you can hold the Cherry (which then is always sitting on your desktop) in your hand, pressing the keys with your digit, and which comes tremendously handy, whilst the Preh 30 is much too big for that, and that implies you will NOT be able to press the (30) keys "blind", whilst you'll be able to do exactly that with the (21) keys of the Cherry).

And then, the Preh 30 (which was around 110-120 euro/bucks these last years) now costs around 150 euro/bucks, which is, for the little it has to offer, quite a fortune; similar for the U.S. alternative xkeys (came with 30 keys, now just offers 24; obviously, they GOT the very relevant idea of grasping the device with your hand, in order to then press the keys "blind"); both Preh and xkeys come with in-built electronics storing your functional assignments, BUT in your practical computer life, that does NOT make ANY difference to the ("electronic-less") "cheap" Cherry 4700 (and which is the only device tiny enough in order to be held in your hand, after all; and no, I do not get ANY dime for promoting the 4700 here).

There also are some foot pedals, but it's evident that with just 2 to 3 "keys" available from them, you will not travel far.


In practice, you will assign some key "combinations" to those additional keys, in order for them to be sent to your system, and then, you will have some macro tool which intercepts those (as much else), and which then assigns the respective commands = specific key "combinations" (i.e. "shortkeys") to the applications in question, e.g. in AHK by "if active window is named something, send this command, else if it's named something else, send another command (but which - hopefully - similar functionality), and if it's something else, this, that, and so on ad infinitum in case).

For my 4700 - I also own a Preh 128, but your digit-travel to reach the relevant key is too long, so I shelved that -, in the Cherry software, I entered the following key assignments: 2 rows à 4 keys on top: Shift-Alt-F1...8, then the 3x3 digit-rows 789, 456, 123 sending out Shift-Control-Alt-F1...9 (so original 9 is 3 whilst original 3 is 9, and so on), then the 2-key-space 0-key is Shift-Control-F10, the comma-key is ditto-F11, the enter-key is ditto-F12, whilst the 2-key-space "plus" key is Shift-Alt-F9 again, and which leaves me with ALL Shift-Control-Alt-F keys being "taken" here, whilst only the Shift-Alt-F-10...12 F-keys are to be used otherwise, the rest of them being taken, too (as said, 21 keys here, not 24 or more which would have been much better indeed).

Then, in AHK, I do the "real" assignments, as "for +!F1:: in appli x trigger a, in appli y trigger y, and so on".

All these devices come with - regularly inferior - software which in theory would allow for assigning, instead of just key combinations, full "macros", but these tools are so bad that's in your interest to just "program" key combinations, and then do the "real work" within the macro tool of your choice, all the more so since you will not have your macros spread over several tools, but in just 1 tool, also "servicing" your regular F-keys, your regular numpad-keys, and other non-abc keys on your kb.


With all those devices, the memory problem arises: How to know which key is the right one, for any such function, in any such program? As I said before, and of course, you will be interested in "targeting" similar commands to the same keys, "prev/next tab" should be assigned to the same keys, in every application, and whatever the specific commands in many such applications?

I have scripted a timer which, for every "active" application, updates (and displays) some "help file" for me, and in which I list the respective key assignments; it goes without saying that for such a setup, you need (quite big) 2 screens at the very least, and that there are 2 additional problems: (manual) sync problems with your real macro assignments and your updating your help files, and then, visually checking the help file, in some corner of your several-screens setup, doesn't really come handy since it takes time and effort. (It' understood though that you only need to check for rarely-used commands in your daily-used applications, and/or for (any) command in your rarely-used applications.)


Enter keypads or whatever which will SHOW the current key assignment. For some years, there has been some Russian developer who sells keypads, etc., onto which the keys have some luminous inscription (how do you call it again), indicating the current functionality (by LCD within the key itself); the prices are within several dozen bucks/euros per such key, of course; you will note that those are mini-LCD screens embedded within the MOVABLE part of each key, so it's / it would be no surprise if this is both terribly expensive, and also probably not really long-life? But this being said, if money isn't a factor in your expenses, you'd be probably well-advised to buy that Russian thing; google "Art Lebedev" (no dime for that either).

A low-price alternative is the "Elgato Stream Deck", which for one, in its own software, specializes in facilitating YT stream commands, but which is also usable like any other external macro device, i.e. for sending out key combis; it costs, for 15 keys, around 150 bucks/euro, so it's only a fraction of the high-quality Lebedev devices, per key, but its quality is on par with its price it seems, cf. some review on the relevant German amazon page (it's also sold by MediaMarkt/Saturn and which "both" (b/c it's the same owner) sell a LOT of crap): You press those "keys", and you'll never be sure whatever the result will be; btw. any of those "keys" are either a "command" OR a "folder for commands", which means 2 things:

- 15 keys are not enough, I'd need ALL of them for "folders", i.e. for command RANGES alone, and:

- the software coming with those devices obviously is not able to check for itself in which "context" = application you currently are, and by extension, which SET of commands currently should apply, a task which AHK e.g. excels in:

In other words: You would have to switch to your "current context" manually, whilst in AHK, e.g., it's the macro tool itself which determines that context, and you just press the key in question.


Also, there is a fundamental problem with such, "visual-hint" kb add-ons: Their intended use is with "icons", and my personal assumption (which could be erroneous) is that all this is a resolution problem, i.e. how many pixels would such a "key LCD" have, after all? SOME icons are ok, the ubiquitous ones, but for any lesser-used function, text-driven indications would be oh so much better after all; with the Lebedev devices, they may be possible; with the Elgato Stream Deck, they do NOT be seem possible (or perhaps then 2-4 big chars)?

Hence my reminder of my thread, 1 year ago, re that Apple "touch board" here, or whatever they call it, or of that age-old on-screen (!) current-F1...12 assignment hints (3 blocks of 4 > almost-immediate visual recognition) mentioned in that Apple thread of mine here; of course it would be feasible to devise additional kb's with LCD fields BETWEEN the keys, but as implied above, currently the Cherry 4700 is the only such additional kb which is really FAST in key pressing, and ONLY (again, see above) for "batch" commands (b/o its tiny size), NOT for commands-within-typing, and any additional even just 21-key device would be double its size if it had to contain LCD fields above those 21 keys.


It's obvious that any non-lunatic kb manufacturer would do the following:

- use Cherry "brown" keys (for ANY key of course)

- put TWO 12-F-key ranges above the abc-and-numeric keys, sending the regular Windows F-key scan codes F1...24, and with 2 ranges of (quite-high-resolution) LCD screens, above and below (1 double-height such screen would put the second, the 13...24 F-keys range too much out of immediate reach of the users' fingers):

- the LCDs for F1...12 being "1-line", to contain the "regular" commands/macros, to be frequently triggered, and to be easily remembered (most of the time); the LCDs for F13...24 being "2-line", for "rarer" commands/macros / more-rarely-used applications, i.e. the LCD in place being able to neatly display some 20, 24 characters, incl. some (very short) comments applying to those commands/macros.

- again, top-to-bottom:
2-line LCD
1-line LCD

- then, for "bulk processing" - oh yes, since anytime you process "in bulk", e.g. distribute pics (or other, text/web/mail, entries) to their relevant tag or folder "targets", all those a...z and 1...0 keys are a helluva of a nuisance, in order to reach F1...12 (let alone F13...24) -, and you would like to put your left wrist on your desk: 2 to 3 ranges or 5 or 6 keys (if 6, with a little additional space between #3 and 4) to the left of the (yes, quite enlarged, but so what: whenever you do "batch processing", your fingers are NOT on the abc keys, but (should be, for left-handers) to the left of your kb: some perhaps 6, 8 cm further to the left then do not do any harm), and from left to right:

- very narrow LCD sidebar for:
- F-keys 25...30 (all these sending scancodes as explaines above, for "remote" key-combis)
- very narrow LCD sidebar for:
- F-keys 31...36, then:
- F-keys 37...42, and then a:
- larger LCD sidebar for the previous F-keys 37...42

- sell the thing for 300 bucks/euro

As you can see from the above, the only "difficulty" lies in assigning the relevant commands/"macros" to all these F-keys; it goes without saying that some such assignments will be doubled, appearing in the F1...24 keys for "immediate, in-text" triggering, as well as in the F25... keys, for "batch-processing", and that term also includes key commands triggered by your left hand, while your right hand actions the mouse, e.g. in graphic programs, in FontLab or similar (more-or-less graphical) programs (most of them being from Adobe nowadays).

Such "distribution of key assignments" should, of course, be specific to any given user, BUT it's also true that NO such user, or let's say probably 1 out of 10,000, would be willing to set up all this by themselves.

8 )

As explained above, I do it with automatically-displayed help files (rtf format) in some corner of my (3) screens; whenever I install new software, I assign the relevant commands/macros there onto the "standard" keys in question, and more "remote" commands/macros to additional ones; also, I use the whole standard numerical keypad (the one within my kb) for commands and macros (except for calc/spreadsheets applications, of course; as said, there's no manual application switching in AHK and similar tools): Since my Cherry 4700 is "too far away" for non-batch-processing, and since my only F1...12 keys are simply not enough, and not immediately-reachable enough either, in order to trigger lots of "in-text" commands/macros.

Most applications have got just a little bunch of "standard" uses, so it's possible to assign standard commands/macros to standard keys, even for other users, IF there's enough such standard keys.

Thus, for standard applications (and a lot more in my case), you simply need a range of standard commands/macros you often need, and then some standard "distribution" of all this functionality (which often replicates itself, more or less, over several such applications) over some standard keyboard distribution, together with the correct visual hint organization, and then your overall productivity will be enhanced by probably 30 p.c. or more.


You COULD say that all these additionals F-keys were NOT necessary/useful, since, yes, all they do is trigger weird key combis, and which, at the end of the day, you could enter as such, why not manually entering all sorts of shift-alt, control-alt, shift-control-alt and whatever key combinations? But simply, most of you will not have the necessary memory (performance) in order to retain all those key combinations, spread over all those different applications (50? 80? more than 100, as in my case? hence my almost 20,000 AHK lines), so some kind of more immediate access to it all should be welcome, AND with visual hints!

This also implies, for standard software (there are some 5, 6 standard file managers out there, for example), a rehaul of their respective .ini files or whatever they apply in order to store their respective, most of the time totally lunatic (instead of a little bit standardized) key combinations; in other words, with such a real 40-years-later kb should also come alternative .ini files, and registry scripts for standard applications "doing it" within the registry, in order to get to some


... from which then on the respective users could do, of course, all what they want, but especially for the lesser-standard, more specific commands/macros they will be in need of for their applications and specific use cases; this being said, it's obvious that my macros, in ANY application, num1 = "go to the very first tab", num2/3 = "go to the previous/next tab", are such a sort of tremendously helpful "normalization"; you need macros for it since according to the application in question, different "native" key combinations are needed to do that. (Another example: On my Cherry 4700, "1" is "cut" (red dot, and OF COURSE with the according macro which hinders me to then do a second "cut", before doing the (ie at least one) corresponding "insert") anywhere, "2" (yellow dot) is "copy", and "3" (green dot) is "insert" (and re-sets the "attention: pending cut!" variable to 0), while "comma" is the the same in any hierarchy, for "insert as child", whilst there, the "3" above is "insert as sibling" - in ANY hierarchy. And so on.

We're ALMOST FORTY YEARS after the introduction of the "personal computer", and up to now, all those promises of more efficiency have been quite poorly fulfilled, and no wonder: If you switch between dozens of applications, always having to remember which key to press for what function(ality), that's awfully poor, "more than 35 years later", don't you think so as well?


It's obviously not about the soft- but about the hardware manufacturers; of course, it'd be easy to implement all the necessary "un-do"'s, i.e. scripts saving previous ini files and all that previous, individual user's info if they then aren't happy with the result, but fact is, with "overall", with "over-all-application" user-software NORMALIZATION, AND (much) better keyboards, ideally with visual indicators, both for the "learning" phase and then, also permanently, for "lesser uses", i.e. for the more "remote" commands / macros / applications... with what you'd call

visually-assisted user-machine-interaction normalization

and except for those very specialized users who predominantly do just ONE thing on their computer - just number crunching, just graphics, just writing fiction e.g. -, I seriously reckon you'd win at least 1, if not 2 hours EVERY DAY - but of course you're all free to laugh upon my lack of the necessary hardware factory, while continuing wasting your time and your energy.

(In the Eighties, journalists had special kb's, with special software but just for writing; of course, that market was too tiny, and at the time, nobody obviously had the idea to make real use of those ace keyboards, so they vanished, together with their special writing software, and now, almost 40 years later, almost everybody go with a kb that is scarcely better than a typewriter's, but now for ALL their work to do, and just because they're all too lazy to do some scripting, individually, whilst better human-machine interaction is hardly seen but in big corporations, here and there, and because hardware manufacturers obviously don't know anything about users' (global-software) needs.)

You know, years ago I published here my (original!) idea for young people of earning 4,000-5,000 (bucks/euro) a month BUT spending 2,000 on that, ever month, on some unofficial help, instead of getting their first freehold flat in record time, but in order to earn 10,000 a month very, very soon, after which those helps in further career will be fully official.

I'm quite sure some followed my advice, with brilliant results, and of course without any "thank you", all to the contrary, calls to be be silenced are all I get. And then, there are those who do not even "get" what they're told beyond their previous standards, and they are legion; ancient Rome is history: not because they were all dumb but because most of the decision-makers - not speaking of the idiot masses then and today - over there were lunatics: smart people but who insist on thinking on rails though.


Num 1/2/3: Num1: More precisely, if the application in question has the function(ality) "go back to the last-active tab"; if not: "go to the very first tab in the row" - it just occurs to me that the "go to the last-active tab" is possible, in most cases, by some application-independent variable, to be set on any tab change.

Ini files and other storage places of the original keyboard shortcuts of the specific applications: I missed the fact that many macro tools (incl. AHK) even permit you to leave those original key assignments mostly all alone since they permit to assign (original) key assignments to (macro-tool) key assignments, e.g. in AHK for a specific application: num4 = send Shift-Alt-F5, that +!F5 being the original key assignment for some command in that application, and +!F5 in AHK and hence for your global assignments, by this, is NOT "done with", but remains fully available, for assignments, so if you then do "+!F5" in AHK, even in that application, it will NOT trigger that application's command (except if you say so of course).

In my practical work, I usually avoid* such "broken circles" but simply re-assign the original shortkey, within the application, to "nothing", in case, assigning the "global" shortkey but within that application, to the desired functionality, but for a third-party, commercial product, you simply would LEAVE ALONE all these original shortkey assignments, and just OVERRIDE them in that "broken circle" manner. (Just very simple macro tools do not allow for this, not being able to intercept the original key (combi) assignment.)

*=Thinking about it while writing about it, it occurs to me that with my (at last) fast computer, there is no (more) speed reason to do so anymore; just intercepting the original assignments and transferring them to the wanted, (hopefully) "global" shortkeys (or at least, to some 1-key shortkeys, for original 2- or 3-key combis) is the "neater" way, not speaking of other people's pc's.

And in order to further simplify things, you can perfectly allow every user, individually, to put on or off any "global-software" interaction with their specific software tools (application-bound toggles): You just refrain from doing your key-assignment (i.e. interception) tree by key, then by application, but you build it by application, then by key (for speed reasons, this variant will not work well on 8088 computers, he, he!).


Well, to present this sub-subject correctly, some important commands, within the respective applications, do NOT have been originally assigned some shortkey, and instead of then doing (visually ugly) menu or ribbon commands, whenever it's possible to assign an(y) additional in-application shortkey which you then can simply intercept / further process later on, that's much preferable. Hence the need to run some script on those elements of the application in question. And this again shows what a poor "servicability" most applications have got, not API or such to smoothly permit such kb (or other setting) changes from the outside. Also, we see here how bad the OS (Windows) is; had they foreseen these global-standardization needs (of the users, in order for them to work efficiently, with multiple programs), they could have easily enforced the necessary interfaces between the application level and the OS.

Also, so-called window management is incredibly bad, by OS means; shifting around windows into different (standard) positions (for different workflow combinations) should be really easy, i.e. be available by kb - I've got quite some such key combinations consumed for such means now but can't really remember when I last tried to move or resize some window by mouse: just aligning windows is really the most primitive part of these routines... and all this is genuinely kb task (and so easy code-wise that you really wouldn't need some special tools for that), fit for some global kb package, which of course should comprise as many standard applications as benefit maximizing greed would allow to maintain up-to-date.

EDIT 3 (July, 23):

To be honest, the Logitech kb comes with software which then allows for assigning other functionality - hopefully some key combis - to those 5 keys, and which then you can probably trigger from your global macro thing; don't know since I bought and returned it when I hadn't a pc on which that theirs software ran; but even then, having to run another dedicated software package just for 5 additional keys is crazy, sending F13...F17 would have been so much more natural in that case, than, as said, sending another 1...5 again.

This being said, it MAKES sense to duplicate functionality, for in-text(ing) use AND for batch use, for right hand AND for left hand, in some cases; e.g. for cut/insert, for bolding..., but it certainly makes NO sense to double the functionality of left-hand 1...5 (over qwerty/z) with 5 keys just some cm away. -

Remember, in the Mac-mobile thread, I said that they did NOT ADD that visual-key line to F1...12 keys, but they just replaced them with it, but since all this application-specific (or even situation-specific) key assigning is about making available what you will most probably need there/then, just 12 or so "things" isn't enough, especially since it's not even user-specific but done by the respective developers for then all of their applications' users. It seems, in practice, that in most situations, will not NOT even have 12 virtual keys in that line, but more often than not, many less - while in theory, at least, it seems that within that line, even more than 12 such "keys" are technically feasible; of course, more needed precision in digit tapping will reduce your speed even more (additionally to the speed reduction caused by the fact that it's about virtual, not physical keys). -

Another aspect of mobile devices: If they don't come with a numerical keypad, you're more or less helpless, command-access-wise, since you will not even be able to use your regular keypad commands; in other words, you shouldn't buy 13" devices or lesser, and strictly discard any bigger-screen device which doesn't come with a numerical keypad - there's room for such a thing from 14" screens on, but even some 15" devices come without. -

As an aside and alluding to my sayings here re "application/window management" in some other thread, and also adding to what I've said above re the application-OS interaction, it's simply crazy that with "on-board means", you're unable to quickly and consistently identify the currently-"active" application, i.e. the one that will "accept" your kb input.

Btw, for fast window switching alone (the mouse cursor should be switched in line, which is technically very easy: it's simply crazy to switch active window, just for having then to find the current position of the mouse cursors visually (e.g. by moving the mouse a little bit), and then to move it manually to its new target window, but that's exactly what most of you do), you need some additional keys; for 4 such windows (left screen 1/3, left 2/3, right 2/3, right 1/3) I've used F9...12, but needing more such windows for 3 screens, also for some, 2 windows beneath each other, I'm currently searching for a better solution, shift-F9...12 and such not being fast enough; F1...24 above the 1...0 would have been the ideal solution for this problem, with up to 10 keys in 2 rows just for window targeting - the mouse having been invented for graphics programs in its day (and then you really need F-keys in some left-hand device, not, for your hand, on top of a full kb, beyond all the a...z keys for each key press).

So for active-window identification, I only found the really ugly solution to have a timer in case (ie if there's been a change) move some quite big color rectangle onto the caption of that active window, a little bit to the right so as to permit to read some of that caption's text altogether, and bigger than those captions, for better visibility - there's systematically some room for this (i said it's really ugly); in the old days, the active window had much better been identified visually, whilst today it's often almost impossible: it's more or less been smoothed out, for esthetical ("beautifying your screen experience", my ass!) reasons, up to a point where you need to revert to such crazy means as mine described here, in order to visually identify your active window (and not having to press the respective F-key; btw, such an F-key will only be really available for other, better things IN that window (and different such things, depending on WHICH application currently is in that window) if you can always be sure IF that window is currently active or not, without that visual check taking long seconds.

Here again, it's the "overall interoperability of your system" or whatever you call it, which is clearly lacking, buy OS means, not speaking of the fact that it's Windows itself, of course, which should correctly and automatically re-position your mouse cursor (within the center of that window, whatever it may be) with any active-window switch. (It goes without saying that within macros with interact with different windows in their curse, the timer stops, so as to not flash the visual indicator around while it's of no use for the user anyway.) -

As for additional (and left-hand, to be used in combination with the mouse in your right hand, or vice versa) input devices coming with software, there are available some such - at least software-wise, dedicated - devices for Adobe's Photoshop, and also for (equally expensive) video cutting software, the kind within the 4-digit range: It's obvious that people who make their living with such a program, and obviously for time (/) efficiency reasons (or their respective employers), are willing to spend several 100 bucks for such dedicated devices, coming with dedicated (? at least originally sharply targeted) software, which then can probably be adjusted to the specific user's needs, for that one single software (used many hours a day).

On the other hand, it's not worthwhile to even think about marketing such additional devices, including software, from a developer's point of view, since for one, as (more or less) explained above, it's not even reasonable to do much with additional devices, all day long in general pc use, a simple 4700 will suffice, and you will only need it in order to replace those missing 18 F-keys ideally on (! instead of to!) the left of your kb, whilst on top of the kb, there's some other 12 F-keys which are missing, and some other 5 keys missing "around" the arrow-up key - of course you can color those 5 keys differently, e.g. red within an otherwise grey or black kb, in order to clearly differentiate 3 groups of keys there, the 6 on top, the 5 additional ones, and the 4 arrow keys; btw, it's especially those 5 keys which I miss a lot, since the ONLY "functional" key which is in immediate vicinity of those arrow keys, is the "delete" key, and with all due respect to idiotic "engineers", it's clear as day that most of the time, if you do "manual batch processing" within some list, some tree, it's NOT for deleting most things, but for triggering other commands on (some of) them, and unfortunately, if you really want to use your numerical keypad for those commands, you would need to use your thumb for the arrow keys (down-arrow, most of the time), a thing which I never got accustomed to, or you would need to move your hand A LOT, in order for your digit to press the arrow keys AND then the - far-away - respective commands, your only other alternative being to press the numpad-keys, more-or-less "blind", with your ring (4th) finger - thus, not having those 5 keys "around" the up arrow available, I use my 4700, with my left hand of course, in combination with my right hand pressing the arrow keys, and that's far from being perfect since, being a right-hander, my left digit moves much slower, so that my right digit, being under-employed by just doing the navigation, waits almost all the time for my left hand to have pressed the correct command in-between; WITH those 5 missing keys, I could learn/train a 2nd/3rd/4th-finger use for this arrow-AND-command key package.

And yes, this invariably leads to the finding that if you had a (full-sized) additional key beneath (!) your down-and-right-arrow key (instead of, quite often, mini-sized "media" keys just there), doubling the down-arrow-key (but sending another scan code of course), you could finally press that key with your thumb, for anything and mostly for "down" = next item in (whatever) the list, using the full numerical keypad, with your 2nd and 3rd finger, at very acceptable speed; the current position of the down-arrow pressing your right hand into a very awkward (and unhealthy) position if you try to do that now.

And btw, the arrow keys were originally set up as a real cross, with a space (no key) in its center, and here again, the original, very good idea was then lost: nowadays, you will probably not be successful in discovering any kb where the arrow keys except for the "up" one will NOT be positioned within a line. Yes, that has some advantages, too, but the obvious solution for all these problems is "doubling" the down-arrow, in order to make its "double" "thumb-ready", with different scan codes but which by default would function as down arrows (if the user doesn't then re-assign otherwise, for some applications / workflow situations), just like the 1...0 keys and the num1...num0 keys send different scan codes (ditto for num-, num+, num-enter), but send identical digits by default.

Back to dedicated left-hand devices: Since they come with their "factory" set-ups, they allow for immediate use within that single application, and since they don't come with dozens of keys, the user's memory will not be really strained: After some hours, the users will have memorized which key to press for which function, more or less. It's obviously not the same situation for some system trying to make the user efficient overall, in all their applications and, ideally, all their standard "workflow" situations: Here, the memory problem is an overwhelming one, hence the need for visual indicators, and as explained above, you could do - well, with some fonds that is, having it physically made by third parties - it for an additional device, but again, as explained above, this would force the user to "do it all" on and with that additional, left-hand device, while most of the time, kb-integrated F-keys and the kb-integrated num-keypad would have been the much better choice, but which then isn't available because of the lack of visual indicators, and so it's not surprising at all that additional keypads have never become widespread: the lack of visual hints is only part of the problem.

Also, there would be some learning phase indeed; following visual hints is one thing, taking the time for reading them, in that apprentice phase, is another one. But integrating visual hints within a(n also otherwise amended) kb (instead of forcing the use of some left-hand device even for things you better do within the kb) is comparable to those mobile Macs' visual-hinting, virtual (and as said over there, "context-sensible") F-keys ribbon: It's all there, it's (automatically, without user-side scripting) context-sensitive, and it's so much better than (remembering, to begin with, and then pressing) some Shift-Alt-something, so the learning phase will be more or less long, depending on the applications and contexts, but users will use more and more of the immediately-available, 1- (or, just for "remote" things, 2-) key commands, simply because doing so will greatly speed up their work, and because 1-keys come so much more handy than key combinations, remembered or not.

As said, Apple took away the physical F-keys, so concerned users don't have a choice anymore, but that's not the point: even if Apple had left the physical F-keys alone (and making that LCD or whatever it is a little bit broader, in order to also give hints there for the current command assignments of those physical F-keys), users would have adopted the virtual, additional, context-sensitive "keys": anything which is immediately available AND useful in that work context, is more than welcome, instead of taking away your hand(s) from the kb, as for example it's needed in order to press weird key combinations: the interruption in your work is quite sensible with anything NOT immediately-available-when-needed - and that's perfectly understandable, too: Remember those authors do refrain(ed at the time) from pc use, providing the explanation that writing by hand was "immediate communication with the result on paper" (or something on that line of thought), whilst using a text program would "interrupt" their work: even using arrow/del keys for inserting something, some words up, then going back, breaks your "workflow" - in fact your flow of thoughts! - to a much larger degree, than just crossing out some words by a single line (of the needed, immediately available length) of your pen, and replacing it with some other term(s) perhaps, scribbled in-between your lines or in the margin.

Thus, it's upon kb manufacturers to physically build such (corporate and home) "office" kb's, and then the necessary software will be NO problem whatsoever, software costs of even perhaps 10 bucks per 300 bucks kb should be bearable, and with users' (forcibly) sharply rising productivity (and that info coming down to non-users, left behind provisionally), sales will rise consequently. Remember, better kb's were available at some time BUT came without pre-figured software, and writing the necessary code then - let alone the really bad software systematically coming with those kb's which, except for the fact that it's resolutely proprietary, often does not even allow for a simple "if" - simply isn't out of reach, and be it just for time reasons, of the "regular user", hence the current situation:

Almost "40 years after", there is NO generic smart input device available, while it's obvious that kb manufacturers could, with better hard- and real (call it "overall-productivity" or something like that) software, compensate lots of the OS's deficiencies; it's utterly ironic that even MS builds (or have being built by third-parties) kb's and mice, but that those come with the worst software of them all; not even key combination assignments to mouse buttons were possible at the time*; this may have changed in-between.

*=Here, as with the kb, for the time being and in the absence of such elaborate software coming with the kb**: You assign some weird key combi to the key/button within the software accompanying the device, and then, in your real macro software, you intercept that key combi and write the necessary, in case multiple, routines for it, specific to the active application and/or the current work context.

**=Any kb manufacturer would have such software proprietary in functionality, but, in view of facilitating user-side adaptations, written in some AHK- or AutoIt-aligned code, and since many users, some even for health reasons, prefer using a mouse (or similar) of their own choice, (even third-party) mouse integration would be provided by interception of the mouse commands (sent by the software accompanying the mouse) by the "global" software, accompanying the kb but fully replacing what your current AHK- or AI-installation could do (so at the end of the day it SHOULD be AHK or AI; both are more or less in the "public domain" and thus "adaptable and adoptable", I assume), incl. e.g. text expansion and other goodies; with some better OS / Windows-internals integration than what's available to me, I'm also sure that "window management" and especially "active window's better visual identification" can be done in some more elegant way.

In theory only, such software would be independent from the hardware, but at this point in time, there simply is no hardware available which would make such generic software acceptable to buyers: i.e. immediately useful to them, that factor being a condition for possible marketability. You just can script such tools for yourself, and then live with the current real-life conditions grossly reducing the potential of what you will have coded, kb manufacturing, let alone the integrated lcd's or whatever, being simply much too expensive for your usual 1-man shop. (Oh yes, and there's always "crowd funding", ho, ho, ho...)

or How to write regular expressions without losing your mind

The following AHK script line reads a file into the variable tb (you could search the text file instead, but we use a variable for much better speed; tb stands in for the textbody-to-be-searched, but you could use replace tb by the clipboard for simple searches; we don't use the AHK clipboard variable here since we need that further on when we do a script (which includes an altered regex search for the finds) which will not only search once but will search for all occurrences and build a results table for them.

fileread, tb, C:\AHK\regexvicinitysearch.txt ; or your respective full file path (; plus text are comments)
Don't mind the mix-up of variable and (path) string here, both without "", that's crazy AHK command (contrary to AHK expression) syntax (some commands aren't available but in command form, others in both (in 2017, they've been working on this for years now...); just always do it exactly as it is spelled out here.

We begin with a simple regex search; in fact, it's so simple that you would use a regular search instead, but it's for clarity reasons here:
pos := regexmatch(tb, "youronlysearchstring")
pos is the output variable for the command and is either 0 or in case of success, will contain the "character position" of the very first character of the found (complete) searchstring.
Additionally, you can also retrieve the found searchstring (which is devoid of sense of course if it doesn't contain any unknown-yet elements, as here):
pos := regexmatch(tb, "youronlysearchstring", result)

Then, you will like to see the output, ie position of the find (if any), and the full found string:
msgbox, %pos%`n%result%
This will show you the position-in-text number of the first character of the search string (0 if not found) and then, in a second line (and if found), the full search string, ie in this primitive example, just your searchstring which you know already, but later on, it'll be your firststring, anything in-between (which is the reason for which this output string is of interest), and your secondstring, or even more complicated search results. (As with any other variable, you can replace result by any other name except for "reserved" names.) Hence, simple regex search:

fileread, tb, C:\AHK\regexvicinitysearch.txt
pos := regexmatch(tb, "youronlysearchstring", result)
msgbox, %pos%`n%result%


X near Y (just for basic explanation means)

Then you would like to find 2 strings within the vicinity of each other (either order, x then y or y then x), so this is an "OR" (by "|") search, since that's the subject of this thread.

We group the "OR" elements (yes, into groups) by parentheses "()", and done:
pos := regexmatch(tb, "(yourfirststring.{0,30}yoursecondstring)|(yoursecondstring.{0,20}yourfirststring")

NB: yourstrings are not variables in this expression, but just placeholders for your respective strings (so when you replace them with your actual strings, don't add any more "" here).

tb is our variable, so no "" here; instead, you could put in the full text to be searched here, enclosed in "" then; this is just theory though since even when this string is rather short, ie is some substring, you regularly will use a variable instead, since you will have read that substring into that variable to be searched further then.

.{n,m} First for the dot, which means "any character". After the dot, you have a multiplier (for "how many occurrences of any "any character" for dot or any other immediately-preceding element (which can also be a group in case)).
The dot includes even possible linebreaks, but by option, you can exlude them by option as we'll do later on; for vicinity search, that's often wanted. (Remember that line breaks quite rarer than screen wraps.)

The multipliers: Asterisk * is for "any number incl. 0", plus sign + is for "any number but at least 1", {n} is for "number n", {n,m} or {n, m} is for "at least, at most", for example {0, 30} which could also written as {,30}, and similarly, you could write {30,} for "at least 30" while {30} would be "exactly 30".

NB: If you use variables instead or numbers (integers), n and m or whatever (as we will do below), then these variables must be written outside of the substrings in AHK, i.e. outside of the "" parts, and even the surrounding spaces are necessary (see the code below), so the slightest typing error will break or falsify your regex expression; on the other hand, if you use templates, like we do below, once they're set up correctly, you won't touch them anymore, and thus they will continue to be reliable; in fact, that's the other big advantage of using variables instead of strings within regex expressions: programmatical reusability, AND robustness.

Your while firststring and its character length is "eaten" by the yourfirststring match, so its length doesn't count anymore into the length of this "anything in-between", but it counts of course into the length of the (variable) total search result string (variable since the "in-between" is of variable length), so if your script does multiple searches, for multiple occurrences, these sub-string lenghts (all 3 of them, first, in-between, second) become relevant for the correct starting positions of the subsequent search runs.

As you see from our example, you can use different distances for "x then " and "y then x"; albeit not being certain of their usefulness, I've introduced them into my expressions, together with variable assignments which prevent you from typing identical data multiple times, see below. Here the code with just a minimum of variables, but which is bad since you will probably damage your regex expression by typing your real values into it (search from begin as default); note that there are no global (), just for grouping (2 OR groups here):

; X near Y (just for basic explanation means)

fileread, tb, C:\AHK\regexvicinitysearch.txt
pos := regexmatch(tb, "(yourfirststring.{0,30}yoursecondstring)|(yoursecondstring.{0,20}yourfirststring)", result)
msgbox, %pos%`n%result%


1) X near Y

The same with extensive variable use, so that your regex expression would stay unchanged. This is real ugly but presents the advantage that the expression will not change anymore, so you can easily and programmatically put use any other values for the search terms and for the distances into it (the expression becomes a reusable template); you also see that of course, you can use different distances for either order.
NB: In the AHK expression, the spaces between the variables and the substrings are mandatory. (You could use dots instead, but then your expression would become really unreadable: dots for concatenation, and dots for "any char".) So this is the code for ONE search, ie which will find the very first occurrence of y after x or x after y (;= for string assignments, = for integer/numeric assignments, all distances are the respective max distance we allow for between the elements in question):

; 1) X near Y

; your input instead of mine here:
tb := "C:\AHK\regexvicinitysearch.txt"
x := "yourstring1"
y := "yourstring2"
xy = 30
yx = 20

; but don't touch these anymore:
fileread, tb, %tb% ; that's for showing you how crazy AHK is:
; 1) the same variable name for (even totally different kinds (but not formats) of) input (path) and output (content) - my fun
; 2) two variables in one command, first one mandatorily without %%, second one mandatorily with %% - their fun
pos := regexmatch(tb, "(" x ".{0," xy "}" y ")|(" y ".{0," yx "}" x ")", result, 1)
msgbox, %pos%`n%result%


2) X near (Y or Z)

Then, also of high practical value is the search template for "x AND (y OR z)"; you don't need permutations here since your "must" element will be x, and your "either" elements will be within the "OR" group; then you have:

x, then up to x-to-yz chars, then (either y or z)
(either y or z), then up to yz-to-x chars, then x

We need two outer groups: (mandatory element before either-element) OR (the other way round),
and each group contains 3 sub-elements: 1 single element, the "in-between", the either/or group in () (order irrelevant):
x ... (y|z) | (y|z) ... x
and with outer:
( x ... (y|z) ... ) | ( (y|z) ... x )
As you see, that's easy, albeit in regex it becomes almost unreadable, as we see later on.

x AND y (full string) is: "(" x ".{0," xy "}" y ")"
ditto with the ()-grouped alternative y/z and the new distance: "(" x ".{0," x_yz "}(" y "|" z "))"
and the other way round: "((" y "|" z ").{0," yz_x "}" x ")"
we combine them, the order is irrelevant, but we preserve this order, in order to show that the double (()) are not global but are constituted by partial ():
"(" x ".{0," x_yz "}(" y "|" z "))""((" y "|" z ").{0," yz_x "}" x ")"
we must delete the central "", and we must insert the central | (I don't speak of "replace... with..." since these "musts" are independent from each other):
"(" x ".{0," x_yz "}(" y "|" z "))|((" y "|" z ").{0," yz_x "}" x ")"

Combining the outer ones the other way round would have given: "((" y "|" z ").{0," yz_x "}" x ")|(" x ".{0," x_yz "}(" y "|" z "))" - as you can see, the (()) are misleading at first sight, but of course, technically, the variants are quasi-identical. In fact, they are not, since here, the outer OR search also begins with an inner OR search, so this search should be slower than the virst variant advocated by me.

Hence we've got:

; 2) X near (Y or Z)

tb := "C:\AHK\regexvicinitysearch.txt"
x := "yourmuststring"
y := "youreitherstring1"
z := "youreitherstring2"
x_yz = 30
yz_x = 20

; don't touch these:
fileread, tb, %tb% ; of course, you should better use tf for textfile and tb for textbody, in any non-AHK...
pos := regexmatch(tb, "(" x ".{0," x_yz "}(" y "|" z "))|((" y "|" z ").{0," yz_x "}" x ")", result, 1)
msgbox, %pos%`n%result%

You must understand that whenever there is an OR, there is some precedence, ie whenever the regex matches the full string, according to its expression and according to the repartition of the elements in that expression, it will end the current search, while you might have been interested in alternative matches which will never come though. For example, whenever there is a match for yourmuststring AND youreitherstring1 (which ist searched for BEFORE any possible match for yourmustring AND youreitherstring2), ie a common occurrence of both within the max distance x_yz, the current search will stop, EVEN if youreithersearch2 is even nearer to yourmuststring than youreitherstring1; since our regex searches in mixed orders, x before y-or-z, then x after y-or-z, the final search results can even be more surprising.

So you must bear in mind that any valid search result, resulting from an earlier combination search of your current regex run, will be shown, to the detriment of any other search result by that same run, which also would have been valid after all, but which isn't searched for anymore. So inept or just unfortunate OR-combi searches can hide the results you're after in some cases; if you want to prevent this at all cost - most of the time, this is not necessary though, since in "X near (Y or Z)", the X is of interest, not one of the other two elements, and the X, the yourmuststring, will be found in any case -, you have to resolve your "X near (Y or Z)" search into 2 different searches "X near Y" and "X near Z", then will have to combine (and sort) the results, which is perfectly possible of course.


3) X, Y and Z All Together

Since we've treated x AND (y or z), let's also do x AND y AND z, which is also of high practical value (they are in any which order here, so with 3 elements, we must search for 6 combinations, as we will see):

; X, Y and Z All Together

; here your input:
tb := "C:\AHK\regexvicinitysearch.txt"
x := "yourstring1"
y := "yourstring2"
z := "yourstring3"

Then your max distances again:
xy = 30
yx = 20
xz = 10
zx = 15
yz = 12
zy = 18

or you can simplify:
; more input:
m = 30 ; or any other value common for them all or some group only:
n = 40
xy := m
yx := m
xz := m
zx := n
yz := n
zy := n

we need the elements in any which of these orders:

; pairs (full strings):
; xy: "(" x ".{0," xy "}" y ")"
; yx: "(" y ".{0," yx "}" x ")"

; hence the triples:
xyz: "(" x ".{0," xy "}" y ".{0," yz "}" z ")"
xzy: "(" x ".{0," xz "}" z ".{0," zy "}" y ")"
yxz: "(" y ".{0," yx "}" x ".{0," xz "}" z ")"
yzx: "(" y ".{0," yz "}" z ".{0," zx "}" x ")"
zxy: "(" z ".{0," zx "}" x ".{0," xy "}" y ")"
zyx: "(" z ".{0," zy "}" y ".{0," yx "}" x ")"

all 6 triples in a row (the order is irrelevant):
"(" x ".{0," xy "}" y ".{0," yz "}" z ")""(" x ".{0," xz "}" z ".{0," zy "}" y ")""(" y ".{0," yx "}" x ".{0," xz "}" z ")""(" y ".{0," yz "}" z ".{0," zx "}" x ")""(" z ".{0," zx "}" x ".{0," xy "}" y ")""(" z ".{0," zy "}" y ".{0," yx "}" x ")"

ditto but the (now faulty) "" deleted, and ORs inserted:
"(" x ".{0," xy "}" y ".{0," yz "}" z ")|(" x ".{0," xz "}" z ".{0," zy "}" y ")|(" y ".{0," yx "}" x ".{0," xz "}" z ")|(" y ".{0," yz "}" z ".{0," zx "}" x ")|(" z ".{0," zx "}" x ".{0," xy "}" y ")|(" z ".{0," zy "}" y ".{0," yx "}" x ")"

and now the complete expression / end of the script:
; don't touch these:
fileread, tb, %tb%
pos := regexmatch(tb, "(" x ".{0," xy "}" y ".{0," yz "}" z ")|(" x ".{0," xz "}" z ".{0," zy "}" y ")|(" y ".{0," yx "}" x ".{0," xz "}" z ")|(" y ".{0," yz "}" z ".{0," zx "}" x ")|(" z ".{0," zx "}" x ".{0," xy "}" y ")|(" z ".{0," zy "}" y ".{0," yx "}" x ")", result, 1)
msgbox, %pos%`n%result%


4) Retrieve the whole line

(This implies that technically, the whole line of your "real" match, the one you're after, will become the new match.)

The templates above search for terms in the vicinity of each other, but give as only output the string from char 1 of the first substring matching that part of the match up to the last char of the last substring matching that part of the match, excluding, in case, any other substrings not needed anymore for the match (before or behind that "sufficient" match string) - see my final remarks for "2) X and (Y or Z)" above -, while in many cases, you will want to retrieve the whole line of the match anyway (for "context"). Furtunately, this is very easy. (^ stands in for line/text begin, $ stands in for line/text end, and the ? after the * makes the * non-greedy; sometimes you see it's not really needed, but see my Dottie Killer thread for its usefulness.)

So we need the option "search line by line" ( "`a)" in Ahk, atttention, there is an accent grave before the a, for the position see the templates), but a warning here, AHK's traditional m) option will often not work for line-by-line since it only identifies complete CRLFs as line breaks, so we add the `a) option, too (cannot harm except in very special cases, ie whenever you also distinguish lines, and then paragraphs comprising several lines).

Then we search for a global string comprised of these 3 groups:

1. (line-begin and anything-or-nothing)

2. (our complete, original search string from above, just adjusted at its start and its end accordingly: first, its start and end are merged into bigger substrings now, ie together with 1. and 3., respectively, so we delete the (now wrong) start-" and end-", but stop, second, we replace them even, with "(" and ")", respectively, since the original search string, not being "alone" anymore, but having become the inner group of 3, must be enclosed in () in order for it's inner logic to be upheld - unnecessary groupings will do no harm, but missing groupings will)

3. (anything-or-nothing up to the line-end)

I present the templetes in the form:

; the title
; the original, complete, original search string
the complete new expression; it's with this line obviously that you will have to replace the original expression above, everything else in the original templates remaining valid
in other words, we replace the first " of the original search strings by pos := regexmatch(tb, "m`a).*?(
and we replace the very last " of the original search string by ).*?$", result, 1)

; 1) X near Y
; "(" x ".{0," xy "}" y ")|(" y ".{0," yx "}" x ")"
pos := regexmatch(tb, "m`a).*?((" x ".{0," xy "}" y ")|(" y ".{0," yx "}" x ")).*?$", result, 1)

; 2) X near (Y or Z)
; "(" x ".{0," x_yz "}(" y "|" z "))|((" y "|" z ").{0," yz_x "}" x ")"
pos := regexmatch(tb, "m`a).*?((" x ".{0," x_yz "}(" y "|" z "))|((" y "|" z ").{0," yz_x "}" x ")).*?$", result, 1)

; 3) X, Y and Z All Together
; "(" x ".{0," xy "}" y ".{0," yz "}" z ")|(" x ".{0," xz "}" z ".{0," zy "}" y ")|(" y ".{0," yx "}" x ".{0," xz "}" z ")|(" y ".{0," yz "}" z ".{0," zx "}" x ")|(" z ".{0," zx "}" x ".{0," xy "}" y ")|(" z ".{0," zy "}" y ".{0," yx "}" x ")"
pos := regexmatch(tb, "m`a).*?((" x ".{0," xy "}" y ".{0," yz "}" z ")|(" x ".{0," xz "}" z ".{0," zy "}" y ")|(" y ".{0," yx "}" x ".{0," xz "}" z ")|(" y ".{0," yz "}" z ".{0," zx "}" x ")|(" z ".{0," zx "}" x ".{0," xy "}" y ")|(" z ".{0," zy "}" y ".{0," yx "}" x ")).*?$", result, 1)

Now the match and output is the whole line/paragraph, but containing whatever you're really after, together with the complete-line "context"; you could do variants which only show a certain number of chars before, and a certain number of chars behind the part which really interests you, and you also can put bold-codes or similar around the part which is of real interest to you; for both variants, my final remarks for "2) X and (Y or Z)" apply again.


5) Retrieve all matching lines

(As before, technically, the whole lines of the "real" matches will now be matches.)

In most real-life use cases, you will want to create a "hit table", a list of all the results. Here, we just display that result list, but in practice, most of the time, you would retrieve the output variable for further processing; here, we use the clipboard as output variable, but any other variable will do if further processing will be done within the same script language or if the next, "overtaking" language can retrieve your output variable (which is only sometimes the case).

So what do we need? Regex can only do one search, ie there is no process logic built into this language; as we have seen, it can write the "matches" into an output variable (even into an array, every group being one array element, but we don't need this functionality here).

So we must introduce process logic by our (any) scripting (or programming) language (here AHK, or C#, Python...) and create another file from the outputs of the multiple regex runs. We'll do this now.

Also, we always started our (unique) search on character position 1 of our text, but now, with consecutive searches, with every search result, we must determine at what position our next search will start, so as to "finding", and then writing, the same, very first match / search result, again and again, into our output file. Thus, we start any consecutive (next) search by the end of our previous (last) search, but so that it will, in case, even match the very next line of the text, too, if that line is another match (but since the line breaks don't count, a sp := pos + ml will be ok). Btw, we don't write into that target file but at the very end: for speed reasons again, on every match, we write the match into a variable, and when the list is complete, we write that list to our output file (alternative final output below).

We take our example 1 (X near Y) here, all other examples accordingly:

; first (ie the input) part of the script
; your input instead of mine here:
tb := "C:\AHK\regexvicinitysearch.txt"
x := "yourstring1"
y := "yourstring2"
xy = 30
yx = 20

; and so on, for your input, see numbers 1 to 3 above

; don't touch the rest of the script, except for outcommenting the TWO pos := ... lines which do NOT apply for your case, and for deleting the comment-code of the line you WANT to be executed, of course:

; Second (ie not: input) part of the script:
fileread, tb, %tb%
clipboard = ; initialisation of our output variable (is emptied now)
; target = ; alternatively, initialisation of some dedicated output variable, leaves your clipboard alone
mn = 0 ; initialisation of our var mn which stands in for matchnumber
ml = 0 ; initialisation of var ml which stands in for matchlength
sp = 1 ; initialisation of var sp which stands in for startposition (remember: 1 is default, here needed for the very first run)

LOOP ; As said, we need multiple regex runs (so we need a loop), up to the point where no more matches are found (so then the loop ends):
{ ; begin of loop
; the following steps are repeated with every loop run (iteration):

; at any time, just delete the out-comment code for ONE of the three regex expressions:
; 1) X near Y:
; pos := regexmatch(tb, "m`a).*?((" x ".{0," xy "}" y ")|(" y ".{0," yx "}" x ")).*?$", result, sp)
; 2) X near (Y or Z):
; pos := regexmatch(tb, "m`a).*?((" x ".{0," x_yz "}(" y "|" z "))|((" y "|" z ").{0," yz_x "}" x ")).*?$", result, sp)
; 3) X, Y and Z All Together:
; pos := regexmatch(tb, "m`a).*?((" x ".{0," xy "}" y ".{0," yz "}" z ")|(" x ".{0," xz "}" z ".{0," zy "}" y ")|(" y ".{0," yx "}" x ".{0," xz "}" z ")|(" y ".{0," yz "}" z ".{0," zx "}" x ")|(" z ".{0," zx "}" x ".{0," xy "}" y ")|(" z ".{0," zy "}" y ".{0," yx "}" x ")).*?$", result, sp)

if pos = 0 ; no (more) match for the current (!) run/iteration:
   break ; break this loop and continue the script below the loop
   ; break breaks/leaves the construct, return breaks/leaves the script
   ; as you can see, I FIRST check for the possible fail, which then breaks the loop anyway,
   ; so this spares me an unnecessary if - else construct; I do this whenever possible
}   ; end of the if contruct; the braces are NOT necessary, since IN the if construct, there is only ONE line here (comments don't count)

; if we have arrived here, pos is NOT 0, so it's a (or another) match, and we will process it now:
++mn ; success, so we increment mn (matchnumber) by 1

ml := strlen(result) ; the length (!) of our match string (which is the whole match line, remember)
; startposition (sp) for the searches is 1 for the very first one (initialisation before (!) the loop),
; but for any other run/iteration, we retrieve, here, AFTER the match, the sp value needed for the NEXT run/iteration:
sp := pos + ml ; this is not concatenation (which would also be possible for numbers as digits) but addition of course

; and the match string again: we could put a msgbox here, as we did in our examples above, but instead we write the result to our output var:
clipboard .= "`n" . result
; clipboard is a variable "clipboard" and the real clipboard at the same time
; somevar .= someothervar is short for: somevar := somevar . someothervar, ie spares the repetition of the first var name
; or with another variable than the clipboard: target := target . "`n" . result or shorter: target .= "`n" . result
; "`n" is a linebreak (string), an alternative would be "`r`n" (at your convenience)
; the dots are concatenation dots, other languages use + or & or other signs for combining elements
; result is the output variable of the current regex run
; := or .= is variable assignement, hence strings are within "", variables are not
; so the operation is: we ADD a linebreak and the content of "result" TO our existing target var (which is (the) clipboard here)
; since for the very first successful run of the loop, the target var is empty, our very first "`n" is unwanted and will be deleted later

if mn = 0 ; matchnumber 0 means: no match at all (ie not only in the current run anymore)
   ; no matches means the target var is as empty as it had been before
   msgbox, Not found. Script ends here.
   return ; this breaks the script, so as above, no if - else construct necessary for the rest of the script
} ; more than just one line IN the if construct, so the braces are needed here

; else: there has been at least one match indeed, perphaps more than one, so we show the hit or hit list:
stringtrimleft, clipboard, clipboard, 1 ; but we first delete the very first `n before the first element of the list
msgbox, %clipboard%
; alternatively, you would read your variable into some other application or process it further here
; alternatively, you would write your variable into a target FILE:
; filedelete, C:\path\yourtargetfile.txt ; no "write to new file" command in AHK, hence deletion of any eponymous file
; fileappend, %clipboard%, C:\path\yourtargetfile.txt ; and then new creation of the file and "appending" of the var content to it
; you see here that for really appending the var content to the existing content of an existing file, you would just leave out the filedelete line


Now the second part of the script again, without the explanations:

; Second part, just select ONE of the regex expressions:

fileread, tb, %tb%
clipboard =
mn = 0 ; (matchnumber)
ml = 0 ; (matchlength)
sp = 1 ; (startposition)

; at any time, just delete the out-comment code for ONE of the three regex expressions:
; 1) X near Y:
; pos := regexmatch(tb, "m`a).*?((" x ".{0," xy "}" y ")|(" y ".{0," yx "}" x ")).*?$", result, sp)
; 2) X near (Y or Z):
; pos := regexmatch(tb, "m`a).*?((" x ".{0," x_yz "}(" y "|" z "))|((" y "|" z ").{0," yz_x "}" x ")).*?$", result, sp)
; 3) X, Y and Z All Together:
; pos := regexmatch(tb, "m`a).*?((" x ".{0," xy "}" y ".{0," yz "}" z ")|(" x ".{0," xz "}" z ".{0," zy "}" y ")|(" y ".{0," yx "}" x ".{0," xz "}" z ")|(" y ".{0," yz "}" z ".{0," zx "}" x ")|(" z ".{0," zx "}" x ".{0," xy "}" y ")|(" z ".{0," zy "}" y ".{0," yx "}" x ")).*?$", result, sp)

if pos = 0
break ; the loop

++mn ; matchnumber plus 1
ml := strlen(result)
sp := pos + ml ; for next iteration

clipboard .= "`n" . result

if mn = 0
msgbox, Not found. Script ends here.

stringtrimleft, clipboard, clipboard, 1 ; the very first `n
msgbox, %clipboard% ; or alternatively:
; filedelete, C:\path\yourtargetfile.txt
; fileappend, %clipboard%, C:\path\yourtargetfile.txt


Edit: formatting only

General Software Discussion / White Identical Twins
« on: July 28, 2017, 06:06 PM »
EDIT Night August 6/7, 2017: Title change (original title: "AI, google (YT), in the year 2017")

from :


Original screenshot. This evening, after spending some hours on YT exclusively with the German comedian Otto Waalkes, I just encountered the grossest AI glitch (or then, is it not...) I've ever seen in my life, aside from it being most memorable because of its shock value. Note that I do NOT vision documentaries like the central one (> "Recommended for You" or similar effect), independently from the fact that I regularly have my browser history, etc. cleaned (by CCleaner), and even if they spy my hdd (which cannot be excluded), they would only discover some political videos treating current affairs, especially on censorship.

Thus, yesterday, I had downloaded this YT video: ("Götz Kubitschek zu seinem unerwünschten Bestseller 'Finis Germania'"), an interview with RT who treats the backgrounds of a current censorship case of a book thrown out from the authoritative bestselling-books list (NYT, NZZ, etc. treat the affair, too, currently), for beng politically incorrect. (In short, the - now deceased - author writes that Germany as a country cannot continue to bucket all (!) of its national identity out of the holocaust but in order to survive, must bethink of positive values, in case even create new ones, and really believe in them - as you perhaps know, even the German car industry auto-destructs itself at this very moment, and its narrative wasn't sustainable for ages anyway.)

Thus, it's not an AI glitch indeed, but

- google spy on me (spying my hdd? or simply my IP from yesterday, very similar to my IP from today, the web provider always assigning numbers within a restrained range), and

- within an evening of comedy, in the centre of 7 (and more) pertinent comedy suggestions, they place a documentation, "Ilse Koch, the monster of (camp) Buchenwald".*

(That list is known for listing current (!) best-selling books only, i.e. it doesn't include so-called "long-sellers", like the Bible, the Coran, etc., but it hadn't been known they censored books. Now caught with it, they say that oh yes, they have "quality standards" which obviously is a lie since incredible bad junk's on that list all year round, year after year, and they didn't leave that censored place 6 in the list blank, but number 7 is now in place 6. Spiegel (co-) belongs to Bertelsmann (and Random House, etc., which you certainly will know, is Bertelsmann), the data for the list - which, as said, comes as the "list of the best-selling books", not as the "list of the politically-accepted best-selling books" - is gathered and processed by "Buchreport", a leading trade paper by Bertelsmann, and book number 7, which now takes the place, is published by "Knaus"... which is Bertelsmann, so this scandal also has a competition law aspect (since also they tried to do this without communicating their act of censorship which favored their own title (since many idiots (sorry, but how could you call them otherwise) BUY "from" this list), before being caught, and now only they communicate about it) which nobody to my knowledge has seen yet.)

It's NOT the case that I wanted to serve you some political blah-blah by the pretext of YT AI; all to the contrary, when I did the screenshot, I couldn't think but of an AI glitch and wanted to publish it here in order to show you just how "dumb" they are, ha, ha, oh no, as I see now: it's been then only that I remembered how it came that google served me that "historical lesson" on purpose, obviously in order to reprimand me for having had the guts to feel positive of ideas contained in that book (I visioned the clip in its full length; politically-correct people who are pro-censorship (write in Der Spiegel, in Die Zeit et al. and) tend to just look into some minutes, so google correctly knows my stance and lets me know they highly disapprove it and/or they try to "educate" me in the alleged "opposite" direction: They obviously take me for a fascism-drifter in need of "new information" in order to be salvaged for the flock.

*: What will google and others do, in the same situation, with people like me, who just are openly against (Bertelsmann-and-others') depotism (the Bertelsmann owner widow is an intimate friend of the German Chancellor) and openly against censorship (the "German Question" just being accessory here, and to be precise, the author does NOT defend the Reich in any way: the latter would have been a criminal act, the book would have been seized, the publisher jailed; it's just that the pitmans of the oligarchs (well, google are oligarchs themselves now, aren't they?) don't bear someone naming Jehova (Life of Brian, you know that comedy).

They try to silence the population (German press for example is extensively government press, just last week they published an ironclad scientific research paper on that, and not speaking of German state radio/tv), and when they see you're not part of the silenced ones yet, they currently try to heavily educate you, in some years they will change tune. The screenshot above is a scandal in itself.

And thank you, I know about Buchenwald and its monsters without YT/google "helping" me with it.

I'd been interested in hard links, a subset of symbolic links; we're speaking of newer Windows versions here.

From this quite recent post: https://blogs.window...symlinks-windows-10/ (December 2, 2016 2:00 pm - Symlinks in Windows 10! - By Yosef Durr / Lead Senior Program Manager), you could infer that they had been made more accessible to common Windows users now, but in the end, I had to set my system to "Developer Mode" indeed, in order to be able to create hardlinks with my macro program (open a cmd window, trigger the necessary commands, auto-close the cmd window); with direct API access it should be smoother, visually, but I don't know how I would do that; in any case, no manual intervention is asked for, it's just the popping up of the cmd window which isn't that pretty.

Hard links are robust when it comes to renaming or moving of the "original" file name (or any one of the "links") - in fact, there is not such an "original" file anymore, but there's that data thing in the hdd, and then just several links to that data body, the original name being just one of them - that's how NTFS works anyway, so these NTFS-only links appear to be a perfect way to do file cloning (instead of creating copies), even though it all doesn't function but within the same drive - I suppose you could install some super drive for this, i.e. a common denominator for anything below it, like multiple hdd's in some NAS, so this one-drive-only limitation doesn't exclude the use of symbolic links from "corporate" use if the "corporation" is a pop-and-mom office or the like.

Of course, there seem to appear big problems with web storage ("cloud"); some people in the web speak of using it for this, but I cannot imagine any inter-office-web use, so they've got probably everything (and only, except perhaps for backup purposes) in the (same) "cloud".

Where things begin to get nasty - hence this thread -, read here:

cpbbt2  |  15. 08. 2014 09:44  |  Microsoft Windows 8.1 IE 11.0  |  [5.104.22.---]

What you have to consider is the way an application/program works on a file. Some edit the file directly, and they should work perfectly fine with hardlinks. Although I didn't knew the "fileinfo difference" problem until now ... Other applications copy the file and then delete the old one when they save their edited version. This programs obviously break the hard link with that hidden copy operation. What they save is no longer the file they had opened. When they then delete the old version, they remove this single hardlink from the directory. Other hardlinks remain, and so you get two files in the end.

Lots of blah-blah discussion here: but they don't get it any better than that (and they don't even cite the source).

Of course, I encountered the problem described there, immediately, with my very first trial files: You make, from some original file, a copy (!), then create hard links,, etc. from, and then you can play around with these all-non-original "files", i.e. links to the copied original; first copying is important since you will want to extend your playing around to also deleting the first name in the line, the, in order to see if really there is no difference anymore to the other, later links (since you created these with the mklink command, while the had been created in the traditional way): You open some of these file aliases, change them, close them, then check if other aliases you open have got those changes or not.

(I did not check what happens when you open that same content body, under two different names, with 2 different programs at the same time, and if that is possible to begin with - probably yes... IF one of the 2 programs comes with the problems described above.)

Now imagine somebody trying to create some office software relying on hard links, and the customer service they would have to do afterwards, with all those angry customers having created multiple alternatives from the same original files...

BUT this being said, hard links are probably a fine, elegant, file-system-only solution for pictures or other files of a certain kind and of which you first must be sure you will never use a program upon, which will create the problems described above; also, the same picture programs could behave differently for just opening / displaying some pictures, and then processing them, for example some dedicated picture viewer but which also has some basic processing features.

So before adopting hard links for pic categorization, you would have to do many verifications if it's viable in your case, but if it is, such a file-system-only solution is without any doubt much superior to any commercial database solution, for pics, since in the latter, you only have your multiplicity of the same pic / document only in that dedicated program - the same is true for dedicated tagging programs of all sorts, except for a single exeception among them which writes the tags into the filenames, but you could do that yourself, with any good file manager (thus offering a good multi-rename function) -, while with hard links, these "clones" would be available from anywhere, from within any file manager, any pic browser, and thus also be available TO any special dedicated program which does something DO to these files, so if you exactly know what program and/or program functionality does, how it behaves in this respect, the use of hard links, together with some automatic check functionality which then, in case, handles the aliases, could certainly be an almost optimized solution.

The same for office use, the only problem being that then such an office software would prescribe the use of some restricted list of "acceptable" applications, either because they or the file formats in question don't represent any problem, or because that centralized program knows how to "react" whenever such an application works upon a file within those "monitored" directories (which would be a prerequisite in order to get such a system functional). (NB: Some file formats may be without problems up to now just because there isn't any application yet which messes around with it in this way.)

Whereas traditional links are totally unreliable; they've egen got some (!) functionality in order to not being broken when the original file (here there is a distinction between original file and link files indeed) is renamed or moved, but from my experience, you should never rely upon it, it works here and there, and then again not, so...

So whatever that MS "Lead Senior Program Manager" says, a really viable solution to the everlasting "it's-just-a-tree-instead-of-a graph" problem inherent to NTFS (not speaking of FAT32 et al.) hasn't been found yet, or in other words, MS don't do their homework.

EDIT August 1st, 2017: Just title change, for the title better reflecting the extended content.

But first, you know what virtual boxes are, don't you? No, I'm not speaking of something real like those Matryoshka dolls, I'm speaking of non-existing software boxes; there are even some special software packages to design them on screen and for screen only (thus: virtual), or then you use some more general graphic application.

In the old days - for the young here, this is probably news -, software was delivered on some physical support (5 1/4" floppy disks, then somewhat sturdier in the 3.5" format), within some real cardbox, and with more or less elaborate / multi-colored graphics printed on those; included was a real-life manual, often glue-bound, sometimes plastic-ring- or spiral-bound, and in some cases the manual, or even two of them within the same box, came with plastified ring-binders containing loose-leafs, neatly separated, chapter by chapter, by means of an index.

Those days are gone. Also gone are the good old days where unmarried man, or even married ones whenever their spouse took the waters, here and there invited their friends for an all-boys evening at their woman-free home, promising them to project (Super-8, and no, that's not VHS, latter came later) their newly-acquired All-Swedish shorts, and sometimes they even had got some Danish ones, possibly even with some Danish in them, but having been filmed among the Danes or, and that was the point, by Danish perverts - I'm sorry if this now impregnates you with the connotation of Danish dogues; fact is, Danish films had the reputation of being at least twice as perverted as Swedish ones; I must admit I never saw any of either, so I cannot speak but by (trustworthy) hearsay.

You must also know that in French, "girl" is "fille", "french girl" is "fille danoise", and that "projects", in French, ain't but Projects-with-the-big-P, but also anything you intend to do, as in "my projects for this evening".

Then you'll easily understand that whenever I read "Denoise Projects" on bits, and that occurs a lot of times, I invariably read "Danoise Projects", it's simply beyond me, I cannot help myself, I swear, and it's in a second step only that I become aware of my Freudian.

But please admit that the developer helps me a lot in getting diverted from the original purpose of his software, since he not only thinks the obscenity of making up a virtual software box has any inherent value in it, except for selling vapor (it must be in the line of, "oh, great, the developer's able to use some 25$ end-user program designing the right angles and the shades of some cardbox for you, so holla, his own program's certainly really, really good, too!" - well, strict logic'd rather suggest vaporware to some point at least, but that's not the way buyers work...), no, he goes that one step further and puts some graphics on it which, to say it bluntly, would be prohibited by law in several European countries (not to speak of the South of the Mediterranean) for being, well, "sexist"? - the currently correct term'd be "discriminatory", I suppose:

Please bear in mind that his photographic subject (half (!) of some person in bright sunlight (!) isn't that much in accordance with his product's foremost use cases, or in other words, the pretty one exposed should come de-noised by nature, without the need of the tool in question, and hereby the gratuitous character of the chosen photo (let alone there is no box either): Remember those girls on hoods? Well, if they had come included...

And now you'll never be able to look on Danoise Projects, oh, pardon, Denoise Projects, on bits or wherever again, without thinking of Danish dogues in Scandinavian shorts. Cheers.


General Software Discussion / Dottie and the Backpacker Killer
« on: July 21, 2017, 05:50 AM »
Let's put it simple: Whenever some lunatic encounters some backpacker, tracking along all alone on his track, or even accompanied by her boyfried or even some other chick, he's ready to kill (I even feared for Sue - and that was in a film! - when Crocodile* left her alone in the outback just for some minutes!); whenever you encounter a dottie in some regex of yours, be it accompanied by a star, a plus sign or else, get ready to kill, too!

*: Btw, they met on the set and have been happy together for 31 years now, that's what I call love! Cheerio!

And here's the mid-length version: Today, in more and more applications which offer search (as for just one example, PIMs; programming languages anyway), you'll encounter the alternative of doing a regex search instead, and that's a very good thing, but it's a fact that many people who use regex even on a regular basis, do so without the necessary knowledge to use it smartly.

It's common knowledge that regex is "slow"; as far as I'm concerned, I've always bewared of the dot indeed, but without knowing and withoutt really optimizing (grouping yes, but not enough excluding yet); in fact, I've always been aware of the fact that even the (regular) "greedy" quantifiers (regularly, not always) give correct results when by my feeling, only the "lazy" ones (available by additional "?" or by leading option code, for the whole expression) should do.

The solution to this apparent contradiction lies in automatic backtracking - well explained in the final link below -, and now you easily understand why regex, doing innumerable backtracks in order to match the text with a (bad) search expression, can be very slow indeed; of course, when we search for something, we want just the search to function well, we don't want to understand how the search is really done, but that's exactly what we first MUST know in order to be able to write effective (or even just "correct") regex searches, and that infortunately means - as a rule with few exceptions -, the better you want your search, the more inscrutable (for a beginner) your search expression will become.

It's evident that if you need such a search expression for some single task, you'll do it quick'n'dirty and will hope for the best, comparing the results with what you will have expected, and if these match, you'll be done with it - look out though for both false positives as for misses, both are so easy to get with approximative regex; whenever you need a search expression to do its work on something again and again, you better had it made as specific for that kind of text as you can, in order to make it fast-and-reliable.

So we encounter a new problem here: The more specific your regex, the higher the probability it will not match given texts, and there's two ways (which I currently see; there may be additional ones) to counter these problems: First, have preliminary scripts (with or without regexes, probably including some of these) to first check your target texts, and to hopefully alert you whenever your main script/regex will not be successful (again, false positives and/or misses) for compatibility reasons - you cannot anticipate any possible issue this way, but you can exclude here most of the "usual suspects" indeed.

Second, prefer "pure-scripting" over regex whenever reasonable, i.e. your regex will be enclosed in some script anyway, so do multiple things on the macro level with that language's commands, incl. searches, cutting up (and checking) text parts (process logic), and keep regex expressions mostly to some further micro processing, i.e. to analysis/retrieval within previously-segregated parts of the individual text. (And let me repeat here that you avoid many a problem by programmatically checking the results of any regex match (or non-match), on the micro as on the macro level.)

This way, it will also become much easier to better target your regex expressions, i.e. to write them in the most specific way there is.

From the links which follow you will learn that even lazy quantifiers will not save your regex expressions from becoming too broad which will not make them necessarily faulty but which will render them, often quite incredibly, expensive (i.e. slow), by the way regex executes the search on the technical level: Group, and be as avaricious as you are ever able to be, with what you grant any such group, instead of counting on regex' capability to clear up from behind the mess you threw at it, at the cost which will come with that unnecessary clearing-up: avoid the backtracking, avoid a backpack weighting ton, to be cleared gram by gram by regex for you when you (your script/search) should run.

(I've got several, now-optimized, regexes which run several seconds on an i7700 with plenty of memory; now imagine those searches running, non-optimized, on some i3, let alone on my old laptop, so our point - see the links - is not trivial.)

As for the long version - the intent of this post being to create awareness only, I'll let do the explaining to the experts -, please refer to the following links:

And finally this one which explains in depth why and how backtracking can even go completely wild:

There's two, absolutely authoritarian, standard books on regex: Friedl: Mastering Regular Expressions, and Goyvaerts: Regular Expressions Cookbook; I own both, but I admit I never had the courage to really read those books; I've only used them, up to now, for looking up things/explanations, but a quick search for "Regular Expressions" on will show you that there are some introductory books on the subject, too, from several other authors, and which may be a little bit more "accessible", or then, on some rainy Sunday, I should have a good look again into the writings I already own?

Goyvaerts is the author of the site (the links above) and of several / highly sophisticated regex tools - I never saw the need for me to buy his PowerGREP - was 119€, is now 139€ plus VAT - since I like to write my code myself, so for example (the independent) TextPipe Pro (395$ plus VAT on, here and there available on bitsdujour for a very reasonable price, though) didn't seriously tempt me either, but this latter tool seems to be more in the line of what I've said above about scripting-plus-regex - since behind the scenes, it seems to use exactly that hybrid approach, and in a largely broader way than PowerGREP (i.e. within the files, not only to do the switching between files) - I could be mistaken here, just speaking from their sites' descriptions. On the other hand, when you're a regex expert to the degree Goyvaerts (and Friedl) indubitably are, you can permit yourself to do more in and by regex since writing (correct! fast!) regex expressions will only take you a fraction of time it'd would cost us.

This being said, from his examples in the very last link above, it becomes evident that Goyvaerts' RegexBuddy (30€ plus VAT, ) is a highly valuable tool for anyone writing their own regexes, so I'm going to finally buy that one, obviously should have done that before. (You know the lines along which I write, so you know this isn't meant as an advertisement for a product, but as a service to the reader.)

Somewhere in 2001 or 02, I bought a hp pavilion f1723 (17", 1280x1024, no pivot unfortunately) for some 350€, in order to replace my old, bulky cathode-ray monitor (also 17" and 1280x1024, but which had cost 600€ years before); some 6 years ago, I bought a second hp pavilion f1723 from ebay (30€, no pivot either then, but I wanted them to be assorted), and these last 6 years, I always used these 2 screens together, "angled" around 25 degrees, the gap being in front of me, and me slightly turning my head for either screen.

I found this very convenient, the fact that this way none of the screens faced my chest in parallel position never bothered me; the only problem for me (except for the fact that I couldn't read pdf's without scrolling  1024 pix being insufficient height) was that I "needed" 1280 pix' width each for my respective main application (left screen, the direction more natural for me, cf. "The Brain" (David Niven), Gérard Oury 1969), and for my respective helper application (right screen), which left no room for some additional perhaps 300 pix screen width somewhere, for some super-tree (always-visible file manager / launcher list / file favorites and the like); hadn't it been for my finally-unnecessary "need" for symmetry, I'd better had bought a larger screen as my main screen, I admit that (my graphics card would have allowed up to 1600 pix).

So that was that. Now, I finally treated myself with an i7700 (16 giga), since XP being fine for me, I'd been too much left behind by current developments in software, and I judged it adequate to also buy a new main screen, so it's been an HP again, E272q, 27", 2560x1444, and again this was 350€ - that's progress, isn't it?

You can imagine how pleased I've been that all of its millions of pix seem to run fine for the moment, and yes, photos and videos are a joy to watch, and its PLS technology (no FN anymore) is looking-angle-insensitive, as promised, so all should be well. (One of my old screens's now for additional trees, lists, whatever's needed or helpful, the big screen stands in front of me, the "little" one on its side, angled at some 35, 40 degrees.)

Aside: I had also considered buying 2 (identical) screens instead and with 1920x1200 pix each, and to position them in my traditional way, angled and with the gap in front of me, but then I had thought both my old screens were always good for additional things, and perhaps it would be nice to have my main screen in front of me, like most people do, and perhaps there was a reason they do, and I'd like the additional 240 pix' height a lot, anyway (1440 against 1200 only).
It's interesting to see that 1920x1024 screens are much (!) cheaper than 1920x1200 screens, but it seems crazy to me to have to pivot a 1920x1024 screen - if pivoting it is possible to begin with, which isn't possible with the cheaper models most of the time, or then they go back to TN which is really bad when angled view is involved - in order to read "A4" pages without scrolling... for the U.S. / G.B. formats, even 1200, and even 1440, seem to be a little limit.
The ideal format, from my point of view, would come with a height of 1600 pix, but all of those screens are incredibly overpriced, they literally ripp of those who need them, and dissuade anybody who just would love to have some.
Also, my screen, 2560x1440 as said, isn't as high as I had expected; today's (?) pix obviously aren't square (anymore?), so how come there isn't distortion to be seen (in some pic, people's faces squeezed from hair to chin)?
Why not have bought some "4K" monitor instead? For two reasons. First, I (perhaps wrongly) suspect them to be better suited for viewing pics and vids than for doing work, and then, there's always the problem with "old" software's screen (text) output not being that readable then anymore.
There's also curved monitors now: As with the "4K" variety, in the stores, they invariably run with pics-and-vids, so you never really can be sure that they're really apt for real work except if you buy one, trial it, then send it back again if your local laws permit you to do so.

Now back to my problem. Please imagine a rectangle with the corners A, B, C, D, and with a straight line in the middle, from x to y:

A        x        B

    1         2

C        y        D

Let's assume all these 6 points lie in the same 0-depth layer (it's a flat screen, ha, ha).

As implied above, I display some application between A, x, C and y (left half of the screen, area 1), and another one between x, B, y and D (right half of the screen, area 2). The visible surface of the screen is 60x33,5 cm, my viewing distance is around 50-60 cm (for full-screen videos, that would be nearer 1m10 indeed): that's the distance I don't have wear glasses (yet).
I currently don't use the free tool MaxTo for these "half-screen" applications yet, and which would be for "maximizing" (the Windows command) these applications within and onto those coordinates axCy and xByD, respectively; such a tool will probably not be necessary anymore in Win10, I'll see.

Geographists learn a lot about so-called "projections" - see the title of this thread -: All map-making is about them, the bigger the scale, the bigger the distortion problems, and when then even the politically-correct people jump in, you'll really have fun. Be that as it may, cathode ray tubes replicated many of those problems, perfectly unnecessarily from a user's, just wanting to do text processing, number crunching or other intrinsically flat from start on tasks, point of view, and even count in our venerable Church for all things, still just some centuries ago (wikipedia: "Flat Earth"), so they decidedly had no problems whatsoever with map-making in those jolly pre-screen times, screens curved or not.

Anyway, I swear that on my HP E272q, the text in area 1 falls down to the middle, while the text in area 2 does likewise, so here, the lines go up to the right... oh, but wait, just one hour ago, my (1) text lines rose, weil the (2) ones fell! (We write from left to right here in Europe, for the time being.)

In any case, points A, B, C, D are positioned some 10, 12 mm behind points x and y (those in the middle), and also, the latter are some 5, 6 mm behind the central point of my screen, and that's about like it was that one hour ago, so if you imagine my screen as part of a balloon screen with a diametre of some 12 m or so, that would be probably near regular as in "to be expected", and yes, x isn't in a line of A and B, while y isn't in a line with C and D, but I cannot decide if they're both down or both up - well, in this very moment, they're both up, decidedly, even the black task line is neatly curved, every ruler will confirm that.

Or then, in fact not, as you will have guessed since long; of course, I've applied a ruler, not as long as my screen's broad, but one that measures 50 cm all the same, and if I move backwards some 30 cm, all this remains as described, my eyes constantly play pranks on me.

So we've got an important lesson here, when your eyes aren't young anymore and distort your vision - which is my case, and for driving, I wear corrective glasses accordingly - some wide screen very unfortunately can expose and even over-emphasize such defects of yours to yourself, and to the point of becoming very annoying, when with a more classic setup,

I've not got a headache yet, I've got 11 more days to return the screen if needed... but I would like to get some tidy, comfy replacement in case, even two times the current price (i.e. up to 700€) if necessary, but I'd abhor wearing screen glasses, and I'm not ready for surgery yet (cataract's slowly progressing anyway, so that'll come at some point).

Presumably, an even larger screen's not the solution, despite the fact that its pixel size will be bigger. Regular pix size being around 0.27 mm, for those screens like mine now it's around 0.245 only (while for 19" 1280x1024 screens, it's about 0.29), for "4K" it's even less, and while some 30" screen with my current solution would have bigger, "better" pixels, my viewing distance (to at least significant parts of the screen) would be greater, at it seems that I should remain relatively close by my screen(s) in order to not wrongly perceive such distortions.

I suppose the ideal solution for me would be a set up with two 1600x1200 screens, angled like my previous 1200x1024 had been, but that would be two times 700€: they ask a fortune for that format. Or then, and if I cannot learn to live with my current screen, two screens 1920x1200, an then not using the outer areas.

Or then there would be just one current, acceptable curved monitor 2560x1440, 31.5", from 750€) (there's just another one, 27", same price) - theoretically, I could order it immediately, while the current's still there, in order to compare, then send back one of them: But would that be reasonable a) price-wise, b) task-wise: Is curved (concave here, not the feigned-convex described above) any good for real work or couldn't trying that drive people nuts instead?

And what about curved plus 4K then? They're in the range 37-40", a VA-Philips being less than 700€, an IPS-Acer the double of that, no much choice anyway...

Some years ago, somebody mentioned his setup of then in this forum: 4 portrait screens (each 1280x2024, supposedly, since anything else probably would have got much too big) in angled lineup around his keyboard, and in there's two matches at least with my former half-of-that (but "landscape") setup which will have to be considered separately, and of which the relative impact's probably quite distinct:

First, while it's true that on a 1280 x whatever, I cannot read the lines from edge to edge - and there should not be any text lines so large to begin with - the frame of the screen serves as some psychological frame: what's within that frame is self-contained, is some "unit(y)" - my subconscious doesn't try to "read", to become aware of neighboring contents which furthermore are on surfaces clearly angled with respect to the current surface, the current content set, but everything which is within that 1280 x whatever-it-heigh frame, is included within my immediate perception, be it really readable (without eye movement) or not. We've got clear separation of concepts, no subconscious interference with further "offerings" - the retina is a part of the brain, so whatever you see plays its role, no "decisions" (to discard) involved here (possible discardings are made in further processing only, albeit often very effectively). So, probably with some vertical, black, 100 or 150 pix wide bar to sacrifice from your screen real estate and between your applications...?

Second, and that could probably be the much more important factor here, when you've got several but not-so-large, individual screens (I'm not speaking of walls of individual screens in some monitor room, obviously), your viewing angle for anything, anywhere on those screens is either 90 degrees or at least in the vicinity.

Not so with large screens when not curved (and that curving should arise other, new problems I fear): Either you move your whole chest a lot (and then tilt your head quite considerably), or your average viewing angle diverges quite a lot from those 90-110 degrees which might be the only really safe range, psychologically.

Remember how they depict people and objects in photos, in paintings: strong vanishing lines are rare, face-on's the rule. So why do you think that now, with IPS - which, yeah, renders at least readable vanishing texts -, characters very perceptively fleeing from you, will suddenly become entirely tamed and inoffensive when it comes to their cognitive processing ? (Again, the retina is part of the brain itself, not some usb-connected device operating independently, then sending just bits over the wire, the tonality of how it sees something deeply influences any further processing.)

That could be, btw, the reason why people with (very) large screens usually don't divide them into dedicated regions but juggle with and between multiple "windows", in multiple partial overlay, a substantial part of their screens being left unused or allocated as scrap area: Subconsciously, they may be trying to always minimize the deviation from the 90 degree angle, and that'd reduce the large-screen concept to absurdity for textual and similar applications (while it'd remain valid for anything "entertainment", for the overall view in pics, vids, maps, graphics in general, and of course for spreadsheets, and there in spite of the drawbacks but for spreadsheets' special requirements): Multiplicity of tinier, angled-positioned, all user-oriented screens (with narrow edges, but which should probably remain very distinctive? see my first point of musings) - and with probably a better resolution than the traditional 0.27 mm pixel width! -, could probably be the much better solution, physiologically, or then, curved screens indeed?

IPS just being another pseudo-solution to a problem not resolved yet? And gamers and video freaks raving of curved screens (cf. curved screens in cinemas, but what their individual effect in the different rows in the room?): These are precisely the people who can't (or more correctly: who, understandably, are not willing to) cope with some "active", tinier window nearby so that its ideal 90-100 degree angle is preserved, so they want the same condition be met by other means.

Uh? It's all about de luxe demands, you say? And if there's a real need beyond those, for proper, non-disturbed, efficient info processing? Cf. games and their crucial reaction times: Thus, is there some thesis around already proving - or invalidating? but I'd bet my a** not! - my theory that the same persons will be more successful gamers in front of a curved screen (once they will have become accustomed to it that is)? (Don't show this thread to your children. Or then, do justify your own necessary expenses towards your wife by this thread.)

Ideas/arguments/experiences welcome. Did I say my screen dives in the middle and has wings, just like a fan or druther like a dove in the very moment it gracefully touches down onto the sea?

So KM is keyboard-and-mouse sharing, while KVM is also sharing a monitor ("video"/"VGA" at the time).

Physical switches

My first try (some time ago). Had tried 2 devices, one in the 30€-, the other in the 100€-range. Both made bum-bum-bum. In the casings, there is a relay (or several such relays) which physically move(s) and realize(s) the connection(s), was only for kb, mouse and VGA then. Did work, but with lots of fuss, shifting to the other computer wasn't smooth but had to be made by press of a button each time (or was that only the cheap one, while the less cheap one's function was triggered by a key combination on the kb?), and then you heard the relais do their click-click-click, and while waiting for the shift to be made (2 seconds or so), you wondered how long the relais would work, and how long your computers and sole monitor would bear all this physical forth-and-back (electricity on-off-on-off...); I sent back both devices within the 14-day redemption period: When it's too loud, it cannot do any good for the material when the latter isn't made for all that (so this excludes construction machines, Ferrari motors and the like). It should be said that there also are some physical switches which then work by the network (starting (!) at 200€ or so), ie which do NOT then physically attach and de-attach electricity to your devices, and those are probably the way to go; let's call them "physical network switches".

The following software tools all expect your computers being connected to a network (LAN in my case, but they probably also work over a WLan?).

Microsoft "Garage" "Mouse without Borders" (free)

My next try, then, and again now. It's only KM (no monitor sharing), and it's free. No thrills, but it works, but on the 2 (or more?) computers, you are constantly invited to enter long, cryptic "security" codes of the other computer(s), and that quickly drove me nuts. There's an "explanation" somewhere how to avoid this constant nagging, but unfortunately I'm too dumb to get those hints working for me, so I preferred to dumb that unbearable tool instead.

ShareMouse (Bartels Media, now 30 / 50$ but incl. (!) VAT)

I had bought this tool at bits, for 20$ plus VAT, so Mr. Bartels got 10$ of mine for nothing, but I have to admit it was all my fault since he clearly invites customers to first trial his tool, then buy in case, and to not do the other way round, which I carelessly did, but that's the trick with sites like bitsdujour, many a times, software's just there for a day, without preadvice or without your having checked in time (both possibilities being common), and then you see it, you think it might be helpful, you buy it for cheap, and you store it for later use.

Of course, there's a hitch in Mr. Bartels' urging you to trial first, then buy - other developers rarely insist that much on your doing so, and for a reason. In fact, when you buy some tool which is declared compatible for Windows "n", and you intend to use it for that Windows version, you can reasonably expect it to run on your system. Not so with ShareMouse.

In fact, there should be lots of macro tools out there (or even almost all of them?) which use so-called kb hooks (whatever those may be), and it seems that ShareMouse uses such kb hooks, too, but whatever the real reason behind it may be, fact is, with my - quite current, especially for "professionals" - macro tool, ShareMouse does not work at all, or more precisely, whenever I trigger some macro on computer 1 or computer 2, I can never be sure upon WHICH of the two the macro (or parts of it) will work, so ShareMouse is worthless for me since it mixes up the 2 computers as far as macro input/execution goes (simple abc... input works well, though, doesn't mix up its current target computer).

It goes without saying that there is a high probability Mr. Bartels KNOWS about this incompatibility, so it would have be highly preferably, had he said instead, "ShareMouse possibly may have compatibility issues with some macro tool you have in use, so please trial first", but then, prospects would have been warned that even when ShareMouse worked well, currently, the day the also will install some macro program, they could run into deep trouble, and from a marketing point of view, it's understandable that a developer tries to avoid a situation where a prospect could get anxious about future problems when at least currently, all works well, so Mr. Bartels did not communicate this probable reason for his warning; the hitch in all this being though that such a KM is most notably used/needed/useful in "professional" environments/setups, and it's precisely there that users will also need/deploy a macro tool, too, if not today, then probably at a later point in time, so perhaps there will be in then for an unpleasant surprise even if their trial today goes smooth.

Also, this "kb hook" (or whatever it is) problem I only encountered with ShareMouse, not with any other KM/KVM tool, so it seems that "kb hooks" (or whatever ShareMouse's programming specificity is) are NOT needed to write such a tool; traditionally, programmers were put into 3 groups, mainframe developers, system developers, and application developers, and it's evident such a KM/KVM tool is system development, so possible interaction with other foreseeable system events (here: possible, concurrent use of a very common-with-professionals-ie-in-the-same-use-case-as-ShareMouse-itself macro tool) should be / should have been part of the development decisions, a "first trial!" urge (without the "necessary" explications) later on seeming a little bit lame as an alternative instead.

This being said, I only can speak for the previous version of ShareMouse here since the current version does not work for me: a mix-up of the current version on the Win10 comp, with the previous version running on the XP-comp just as little working as current version on both comps, it's just the previous version installed on both comps that'll work (and then and obviously very badly interacts with the macro tool, while it's futile to discuss if then the macro tool or ShareMouse is the culprit for that interaction, just let's say that IF it's kb hooks, that would be quite normal behavior for a macro tool while for a KM tool, it's obviously not - since the other KM tools don't come with that same problem).

Btw, incompatibilities in an XP-Win-7-and-further setup should not arise for a KM/KVM tool, in particular, since it's precisely in professional/corporate settings that the need for accessing (some) XP-driven and (many) computers driven by a more recent OS arises frequently, the bigger the corporation, the higher the probability for the existence of some XP computers needed for running some important, more or less made-to-measure software for special means.

ShareMouse is just a KM, not a KVM, but then, it seems to be unique (?) in working with mixed systems, incorporating Macs, so it's far from being all bad here - not owning a Mac, I cannot speak of its reliability here -, and ShareMouse has got a VERY pleasant feature I didn't encounter in any of its competitors: It allows for automatic "greying out" the currently-inactive screen(s?), and to a degree of your convenience; this way, you always see at a glance which one's the currently active monitor/pc (which is identical here since, as said, ShareMouse isn't a KVM), while on the other hand, the inactive monitors remains perfectly readable, so Mr. Bartels does it exactly the way his competitors SHOULD have done it, when in fact they all (?) realize this important function very badly... This being said, I'm waiting for this functionality being expanded to the indication of the currently-active monitor (ie the one where the mouse cursor is) even when several such monitors belong to the same computer (perhaps ShareMouse even does this, cannot say since I didn't try before de-installing): In fact, this latter functionality should be included in Windows itself.

And finally, ShareMouse - which I "trialled" extensively since I had paid for it - differentiates between the computers' own clipboard and clipboard sharing, ie whenever you try to insert the clipboard content of the/some other computer, you can't do it by control-v, but you must trigger a special key combination (default is shift-control-v here) which I, in my one-person set-up, found quite inconventient. This being said, perhaps ShareMouse also allows to simply (re-) set this key combination to control-v, so that ^v then works for both cases (I hadn't tried out this before de-installing the tool), and I have to say that behind this "quirk", there's another VERY good idea of Mr. Bartels: that in a 2-or-more-person set-up, this differentiation is really, really useful, just imagine what unwanted inserts would occur in the case of the usual ^v-for-all-inserts, irrespective of their repective origins.

Input Director (free)

While all of the software tools here allow for smooth clipboard sharing, Input Director is the only one of the bunch which does NOT also allow for smooth file copying made available by the KM/KVM, except of course for files, as in any network, being located in, and then copied to, dedicated shared-network-folders. The developer even tries to "sell" this lack as an advantage (security!) of his tool, but that's utter rubbish: In practice, every some minutes, you deeply miss this functionality which, as said, is present in all of the competition (? I don't remember Mouse without Borders so well, but I think the functionality is there, too) - ok, Input Director is free, but you'll quickly recognize it's a functionality that's simply "needed", highly expected, in such a tool.

But there's a point in what he mentions, and beyond what he says: Security considerations ARE worthwile, and in corporate environments, there should be some tracking device, for anything, anyway, and that would include anything such a KM/KVM tool would do, copies, moves, renames, and last but not least, changes of all kinds, incl. within (!) any files, not only changes made to their location.

The lack of file copying wasn't the only reason I quickly de-installed Input Director, though: in fact, it made my (shared) kb buggy. While my macros seemed to function normally, and regular kb input worked well, too, it wasn't but my PgUp/PgDn keys that run amok: Sometimes, they worked as expected, and then again, but again and again, pressing the PgDn key triggered the PgUp key instead, and vice versa, so that I finally only was able to use my mouse wheel to browse larger web pages (in several browsers) or longer text (in several editors, etc.). Of course, I tried with another kb, to no avail, and the same, "faulty" keyboards worked as expected again as soon as I deactivated Input Director, then finally de-installed it.

You know, sometimes developers get aware of some faults in their software which they cannot overcome, THEN decide to make it available for free, instead of selling it, which had been their initial intention though... if this applies to Input Director, too, I cannot say of course... Also, the visual indication of the currently-active screen/pc wasn't good (but I currently don't remember how it was done here).

Multiplicity (KM 20, KVM 40, 100$)

Multiplicity is from Stardocks (or from their branch-off Edge..., Ever.... Whatever), which obviously is the contrary of a one-man software software house, but which sells, besides lots of games, a lot of crap, their "Fences" being some quite prominent but particularly useless (and ugly) little tool for example. For non-big-corporations, Multiplicity comes in 3 flavors: 20$ for a KM for just 2 comps, and then 40$ / 100$ (always plus VAT) for up to 9 comps, but as a KVM, the 40$ versions handling the monitors of 2 of them though.

So while ShareMouse brings the unique (?) feature of Mac integration, Multiplicity comes with the unique (?) feature of screen sharing which undeniably is a world apart from simple KMs and which, if it works, obviously is incredibly useful, just imagine a very basic set-up, pc 1 with 2 screens, and one of these could be switched to/as the screen of pc 2 - in fact, I don't know if Multiplicity (in its 40-and-100$ versions) is able to do that since, while working with a mix-up of XP and later OSs, of all things monitor sharing is exluded here, while my remark from above applies here as well: It's especially in "professional" environments that users will probably have older and more recent OSs together in the same network, so excluding its USP, the monitor sharing, the "V" part, from its KVM capability then, should be a very bad decision of Multiplicity's - provided that technically, it should be possible to deviate some XP system's monitor-output to some screen of a pc driven by a more recent OS even if there's some hard work involved in order to do so.

So Stardocks obviously have got the manpower to do so, but as obviously, they have chosen to let their customers down with that, judging that their, Stardocks', effort would not be worthwile... for them, Stardocks again.

For my current set-up then, Multiplicity's theoretical full KVM functionality is worthless, but this deception notwithstanding, I considered buying their 40$-plus-VAT version anyway, for its smooth (but not very well-executed) KM functionality, shelving the (untrialled) "V" part in the tool for possible later use (their 30-days trial comprises the full 100$-functionality), but instead, I finally de-installed this tool, too, and here's why: First two minor "reasons", ie I was really unhappy about those points, but I would have bought anyway; then the reason that tipped the balance for me.

The indication of the currently-active screen is realized very badly, just compare with the fine way ShareMouse does it. You have 3 alternatives with Multiplicity: A quite / even not so tiny but ugly indicator quadrangle (with lots of unnecessary text, overlaying the text of your screen's content) for NON-active screen(s?): Depending on your screen's content, it's not so obvious the quadrangle is there, and/or your screen's content becomes unreadable there, and on your active screen, you're searching for the possible presence of that quadrangle before being able to decide, "this screen is the active one indeed!" - just awful! Then, you can get a colored frame around your active screen instead, and they even let you choose the frame's color, but it's so thin  that even with a bright color, you never really know if it's your active screen or not (web pages, other pages using some color!), except for otherwise totally black-and-white screens (which are rare nowadays since even text editors use some colors now, e.g. for underlining, let alone for programming) - you never really know, I say, except, of course, for deliberately visually checking one of the four sides of that ugly and not even functional frame. Third alternative, greying out the inactive screen(s?), but without any setting for the degree (as Mr. Bartels does it so well in ShareMouse), but the inactive screen(s?) is/are? almost blackened, ie it's utterly difficult to "read", to discern anything over there if needed, and besides, it's ugly as hell - at the and of the day, with Multiplicity, you'll probably vote for the color frame around the active window and hope for the best, just checking your screens' edges again and again over the day - awful, I said.

Second consideration for not buying Multiplicity, but which I almost had decided to discard anyway: Their current version 3 is more than 3 years old (it's from April, 2014 if I'm not mistaken), and the (non-openly-communicated) update fees are (according to what some of their customers say) 80 p.c. of the full price: awful, again, but I wanted a functioning K(V)M, so...

What has been finally inacceptable for me, though, was the fact that I have reason to suspect Multiplicity to heavily interfere with my main system (the one where the paid - here: the trial-declared-as-"master" - version is installed): While it's understood that the K(V)M functionality of any such software tool isn't present anymore for any "slave" system while the "master" system wents to sleep, it's totally unacceptable that when you then try to wake up again your "master" system, it tells you that some "error" occurred, and that it will do the necessary things for you in order for shutting your system down and restart it... any data in open applications being lost, of course.

I don't have means to accuse Multiplicity to be responsible for this, I just can say I didn't see those error messages before installing Multiplicity, and they didn't occur after de-installing this tool; your system's mileage may vary of course. On top of this - and then I really was "done" with that tool, from one day to the next morning, I didn't have internet access from my main computer, whereas at the same time, web access from my (now) secondary computer (and from my internet telephone) was fine. I juggled around with the cables, to no avail of course - ditto for several browsers -, just as I had juggled around with the keyboards with regards to Input Director, days ago, and I juggled around, also without no effect whatsoever, with my firewall settings - does it really surprise you when I tell you that after de-installing Multiplicity (which implied a restart of the computer, too), I had web access without any problems, just like before? Oh, what another happenstance, right? (Oh, I forgot: in their "Object Desktop" (50$), their non-KVM, basic, 20$ version is included. And also, Multiplicity's screen dialogs appear as very "professional", so all its bad points then came quite as a surprise.)

Synergy (19$, with encryption 29$, last free version probably available somewhere)

As the others here, except for Multiplicity, it's just a KM, and I have to admit I didn't trial it anymore. After discovering Multiplicity, I had decided that when there are available both KMs and KVMs - well, in fact, just one single KVM, it seems -, a KVM would be so much more convenient (I didn't know yet that Multiplicity's "V" doesn't work with XP) - and it certainly will be if it works correctly -, I would want a KVM no, not a KM anymore.

Now, with Multiplicity having me disappointed so thoroughly, as a KM AND a KVM, it normally would be time to trial that other alternative, Synergy, but in fact, I don't really need a KM (or KVM) that much anymore, almost all of my "things" having been finally arrived at my new "main" computer, and at this point in time, I don't see that much need anymore for concurrently using my now "spare pc" with my main one; it's evident it'll come into play again whenever the main one lets me down, but it will not be concurrent use then, by design.

In other words, concurrent use of 2 comps - but with proper file "sharing", not like in Input Director" for one person is highly recommended in the transition phase of replacing one pc by a new one, and, of course, in corporate settings, for example where some person (who does not do this but on the side, here and again) also accesses the "server", for some technical-management means, but for one person really needing two computers running concurrently, I don't see any real-life use cases at this moment... and in fact, I only needed this when (re-) installing some system from ground up, both in the past and during these last weeks.

Which reminds me - of course - of my other thread, about trial conception, and over there, I would then have said, considering my current experience with KMs: "Don't do (otherwise uncrippled) 30-day trials for KM software, since most prospects will need your software for less than 30 consecutive days on the same system anyway, so by such a trial, you'd provide it to them for free."

And now have a look at Mr. Bartel's trial and compare it to the others' ones, and yes, they all can learn from his. Or in other words: Shelve current trials (well, except Bartels' one) - if you can live with the quirks those programs unfortunately seem to present, probably not just within my set-up (- and probably Synergy isn't without fault either?) -, in case you'll ever need them for some time, and the respective developers will have changed crucial trial characteristics in the meantime. EDIT: Perhaps ShareMouse's free version is a real free version now, not a trial anymore? I've known it stopping working after some minutes every time, then closing the tool and invoking it anew was necessary if I remember well. In any case, continuous use was impossible.

And let's remember Mouse without Borders (which is free, not a trial): Perhaps you'll overcome my problem with its endlessly asking for inscrutable codes, and it'll make an acceptable KM for you, whilst coming without any thrills indeed.


Do you know "Domain SEO Service"? Bad question, isn't it? Since of course you know them, everybody knows them. I own about 30 domains, and I don't receive about 30 "offers" and about 30 "final notices" from them, per year, but between 2 and 5 such pieces of sh** per day, which makes it more than a thousand per year, more than 2,000 checks-plus-more-than-1,000-clicks per year:

First, I have to visually check if it's very well them, from the text of the list entry, then click for putting them into my spam folder. Second, whenever I empty my spam folder, I must visually check my spam folder for every entry (in case something was legit and ended up there by accident), then I delete them for good (shift-click possible here, so less clicks).

Since their sending address is always a different one, Outlook (2003: got it better with later versions, out of the box?) is/seems to be too dumb to do a rule for sending them into the spam folder to begin with; probably with some VBA code (but which is unknown to me), this problem could be solved since they don't use but a quite restraint bunch of titles/subjects. So there's three questions here, but I doubt our false Jesus will answer any of them. (And no, I don't ask for the paid solution of hiding owner data, that would have been a fourth question but of which the answer is evident.)

Anyway, googling for them brings lots of complaints, and it even seems that more than one people even paid their invoices (once in their life only, I suppose); their price-for-nothing had been 64$, now it's gone up to 75$, hahahahaha! (Btw, this is not German, but a citation from Visconti's Death in Venice... written by some German indeed, so perhaps that's to be found in the original text, don't bother.)

Needless to say that their "You have received this message because you elected to receive special notification offers." isn't but another one of their fat lies.

So we're speaking of world-wide terrorism here where a billion of people all over the world have been terrorized daily over the years, and here the story gets interesting since the governments concerned obviously don't do anything about this terrorism.

Some web sites say their Florida address is a real one, and that there is some "Matthias Taubert" (which would be a a German name) behind it, so why don't the Americans send that "Matthias Taubert" to Guantanamo? Lots of people have been incarcerated there for much less, after all!

Some other web sites say their servers are in China (well, where else then? right? anybody surprised here? alternative would have been Russia, of course...), and the Chinese are said to maintain c-camps to this day (like the North Koreans do), aren't day? But obviously, they do nothing about the servers (if that localization info is right) or the man either.

Of course, it's possible that there is some real "Matthias Tauber" (or anybody else with any other name) somewhere else, but the Americans could, at the very least, close the Florida (or was it San Diego, California? my sources differ) office, the Chinese could shut down the servers, and how come that terrorist always gets the money from unsuspecting "customers"? They shot down the elby business in the Caribbean this way, after all, so they could it again if they wanted to.

So that "Matthias Tauber" or whatever he calls himself in some passport pays bribes, or even taxes, so that they leave him alone instead of putting an end to this terrorist?

2 vs

In civilized countries, it is a given that you cannot name your business after, ie almost-identical to, some other business and then do business in the same business as they do. (Or name your business after some very well-known business and do business even in any other business than theirs.)

Of course, the software business is a little bit special since if there is a well-established business in some country, how to prevent some crooks, in some other country, to name their business after yours, and/or register a very similar domain, in order to then sell their sh**, even directly competing with yours, world-wide to unsuspecting customers which are led in error by that purposeful naming and mistakenly buy their sh** for yours. (Using slang here: in reality their software is probably, but not necessarily sh** (and it may even be your own code, more or less, hahahahaha), while yours may be sh**, too, but very probably is not, hence the interest in their jumping onto your bandwagon.)

So when, some days ago, I discovered some backup/reinstall software from "Eassos" on some giveaway site, I had been intrigued, and when I discovered, today, some data recovery software from them, in identical circumstances, I decided to have a look; needless to say that I assumed that "" had been registered long, long before "", and I was right of course, 2004 vs 2010.

But both domains are registered from entities in China, as are the numerous entities which sell more or less the same video softwares, under different names and with only very minor GUI variations, so probably I've indeed been wrong here in my assumption that Easus has been the victim of Eassos crooks: The latter may very well just be a spin-off of Easus... but then, in order to do WHAT? The Easus brand is quite well established, and more than one people say their free software works fine for backupping and reinstalling your Windows partition; in my case, the reinstall didn't work but I don't know if the fault was with my external hdd (I had been stupid enough to not have written, at the same time, two backups immediately one after the other, onto two different external hdd's).

Now that (since 2010 even?), Easeus possibly more or less also "is" Eassos, too, and given the fact that the situation is quite muddy, to say the least, and that I am not technically equipped accordingly in order to verify which data a free, Chinese backup software sends to Chinese servers and which data they send not, I will not touch any Easeus software anymore, let alone any Eassos one; your mileage may grossly vary.

Winx DVD Ripper Platinum, WR, is one of those applications that appear again and again on giveaway sites - I wrote amply about this in my Software Trial thread, and it's understood that WR is devalued by that, but it's "for the masses/young people" anyway, so...

But while it's true that you don't really need WR - or similar, for that, but WR is free again and again, so... -, it can come really handy, and while dedicated giveaway sites (sharewareonsale, giveawayoftheday) don't let you know what's their freebies coming soon, WR for free (again!) is announced on bitsdujour, so monitor that site for the very next days for it if you haven't got it already on innumerable other occasions.

Why does it come handy? Well, perhaps you continue to watch DVDs - I've had that subject in other context in said Trial thread very recently -, and here and there, there is some stunning frame in some film - I personally I'm very enthusiastic of the very best cinematographers (the directors of photography in film), but in other films, you'll encounter such stunning frames too, just not so often.

Now the photos from a film - which you can get from google for some of them - are not frames from the roll, but they employ special set photographers in order to take them with their own equipment, for them, the stills, becoming much sharper and of better quality overall, but by this parallel working, these real photos rarely replicate the very best frames, so there is an interest in getting them from the roll, notwithstanding their lesser quality, technically-wise.

Now there's ffmpeg (free anytime), but I've got a problem with that (very powerful) command line tool. Often, DVDs are copy-protected, and then (only?), their DVD comes with lots of different files, and it's all a mess there and anyway, I didn't grasp yet how to do the necessary format translations in ffmpeg from DVD files respectively of just the relevant moments in them. ffmpeg (there are alternatives, but there's quite some help available for ffmpeg, so I use that one) cannot extract stills from the DVD format, but needs an (almost any) intermediate format to extract them from, so it's a 2-step process, and, as said, I have problems with getting the relevant seconds from DVD to the intermediate format, in ffmpeg.

Enters WR. In some video player, I simply note the time such a frame I want to get as a still appears, let's say -/+ 5 seconds, which makes it around 150 frames to get the needed intermediate format, then to get to single frames. Then, in WR, I select just those seconds for conversion, for example into the .avi format; here, WR very thankfully does all that work behind the scenes to scrap it from the DVD files: it does do exactly the part I'm currently unable to do in ffmpeg; of course, in WR, you'll select the highest possible quality (formats/settings).

Then, I just run ffmpeg with the right attributes, onto that (in this example,) .avi file, in order to extract the stills (frames, technically).

Some remarks: Some video formats don't do complete frames, but do frames as content differs from the previous frames; it seems that ffmpeg is able to re-build complete frames from aptly combining those partial frames again, just like your video player does, too.

There are some commercial applications which extract frames from the DVD, in one step, but the problem is not that they cost up to 50$, the problem is that they are just too bad as frontends to ffmpeg or some other free tool. The latter is just an assumption of mine, but that they are really bad is a fact, I trialed them all and took notes about their deficiencies.

Since with ffmpeg, you also can learn how good cutters do their cutting; here it's perfectly possible to (convert in MR some minutes, instead of just some seconds, and then to) extract 10,000 frames instead of just 150 or some, and then, for example in FS Image Viewer (free) or DO (paid), you'll get an incredible collection of quickly-browsable thumbnails from which then you can quickly distinguish any camera-movement, any cut, ready to further identify the transitions by looking at the full previews (both pic viewers, and others, have got a 2-screen mode), or you consider the "weights" of the (sub-)scenes, by counting the respective numbers of frames...

Now for the syntax; here I have to say that ffmpeg's syntax has changed over its versions, and that I use an old version of it, its new one not working with XP; this could be the main reason I had to give up in my tries to do the very first conversion, too, from within ffmpeg. But the following will help you to better understand (currently available) ffmpeg help, and to adjust to your respective use case:

as command, in command window or from other trigger:

C:\ffmpeg\ffmpeg.exe -i "C:\YourSourcePath\FilenameOfTheIntermediateFile.avi" -ss 00:00:00.000 -qscale 1 -vframes 2000 "C:\YourTargetPathWhereFfmegStoresTheStills\%04d.jpg"

-qscale 1 is "best quality", -vframes triggers the stills, 2000 is the number of frames you want to get exported, beginning with the indicated starting time.

The above would start from the beginning of the intermediate file; if you need your 2,000 frames (in my example) from minute 74, second 5 on, it would read 01:14:05.000 (by which the time format becomes obvious; I never bother about the milliseconds but just then delete unwanted frames afterwards). (I identify the wanted number by number of wanted seconds multiplied by 25, then plus some.)

Now for the %04d part: 2,000 frames is 4-digits, ffmpeg will number the created picture files from 0000 to 9999; for just some seconds, that code part would be %03d, other naming conventions are available. Since you invariably need some unwanted frames at start as a safety buffer, unfortunately, your not-deleted frames will then not begin with number "1", but perhaps some "0425", so maniacs like myself then need to apply some renaming routines ("delete leading zeroes", then "name in number format minus 424" here).

Have got a 13-year-old son who's dreaming of / "preparing" the Centro sperimentale di cinematografia or the counterpart in your country? Ask him if he already applies this (or have him even explain the details to you), but for your preteen daughter, too, I could imagine wonderful use-cases* of both the full workflow, and of just the copying of some minutes of DVD by WR into some hdd format: happy sharing with them! Between blunt consumerism and Creation with the big C, there are intermediate areas worthwhile exploring, for young people and for the rest of us.

*: the very, very best moments of Justin Bieber, or then, even into adult age, dance/ballet scenes (for example) - ok, professionals know what's at their disposal nowadays, but your little girl may not know yet, so tell her!

This is a triple spin-off from https://www.donation...? (CintaNotes Pro with 50% discount), from https://www.donation....msg408619#msg408619 (Navicat Review) and from https://www.donation...ex.php?topic=43805.0 (On Software Pricing).

So now the CintaNotes Pro freebies are gone - the immediately following posts were in answer to a placeholder -, and those who had the chance to read my teaser yesterday, in time, are able to try out its tag management to its fullest. (Did you know there is such a thing as a Google Tag Manager? Neither did I, up to this morning, but then, it's not for our file system...) As said in the teaser, what immediately follows may be obvious, but current state of affairs seems to prove that even for the bloody obvious, writing it down sometimes should come as helpful.

First. Given the marketplace for notetaking apps and what CN currently (! this may quickly change though) has on offer, it appears that not its current prices are the right ones, but that the original prices were too low, and it's at those prices from yesterday that most people you could consider as heavy users, bought their lifetime, or then, when lifetime was not included anymore, at least some Pro, which they then sometimes "update" by buying fresh on bitsdujour for example, when Pro is for sale there, and from where the developers only get a pittance anyway. It goes without saying that this mistake of those early years cannot be amended, but there's a second, running mistake which currently costs CintaNotes thousands in missed opportunities I think.

Second. In general: 10-day trials are rare, since most people just don't have the time to use such a short delay thoroughly: They have their professional life, their family life, brutally, they have got other, "better" things to do than to spend . Let's learn from Directory Opus, but it's not only their 60 days as a timeframe, it's another aspect, too - and of course, the longer the timeframe, the higher the risk for bad software that prospects discover it's not for them; I do NOT suggest this may be the case of CintaNotes and wouldn't take the time to write down these suggestions if I thought otherwise; no, in CintaNotes the current weaknesses are evident from first try, and in order to discover its strengths, you need much more time.

In general, always, and especially with CintaNotes' tagging system: Considering the above, starting a 10-day trial with the coupled free version (!) is suicidal and never-heard-of; there are cases though where developer provide a 30-day trial which, then only, reverts to some free version. In general, always: This often makes sense since in 30 days, the users will have become more or less accustomed to some more sophisticated features, and when then after a month, they don't get them anymore, they may be willing to pay. Or they discard the whole thing if they don't want to buy; it's simply too frustrating in most cases to continue the free version, after some more days or weeks in which they will decide upon purchase or abandon, depending, of course, on their impressions of usefulness ("do I need such software?") and quality ("how does it compare with similar software?"). But for the trial-users-prospects in order to judge that potential usefulness for them, they must have a chance to have built something in that software from which then they can appreciate if it's useful or not; especially for CintaNotes after 10 days, that's not the case.

As for DO's 60 days: Depending on the software, and certainly with a sophisticated file manager, in 2 months people will have done lots of tweaking and personalizing, so that after 60 days, buying becomes almost mandatory, in order to not lose too much investment in time and effort. (Abandons of DO will occur within the first week or so, but certainly not after extensive trial I suppose.) So in the case of DO, it's not about building up raw material, but it's about having built up the tweaks and manners ON the raw material, the files (and the time investment made in constructing them / "putting them together") and which for a new file manager constitutes then much of the "aggregated worth" of the thing for you.

A psychological AND practical thing: Many developers provide 2 versions, a free one and a trial one, and this concept comes with 2 advantages:

The psychological aspect: Frustration of the users would be less, since they would not know the paid-for features, in detail at least, so inclination to use the free version is much higher than in the aforementioned slap-in-the-face case, and so either the developer will never sell, or he will be able to influence his freeware users over a very long time to try out, and to buy the paid version. This requires frequent updates of the freeware, too, with absence of further crippling of the freeware by such updates - slap in the face: even if it's then in the interest of the user to buy, they will not do it, for fear of such a dishonest developer getting their money -, and with quite some advertising for the brilliant features of the paid version, advertising available without additional effort from the user, so the info should be integrated into the free version. I know users complain about menu entries just going to advertising, the giveaways by Swift-To-Do-List being not-so-convincing examples, but I could imagine much better teasing during long-term freeware use than that applied by Dextronet. Taking away functionality from the freeware is neither a problem in CintaNotes nor in Swift, I just mention it here in general; all to the contrary, CintaNotes regularly enriches the free version, too.

The practical aspect: With 2 different files for 2 different versions, free and trial, the user can get acquainted with the program whenever they please but start the trial whenever they have time and/or the demand for it: There is a real demand for "playing around" with some software, in order to see if you like the way it handles things - there are big differences in "handling stuff" between softwares doing more or less the same thing -, and then to really trial and decide upon buying when the need arises, which may be some weeks or months later. In other words, you have two possible discard decisions here: First, you "trial" the freeware version, in order to have a look (and without a time counter running), to sense if you like the style, then you either discard the freeware or begin the trial; almost immediately or at a later time; for the latter, you decide if "is it worth the price" and/or "does it meet special requirements of mine".

I understand a developer doesn't want to make their freeware too powerful, the distance between free and paid versions must remain considerable, but if the freeware is too basic, it'll probably be discarded too early, that is before the user will be ready to make a trial and/or buying decision, based on their extended use of freeware. Now CintaNotes is a very bad example for this either since here again, it's obvious that the freeware version is a very, very good, and functional, one, so that Alex Jenter, the developer, from this aspect at least has got all the chances on his side to finally "seduce" the user into buying.

But this incredible chance for Alex to have the user build up a functional, extended notes repository in CintaNotes (which should remain perfectly stable then since it builds upon the usual SQLite database engine), then come to the conclusion that they need some better tag management - which the Pro version provides -, and then extensively trial the Pro version, falls short, since those 10 trial days will then be long gone, instead of the user having built up the necessary material which then will need sorting out, be given some "room", some time in order to do so - bear in mind the user doesn't know yet, at that point in time, HOW to build up such a tag tree, so they will need some playing around, so that 10 days even then would be way too short.

It's obvious that forcing an immediately-starting 10-day (real) trial upon somebody who just wants to get a rudimentary idea, a "feel", at that moment in time, is not a wise decision, by general means, but as said, for a program that will become useful to its fullest extent AFTER some time of gathering material in it, such a suite "install > immediate 10-day trial > then good freeware but without the chance to sort the material into something manageable except for buying without trying" is suicidal.

A note program needs notes. These notes will come from here and there; it needs some time for them to gather in considerable number. This is different for people like me who gather or write dozens of notes each day, but the general public will need some time in order to get together some hundreds of notes, from which then they'll feel the need to re-organize, to really organize, them. While you don't have such a number of notes, what use for a tag tree (which is the main sales argument for Pro here)? You could play around a little, gather some 20, 25 notes, then hasten to see how to best organize those 20, 25 notes in CintaNotes' tag tree which could probably handle very well thousands of notes, but how could a user discover such organizational strengths from playing around with some dozen of notes: that would not be very natural to begin with, right? If the tag tree, the organization of tag combinations, and in various combinations, is done well, I mean if its functional in organizing many, many notes, you cannot reasonably discover with some dummy data, with just some notes upon which you force aleatory combinations in order to try out what they would look.

No, it's after some weeks that you'll have gathered a body of sufficient size and different, and in themselves quite coherent groups, so that it'll make sense to now try out hierarchical tabs, or even more to the point: Then you will even NEED to try them out - if you're more into organization than into searching at least. That'll be weeks, months after your 10-day trial ran out, so now you'll either buy the (having become) expensive paid version without the chance to try it out first, or you export your stuff into something else, abandoning this software, not taking the risk (that had been my reaction at the time), or you do what many people do, you just hold "some" stuff in it, and which then will grow old in there - that spares you the effort of exporting what you will have put in -, and you probably will never consider buying, without knowing how well it could it all organize, probably.

From the above, it becomes evident that even a 30-day trial for CintaNotes (and similar organizational software which first needs the stuff to organize then; DO doesn't have this problem since most new pc users will first use the in-built file manager, then switch to something better when the Microsoft thing isn't able anymore to correctly organize it) would not be ideal, and it's also true that a developer makes available their free version in order to incite as many freeware users as possible to buy their paid version, so it's in the developer's interest to remind their users of buying, but not by nagging - which, most of the time, will result in the abandon of the freeware -, but rather by proving how useful the paid version NOW could be for them. So it seems that a dedicated free version, and a distinct trial, isn't the ideal solution either, since it doesn't take into account the fact that the freeware's justification of existence is the developer's interest in selling the full version, and most freeware users will not additionally install and trigger the trial, since it's simply too much fuss for them.

Thus, a combined version indeed, but 10 days at the beginning, then another 10 days after 30 days or whenever the user switches to it? As said, there is some learning involved on the user side, so 10 days is not sufficient, but we're speaking here of software which is regularly updated anyway, and that brings a big chance for renewed trials. Also, there is the question of what "result" of a trial period will remain available to the user after possible reverting to free. If you provide repeated trials, it's evident that the user, within such a period, should be able to create as many additional categories as they wish, but if afterwards you allow for adding any new note into such an additional category, users could find a way to create the necessary categories within the "trials", and then use the software as a quasi-full version, in the meantime.

Some applications allow for free shifting forth and back between "trial mode" and "free mode", without time limit for the former, but it's evident that in order to do so, AND to prevent free use of that combo as a fully-fledged paid program, they have to cripple their "trial mode" in a way that the user will never get the full "user experience" the paid version could provide to them, so what about some full 30 consecutive days of trial whenever the user is ready to switch to trial, BUT with a warning dialog if they didn't gather too much "material" up to then (too few items and/or too few tags): "Wouldn't you gather some more material before starting your fully-functional trial, or do you prefer just some 10 days of trial now, for just playing around with the full power of CintaNotes? The remaining 20 days of trial you can then turn on anytime you want to seriously bring in order all your stuff! - 30 days now - 10 days now - Buy now - Escape (must think about it before deciding*) (You will not lose any of these alternatives by escaping now)".

Any serious prospect (which means users who in case would also happily buy if convinced) will either chose 10 days or escape (abort would be the ugly, technical term here), and with every new update (or with an annual major update) you could make available the full functionality for another 10 days (and saying so then), but firmly withholding, after the first 30 days (10 plus 20 or 30 in one time), any re-organization capabilities. Whatever they will have formatted during those trials, will stay formatted (to mention another feature of the full version; never ever take away from the user), but those repeated trials will bring no chance to sort it all out anymore for free, while on the other hand you will already have gathered so much material that "Pro" functionality is really needed, while abandoning the program is out of the question now!

Similar renewed short-time trials could well help developers of other kinds of applications and even when no free version is available in parallel, since normally, the user will trial and then either buy or discard/de-install even, and then, in most cases, never ever trial again, all the less so since in most cases, since will be technically impossible, the trial/trial residuals blocking any new trial installation (or then it'll say "trial period is over"), while SHORT trials should be possible after every major update at least: 5 days every year, even with actively inviting the user to trial anew (and touting the major new functions) - but with an opt-out of course; rare will be users who this way will be able to fully take advantage off such an application, and it's 100 p.c. sure those will perfectly know all the other ways, too, needed to take advantage of trials as long as they need the application in question.

So, it's about giving the user the chance to really (!), effectively trial your application, and even when they missed that the first turn around for personal reasons, there should be second chances (and those users should know about them*), and if you do a free version, there should be repeated chances to get another, quick, but complete look, another 10 days with limitations, or another 5 days without any limitations (but then only once a years, not for minor updates).

*: For example, upon de-installation, not only the usual links to the developer's web site is possible, but also, from some (quantity-only) analysis of what the user has been done with the application up to that moment (and such quantity-only analysis - and which then, upon the dialog, should be communicated as such-only, in order to not enrage the user wanting to leave and who's very surprised anyway) is possible for any application, for example and also by timing the time spent within the application), from such quantifying analysis os real use of the application, the dialog could say, "You did not use this program much, just for creating and/or modifiying 3 files; instead of completely de-installing this program completely, why not leave it there for the time being, and have another trial [it's not necessary to mention here already that it'll be a rather short one] after the next major update? For that, this program will just ask once a month (!) for the existence of just an update (which then you can install or refuse, and also you will be able to de-select further such searches; except for this monthly check, the program will do nothing else! > "OK for now - No, get rid of it, I'll never want this crap again! - Esc (I'll have perhaps another look but don't want to decide now, in any case"

There are many possible variants within such a strategy, but any of them should take care of 1) never let go a prospect before they clearly say so, 2) not having them say so except when they really hate you (which means make offers, to not break the dormant relationship before it's really ice-cold, and which they very probably will not refuse otherwise), and 3) facilitate your prospects taking additional chances to get acquainted with your application afterwards, be it their "fault" last time around or be it that your application really wasn't that good enough last time so that you wouldn't have bought neither, hadn't you been their shoes.

And forget my 5 days above. Make it 10 days each time around, fully-functional, but not for minor updates, so that's it another 10 days once a year, and if you win your prospects' gratuitious "loyalty" by a free version, you don't even have to "sell" another trial: Your customers-in-waiting, once a year, are waiting for it, and if really they only buy after 4 years, discovering and experiencing that ace functionality which finally makes it worth for them to pay, that's so much better than having had them turning their back years ago.

Btw, the same is true for paid updates: Make them available for 30 days in a row, and if really then your customers don't want to pay, re-activate their recent version again. As it is, too many applications "sell" their paid updates from the feature list only, making it unnecessarily complicated for the user to go back in case.

It's about experiencing the usefulness of the full, of the updated version. This cannot be realized by playing around with dummy data, nor by not very clearly communicating or even actively inviting that the new version is ready for trial, even when previous trials did not fully convince the prospect.

And yes, most of the time, it's by lack of real data that web services trials fail. Are those web services vendors megalomaniac? Do they really think you leave your life data behind, begin some new service, out of twenty or so of the same kind and thus with no assurance you'll stay with their service? And then about your data which in the meantime have NOT been correctly entered into your life system?

It's one of the strengths of an application like CintaNotes that prospects are willing to enter some "addditional" data into it, data which up to then they probably would not even have stored at all, by lack of a quick, efficient way to do so. In order to sell the "Pro", make them dependent on it, and then have the "Pro" demonstrate how well it all can handle it.

I don't know how specific web services do this, but for example, when you got from Evernote paid back to free, they say you don't lose data gathered with paid, for example ocr. But the subscription model, when there is no corresponding free model (anymore), brings the problem of export, and of exporting in some format which henceforward will be acceptable to you, or let's put it bluntly: When EN becomes too expensive, people go to OneNote since that transfer is technically possible and convenient.

But it's very ironic that my model described above, multiple, fully-functional, time-limited trials in order to get free users paying or non-cutomers as customers, is even so much easier to technically implement in web services, while their model almost invariably is, one trial, then pay, or even, free with poor functionality, or pay for a year or so, then you can probably go back (if our free model continues to exist then). There could be much more flexibility, in order to push sales... or, in this case, service rents.

Btw, web space is rent, but web applications are not necessarily by rent: It's perfectly possible, technically, to buy your own web service you then install, say, on some amazon server; in other words, you'd not be dependant on some service provider, you would own your data and could shift it, together, with your web application, so some other space provider, or even to your own home (well, let's be realistic: office) server. The current situation is a transient one, where most web application developers see themselves as web services developers, alleged one-stop shops which in fact rent the web space they then rent out to you, and their coupling of data and of the not-making-available of their (for that: multi-customer, but would it not be multi-user most of the time anyway?) software is just for maximization of revenue reasons, so this should not hold for very long, corporate needs being different, and the needs of small businesses are, too. It's just that today's desktop software will go mobile, but its current replacement by web "services" will be ephemeral, it's just too much loss of control except for consumers.

Edit May 19:

Original short post was clearly worded as a placeholder AND was put here since I had wanted to give the possibility to readers here (thus the original title with "read this today Friday"), even when they don't check the usual freebies sites daily, to get the main example application in question for free, in a situation where my musings about the final subject weren't ready yet; at the same time I promised them for the following day (which for the freebie would have been too late), and I replaced the placeholder/freebie note that following day. (Another lead, from somebody else, in some other forum, was posted hours later than mine here; it was followed by a Thank you; the reaction here were quite different, weren't they?)

As for the "triple spin-off", I not only gave the abbreviated links and which do not contain the titles, but I also put the respective titles in parentheses, so that nobody, not being interested in reading the sources, was lent into following those links, in order to check them, since I made that check possible by reading the respective thread titles here. (Also, I put follow-up links into those sources, and in a similar non-obtrusive way, not as new posts over there which would have appeared in the thread list as such and would thus have incited readers to gratuitously open those threads, but as edits; with the exception of course of the main originating thread, in order for the main example application developer to easily find the link to my suggestions:

Since that developer monitors that originating thread, let's see if the 10-days-from-start-on will be changed to something else; for example, to very simple, to something like 60-days-from-start-on, as in DO; it's correct that DO has the technical means available, and uses them, in order to prevent multiple installs on the same hardware, while without those, there is a certain risk for the program to get unwanted free users, but those will be very few in numbers: the under-18 bunch who want to get anything for free no matter the effort, probably don't have so much use for a tool facilitating serious stuff, so there would be no real sales lost but many to gain, and if they really use, not only "own" it, even those "all mine!" kids will end up buying.

Some other little things I don't want to bother anyone with: Re Apple's Mac generations: it seems that both the F-key and the touchbar versions are from October, 2016 (with the said price difference of 300$/€), and that thus for some time at least, both versions will be available concurrently; also, the traditional wording for context-sensitive F-keys seems to be "Soft keys". - And last but not least, re software pricing: It appears that a higher price is also needed for status within a competitive environment, the proper term is "positioning", and then not so much more functionality is needed in the meantime: The higher price not only is accepted, but, conversely, helps (!) with the appreciation of the software/product as "superior"; I think DO does this extremely well, also since the premium (as put into perspective in the relevant thread interlinked and identified in this post) is very reasonable... while the surcharge for TB (ditto) is very considerable, but may also be reasonable, considering the very different respective user scopes (number of possible users) of a) a slightly higher-priced, very functional file manager vs other quite functional file managers (light premium not off-putting), and b) a strongly-surcharged data repository with graphical representation of items and links vs traditional data repositories (lists, trees) probably more convenient for everyday use of many users (then premium not off-putting either (very strong "exclusivity" factor) as soon as the alternative content rendering isn't off-putting anymore: if the main aspect isn't attractive but to a minority ("select group"), then those few will be inclined to pay even much higher prices, and instead of those prices harming volumes, they even facilitate the purchase decision: "club" effect).

Edit 2
Add-on May 19 - The Reverse Strategy: Hiding probable foils from the trial

In my article "On software pricing" and here, too, I spoke of TheBrain (TB) and its pricing; above, I said that neither CN nor DO have got any reason to fear an extended trial period; nor have many other applications btw.

But TB has, in a way. Some time ago, I had been surprised about the very poor import facilities of TB; maybe, they are better now, but I doubt that. My research found that TB staff was not interested in resolving this "problem" - at least, at the time, I had naively thought this would be a problem for that application -, and also, some user had written some import script, for some import format I don't remember, but after having unsuccessfully tried to sell the script to the TB developers, instead of making it available to TB users, he offered to sell it to them, one by one, at individual - maximized - prices. So that was then.

Now, in light of what I said above, and in light of what I know about TB, I see the whole thing very differently. When I said above, Give prospects a chance to trial your application in real-life circumstances, and thus after they will have had a chance to gather the necessary material in order to discover the strengths of your software, I now think that TB, while their trial period is the usual 30 days, it's not in their interest that prospects trial their application with large datasets, and within 30 days, those would either come from import or would simply be not (yet) there, in most cases.

Don't take my words wrong, I'm not implying TB isn't worth anything, I just think it's a quite valuable software for strategy, analysis and other tasks at hand, in the way of a spiced-up mindmapper. But those monster "plexes" they show you on YT and elsewhere, they look brilliantly and evolve the way they want you to see it, but you don't have a chance to WORK with those monster files with a maximum of items and interlinking, you just get the graphics' awe, but you don't get any feeling how it would be like to enter new elements into, or retrieve existant elements of YOUR choice out of, such TB monster files: You'd risk to discover in those processes that clarity suddenly isn't there anymore.

Now, by deliberately taking away, from most prospects, the chance to import their existing text/text-plus-photo databases, they limit the risks that prospects may discover that TB monster "plexes" are very probably far less manageable than their video presentations try to convey, while on the other hand, the quite little "plexes"/databases they will have the chance to build up from scratch, within 30 days, will stay quite functional and quite pretty, all the more so since trial users, because most of them will have to do it all from scratch, will be inclined to creae not one quite extensive "plex", but several quite tiny ones which will remain perfectly lucid, for example for strategy, planning, different aspects of one thing, and in which TB probably even excels.

This way, TB effectively optimizes (by intent - as suspected but not proven by me - or not, but at any rate by its outcome) the chances trial users will discover the strengths of TB, while missing its probable foibles before buying (and since it's a little bit on the expensive side, and since those users after buying and after discovering those possible problems will probably say to themselves, Oh, I could have discovered in time though!, many of them will then add, Ok, so now I have to negate those problems, in order to maintain my self-concept. A better solution to this dilemma would be to apply for some 60-or-90-or-even-180-days money-back guarantee ("no questions asked!"), and indeed, many applications come with a trial period AND such a refund policy - which, btw., is even another way of quicker selling of good software (but is often hampered by buyers not trusting such a guarantee from developers not having sufficient status in the market) -, but TB does not, to my knowledge, at least I searched google and their store faq in vain for it, and indeed, they would be badly advised to offer it (it's not specialized strategy-and-similar software). (Btw, current price is not 249 but 219, or the full monty for 299, 159 for subsequent years.)

As always, the example, here TB, stands in for the strategy it possibly follows or which can be applied to it, and the ideas described can thus be deployed to other use cases, even in dissimilar software or outside the industry. Regularly purging your forum from disturbing posts prospects may stumble upon is another successful element in any sales strategy and which of course is applied by TB.

Add-on May 25, 2017:
Another variant in inefficient trials: Trial too short to appreciate probable strengths, here not by lack of material but by lack of user experience

In the Navicat thread (link above) I probably spoke of its short 14 day trial. What I didn't mention though over there was the fact that I had installed and de-installed Navicat (not the free design version but the trial SQLite version) several times, and with de-installing always the same day of my install, but all that within those 14 days, so I didn't become aware of the fact that the trial didn't count my use days, about 2, 3 or 4 within the trial period, but that upon very first install, it set a final date of 14 days in the future.

Today, I tried another re-install, which worked, and then, upon opening the program, I was told to buy the program, and the dialog told me my trial was done at day x, some months ago.

Since that info is stored in some encrypted format anyway, somewhere on my computer, it would have been easy for Navicat to also store my de-installs, respectively, to store the respective lengths of installations, not in hours but in legal days, a de-install the same day counting for one day of installation; this way I would now have about 10 or 11 days of 14 left.

Why would that have been important? Since some months ago, I had been a bloody beginner with SQLite and just trialed the program by playing around; as explained elsewhere in this forum, I then went to SQLite Expert, for several things in Navicat for SQLite I hadn't been happy with, among them at least one replicable, big bug upon designing the database. Thus, at the time, because of that, I hadn't been that much more interested in the program's everyday capabilities for browsing the databases and editing the records, once the database design had been done.

Unfortunately, most SQLite database browsers are really, really bad, be they paid or not, and that's because most of them don't offer word wrap, in grid view, or even at all. Thus, when the text in some field is too long for the field's display, you must revert to horizontal scrolling within that field, which can become absolutely awful if the text length is not just a little bit larger than the field's width, but would need 3, 4 or more times its length.

As I probably said in the SQLite / SQLite Expert thread ( https://www.donation....msg408674#msg408674 ), SQLite Expert offers word wrap; at the time, I mistakenly thought this was standard for paid database browsers/managers (and as said, SQLite Expert even has got it in its free version); I could not have been more wrong.

With SQLite Expert, I'm not that happy either now since whenever you do not only browse records ("select * from ... where ... ...") but then want to edit some "find", you will quickly discover that SQLite Expert offers word wrap for display, not for editing then, and thus, every little change is quite demanding, if it's some real change, not only some add-on at the beginning or the end of the record.

So now I've been trying to find a better alternative, not for the design (which I did, as said, with (free) SQLite Browser / Browser for SQLite), but for retrieval and changes, and now, as said, I had to discover that even for display, even most paid SQLite browsers don't offer word wrap (for example SQLiteManager (3.9.5, 49$; could not trial version 4, being on XP). (Some would offer more complete text display in an additional blob pane, but only for texts in blob format, not for text in text fields, and AnySQL Maestro (free) has got an additional, multi-line field, but always says "n rows fetched" after a query, even when then you select some field within the results and expect the text of the additional field to change to the full text of that field; since that is so and since I had trialed SQLite Maestro (99$) some months ago and now probably cannot trial it anymore, I suppose that in that paid program, it's that way, too, but cannot say for sure.)

Rare are the SQLite browsers which at least have got some "memo" pane which means that the content of the currently-active field is also displayed, and more complete, in an additional field; also editing is then possible there, and in the original field. But then, some of the browsers didn't even allow editing at all, in the grid showing query results (with or without "F2" or other means), but editing records was some extra function in those applications and needed display of another part of the program in which, you bet, the search results of the query were lost but where you had then to search for the record(s) to edit by some "find" function (for example SharpPlus SQLite Developer, 49$).

Also, at least for editing, you would expect a no-word-wrap browser to then show a better, multi-line "edit field", but for example, SQLite Expert has got such a field within an additional pane for if you disable inline editing, but within that additional pane, all these editing fields are of equal size, which means that three quarters of the space within that pane is sacrified for big fields without any content worth mentioning (space for 300 characters or such for a field containing 8 or 10 characters), while for the field you need to edit, you first must scroll down within the pane in order to even see it, and then it's too short for its content, and you must again scroll down within the field - so much for coders and them designing GUIs.

Edit May 28: SQLiteSpy: No field editing possible even when "no edit toggle" is set to "no", allowing for edit. F2 doesn't work, double click in a field doesn't do anything, Del in the memo field does not work, just Backspace and inserting but the "edits" you do there then aren't replicated to the cell, and the menu command "Edit cell" is greyed out. From its name, edit is not included, so probably the edit commands available have been met there for future developments; no way to know since there is no help file. And so, [End of edit]

from these experiences, you will understand that now I had become interested in trialing Navicat (89) and SQL Maestro (99$) again, which for Navicat, as described, was impossible, and which for SQL Maestro would very probably have been impossible, had I tried against all chances.

Application developers, be their trials a laughable 14 days or the usual 30 days, almost all start from the triple premise that their programs are only trialed by users who

- have the time ready in order to fully trial
- have got the material ready to really trial (see above), and
- have the necessary experience ready in order to know HOW to "correctly" trial.

It's evident that only in rare cases, all three conditions are met at the same time, and for example, even a very experienced user - "experience" here meaning experience with that particular kind of applications AND with the tasks at hand within the context of their use - could get some new deadlines within the time frame they had the intention to trial the program, and thus, after technically having begun the trial, would have to postpone it to some later time: For most trials, even an immediate de-install would probably not help; see how it's done by Navicat or probably most others.

It's evident that my observations only apply to time-limited trials, while there are other ways, but it's evident that if the developer cripples the functionality of the trial, in many cases the user will either buy from assuming, from help file reading, from making the mistake to imagine the functionality, missing from the trial, otherwise than it's executed in reality - or they will refrain from buying, precisely from fear of making such mistakes, from some bad experiences of that sort in the past; the latter is my reaction to crippled trials, but if combined with a money-back guarantee, AND if I had some expectation that in case, I would get my money back, a trial could be made. (In the web, reports abound re the applications of some big Chinese consumer graphics vendor who systematically refuses refunds, while they strengthen it in their advertising though.)

The only notable exception within the time-limited trials and of which I know is Beyond Compare: The trial is 30 non-consecutive days - the thing I had tried to do with Navicat - but without the need to de-install the program in-between.

I hadn't had in mind that program when writing my original post because in the context of a note-taking program, it's evident that the use of such a program would be daily... but the re-arranging of the notes (tag-tree management) would be not. Also, make the note-taking possible any day, and limit the note-management to 30 days, would be possible as I see it now, and perhaps 30 days for that would be a little bit long IF there is no time limit to the distribution in time of these 30 "special" days, but you can clearly see the possibilities here.

It seems the developers of Beyond Compare are the only ones, up to now, who have understood - but without communicating their find to the industry except by implying it by how they realized their trial - that users, in order to really trial, must have the time, the (real-life) material, and the experience to do so - their trial meets all the requirements, for their program in question. (What they haven't understood yet is the need to do file compare incl. moved blocks; but that's another discussion, which btw has been done in their forum and in this forum here, years ago and without results up to now.)

It's evident that 30 non-consecutive trial days is very lavish and would probably not meet the requirements of most developers, but some non-consecutive trial periods with the same program on the same computer should definitely be possible, and without the need to de-install in-between, and it goes without saying that the developers should, as I described above, communicate the possibilities to their trial users, AND should communicate to them how to best take advantage of the trial set-up in question, in order to discover the strengths of the program - and all that within a framework that prevents the user from "using" the program for free. As explained above, smart (!) time limitations can do that, and without hindering the trial user to build up the necessary material in order to then much better appreciate the strengths of the program.

Btw, Navicat Lite only handles the very first 1,000 records of any database, not only on display of query results, but for the retrieval of any query result, too, so it's completely worthless; had I known this before, I would never had mentioned its one remaining download link here; I had thought it was helpful, but none of any free Navicat product ever is, as we thus have seen.

Again May 25: Allow (time) for comparisons!

In the above, I missed one simple aspect which does not even have to do with the need of first gaining some experience with that kind of software: The developer of good software should cope with the fact that a trial user will want (and has the "right") to trial several competitive applications. He should cope with the fact that a trial user may even choose to discard his* software, for some aspect or another, and then want to trial it again, since in the meantime, they (the user in question) have become aware of the competitors' foils, so that now they would like to check if they prefer to rather live with those of the provisionally discarded software (as I had, unsuccessfully, tried with Navicat, by de-installing it several times after just hours of trial each time).

It's evident that within even 30 days, let alone Navicat's ridiculous 14, such a "going back and check again" is not possible, and even 60 days will not be sufficient a time frame whenever, for any reason there is, the trial user will have discarded some software in favor of some other (for example for freewares, as in my case here, or then, when a user goes back to a free file manager but, with more specific requirements now vis-à-vis this kind of application, wishes to trial, let's say, DO again, 4 months later, the, apparently generous, 60-day trial period will be gone, too.

Thus, if you try to consolidate, to synthesize, all of the above, it becomes evident that any rather good software, which doesn't have to fear comparison (or at least any application which has got chances by the saying, "in the land of the blind..."), even on second or third try, should make possible such new trial, from a new perspective, which has now become a real "compared trial".

Thus, whenever possible, the developer should communicate his trial set-up and clearly state that it's in the users' interest to NOT trial every day but just for trial purposes, and that this is possible then even over a very long period of time, the application not storing private info, but storing trial days, AND communicating how many will be left. Also, this info should be stored whether the user de-installs the program or does not, so that even a previous de-install will preserve the remaining trial days. It's then up to the developer to prevent trial users from using his application in lieu of the paid program, by ways of combining with a smartly devised set of full functionality vs restricted functionality.

For note-taking programs, I gave an example above (continuous note-taking but management of notes only on special days, and certainly not 30 such days spread over a very long time), and for a database viewer or a file manager, it's evident that further trialing would not necessarily include saves of changes (IF this lack of functionality is clearly communicated: bulk rename's preview without the rename, copies/moves intercepted by a dialogue "n files would have been moved now", and so on: in good code, that would be a thing of just some minutes for every such functionality withheld from completion); it's just that all the functionality should be available in demo mode ("what does it do, how does it do it, by which (necessary) steps, by which GUI interactions):

It's about re-checking if you're willing to live with sub-optimal software, now knowing more or less intimately about the sub-optimality of its competitors.

*: I say "he" for "developer" since probably about 1 out of 1,000 developers isn't male (even Judy's Tenkey is (now) programmed by a man).

P.S.: I know about technical means like virtualization, restore points and so on. I think most software is for the general public, and the better part of that general public should not to have to be bothered with considerations like, "should we set a restore point, then trial some applications we've been eager to trial for some weeks/months by now, then go back to the point and have Windows updates reload for hours, let alone problems with mail and such of the meantime, and not even thinking of our not being allowed to set any settings from now on, for weeks, within our regular programs?"

That's all ridiculous: Make your application available to users; don't have them resort to convoluted stratagems in order to overcome fears of even some little "looking into it" making it unavailable for them for all future, short of buying (almost or completely) blind.

EDIT June 10, 2017: Make available the trial without asking for too much information
The (immediately) following isn't a new idea at all, but it hadn't been mentioned here: It's common understanding that by putting up too many hurdles before the possible begin of any trial, developers harm their business.

Just recently, I would have liked to trial WinSQL (free, 99$, 249$, from Synametrics) since the "Prof." and most expensive version looked appealing to me. They've got a trial in the usual form, it's 30 days for "Prof.", which then reverts to "Free". Unfortunately, they don't give away this trial but by
- asking for full disclosure, incl. street address, telephone number, etc., AND
- they say you'll receive the trial link by mail,

which in combination, in most cases, means that if you fill in dummy data into their application form, you won't receive any trial but they will first try to reach you by telephone, during their business hours. This is an incredible nuisance; it's similar to only get prices for some car or other assurance but by giving them all your personal info, and then afterwards you'll be flooded by mails and letters (when you will have unsubscribed from their e-mail list), and they always speak of your "application" when all you ever wanted had been some price.

It's not identical since Synametrics DO give a price, but as for all the rest, they do exactly as those developers for which a price must be a quote which means they try to get the max price from anybody, googling first their name, corporation and all that, and then think about the price which they will offer to you... all this when you don't even know their software except for their marketing speak and, perhaps, some screenshots.

Ok, ok, cynics will now say that the fact that probably 90 p.c. of all non-corporate users will back from ever trying is WANTED by those developers: They simply aren't interested in your (here:) 99 or 249$, but that they want only sell in numbers*.

To me, that appears to be exactly the opposite of what some other developers do: They (almost or really) give away their software to students, in the hope of them, later on in some corporation, will trigger licenses in numbers; this latter strategy can be VERY worthwile I think (ie if the software is of use in corporations, AND if it's particular and strong enough in order to not being overwhelmed by some other, competing software which isn't a competitor but simply has got almost all the market), while the strategy of "not interested in your bucks, and we let you know by pestering you" is just dumb**.

*: If they don't even do it for that effect but because they're just dumb, it's even worse, since, as I said above, there's really nothing new here so they should know better.

**: Of course, they hope they will have less customer service to do (10 licenses for the price of 8 but only 4 times the effort), but then, that's another misconception: Developers should do MUCH better help files AND charge for answering questions which are clearly (!) answered in those help files ("clearly" also implying "easy to find"): Clarifications needed because of a bad help file are not customer service but just product development, and customer service should be paid for - when developers complain that users don't read their help files, I'm sure they, the developers, do it wrong on BOTH ends here.

Some developers install a user forum, also in the hope that users will answer questions among them. This works, to a degree; in reality, the developer will, in most cases, either have to answer the question himself, or at least intervene after partial/wrong answers from fellow users, and this again and again, since the clarifications are somewhere in the depths of his forum, instead of being added to the help file, with just a short link to the user forum - the first time the question comes up; after that, any "short link" would trigger almost the same effort, and even checking the questions would cost time.

So you can see that a traditional user forum is to be avoided: Much better is a double help file, local and in the web, with monthly updates of the local one from the web one (not scrambled, no effort), and with amply links from the former to the latter (or even automatic updates upon every local consultation).

Then, users/buyers would put their questions into some field "in" the topic or near/"above" the topic (within their local help file, ie with user identification, and after the update check), ie into the field of a possible parenting topic***, and they either will get an invoice (10$) or a "thank you" and the link to the updated/newly created topic; in borderline cases, they would get a link, no invoice, no thank you either (and the developer should think of some additional clarification).****

And after some years, that software would have got a perfect help file and a very pleased, disciplined user base, instead of some inscrutable forum and an overworked developer with no time left for real development.

***: It goes without saying that today, it's so simple to put one (sub-)topic into any context it's needed ("cloning").

****: Wishes for the software would be handled the same way, they should be put into some inbox or into "related" subjects, and then be put, by the developer, and together with his opinion, into special help file pages (what about a different background color, chamois instead of white?) but which there are at their systematically-correct position: "Function xy? No." (and then the developer's argument for refusing them); "Function yz? Not yet./Will come soon./..." (And the circumnavigation for the time being, example for missing OCR in some information management package: How to use basic OneNote/EverNote for that while waiting.)

This would build up strong customer loyalty and strong expectation in order to ensure users regularly "go with" paid updates, and such a system could even become a reminders system for users having not updated: They would not only get the help pages for their current problem within their current version, but they would also get all the NEW pages, but in pink, in order to see what they all miss!

Btw, that's also the perfect system in order to get rid of "old" help pages within the online help system: As it stands now, almost any software with a forum has got 10- or 15-years-old help questions or bug reports which for 10 years or so have not been relevant anymore... but SOME of there still are, concerning problems which have never been resolved, so any non-expert-user, let alone any prospect, is LOST in those forums, not knowing which topics are of relevance now.

Ditto for bug reports: Just on the help pages to which there are of relevance, but with orange background, and any update will delete the pages bearing resolved issues, or will update those which have not been resolved ("we didn't find the cause but continue to search for it").

In development, well-organized developers all have got some "table", some database for follow-up of issues, but after release, they are willing to live with forums where about 80 or more p.c. of the messages either have become irrelevant or are (partly) wrong/misleading now.

Why do software users have to live with such a mess, which then prompts 2/3 of their new questions btw? Have your state of affairs online in real-time, and users and prospects will extrapolate from this superb organization (which, as implied, demands far much less effort than the traditional ways) onto your software, will happily cling to it, will happily buy it, some "not resolved/possible/available yet, but we're working on it" issues notwithstanding.

Demonstrate your program can be put into an up-to-date, systematized knowledge base; don't allow for users which, in 2017, want to know how to set sound track and sub titles of some DVD in Zoom Player, to be shown on page 1 by google tips from 2004 about that (not even how) to install additional "filters" from somewhere, not knowing if possibly in the meanwhile (13 years!) they COULD find the individual language settings somewhere! (See my Zoom Player add-on in the Software Pricing thread about ruining software by withholding base functionality.) Btw, it's also a sign of respect to not steal hours of wading thru some forum with thousands of posts and almost no info about the current state of the issues discussed over there.

In a word: Make your help file interactive. (I've never seen this done; if you have, please share the link(s); and I changed the title from "about" to "around", in order to align it to my add-ons.)

EDIT June 11, 2017: VIP Customer Service (incl. No-Reply) at Cyberlink
Yesterday, I missed relating some real nice little story perfectly illustrating how dumb people can be when they try to coerce you into their product by all means; this as an add-on to my WinSQL story where my interest in some software product had been aborted by too much zeal on the side of the developers, too.

Some time ago, I've had a question about PowerDVD, clearly stating I would buy immediately if the answer was yes, and that was indeed my intention.

First reaction from Cyberlink, the usual automated receipt, nothing to say against this, except perhaps for the more than ridiculous "VIP" name, but perhaps that appeals to 13-year-olds; on the other hand, pricing's a little bit on the steep side for little children**, but it would have ok with me. So:

From: CyberLink Customer Support [email protected]
Customer Support E-Mail Response
Dear ...,
Thank you for contacting CyberLink Online Support.
We are handling your question and will reply to you shortly.
Please do not reply to this mail. It is an automatic response and has been sent to acknowledge that we have received your submission.
If you have further questions at this point, follow the link below to edit and resubmit your question.

Then I waited a few days, and in came the second reaction from cyberlink, and again I got the real VIP treatment:

From: CyberLink Customer Support [email protected]
Customer Support E-Mail Response
Dear ...,
We would like to inform you that a response to your inquiry was posted at the URL. Please visit this address to view the response.
Note: For your personal privacy, a CyberLink account is required to view the response and keep an inquiry history. Get a CyberLink account for free right now!

Isn't that lovely as a treatment for eager would-be customers? Needless to say I've never created my Cyberlink "account" and have continued to use WinDVD instead, and I'll never know if the answer was yes or no:

If it was no, their way of treating my request would have been particularly nasty, stealing an additional 10 minutes of my time for the "account" creation, and if it was yes, their try to manipulate me was a hilarious fail, creating lose-lose instead of win-win, and they should have foreseen that, in order to not get treated like sh** in case of a No, I couldn't create the - then totally useless - "account", so a smart correspondent would have said, "It's my pleasure the answer to your question is yes. Please create an account with us in order to get the details how we'll do it!", and I'd be happy to go into that effort; this just as an advice how smart customer service staff could at least individually overcome the blatant dumbness of their superiors.

AND of course, there are some - rare - developers who not only prevent prospects' writing in their forum, but who even prevent them from reading in there; even though I don't remember the name of the product(s) currently, I've seen this at least once, quite recently - so much for sheer idiocy for today?

NO: I changed this thread's title again, why? Because, together with the term "conceive", "trial" will get you to artificial insemination on google, and almost exclusively so, and that's why I think the additional term "software" may do no harm here.

AND: The above cyberlink "links" ain't links, but they remind me of some artificially-created problem: Who invented that idiotic idea to abbreviate links in web pages in the first place? Weren't they aware that there's no link left when the reader copies the text which contains them, to some zettelkasten*? (It's said there's a special FF add-on which then fetches the original links from the source code and replaces the abbreviated ones in your clipboard with it; should try that, but it would be so much less fuss to have correct links in DonationCoder, for example.)

*: Oh, one more, this reminds me. In spite of a 10-minutes' search, it has been impossible for me to find Tietze's own zettelkasten product, neither on his site nor on his site - just other products, and third-party zettelkasten software he recommends for Windows/Apple; probably it's a language problem (it's all in German over there (?)). But then, I would have liked to at least find some note with regards to that - defunct? - product, so we can note here: Communicate about things people MIGHT (still) search your site for, and be it solely because that reflects - both ways, positively or negatively - upon the other products you still sell.

**: Oh, what did I say? They ARE still real links, and they'll inform you: PowerDVD 50 p.c. off, just 85 bucks now, but just for a few days, so hurry up, and this will put their VIPs into ecstasis minus 70% (as quite very often during the year, see my remarks over in "Software Pricing" which apply here), and who wouldn't have wanted to be a PowerDirector for cheap at the age of thirteen? (Just 80 bucks; alternatively, there's a vacancy for a PhotoDirector if you prefer stills, just 50, down from 169.94. Oh my God what a treat.)

Currently, I had the occasion to admire the new Apple touch-bar; new Mac Pro's had it and started with about 2,000€, the 2016 models came without it (but with F-keys instead) and startet around 300€ less.

Apple certainly has had it patented, but they are re-inventing the wheel again (they did it with the iPad - there had been a mobile touch-screen device before by Microsoft but which was too bad, too heavy and so on), and somewhere I read "this software is touch-bar ready" indeed, while in fact there had been DOS programs with context-sensitive F-key assignments, or in short, context-sensitive F-keys.

It's very difficult to find such context-sensitive F-keys in today's Windows software, I cannot think of a single one at this moment, and I think I've read somewhere some discussion of it coming in the way of the user, being unspecific, being error-prone and all that; I doubt this, but cannot speak from experience; it's very interesting that Apple now does exactly that thing, and I suppose that now that it comes from Apple, the old criticism will be very subdued since openly hating it would be "Apple-hating" this time; as said, I'm in favor of it, I'm just hoping that it makes its way into Windows programs, too!

I say it's not different from the old thing, you will answer that's not true. So to start, here's a good introduction: http://appleinsider....h-id-for-macbook-pro

First, it replaces the F-keys, it doesn't come on top of it, but even if it did, it wouldn't make any difference. The current assignment of the (virtual) "key" (tap on the touch-bar) is indicated by changing lettering there, but this means - within the frame of the criticism that it's not unambiguous and error-prone - that you first must read what's available, or at least check that there it's the function you expect to be there, and then only you can move your finger there in order to activate the function, since before, your finger would cover the lettering; this takes a moment of time.

The touch-bar isn't only for traditional functions, but also for text expansion, which is probably a very good thing; since the suggestions are of different length though, I suppose that this means you cannot count on suggestion 1 being on a certain place of the touch-bar, suggestion 2 being on a certain other, defined place there, and so on, but that you first must read what is where, and then tap there, so the moment of time, referred-to above and needed for reading before tapping probably cannot be shortened or avoided.

How did those DOS programs convey the info? By using the bottom "line" of the screen in order to display 3x4 F-key symbols there, together with their current meaning, here's an example from wikipedia: https://en.wikipedia...le:GW-BASIC_3.23.png - note that the symbols are of different length and thus could have contained text expansion suggestions, had that concept been already invented at the time. Here's another example, even more basic where they do without even the symbols but just do a list: (both screenshots, by scrolling down).

Note that those screen symbols/texts are readable from the moment on the function is available (as is touch-bar lettering), but then even up to the moment you will have pressed the respective F-key, so there is available (but not forced-upon-you) a possible and wanted overlapping of checking time ("yes, it's well the function I expect") and time for moving your finger to the F-key in question, so at least for functions where you just check and don't need to really inform yourself anymore (learning phase), it's bound to be speedier than the touch-bar variant.

It's evident that in order to be speedy, the F-keys must be grouped on the screen (3x4) which in my 2 DOS examples above they were not, but that was 35 years ago (they were not for 3x4 but for 10 F-keys in 2x5 rows to the left of the keyboard); also, it's understood that the touch-bar has quite high resolution, and that your screen also should have quite high resolution in order to brilliantly display 12 different texts in 3 groups and in one single line, but whenever that condition is given, the F-key-plus-screen-display should be speedier than Apple's touch-bar, at the very least for often-used functions, since F-keys always are at the same position, while the relevant function on the touch-bar is not, necessarily, or at least the boundaries of the functions are not that distinct as with physical F-keys, so at least some visual check, before moving your finger, is needed for the touch-bar command, while for F-keys it is not.

So it seems that the touch-bar is just another eye-catcher - yes, it's cute when you look at it in the store -, but its full functionality should be replicated, both in the Mac and the Windows system, by physical F-keys plus visual indicators on the screen; 3x4-groups give immediate indication which F-key to press, even without looking out for their respective number, "counting" them or otherwise. Also, I doubt very much that the touch-bar of a tiny-and-cute MacBook Pro will present more than 12 different functions at the same time; if it really does, this will sharply rise the time for reading/identifying the correct function, so that could not be regarded as an advantage at all - the same is true for big screens where the readability then is much better, but the "findability" will not rise accordingly.

As for the old criticism that it's not explicit: First, now it's Apple which re-introduces the system, so it's above "hating" but has to be accepted as anything else that Apple pushes into the market. Second, bear in mind that it'll spare you, to the extend of the application of this system, both to have to remember weird key combinations, and to then press them (hoping you'll press the right one). Third, bear in mind that you always have the "help file" before your eyes, and that even if you lose time by needing to read the lettering, you'll quickly find the correct command, while in the alternative of dozens of multi-key combinations (Shift-Alt-Something and all that) you do not have the help on-screen but you will have to look up the right key combination elsewhere, in some file or some brochure.

Fourth, bear in mind that it's perfectly possible to allocate standard functions (F3=search again) to their standard keys (F3 here), and that there will not necessarily be a mix-up of it all; this will depend on the courtesy of the developers, and in order to have users accept their software, they will have big interest in observing standards, like they now have in observing menu standards or ribbon standards; we all tend to discard software wherever possible when they don't observe standards. Also, it's possible for example to assign some 4 keys, F1-F4, for functions which are available from everywhere, while only F5-F12 may be context-sensitive.

Whatever you think of my endorsement of that Apple re-invention, it's obvious that its functionally better variant, F-keys plus 3x4-groups in bottom screen "line", should be made available in general, for Mac*, Windows, Linux.

*: The irony is, Mac developers who sell their software as "touch-bar-ready" will probably not adopt it to F-keys since that would ask for some hours' work, and "modern" Macs, as said, don't have F-keys anymore (like, they told me, Macs do without any mouse keys except one) - but that's no reason for not making the context-sensitivity paradigm available again for pc and elsewhere where Apple cannot discard the F-keys. Since it has always been there, even dormant, I doubt Apple got the whole concept patented (perhaps for text expansion? but even that should be available on F-keys, Apple re-inventions notwithstanding).


And bear in mind the traditional key combinations (Alt-F4 for example) would remain available, and, depending on the agenda of the developer in question, even ALL possible key combinations could remain available, even re-assignable by the user, as we know it from many a software today, as alternatives, so a given function would be some key combination OR some context-sensitive F-key, at your choice.

You would, in theory only, "lose", in my concept above, 8 F-keys out of 12, BUT what are those functions currently which you really need to be available from anywhere in a given application? In reality, those F-keys are dormant most of the time, while you effectively need other commands of which you will have to remember their weird key combinations, so in practice, do you really need F11 for "maximize" all the time, or could it be Control-F11 instead, from now on, and F11 (as F5 and following ones) being readily available according to context?

Also, what is "context"? This concept of context could be quite broad, for some keys (F5...F8), and quite narrow for the rest (F9-F12), which means that some keys would be available, for the SAME function, in EVERY situation where their function would be needed, so you would not need to muse, is it the right context here or not, or check visually, but you just press the key, you're certain that it'll work the intended way. While the "upper" F-keys are very specific, and thus have their specific meaning in very specific contexts, so for them, you may check indeed quite often if you don't use them, in that specific context, all the time. Now compare with rarely-used commands with some control-alt-something (which you won't remember from now for the next occasion 6 weeks later), and you see that the context-sensitivity paradigm is superior both for often-used functions and for rarely-used ones.

General Software Discussion / On software pricing
« on: May 06, 2017, 04:36 PM »
(EDIT May 8, 2017: Repair of the mix-up: Put #1 in frame 1 and #2 in frame 2, which should also change the title of this thread.)

Starting point of this thread has been timns'

Personally I have no problem paying a reasonable chunk of change for something that I am going to get a lot of use out of. The example of DOpus is a really good one. God knows how much I have used that software, and how many hours it has saved me both at work and at home. So is 80+ bucks a lot for that?

I think: no. I wouldn't blink at paying that for a decent pair of boots, say. Or a warm jacket. Or even a decent bottle of plonk. Hell, how about filling the car with petrol?

So I still struggle to understand why there's a very strange attitude to paying for software compared to just about anything else.

and several answers over there (all page 1 there): superboyac's software pricing table, nudone's answer and wraith888's own pricing table underneath it: https://www.donation...ex.php?topic=25742.0 (all on first page there). So:

It is certainly correct that any price has to be viewed with respect to usefulness of the software, which can be divided into several aspects: frequency of use (quite cheap but not free tool used daily: no brainer), intensity of use (quite expensive file manager but which you use almost constantly*), returns of the use (either in terms of direct money* or in terms of productivity, in comparison with similar tools*), likeability (you just like the looks of some software while similar software may be cheaper... but the more expensive one may either even produces better results, since you really like working in it and thus you work better it, or just you have more fun with it which is also kind of a return even if it's not a financial one)...

*: Directory Opus has been mentioned in this respect and stands for other, business software in the following respects:

Perhaps it's quite time-consuming to set it all up in order to really take advantage of its special features, and if people don't have/take that time, the price extend may not be worthwile; this can of course be worsened by regular update prices, or update price extents (compared with similar software) when the user does not take/find the time/quietness to dig into these optimization matters. The above discussion on DO shows this: Perhaps there are possibilities, but they are not made evident or readily available, and so for those users in question, they are NOT available for the time being, even if they are there. From the developer's point of view, it's obvious that they should try to clearly communicate whatever is possible, and how that is possible, and it also should be made possible in easy, clearly defined steps. The DO help file is not bad at all, but they don't integrate realizations for special wishes into it, so that the user has to browse the forum, and more so, has to put together the necessary steps in order to get to it, which many users will not have the time to do, and ironically the users for which the price is no consideration at all. Simply put: If you just use it as the Windows file explorer but with two panes, a lifetime license of a competitor, at a price less than the initial price of the alleged superior contender, will do, and will do indeed for most people.

As implied in the paragraph before, an important factor is the existence or non-existence of competition in the field, and here again - but this does not apply to DO and its competition - the readiness-of-availability of extra features in that competition. I say this does not apply to file managers since the much cheaper file managers do not make readily available their extras either, so the problem of using them just as an explorer replacement with 2 panes is present there, too, and so it often comes to some sort of a feature list race, most of these features never being used. It's ironic and very understandable that those who dig deeper then quickly form sort of a select community for and in which the price is perfectly justified, and tout it, to people who don't have the leisure to get into it and for which the price, in view of the cheaper competition, is not justified. Here again, it's about the making readily available the extras, with and without the help, I mean by the help file and ideally even without needing it.

For direct monetary extent returns of some software over its competition, file managers may not be a really good example, but I'm sure many business software can trigger such direct surplus return over its competition, and then it's up to the developers or resellers to prove this / make this understable and plausible upfront in order to justify the price extent. End of *.

In general and except for software which immediately helps with producing monetary returns, public appreciation of software prices has very changed over the years, by the fact that by Microsoft products available to mass markets at incredibly low prices, the public does not see the individual programming effort, but the price in relation to the package, and this has never been as evident as nowadays since Microsoft Office 2016 is available UNDER 10$/euro (incl. even VAT) everywhere, including some totally incredible package for the price, which by that not only affects competing products (text, spreadsheet, mail and so on) but also software in other fields which often appear "poor", too basic in comparison, and spending some 100$ plus 25$ VAT for some simple software becomes indecent (EDIT: becomes "indecent": I wanted to express that in direct comparison, many users will have the feeling that it's "indecent"; the mention of clothes above is of interest here since at similar prices, you get similar quality, most of the time, while this rule, in software, by Microsoft, has been broken indeed; not by Adobe, though, since they charge indecent prices month after month for quality which is not superior in every aspect...) , running on a pc on which a complete Office 2016 runs for almost nothing. (On the Apple side (Mac, but not AppStore), this has been a little bit different, so developers like to program for Mac, and that often shows by better quality of the software.)

I'd like to give a recent example of a price roller coaster. IdeaRover is some academic text program possibly including citation management, but I don't know to what degree (maintenance, formatting...). It does not seem to be an "outliner" integrating resources and texts-to-write-from-those but manages with two different lists for the former and for the latter. (I had wanted to try it but it doesn't work on XP anymore.)

That program was 89$. Then it was 249$, but not for long. Now it's 99$. Which reminds me of an additional criterion which is the presence not only of cheaper competitors, but of free ones, most universities having one such academic writing software as a campus license.

Which reminds me of file managers where I use FreeCommander almost exclusively, holding some paid licenses for competitors, too, but those tools are totally dormant on my pc, so imagine they changed their price policy to a subscription model, ha!

ANOTHER EDIT: Sometimes, the value of the higher priced software is invalidated by missing or very poorly executed basic functionality. For example, xplorer2 may be superior to FreeCommander, but has not got any "favorites" management worth mentioning; even the Windows Explorer has got some much better one. The one in FreeCommander is not ideal either, but it's functional, as are for example the file rename possibilities, regular and RegEx, too, very intuitive and of big everyday use. So if I had properly appreciated/known these differences, I would never even have bought xplorer2. This is not to criticise xplorer2 which must have many qualities I don't even know, but it's another example of where when buying software at a certain price, you (sometimes wrongly) expect all the basics being there, and well implemented, when in fact it's perfectly possible they are (almost) missing, and then in your daily use, you replace paid software with freeware. Such experiences then also have the effect that when in doubt, you don't buy (but after an extensive trial perhaps, but which may never take place then, so the purchase will not take place either: in this respect, DO's trial of 60 days instead of the usual 30 is a smart move, since it gives you time to discover qualities you may have overlooked by a trial in a hurry), when before, you bought and weren't even in doubt about possible missing qualities.

EDIT June 5, 2017:
Title change and intro
(Previousoriginal titles: "SQLite, SQL, SQLite Expert", then "SQLite, SQL, SQLite "Expert" (ha, ha)", for lack of warnings when stacking up database updates which in combinations can get dangerous and which you would do one by one if you did them by hand)

This thread does NOT intend to replicate the usual sql intros, but wishes to give additional practical advice for beginners those intros' authors did not think about.

Original post:

First, some quite obscure trap for beginners, stackoverflow helped me to find that out.

For many a command, not using quotes (single or double) will work fine, so you will not discover it's faulty syntax.

for example
select * from tablename where somecolumnname = somestring
will work fine as long as there is no column (another column) which is called/homonym to somestring

select * from A where T = V
will work fine and display all records where there is a "V" in column "T"
IF there is not another column which by any chance is called V

IF there is, SQLite will simply do not show the resulting records, no warning, no error message, nothing, so when you've got some other columns and your requests work fine in general, it'll be probably a lot of time before you realize SQLite will not display many wanted query results.

You know ask why would anybody call many columns by single characters, and also many string values by single characters, to begin with? That's right, but I had just a few 1-character columns, incl. "C" for Code, with 1-character codes in it, for several, different todo-categories, just 6 or 8 characters in all, all single ones, and so I wanted to have it neat and without sacrifying space, and so I called that "Code" column "C".

This works fine, except for my code "h" in column "c", since I also had another 1-single column called "h", and without the quotes, SQLite is unable to differentiate column names from values if they are identical, even if you would have thought that the "where c = h", by its syntax, must have told SQLite the first is a column and the second is a value, but no.

Thus, it's absolutely necessary to write in the official syntax

where "columnname" = 'value'
which is double quotes for identifiers and single quotes for strings/literals
(if at least it was the other way round, I could memorize that better...)

in order to avoid lots of problems which, as the above use case has shown, are far from obvious and could have you get incomplete results without even discovering the problem.

EDIT June 1, 2017: Title change; see next post

EDIT / Add-on June 5, 2017: Null
The web abounds of discussions if you should use null values or empty strings; I won't add to add to that discussion but rather want to indicate some more beginners' traps caused around Null/empty values; btw it's of interest that Oracle's and FileMaker's sql flavors which both try to do away with the Null problem both don't succeed at it, so switching over to them will not allow you to ignore what it's all about.

When I imported my csv data, I did that, as I said further down in this thread, in SQLiteBrowser 3/DB Browser for SQLite (they don't know how to name their tool, it's not 2 different tools here), then opened my databases in SLite "Expert" (see next post), since the latter's "Personal" edition doesn't allow for import or export (but you can do some select, then ^a, ^c, then treat the resulting csv clipboard by macros, for example for printing or for exporting the data into anything else).

So the first problem described here may result from this 2-step setup. Anyway, blank fields from the imported data were zero-length/empty strings, while the same for records I then created in SQLite "Expert" (fields I simply left blank, in newly created records) were/are Nulls. If you don't know databases at all, you will think that's the same thing, database experts will laugh about what I describe, but for database beginners, it's important information.

This also implies two things: You should start your database experiences with data you intimately know, and/or you should always set the option "display Nulls" to "on"; both measures will help with at least becoming aware there are problems. Since, and that's the problem, your selects will not display the expected results if you don't  always cope with the " where x = (or <>) '' [these are two single quotes, not one double one!] or where x is (not) null" problem you will have got now.

Also, traditional logic is different from SQL logic, and you must become aware of that phenomenon, too. To start with, we use the (possible) column setting "No Nulls allowed here" for "in no record, this field must be left empty", but in the SQL 3-tier-boolean world, this just means "absence of Nulls", not of empty strings; similar for boolean fields (yes, no, null (allowed or not)) and for numeric fields (some number, null, or, very bad in most cases, some "special" value for "no number here" from developers wanting to avoid Nulls at all (and in case very high) cost.

Also, you should google for "not in vs not exists", and even when you think you are aware of the problems and do it all correctly, you probably get wrong query results again because of your having left out the fact that Null is NOT the opposite of "True"/"Yes", and that this logical sql truth extends to any field type in sql.

Many authors insist on the fact that Null stands for "unknown"; since we also and even mainly use it for "no value"/"field empty", and the meaning of "unknown" is rare, we may overlook the fact that as for the sql logic, these authors are perfectly right. And we fall into the trap of writing "where x <> y" instead of writing "where x <> y or x is null": In our logic, Nulls are excluded anyway there, in sql's logic - which we must observe when we want to get correct query results -, it's "who knows about these Nulls?" instead, so they have to be mentioned separately in your query in order to deliver correct results.

Somebody in the web wrote something along the lines of, "Which consumers/non-professionals still access data directly, nowadays?" - well, it's the traps in sql which discourage people to delve into sql, since they prevent them from getting the expected results. It's correct that you would have to delve deep into sql in order to gain some real expertise in it, but some advanced facts must be known to the beginner, too, from day one; it's not like playing the piano where you safely attack some piece of Kinderszenen without needing to know anything about the intricacies in Kreisleriana.

General Software Discussion / Navicat Review
« on: April 22, 2017, 12:44 PM »
In my tries with SQLite, I played around a little bit with the "Navicat Data Modeler" which is not cheap; in fact I played around with the free "Essentials" version which is not a lite version but a demo one, in fact, you don't get any data in nor any data out, or perhaps then with the 14-day trial.

Playing around with it was lots of fun, but some points I didn't like at all, so I tried to have their point of view about them on their forum. The sign-up for their forum does not take several minutes, but several days (!), and then I wrote:

Navicat Data Modeler is graphically very pleasing and functional, but I miss some functionality which would greatly enhance my productivity with it:

There are no visual comments indicators for fields (see Microsoft Excel such for indicators). This makes a lot of unnecessary clicking (see next point) and mouse-overs, in order to detect possible comments.

Reading comments by mouse-over needs the respective table to be really selected, just the pre-selection does not display anything. Or you call it pre-activation and activation, respectively, or something else, anyway: the "pre" thing will color a frame around the table by mouse-over, but will NOT display any comments; for that you must really activate the table by clicking. This is counter-intuitive since you cannot freely move the mouse over the whole canvas, in order to read a comment here, then another there, in another table, and again in another one. It's all a lot of unnecessary clicking, and then even searching for possible comments (see previous point).

Link-lines (foreign keys) are not field-to-field (column-to-column), but just table-to-table.

The field (column) fields are too big, so the tables become too big, too, and take too much room (screen real estate). I've seen flowcharts where these symbols were less big, so you get many more table symbols on the screen of a given size.

The grouping of tables does not work correctly in all instances; more often than not some tables will not follow when moving around. Also, I would prefer named layers for table groups, with one table being able to belong to several named layers (!), and with a multi-selection layers list, i.e. the user could display just one layer, two or several of them concurrently. Ideally, outgoing or incoming link-lines to/from tables not visible currently would end in sort of an end point with the name of the table which currently isn't displayed, and ideally even with the target/source field name.

Navicat Data Modeler is ideal for constructing databases with 100 tables and more, but it's precisely with such big projects the realization of the above wishes would help enormously.

Which gave:

You are not authorized to create this post.

This is different from:

The string you entered for the image verification did not match what was displayed.

Of course, I tried on several occasions, on several days...

For the above, it's important to know that their "Modeler" does of course not add comments to SQLite, even if that would be terrific to have (for example by an SQLite database in Navicat which would load the comments for display, and could even write them into the SQLite code, into some comment lines block for example), but I discovered the joy of having field comments by playing around, selecting "MySQL" instead of "SQLite".

That being said, I also tried their "Navicat for SQLite" and discovered BIG bugs, by trying to insert a column into an existing table, instead of inserting the column, Navicat wrote the data from another column into the rowid column and so destroyed the whole table, no "undo". Inserting columns into an existing SQLite database is not that easy, as I then learned from forums, but both SQLite Maestro (trial) and SQLite Expert "Personal" (free and highly recommended) correctly do the necessary intermediate steps (and in no time) in order to execute this task faultlessly.

If this 1000$-plus-VAT program (updates for 3 months included) "Navicat Premium" does do similar mishaps in other databases or when translating databases from one format into another, that'll be fun!

Fact is, building a database from a graphical representation is real fun, but only when you can organize that work according to what I say above.

Current "Essential Premium" is 160$ plus VAT (had been 40$ when the "Navicat for..." subsets were 10$, they are now 40$ each), but if you're willing to live with a quite ugly, old version instead:

Extensive search had me find the only (?) surviving download link for the last version of Navicat Lite 10.0.3: (download dialog for NavicatLite-10.0.3.exe will appear in about 5 seconds)

Edit May 8, 2017: Title Change

As I had said, I had tried to work with a Windows 10 Professional machine during some days, and for probable motherboard problems, I didn't get that system stable. But I also I had problems with command line tools which W10 Prof. systematically refused to execute, notwithstanding all my tweaking tries from hours of reading respective tips and tricks on web forums; I suppose that W10 Home would accept these tools executing but for other reasons (establishing a little LAN network mid-term), I would like to get W10 Prof. instead, so I would like to find a solution to these problems.

Those tools are for example in the form (from the "run" window, then the following, then enter/return)

toolpath\toolname.exe someattributes sourcefilepath\sourcefilename.suffix targetfilepath\targetfilename.suffix

From this input into the commandline, those tools then are expected to open a command window (the thing which is black as a DOS window).

With sourcefile, I mean the file upon the tool will work, and by targetfile, I mean the file the tool will then create from it will have done upon the data from the sourcefile, so in reality, even with misfunction, there is no harm done to the source file which is just read, and the newly-created file will be some changed copy of the source file, not some ".exe" or other harmful file, but W10 Prof just refuses to execute those command lines.

I tried this with an administrator account, but not successfully. I tried to put the tool into other directories and for example into its own directory


instead of


or c:\programs\toolname\toolname.exe

and I also tried to put the sourcefile and the targetfile into other directories than ones that Windows constantly checks. And as said, I messed around with the UAC settings, then was not even able to reset them them, after all that messing around with it, according to those hints and tricks had not been successful.

Also, I did not even create an ordinary user before sending back the pc, just just the administrator account which should be allowed much more, permission-wise, than an additional user account.

It goes without saying that with Windows XP Home, all this works smoothly, and also, the tools in question work also with W10 or are specific versions to work with W10.

So I suppose now that I missed some core concepts in this permission control, since neither directory permissions nor user permissions did not work, for these command line tools.

To begin with, when Windows speaks of folder permissions, it's not evident if that means the folders in which the tools-to-run are put in, and/or the folders in which the files-to-be-worked-upon / files-to-be-accessed-from-these-tools, and the coordination of folder access in general and of account control - what some account is permitted to access / to do - is not evident for me.

Also, I do not understand why the administrator - not some additional user - would not have the right to run some tool from the commandline, independently from the storage folder of that tool, when on the other hand, any program installed into the programs folders - c:\programs (x86)\ and c:\programs\ is executed when run from the start panel, but a tool put into a folder c:\programs\toolname\toolname.exe, when I try to execute it from the commandline, which means from the Windows "execute/run" dialog - which is necessary to enter the necessary attributes, does not run.

I suppose that any program in c:\programs\specificprogramfolder is executed when triggered from the system, is sort of "object attributes heritage" from folder c:\programs, but as said, when I install those tools into such a folder, then try to run them from commandline, which is refused, so it becomes evident that there are possibly 3 or more security concepts which come into play: folder permissions, account permissions, and then also permissions depending on from which system internals a tool/program has been triggered, even when folder and/or account is/are identical, or then also, if has been triggered with or without attributes.

No help I found - and I tried hard, just finished a 1200-pages-W10-Prof.(!)-book without getting any help on this from there either - specifically treated this run-from-commandline (and/or with attributes) permission problem, which, as said, is probably specific to the Prof. versions of Windows in general and/or to the W10 Prof. version in particular.

(If I hadn't bought so many programs for Windows which I then had to leave behind, or would need to run from within a virtualization tool which probably will not be practical, I would jump from XP to iOS, not from XP to W10, but it's not only about buying anew, it's especially about finding, choosing, learning all those new programs then, so I'd better learn some Windows internals.)

I cannot find a good solution for my mobile needs.


Tiny Windows tablets (7-8") - when available in Europe - seem to be all of very bad quality, see the amazon and other reviews, the brake (without falling) within some months it seems, and get much too hot (which could explain them breaking). It seems there is no real market for them so there is just a niche left, without much money for production since they are sold between 70 and 230 Euros (80-240$ even including VAT between 20 and 25 p.c.); good quality would cost then 400 Euros, for which there is no market. Good Windows tablets are too big and too heavy (Microsoft, from 10"). Windows smartphones seem to be ok for some of them (from Microsoft again), but they do not run Windows (8.1 or 10, as the Windows tablets do), but Windows Mobile, a telephone tool, which means you cannot run regular Windows programs on them but almost nothing.

With Android or iOs, there are available good tiny tablets, with external memory for Android, without that for iOS, so for the latter you must check how much internal memory will suffice even in the long run, which can become difficult, considering the prices for additional internal memory and which is only available upfront.

Since I need geographical map functionality only here and there, but would need a tablet to be really lightweight and easygoing, I am not that fond of tablets of 10" and more, also because for map functionality, Windows would be far from ideal, and with Android or iPad, you don't need to buy a 10" tablet in order to get a good tablet, so Android or iPad 7-8" seems to be the ideal solution if it weren't for the text software.


As I said some months ago, I use ListPro for some lists, and my agenda also with it, on my pc, and that's available for iOS but not for Android, but I discovered that the iOS version does not do alarms anyway, so that doesn't make sense, and I cannot put all my lists into ListPro since as a database, it's just too basic: No good search, no global replace.

But anyway, I would like to avoid to put all my lists into a database since that would be manual work for a week for some of them, or I would have to dig deep into RegEx replacements.

Currently, I have those lists (on my pc) in an editor with good search functionality, which means I can search for some entry, and it displays all the lines with a hit in them in a table-like extra list, as would do a database frontend, and this is exactly what I am looking for for mobile use.

Currently, I print out those lists and take those printouts with me, which is not only lots of paper stuff, but much worse, and since it's all that much paper, I only print out those lists, which I need mobile, here and then, and in-between, I update the lists on my pc, and also, by hand, in the printouts. More often than not, I forget the manual updating, which regularly causes problems, and it even occurred that I forgot to update the pc list, so I have to visually check the printouts and their manual additions in order to be sure that my pc lists are up-to-date. Let alone only very basic search functionality in the print-outs, in fact only alphabetic search possible for one aspect, none for others. So my current overall system is a complete mess.

I tried to find some good text program (with rtf which I would prefer) or text editor (without rtf) on Android, reading into the descriptions and reviews for hours, but there does not seem to be any, while for iPad, there does not seem to be such a thing either, but here I'm less sure, my searching having been less intensive, for lack of information if you don't have an iPad and cannot try those programs.

I do not understand why all those Android text programs of which many are praised as being sophisticated, do not offer good search but ask for manual browsing all the occurrences of some search term one by one, by "go to next", BUT
- I hope I may have overlooked some which does do it better, OR
- I hope there may be such a program in the iPad side

So that I finally could solve my problem which system make of mobile tablet to buy, and solve my mobile data access problem. I am aware of the fact that I could solve it, less the maps, by buying and taking around a Microsoft Surface (10" or bigger), which would then run the same programs as my pc for these needs, or, when it's a database, I could probably choose Android as well as iPad, but would need to put all my lists into a SQLite database, with the manual work that this way would need. Here, I suppose that the same databases in SQLite format would run, without transformation (but just copying over the current version by WLAN), on the mobile device as on the pc, but this could be an error on my side.

In fact, what I would really need would be such a HP mobile pc of some years ago, weighting about 500 g and with a physical keyboard: The iPad unfortunately killed that market of really mobile real, fully functional computers, but regrets over that will not make them available again so I have to get something of the available builds.

In this forum, complaints about Firefox abound, and since I use FF for all my browsing, I know none of the complaints are unjustified, it's just that with other browser, you get into even more trouble, or then, add-ins/-ons are not available you depend on.

Just one example, I use Youtube Video and Audio Downloader, manually, so that it lets me download the highest sound (music) quality, whereas all automatic downloaders (and even the automatic way to do it in the aforementioned FF tool) just download some thing or then the highest video quality, even if that means that you do NOT get the highest audio quality, but for me, audio quality is more important than video quality (classical music downloads).

Also, I'm fond of the FF bookmarks strip to the left of its main window, and which I have always open. In my opinion, it's much better than third-party bookmark managers, free or paid, since those either do not appear/disappear in sync with the browser, or/and take valuable screen space below the main window, where there isn't any space for that with modern screens, while on the side of the main window, there is plenty of space. This especially concerns Linkman which is in high praise everywhere, but I don't need its plenty of comments or the link in full or other info, I just need to get to the short title of a link/bookmark as fast and easy as possible, and without that taking too much screen space. My bookmarks are sorted into a tree, now imagine how I would manage a tree in some 100 or 200 pixels under the main window, instead of full height, not speaking of the fact that the main window would then have only 924 or 824 pixels left from its original height of 1024.

So there are very good reasons for continuing to use FF, even if that means living with its many faults.

But now to my question. I regularly use FF on XP, so I never know if some fault is with FF or with XP, and quite regularly, perhaps once in a hour or two, I need to minimize FF, then reopen it again to its original size, in order for it to continue to take my keyboard input, or more precisely, to react to it, when I put an url into the address line, then press enter, the screen does not change. It goes without saying that I attributed that behavior to XP.

But recently, I tried a brand-new (!) Win 10 installation on another (!) pc (and with 16 gb of memory, also with another monitor, and with another screen driver, BUT I have to add that it was another OLD screen driver, NVidia Quattro 2200, so it's possible that the problem lies with old screen drivers in general, and that the Windows version does not matter), and I not only got that same phenomenon there, too, but it was five times as frequent here, so I encountered that fault several times per hour, and that's quite a disturbance. Also, I would have never expected that in the described environment, while with my old XP, well, I'm willing to live with incompatibilities of all sorts now.

Does anyone know that behavior, and did you find a way to eliminate it?

I am too lazy to try this with alternative browsers, but here's the link in case you're interested in checking:

Just a bit from the text as a mockup "screenshot" (formatted as in the 2-columns original text):

Il regolamento (CE) n. 883/2004 del Parlamento europeo
e del Consiglio, del 29 aprile 2004, relativo al coordina-
mento dei sistemi di sicurezza sociale(3), dispone che il
contenuto degli allegati II, X e XI di detto regolamento sia
determinato prima della sua data di applicazione.

Note the "(3)" in it is a link to a footnote, so the footnote will appear in the following texts, by way of programming of the pdf, but you can try with any other paragraph in those pdf's of the European Union, without such a footnote, and the respective formatting results are similar, as follows:

Display the linked page in Firefox, then copy and paste the paragraph in question into any editor or text program. You'll get:

Il regolamento
(CE) n. 883/2004 del Parlamen
to europeo
 del Con
 del    29 aprile 2004, relativo al coordin
  dei  sistemi  di  sicurezza  sociale
)  GU L 166 del 30.4.2004, pag
),  dispon
e  che  il
, X e XI di
 detto reg
prima della sua data di applicazion

As you can see, this text is unusable, copying by typing it from the screen will be faster than trying to manually reformat what you've got.

But save the pdf, then open it in Adobe Reader (or probably any other pdf viewer, didn't try those), you'll get:

Il regolamento (CE) n. 883/2004 del Parlamento europeo e del Consiglio, del 29 aprile 2004, relativo al coordinamento dei sistemi di sicurezza sociale(3)
GU L 166 del 30.4.2004, pag. 1. (3), dispone che il contenuto degli allegati II, X e XI di detto regolamento sia determinato prima della sua data di applicazione.

As you can see, there's a line break between the link code and the link target, but except from that, you'll get the text as expected.

The problem described here regularly appears with pdf's from the UE and in some cases also with third-party pdf's, so when you encounter it, don't think they have found a way to prevent copying by other means than securing the pdf, but just download and copy from your local copy, or have a non-browser pdf viewer display web pdf links, by tweaking the browser settings.


I have another questions about smartphones and tablets. I had been in a store in order to have a look, and I liked mini tablets (Apple iPad Mini and Samsung S2 8.0) since you can hold them in one hand, but now that I decided I need the tablet for car navigation, too, it's evident they are both too tiny, so I need a full-size tablet.

But I was very surprised scrolling is as bad as that. Bot iOS and Android force you to sweep to the top if you want to go down to the next page, and while only iOS seems allow for tapping on top of the screen in order to mimic the home key of your pc/Apple keyboard, there is no way, with both systems, to tap somewhere in order to mimic end, pgup and, much more important, pgdn, pgdn being a missing key you would need to press again and again though.

Further web research brought that there are even more and more orthopedic problems arising from this, after years of sweeping, instead of being a tap area in the bottom 10 % of the screen. Some macro apps allow for using the Android side buttons for pgup and pgdn, but these buttons are obviously not made for being pressed hundreds of times each day, and with iOS, there are not even side buttons in needed number.

I suppose that app developers could, individually, put pgup/pgdn buttons in the right top and down corners of their app, but most app developers do not seem to do that, I tried that out with apps on smartphones of friends of mine.

So my question, after having searched for such a solution in vain, is, do you know any macro app, for iOS or for Android or even for both which will put such buttons, or better, a home button in top corner and a pgdn button in bottom corner, onto any app? Or perhaps that is not possible technically since it would imply laying out an additional layer onto the screen, over current app, but in these areas alone, 1 cm2 each would be sufficient, and it would acceptable that any screen element of the current app which is under these areas would not be responsive anymore for that app, but only for the macro app.

Besides, most screen readers, or many of them at least, do have physical buttons for next/previous page, so I cannot understand why smartphones and tablets do not have such physical buttons, so much needed for web browsing, all the more so since most modern pages are now constructed by multiple pages in one big page which calls for scrolling down.

Pages: [1] 2next