avatar image

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

Login with username, password and session length
  • Sunday July 21, 2024, 1:39 am
  • 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 - superticker [ switch to compact view ]

Pages: [1] 2next
How do I control the directory used by the Paste-As-File operation?  I would like to save these files on my Desktop.  How do I do that?

Is it even possible to share a custom.adu spelling dictionary between applications without creating write conflicts? For example, can Clipboard Help+Spell and The Forms Letter Machine share the same custom.adu dictionary?

On Windows 7, I've tried defining the file
for several different programs, but there seems to be some conflicts. Understand, some of these apps (e.g. Clipboard Help+Spell) remain open all the time, although I'm not sure its dictionary files remain "write open" all the time.

On a separate note, can a read-only language dictionary like american.adm be shared okay?  If so, where should the single copy be saved on Windows 7?

I have one game program that sucks CPU time, but it's only this program. It's so bad, that after quitting this program, the time-slice quantums are adjusted by Windows XP to make all the other programs sluggish. The only way I know to reset these quantums is to log out, then log back into Windows again. Is there a resource kit program that can be used to install this one program (executable) at a lower priority?

I also have exactly the same question for the Firefox plugin-container executable that seems to hog CPU cycles when visiting certain web pages with many DoubleClick Flash ads. The Chrome browser doesn't have this problem.
C:\Program Files\Mozilla Firefox\plugin-container.exe

Other than that, all programs behave well on my Windows XP system, so I would like to avoid solutions that would affect all other well behaved programs.

Living Room / Google announces micropayments via Google Wallet
« on: October 04, 2012, 04:14 PM »
Google has announced a new feature of Google Wallet, a micropayments service, that will let websites collect small payments from visitors for services/products via a single click. Google Wallet micropayments

This service will also allow web visitors to sample services, and then get a refund within 30 minutes, if they don't buy. This micropayment feature is in trial (beta) at Google Wallet as an experiment.

Whenever I add a new clip via CTRL-ALT-C, and the Clipboard Help+Spell window opens, it's not always on the "New" folder as expected. It would be nice if it automatically switched to the "New" folder with this hot-key action.

I'm not so sure, however, if it should switch to the "New" folder with a CTRL-C action alone.  I'll have to think about that.  I think the switching to the "New" folder should only happen when the hot-key action grabs a new clip and presents the CHS window altogether.

There's still a bug present (from a year or so ago) in the CTRL-ALT-C hot key where the clip-capture sound is played, but the new clip isn't actually captured. The work around solution is to use a CTRL-C followed by a CTRL-ALT-C combination to capture clips and bring the CHS window up front. This work around works well.

Living Room / Micropayments now officially supported by PayPal
« on: February 13, 2011, 01:26 AM »
PayPal now officially supports 3 types of micropayments, which include (1) one-time micropayments, (2) pay-as-you-go, and (3) subscription models. One can make payments with two clicks of a mouse without leaving the vendor's website. See this Yahoo news article for more information.

The Form Letter Machine / Importing an XML data (tree) file
« on: November 10, 2010, 10:57 AM »
I needed to make some global spelling changes in one of my Form Letter Machine data files.  So I exported it as an XML file and made the global substitutions in my XML editor. Now I'm trying to figure out how to import the edited XML file back into The Form Letter Machine. The Form Letter Machine seems to open with the old binary data file even when I click on the newly edited XML data file. How do I import the newly edited XML file?

PayPal is going to introduce a new, low-cost, micropayment service. This would allow making small payments to DonationCoder instead of using DonationCredits as it does now. Yahoo news article: PayPal introduces micropayment service

Honestly, I don't mind using DonationCredits. I usually buy some (say $25 worth) when I want to donate for a new software program I'm using. I give $20 for the program, and I keep the other $5 for future individual donations.

I wonder if the PayPal micropayment service would be more popular than the DonationCredits that DonationCoder uses now? Not everyone uses PayPal, although many people do.

