Why not become a lifetime supporting member of the site with a one-time donation of any amount? Your donation entitles you to a ton of additional benefits, including access to exclusive discounts and downloads, the ability to enter monthly free software drawings, and a single non-expiring license key for all of our programs.

You must sign up here before you can post and access some areas of the site. Registration is totally free and confidential.

I think I tried this before.The tip follows the caret (vertical blinking line) position. As a result, as you type, it jiggles to the right. I compared it to a stationary tip which changes to new position only when it closes and reopens again. I found stationary tip is more comfortable to eyes.

controlling tip position, introspection/export of frequent patterns are now on my list of to-dos.

Usually when I need learning, I enable learning and keep both Frequent Pattern and Phrase List1 active.

Clarification: all learned phrases are stored then read by the Frequent Pattern plugin, so if you disable it, the learning is still active, but learned phrases aren't used for autocompletion suggestion. If you disable learning and enable plugin, the learning stops, but learned phrases are used for autocompletion.

The frequent patterns (learned phrases) are kept in a database "wdb" and "fpdb" files. These can't be open in notepad. I am still struggling on whether I should use a text file to store frequent patterns.

using database:pros:I can keep contextual, meta information about the phrase learned, to suggest it at the right time and better prediction accuracy. Manage the phrases for the user automatically.

cons:User can't read the phrases unless I build an interface for their introspection.more performance, memory overhead

using a text file:pros:User can add, edit, delete a learned phrase

cons:can't keep contextual information, that would make the format complicatedit defeats the purpose of the software, as the users are occupied with managing the phrases, which I try to do for them.

and u r right, it's good to let user changes the file names.

About the position of the tip window. I don't know how to get it right on all systems. So I set the position a little to the right. as you type 'posi..." you probably should have completed the phrase before the tip window starts to block your typing.

To me these are rules that were established long before programming language, since the time of Greek. It's C which changed the rules, and that's why I and some had had a hard time learning C in school, Python is more natural to me.

(3) There is usually only one way to perform certain task (Pythonic principle)

It is not hard to understand Python's choice and figure out the answer to the TEST.

Now.. it's completely fine that Python not implement this -- I am all in favor of eliminating redundant ways to write expressions. I have no complaint about python not supporting the increment operator.

However, what is totally insanely stupid is to design a modern language where the ++variable syntax is completely legal, and does nothing.

That is a decision absolutely guaranteed to cause problems and i'd be extremely surprised if there wasn't production code with such errors.

In mathematics, +x simply means x with a positive sign, and ++x = +x = xPython simply conforms to what we learned in primary, secondary schoolsAnother example: 1 / 2 = 0.5 in Python, but 1 / 2 = 0 in CAnd what's wrong to write x += 1, if you want to increase the value of x by 1?

this is actually a little related to why the issue of significant indentation is such a bad idea -- because it makes it so easy to introduce bugs that are nearly invisible to the naked eye (using a tab instead of a space, mispelling a variable name, etc.)

An IDE or a good text editor will help. Same could be said for programming languages that use braces, unmatched braces could give you trouble that isn't easily spotted by naked eyes.

most people (including me) has developed an instinct to ignore google ads. click-through rate may not be high. To make some money, how about selling some DC T-shirts, mugs, or you could publish a book about DC?

What size phrase is accommodated? If I type "Now is the time for all good men to come to the aid of their party" repeatedly I get different parts of the phrase. Only when I enter the full phrase manually is it one of the options.

For video player, I'm not looking into the fastest and lightest, but features that can save you from worst nightmare. E.g. some video player allows you to adjust the playing speed and subtitle/sound synchronization.

0.90 The deadline is fast approaching. I realize I couldn't finish all features in time, so I will stop for a while and release a Beta. This is by no means the final version , still better than not honoring the pledge. Your testing and feedback will be much appreciated!

I split my introduction into two parts:(1) For those who have never used an autocompletion utility or abbreviation expander before.(2) For those who have used, and want to know the differences between my program and the software available on the market.

(1)Features

BlitzType is utility that helps to reduce repetitive typing (thereby reducing the risk of RSI: Repetitive Strain Injury), and increase productivity in work that involves typing, writing and coding, etc. It suggests and autocompletes frequently typed words and phrases or expand abbreviations into complete form for the user in any editor windows and applications.

It's common that the words and phrases we type are often repetitive, for example:

A software developer might type this more than one time: "The product is scheduled to be released on..."An blogger: html or blog editor tagsA legal practitioner: legal terms such as "bankruptcy proceedings", "petition preparer", etc.A internet marketer: "I'd like to invite you to join my network"An email writer or forum user attaches a signature in every message.

