avatar image

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

Login with username, password and session length
  • Monday December 5, 2022, 1:05 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.

Messages - kakarukeys [ switch to compact view ]

Pages: [1]
N.A.N.Y. 2010 / Re: NANY 2010 RELEASE: Artwinauto BlitzType
« on: June 03, 2010, 01:28 AM »
Here is the newest release with bugs fixed and features added and improved.

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.  :)

thanks...  ;D

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:
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.

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

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

can't keep contextual information, that would make the format complicated
it 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.

Hi there,

BlitzType is a NANY 2010 entry that can be found here:

Thanks to the feedback and donations, I am able to release a better version. It's much improved and stable and comes close to my original goal (still a distance away).

Tutorial (should be a good introduction.)

I haven't updated my site, so don't search for installer over there, instead download from here:
Download zip file

If you get error message running it (let me know), you might need:
Microsoft Visual C++ 2008 Redistributable Package

1. Sequential Frequent Pattern Mining Algorithm. (implemented)
2. Fuzzy Matching  (implemented) New!
3. Optimization algorithm (did not find the necessity)
4. Lightweight and ongoing development (...... sorry!)
5. Plugin framework (implemented) New! and open-source development (planning to release after code refactoring)

I hope it gives you an refreshing alternative to any text autocompletion software in the market.

Developer's Corner / Re: Python Language Annoyances
« on: January 28, 2010, 08:57 PM »
 8) well, remember 3 things:
(1) +/- in front of variable is a unary operator that changes the sign (as in maths)
(2) plus plus = plus, minus minus = plus, plus minus/minus plus = minus (as in maths)

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.

Developer's Corner / Re: Python Language Annoyances
« on: January 28, 2010, 12:18 PM »
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 = x
Python simply conforms to what we learned in primary, secondary schools
Another example: 1 / 2 = 0.5 in Python, but 1 / 2 = 0 in C
And 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.

 ;D it doesn't really help me. If you want to improve your code, maybe you should read the book "Writing Scientific Software, A Guide to Good Style" by Suely Oliveira and David Stewart.

Developer's Corner / Re: Free icons for developers
« on: January 06, 2010, 10:31 PM »
Nice! I think I can find one for BlitzType, the problem is....not sure how to add an overlay over the icon, when a function is turned off.

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?

N.A.N.Y. 2010 / Re: NANY 2010 RELEASE: Artwinauto BlitzType
« on: January 01, 2010, 10:24 AM »
Thank you all.

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.

words + space: 20 for now, thinking about what should be the limit.

When posting to the forum the popup is nowhere near my typing, not that it really matters.

will fix the bug. you would be using firefox.

Crashes on exit for me by the way (winxpX64 pro).

I think I messed up with the event dispatch mechanism.  :(

N.A.N.Y. 2010 / Re: NANY 2010 RELEASE: Artwinauto BlitzType
« on: December 31, 2009, 08:00 AM »
 ;D Take it easy!

N.A.N.Y. 2010 / Re: NANY 2010 RELEASE: Artwinauto BlitzType
« on: December 31, 2009, 03:33 AM »
 :) I just released a file.

I mean you can't  ;D

I will be interested in any rule-based system that could predict match result. Probability theory is good but the bookmakers use it to set the odds too, you can beat them with what they already know.

Living Room / Re: How would you improve a standard PC keyboard?
« on: December 18, 2009, 09:57 PM »
I suppose taking away the useless Scroll Lock key and Windows menu key?

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.

N.A.N.Y. 2010 / NANY 2010 RELEASE: Artwinauto BlitzType
« on: December 11, 2009, 01:52 AM »
NANY 2010 Entry Information

Application NameArtwinauto BlitzType
VersionBeta 0.9
Short DescriptionAn autocompletion utility that reduces repetitive typing and risk of RSI.
Supported OSes Windows XP and above
Web Page Productivity Improvement in Computing
Download Link Download BlitzType
System Requirements
  • Pentium III 1GHz and above
  • 512MB RAM and above
Version History
  • 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!
Author About


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.


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 tags
A 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.

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.

you type 'as soo" -> matches with "as soon as possible" (AutoComplete) :)
you type 'asap" -> matches with "as soon as possible" (AutoReplace) :)
you type 'as sio' (some errors tolerated) -> matches with "as soon as possible" (AutoCorrect)  :-[

Fuzzy matching automatically comprises AutoComplete, AutoReplace and AutoCorrect.

3. Optimization algorithm  not yet implemented  :-[

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

I use Genetic Algorithms (a machine learning optimization algorithm) to improve the program's prediction capability and accuracy.

4. Lightweight and ongoing development maintaining :)

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.


Using BlitzType in Sticky Notes (Windows 7).

Cut down repetitive typing using BlitzType in Wordpad (Windows 7).

Unzip 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 Application
Run BlitzType.exe to start. It will sit in systray.

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

To always show autocompletion suggestion while you are typing, enable
'Always show suggestion' in BlitzType window. In this mode, BlitzType will
try 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.

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

Known Issues
The 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).

N.A.N.Y. 2010 / Re: NANY 2010 - Pledge to Participate Here
« on: December 10, 2009, 10:09 PM »
I pledge to release:

Normal NANY: Artwinauto BlitzType
An open-source lightweight autocompletion utility that reduces repetitive typing and risk of RSI.

General Software Discussion / Re: Best Python IDE
« on: December 09, 2009, 09:43 AM »
has anyone used Wingware Python IDE (commercial)? Looks good from the company's own description, but I haven't read any 3rd party review about it.

 ;D 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'?

General Software Discussion / Re: Scripting vs. Programming
« on: December 09, 2009, 03:13 AM »
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

What do you see as Breevy's special strengths compared to the field?

Simplicity, ease of use, and speed.

BTW, Breevy is scheduled to be on BdJ at 57% off on November 29th. I plan to make a post a week or so before that date. :)
-P.a.t.r.i.c.k. (November 01, 2009, 11:47 AM)

Nice program. Consider adding some more features, since there is competitive offering out there which is free. And  ;) your blog doesn't load.

 :) ops...

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.

Developer's Corner / Re: What's your Programming Language?
« on: December 07, 2009, 04:16 AM »
I've used many programming languages in the past, and then I found the right one for me. Python  :Thmbsup:
Python is easy to learn for beginner and has the firepower to build complex desktop and web applications.

Living Room / Say hello
« on: December 07, 2009, 04:11 AM »
I just want to say hello, I'm a new guy here.

Pages: [1]