Screenshot - 8_13_2010 , 4_16_20 PM_thumb.png

The Form Letter Machine / Choosing the right XML export schema
« on: November 19, 2009, 05:22 PM »
It would be great if The Form Letter Machine supported an XML schema export in either RSS 2.0 or iCalendar for online publishing of events listings.  The problem with some of these schemas is that it would be nice to extend them.  For example, some events (e.g. dances) have "locations" and "prices", but that's not part of the standard iCalendar or RSS 2.0 schema.  Those would be user-defined fields to extend these schemas.

So let's add a "create event" macro that allows a couple user defined variable fields.  The main body of each event can then be managed like TFLM would normally do (check boxes and radio buttons), but local event variables like %date%, %time%, %location%, %price% would be resolved independently for each event.  There should also be a check box to include/exclude each current/outdated event independently.

On XML export, either an RSS 2.0 or iCalendar feed can be created for the checked (enabled) events.  In addition, please include an hCalendar export, supporting microformats, that can be directly posted to a web page.

Perhaps the name of TFLM should be changed to "Extensible RSS Writer".  If there's already a product that can do this selectively like TFLM does, please post its URL.


"Mini" Help & Manual application:  There's a mutually exclusive suggestion--unfortunately.  It might be desirable to employ a very rich XML schema to store TFLM's raw data.  Then its data file could be edited by other high-end tools such as Help & Manual, which uses the Darwin Information Typing Architecture (DITA) XML schema for technical documentation.  Unfortunately, this approach is an overkill for most users, and you would then need to employ an XSLT translation script to convert the DITA schema to RSS (or something) to make it usable for most people like Help & Manual does.

When the contents of Form Letter Machine variables start with blanks, they are truncated.  This problem was introduced to the three latest versions of the TFLM, but doesn't appear in the earlier releases.


Concerning a separate problem, if a target file name is given in the shortcut that launches the TFLM, then the program is exited without saving the output file (i.e. without using the Close button), a 0K output file is created on the disk. It would be nice if this empty file was just deleted.

I'm looking for an application much like RoboForm that would submit periodical events to different on-line calendars (periodicals).

It would ...
  • ... need symbolic variables like %event_date%, %event_time%, %price%, %location%, that are user defined.  There could be both application global (default values for all events, e.g. %username%) and local variables for a specific event (local defs override global).
  • ... have bookmark URL profiles for each on-line calendar page where symbolic variable data (event info) would be published out.  (This would similar to a RoboForm "custom page" using symbolic variables.  One or two "semi-global" variables might be assigned here, e.g. %site-password%.)
  • ... have a profile definition for each periodical event to be posted defining which above bookmark URLs to publish this information to (on demand).  (Sort of like a RoboForm "identity profile" for an event.)  All "local" symbolic variables would be assigned values in these event profiles.

RoboForm has a SDK for developing such an application, but I don't really have time to write one.  However, I think a RoboPublisher app would be very popular!  Does anyone know of a RoboPublisher app already around?  If so, could this RoboPublisher also the used to publish different for-sale items say on craigslist and eBay as well?

For those interested, there is an online publishing tool discussed here, but it only works for craigslist.

... for [V1.16.X, the user] database ... will go into the user's My Documents directory if that has been configured as the location in the program config.  For Vista, this is now default.  For XP, it still defaults to the program directory, but you can manually change it by editing ConfigDir.ini in the program directory.
So if I create the file %ProgramFiles%\TheFormLetterMachine\configdir.ini and place the string: %APPDATA%\TheFormLetterMachine inside, will that redirect the userdata directory for all Windows accounts to their respective My Documents directories?  I'm assuming it will create the require directory in My Documents if it doesn't already exist.

This feature seems to be missing in the V1.16.01 Help file.

Currently, TheFormLetterMachine only allows one symbolic variable file at a time and you must choose between them.  It would be significantly better if TheFormLetterMachine operated much like a linker such that multiple object libraries are opened at once and the precedence of the library listing determines which values the overloaded symbolic variables would take.  For example, consider overloading the printf() symbol in debug.obj:

$ LINK main.obj,debug.obj,subroutines.obj > main.exe

would produce a main.exe load module (executable) with additional printf() debugging behavior for tracing the program's progress.  In contrast, if we reversed the debug.obj and subroutines.obj list order, ...

$ LINK main.obj,subroutines.obj,debug.obj > main.exe

then list-order precedence would resolve the overloaded symbols by the subroutines.obj library first instead of the debug.obj library, so the main.exe result would have less debugging objects linked in with it (although non-overloaded symbols within debug.obj would still be included in main.exe).

To use an example more appropriate for TheFormLetterMachine, say a computer scientist is looking for a job in either the graphics, database, or networking fields.  When a recruiter responds to his job ads, he would respond with a precedence listings:

database.var,graphics.var,network.var,general.var --> for database job inquiries
network.var,graphics.var,database.var,general.var --> for networking job inquiries

This means that the precedence list (of overloaded symbols) will need to be juggled for each e-mail response, so there needs to be a "quickie" drag-and-drop GUI to juggle the precedence list each time.  In addition, the command line should accept a var-file list, such that a Windows shortcut can define a given precedence listing.

My only reservations with this approach is that some end users may not understand the concept of "precedence" and "overloading", although they could still use TheFormLetterMachine the "old" way without this understanding.  However, if they wanted to become power users, then they would need to understand these concepts.

... [To create a temporary comment in a note] just design your configuration tree as normal and save it, then when composing a letter, select the node you want to edit, and edit it in the top box above.  Changes in this top box are just temporary and last for the duration of the current letter only.
Now I understand why there isn't an automatic save feature on The Form Letter Machine when quitting.  In order to give the user the choice of (1) saving or (2) not saving upon quitting the program, I would create two mutually exclusive Quit choices: (1) Save & Quit and (2) Quit w/o Saving.

With the single Quit choice, I'm constantly loosing my changes because I forgot to save them before quitting.

This is an old issue brought up before in the Bug Tracker, but here it goes again.

If on the Start In: field of TFLM shortcut, I redirect the data files to be stored in
directory, the application ignores that and still puts them into the %ProgramFiles%\TheFormLetterMachine directory just the same.

Honestly, for Windows 2K, XP, & Vista compatibility, the app should be putting them in the %APPDATA%\TheFormLetterMachine directory by default, which would work for me.  The Start In: field still should be able to override this default.  (I thought the MS foundation class libraries behaved this way by default, but I may be wrong.)

On an unrelated note, I'm bring this up now because I had to recently lock down my machine(s) to prevent innocent-looking spam URLs from indirectly linking to exe files that try to download and install on my system.  Clearly, this is a new trick by the spammers to install back doors on machines.  But I now have to grant access exceptions to directories like %ProgramFiles%\TheFormLetterMachine and "%ProgramFiles%\Clipboard Help+Spell" to circumvent this security to get these programs to still work.

The Form Letter Machine / Making command line arguments work
« on: June 15, 2007, 08:58 AM »
I setup a Windows shortcut with the following command line parameters:

"C:\Program Files\TheFormLetterMachine\TheFormLetterMachine.exe" "-out=C:\users\mehl\announcement.07.txt"

However, when I press the [close] button on The Form Letter Machine, the anticipated announcement.07.txt output file is never generated.  What am I doing wrong?  I'm running v1.04.01.