BlitzType learns and saves repeated phrases as the user types. On the next repetition, the program is able to detect it, predict the remaining letters and perform an autocompletion. The result of using BlitzType is that you only type a few letters and you get the whole phrase, imagine how many keystrokes you can save. It saves your time and improve your productivity. The program can be configured to act in either a proactive or non-distractive manner.

(2)Unique Features of BlitzType

1. Sequential Frequent Pattern Mining Algorithm. (implemented)

BlitzType automatically learns from what you type and recognizes any repeated phrases. It uses an industrial strength sequential frequent pattern mining algorithm for this purpose.

2. Fuzzy Matching (partially implemented)

If you have used an abbreviation expander or AutoText utility before, you would have experienced:(1) You need to figure out the phrases and set the abbreviations manually for them.(2) You need to memorize all abbreviations you set(3) You need to organize abbreviations into categories for easy maintenance.

Using BlitzType, you do none of the above. It uses Fuzzy Matching

How it works:"as soon as possible" is the phrase you repeatedly type. Here's how the program matches what you type with the phrase.

If you have used an AutoCompletion utility before, you would have experienced:(1) Annoyed by too frequent popups(2) Inaccurate suggestions(3) Too many settings to tune in order to make the popups appear as you wish

Many autocompletion utilities has either turned into bloatwares after too many unwanted features were added or has stopped development. It is our development goal to keep the number of user settings under control, and has a roadmap of where we are going while listening to user feedback. We plan to open-source it, so the development will never be stopped.

Planned Features

Support European languages with accents.

Read user-defined phrases from an external word list

multiple suggestions in the tooltip.

improve usability

5. Plugin framework and open-source development

The program will be released with a plugin framework under an open-source license, developers are welcome to extend the functionality of the program and contribute changes to the source. The program will always be free to developers and for home users who need it for personal use. We take donations and are eager to provide support, value added services to serious users who are wiling to buy a commercial license.

UsageInstallationUnzip to a folder. Open BlitzType.exe to run. You may also set a shortcut.If the program has trouble starting, you might need a more updated version of MS VC++ runtime files. A distribution can be found in the download page.Installer will be provided for final version.

Using the ApplicationRun BlitzType.exe to start. It will sit in systray.

The program automatically learns from your typing, remembers at thenext mouse-click, any word or phrase (of at least 7 characters) that youtype more than once. When you start to type the same word or phraseagain, tap Right [Shift] key to autocomplete, tap the same key again toUndo, or press [Shift] + [Space] to read the autocompletionsuggestions, one at a time.

To always show autocompletion suggestion while you are typing, enable'Always show suggestion' in BlitzType window. In this mode, BlitzType willtry to provide a suggestion when you pause during typing.

Use Right [Shift] key when you are fairly certain you have typed it before.Use [Shift] + [Space] when you want to check what phrase can be used.Use 'Always show suggestion' when you need autocompletion frequently.

To copy a phrase and add it into the database for autocompletion,highlight it and press [Ctrl] + [Insert].

The program is also able to recognize a Paste action and Left key press.In the autocompletion suggestion,Special character "T" means a Paste action.Special character "<|" means a Left key press.

UninstallationDelete the folder. The program does not access Windows registry.

Known IssuesThe software is now open to public for testing and feedback. Since it is still at beta version and has not reached a stable stage, we encourage only interested individuals to try it. It is advisable to backup your data before testing or only test it in a non-priority machine. For production use, you may want to try TypingAid which takes phrases from a word list instead of learning, and see how auto-completion tool could help to improve typing speed and productivity, as well as to reduce the risk of RSI (Repetitive strain injury).

One month ago, after an update Avira started to brand all my AutoHotKey compiled programs as trojan. I began to think which part of the code triggered the false alarm, was it the low-level keyboard hook or the program's signature 'AutoHotKey'?

I think a programming language ought to support the 3 classic types of process flow: sequential, conditional branching, looping and object oriented constructs. If you agree to the above definition, then it's easy to categorize scripting languages: HTML -> not a programming language, Python -> a program language

I was an R&D engineer, now learning Python programming language, hoping to develop software related to the field machine learning. My first project is to find a way to reduce repetitive typing. HDD, CPU double size and speed every year. It's curious why we are still using the same keyboard and mouse from '90s.

Found some nice abbreviation expander and autocompletion programs on this site. But they either have stopped development, or turned into bloatwares.

I've used many programming languages in the past, and then I found the right one for me. Python Python is easy to learn for beginner and has the firepower to build complex desktop and web applications.