If you use NTFS on the portable drive, you can use Windows' built-in EFS encryption.... Doesn't work on "Home" editions of XP, though.
This comment brings up a question I have about NTFS file security.  If I move an NTFS disk between two Windows Pro machines belonging to the same domain (and using the same enterprise license key for Windows Pro), the encrypted files should be okay (if they're authenticated with the same domain controllers), right?

What if I move an NTFS disk to another Windows Pro system that's part of a different authority (different domain or difference license key)?  Won't--or shouldn't--those encrypted files be unreadable?  Or am I missing something here?

Will you even be able to mount an NTFS volume that comes from a foreign domain (or license key)?  My understanding is that foreign NTFS volumes present mounting problems, especially when they don't have Everyone read/write access.  Does someone know a reference that discusses this more?

Some backup software (like Paragon) lets you change the volume SID on an NTFS disk, but I always thought you had to decrypt all files before doing so or bad things would happen.

General Software Discussion / Windows memory-paging behavior
« on: November 12, 2006, 11:46 AM »
I'm hoping this is the right place for OS (computer science) discussions.  This is continued from a thread about Windows drivers.

Windows NT doesn't do "swapping", it does "paging" - ie., it swaps individual pages in and out, instead of full processes.

There are times when Windows gets dog slow when it's running out of physical memory for two applications that want to run.  It's almost as if both applications must entirely fit in physical memory to make Windows work.  Now VAX/VMS would have been smart enough to page both processes successfully, but not Windows.  I also think Windows does way too much paging.  I got lots of memory available, yet Windows is always paging IExplorer.  What's the point of that?

Developer's Corner / Real-time OS drivers and their scheduling
« on: November 11, 2006, 03:36 AM »
This is a continuation of another thread:  "What's better: modern built-in motherboard sound chip or old sound card?"

I know NT isn't real-time, but 50ms for an IRQ to be handled sounds ludicrous. And AFAIK, data processing isn't done directly in the IRQ handler, instead some state information is saved and passed down as an IRP, and the IRQ handler itself finishes quickly. Iirc Linux does somewhat the same by having "high" and "low" parts of their IRQ handlers.
In a real-time driver, there is a high, middle, and low part.

The highest (hardware interrupt) part strictly services the hardware, and schedules the software interrupts and their service priorities (usually 0-63).  It may schedule several software interrupts since different parts (I/O initialization, I/O continued service, I/O completion) may require different priorities.  It will also grab the data and cache it if there are any. It's usually about 15 instructions or less.  Of course, its reentrant coding.

The middle tier routines will service the data.  This also must be reentrant coding, so 95% of the system calls can't be made from this level.  Obviously, no C library calls can be made from this level either since the C library isn't reentrant.  If necessary, this level will schedule a completion routine to be executed at the next level.

For the lowest tier (completion routines), the OS does save all processor registers automatically so there's high context-switch overhead entering this tier.  The good news is that your code does not have to be reentrant, so all the system calls are available to you as well as the C library.

It's interesting to note, but the service rates of each tier are highest, 3000 interrupt/sec; middle 300 interrupts/sec; and lowest 30 interrupts/sec.  Note that the maximun service rate of the lowest tier is the same in both the real-time OS as well as the conventional OS.  That's because both have the same context-switch overhead at this level because both are saving/restoring all the registers.

For (real-time) rate monotonic scheduling, we want each completion routine to have its own unique priority so there's deterministic (ordered) execution.  That's why real-time OSes (RTOSes) have so many priorities.

Windows is sluggish at handling interrupts.  I've had problems with National Instruments multifunction I/O cards giving me 50mS service rates and National says there's nothing they can do about it.  I admit these laboratory machines have a lot of I/O going on in them though.  That's why National offers a 486 processor with a Far-Lap OS (RTOS) for real-time control needs on Windows.  Edit: I just realized this was a driver-service problem with several Windows 95 machines.  The "native" Windows 2000 driver model should perform much better.

Hadn't heard about real-time NT, are you sure you're not thinking of NT embedded?
We are definitely talking about the same product.  In 2000, it was called Real-time Windows NT, but now Microsoft is calling it Windows Embedded.  I just visited their website http://msdn.microsof...mbedded/default.aspx
It's a scalable version of Windows such that you can scale its memory foot print, which is important.  I think it's still over 500K though when really scaled down, but my information is old on this spec (1997).

Just because something is embedded doesn't mean it has to be hard real-time.
I agree.  It is possible to do hard real-time in software, but I honestly believe hard real-time tasks are better done in hardware today because design tools for FPGAs are so easy to use now.  In addition, some SoC chips (Excalibur) incorporate both a processor as well as an FPGA all on the same chip, so doing both firmware and a gate array design does not increase chip count.

Iirc there's also just one scheduler in the whole of NT, used for both usermode and kernelmode stuff - although there's a distinction between usermode and kernelmode threads. The "scheduler" also isn't a separate modular part, it's interweaved in most of the NT kernel because of it's particular design.
If that's true, then that's really bad design.  Please tell me that's not true.  In the application layer, you have two things to deal with you don't have in the driver layer.  One is protection switches (with the Memory Management Unit, MMU), and the other is semaphore testing and processing--which is really messy and big overhead--in a scheduler.  Some would also include resource awareness (what resources are tied up by awaiting processes), but I'm counting that case under semaphore management here.

In contrast, the driver scheduler has none of this overhead.  That makes it really lean and mean, which is something we really want in all OSes.  The typical OS implementation (and I think Linux works this way), is the let the high overhead application layer scheduler run as a driver-level task in the lowest priority, 63.  All other driver-level tasks run between priorities 0-62 such that when they complete, then the high-overhead scheduler runs.

As for priority levels, there's 32 of them, with one being REALTIME. While that priority isn't strictly "realtime" by computer science terms,...
I follow what you're saying, but I wouldn't look at it that way.  All first tier (hardware interrupt) driver tasks must all complete first.  Afterwards, all second tier driver tasks must compete and there's no special priorities for these.  After that, then priories 0-31 for the main scheduler get attention where priority 0 is the real-time completion routine (which I "think" is swapable like anything else in the application layer, but maybe there's an exception here).  The point is Windows places it's completion routines in protected mode, which means more context-switch overhead (with the MMU) but they would be easier to write and debug than if they were in the driver layer.

Unlike Windows, most OSes require you to reload the entire OS if you enlarge the driver for any reason.  This makes developing in the driver layer inconvenient.  Although placing the completion routine in the application layer means more context-switch overhead (MMU register switches for protected mode), it is handier for development.

Most RTOS application designs don't even have MMU hardware, so doing completion routines in the third tier of the driver layer makes sense since the application layer isn't protected anyway.

I've been desperately trying to get AutoPlay to work on my Windows XP SP2 system without success.  I tried the Microsoft AutoFix utility (search for "AutoPlay" on, and it acknowledges the problem, but says it can't fix it.  I then tried the Microsoft knowledgebase articles discussed at without success.  I'm now down to item# 6 in their list, reinstall Windows XP.

My problem is that I'm running WinXP Pro SP2 (stand alone license), but the original distribution disk is SP0 for this system.  So what's my options?

A colleague told me I need to slipstream the original distribution CD to SP2, burn the slipstreamed image on a CD, then run a Windows XP repair from that burned CD.  Does this sound like the best plan of action?

BTW, if there's an easier way to debug AutoPlay to locate the exact failure in the Windows event chain, please suggest it.  Except for AutoPlay and the slow startup of .NET Framework 2.0 on login, this system is working well.

Clipboard Help+Spell / Some clipboard clips not captured
« on: October 21, 2006, 11:38 PM »
If I press the press the Copy to Clipboard button on The Form Letter Machine app (DonationCoder), that application indeed copies the active message tree to the clipboard as expected, but Clipboard Help+Spell never gets it.  I'm wondering if this is a problem with CHS capturing some clips?

Clipboard Help+Spell / Quick Note hotkey feature
« on: October 21, 2006, 02:51 AM »
I've tried to get the Quick Note feature (Ctrl+Alt+A) in Clipboard Help+Spell to work without success.  I tried typing in a note, but it's not added to the New folder.  I tried selecting a folder out of the Group pull-down menu, but there's nothing in that pull-down menu.  What am I doing wrong?

The Quick Note feature is nice for replacing a scratch sheet of paper to jot something down.  Right now, I have to manually open CHS's main window, then press the New Note button to make a scratch note.  This works okay, but the HotKey for the Quick Note would be nicer.

Clipboard Help+Spell / Feature limits for clipboard extenders
« on: September 25, 2006, 03:01 PM »
Why not combine this program "Clipboard Help+Spell" and "The Form Letter Machine" into one new program for clipboard control and writing text blocks?...
I thought about this suggestion for a long time because I use both programs a lot.  But honestly, combining both applications would make program operation too confusing for beginners.  Clipboard Help+Spell employs a single integrated database for everything in its clipping tree structure.

In contrast, The Form Letter Machine has separate files for each unrelated passage/answer tree, which is reasonable.  It also has separate symbolic variable substitution files for each collection of symbolic variables used for text substitution.  For example, one passage/answer tree structure may supply information about seasonal semester classes and use symbolic variables to denote class times.  If the response requires information about fall classes, the fall-class variable substitution file is selected; if it's spring classes, the spring-class variable substitution file is selected instead.  Adding collections of symbolic variables to a clipboard extender seems unexpected and awkward.

Adding radio buttons to clips also seems awkward.  You would have to take time to appropriately group your clipboard clips before you could add radio buttons to them, and most clipboard users wouldn't do this.

I think clipboard extenders should stick to managing data that's more transient and emphasize easy/quick text manipulation.  In contrast, a canned response manager like The Form Letter Machine should manage static data trees.  As a result, the configuration of such trees can be carefully crafted for radio buttons and check boxes for conditional assembly.  If transient data exists in these carefully crafted tree structures, it needs to be coded with symbolic variables, which falls outside the mission of a clipboard extender.

The other commercial program, AceText
I took a detailed look at that very nice program, and it does support collections of acronym/mnemonic substitution for different trees.  I'm not sure if you can use different collections for the same folder tree though.  For example, for seasonal class times, could you have one substitution variable collection for fall and another for spring semester.  But adding simple acronym substitution into a clipboard extender might be useful.

I reviewed both AceText and Clipboard Help+Spell in my StumbleUpon blog.  Go into my blog and select the "Windows" or "clipboard" tag to find it at

The Mantis manual explains that after a bug is marked resolved, the reporter should close it.  I have reporter-level access and I'm the reporter of a resolved bug, but I fail to see the Close button in my views window.  Is that because this bug-closing feature is not used here at DonationCoder?

I'm just asking.  I'm not suggesting this closing feature should be enabled here.  I see there's a button to reopen a resolved bug, so maybe the closing feature is unnecessary, and may never be used anyway.

There's no update button on my reporter-level view window.  Is that normal?  What if I want to modify my bug report later?  Should I just attach a note?

Some bugs I reported earlier are resolved now, but there's no resolved button available in the reporter-level views window.  Is that normal?  Is it only the programmer that marks the bug resolved, not the reporter?  If so, I guess he hasn't gotton around to doing that yet.  :-)

... I also got your bug report that i introduced a wrapping bug in latest form letter machine; I'm on it.
Good deal.  That bug prevents me from putting the Forms Letter Machine in production use for an announcement e-mailing list (event digest) I moderate.

What would be really neat is if the FormsLetterMachine actually assembled (formatted) the e-mail digest so that digest-aware e-mail programs would see these e-mail message digests as folders that they would explode into individual message members.  In other words, have the FormsLetterMachine become an e-mail digest creating machine just like e-mail list servers do today.

Your next question is going to be, why not let the e-mail list sever (we use Majordomo) build the e-mail digest for you instead?  The answer is because Majordomo assembles messages into digests in FIFO order (by arrival), and we want the events listed in the digest to come in chronological order (by event date) instead.  If someone knows of a list server that assembles digests by a sort key (in the message header) instead, please let me know.

Pages: [1] 2next