Copyright: Copyright 1998 Christian Carrillo


StickyNote Help

Program Information

About this program

What’s new in this version?

Special thanks

It’s not a bug, it’s a feature

How do I…

Make a new note

Close a note or notes

Hide a note or notes

Show notes

Find notes

Change fonts

Change a note’s display properties

Print a note or notes

Drag notes around the screen

Set notes’ caption text

Toggle a note’s scrollbar

Set alarm and expiration dates

Store notes as text or images

Set a note’s text from a file

Save notes

Read note files

E-mail and archive notes

Embed notes in other programs

Backup all notes and settings

Open a URL or a file from a note

Send a note directly to another computer

Advanced features

Default settings

Advanced options

Auto save

Information

Network

Troubleshooting

General information


About this program

StickyNote is a simple sticky note program for Windows 95, 98 and NT.  It can be used to create colored notes on your desktop.

Each time you start Windows, the StickyNote icon will appear in the system tray.  Double-clicking this icon will create a new sticky, with the default font, font color and window color attributes.  You can change these default values by selecting the desired options on the icon's context menu, which will appear when you right-click the StickyNote icon.

You can temporarily hide sticky notes, and display them later using the Show command from the system tray context menu.  Hidden stickies are still maintained by the program, and closed if you execute the ‘Close stickies’ command.  To hide a sticky, choose the ‘Hide’ command from the sticky’s context menu.

You can close StickyNote by choosing the Exit item from its system tray context menu.  When you exit StickyNote, your settings will be saved and the next time you start the program, they will remain as they were set previously.  If you exit Windows and StickyNote is still running, your settings will be similarly saved.

Each note has a caption bar, which is drawn slightly darker than the text window.  You can click and drag it to move a sticky around.  It also has a context menu which appears when you right-click it; using this menu you can change the color of the sticky, the font and the font color.  Changes you make using this menu only affect the current sticky.

Notes can be alarmed such that a sound plays at a given time.  Alarmed windows will pop up to the top of the windows stack, and will be colored differently to draw your attention.  Notes can also be given expiration dates and times.

Author's note

I decided I wanted a sticky-note-like program for Windows, and I certainly found a number of very impressive ones on the Web, but all were either commercial or shareware.  I didn't feel like spending money, so I wrote my own.  Consequently, I certainly won't charge money for this program as the spirit under which it was created dictates that one of its main features should be its free availability.

I always wonder about programs of this sort.  What motivation (other than sinister) could an author have for distributing a program without reimbursement for his time and effort?  Some street mechanism in me tends to reinforce the adage, "you get what you pay for."  But this program defies that, in a very GNU-esque manner.  The Internet should be a system by which you can obtain information which will benefit you and increase the productivity of your computing experience.  When commerce and

money get tied up, the Internet turns into a carrot-and-stick mechanism, where you have to wait minutes downloading a program, invest hard-drive space in it, spend time playing with it only to be rudely jerked from functionality after 21 days.  This works against that system.  I'm sure there are better notes programs around for certain things- in fact, I've

seen a couple.  I'm sure there are some very intricate codes for doing many things beyond what I offer in this little incarnation.  But I offer something which none of the rest offers: freedom, the GNU ideal.  Thus, it can be said that, perhaps, my program's main feature is its free nature, and further my honest intention in creating it as such was simply to make it better than previous programs through its freedom, to make it different.

This program will run forever, without asking for money or displaying dialog

boxes of the annoying genre, and will not affect your system in any malicious way.  You are basically assured of this anyway; you probably copied it from some large site which tests it forwards and backwards before making it available to you.  But for that last little inkling of guilt for getting something free, I say forget it.  Hug your kids if it makes you feel better, and that will be the repayment to the good of humanity, far beyond what you offer anyone through money.

Thank you for trying my little program.  I hope it works well for you and gives you some enjoyment.  Happy computing and good health.

-Christian Carrillo

General information

Title:  StickyNote

Version:  4.50

Purpose:  Simple free sticky notes program

Status:  Freeware

Limitations:  None, use and distribute freely

Author:  Christian Carrillo


What's new in this version
What’s new in this version

•	Bug fixes- There were a number of network bugs in version 4.00.  All known bugs have been corrected in this version.

•	Smart network autodetect- New smart networking functions detect your network and interface with it in a safe, efficient way.  Many compute cycles are spared; faster callback mechanisms are used for note transport over the network.


Creating a new note

To create a new note, double click on the StickyNote icon in your system tray.  The system tray is the depressed region at the lower right hand corner of the screen.  A new note will appear with the appropriate default characteristics.

You can also use the StickyNote main menu; right-click the StickyNote icon, and choose “New…” from the “Stickies” menu.


Getting information

To display the information window, open StickyNote’s context menu (right click the StickyNote icon in the system tray) and choose “Information”.  A dialog will appear which contains information about the number of stickies currently active (both hidden and shown) and the total amount of system memory consumed by Windows.  The “memory performance” is usually normal, unless Windows has sent a “compact” request to running programs.  This only occurs when memory is very low.  In the instance that this is the case, you might consider closing running programs you do not absolutely need.

You can close this window by clicking OK.  The About window is also available through this window.  Click the StickyNote icon at the top left of this window, and choose “About StickyNote…”.  You must close this window before you can open further StickyNote windows.


Closing a note or notes

To close a single note, either press Alt+F4 when the cursor is in the note or right-click the note and choose “Close” from the menu.

If you have the “Ask before closing notes” option on, you will be prompted to confirm your action.  If you choose “Yes,” your note will be closed.

You can also close more than one note at a time.  Right-click the StickyNote tray icon to get the main menu.  Then choose “Close…” from the “Stickies” menu.  A new dialog will appear from which you can choose which stickies you would like to close—your hidden stickies, shown stickies or both.  After setting the options appropriately, click “OK” and your notes will be closed.

You cannot recover notes that have been closed.  Make sure you don’t close a note you wish to keep.


Hiding a note or notes

When a note is hidden, it is not rendered on your desktop.  It still exists, but it is not shown on your desktop.  Hidden notes can be recovered using the Show command.

You can hide a single sticky by choose “Hide” from the sticky’s context menu.  To display the sticky’s context menu, right-click note.

You can also hide all your stickies at once.  From the StickyNote main menu, choose “Hide” from the “Stickies” menu.


Showing notes

When a note is hidden, you can “unhide,” or show, the note to make it reappear on the screen.  To show a note or notes, click the “Show…” item on the “Stickies” menu of the StickyNote main menu.  The Show dialog will appear.

Using the Show dialog, you can show one or more notes.  Select the notes you would like to show, and click the “Show” button.  Or, click the “Show all” button to show all your hidden notes.  When you are done using the Show dialog, click the “OK” button.


Finding notes

You can search through your notes using the Find dialog.  To open the Find dialog, click the “Find…” item on the “Stickies” menu in the StickyNote main menu.  The Find dialog will appear.

Type in caption and note text you would like to search for in the appropriate boxes.  When you finish typing, the Find dialog will automatically update itself.  Any notes which match your criteria will appear in the Results window.

You can force the search to be either case sensitive or case insensitive by checking or clearing the “Case sensitive” box.

Further, if you don’t type anything in for either the caption text or the note text, the selection mechanism will not consider these fields.  For example, if you type “hello” as your note text string and leave the caption text box blank, any notes with the text “hello” in them, regardless of their captions, will appear in the Results box.

You can use the Results window to manipulate your notes.  Right-click a note or notes to get a context menu from which you can close, hide, show and bring to top your notes, or toggle their always on top status.


Changing a note's font
Changing a note’s font

You can change a note’s font through its Settings dialog.  Right-click the note to get the note’s context menu, and choose “Settings…”  From the Settings dialog, click the “Font” tab.  From this window, you can change the font’s typeface, characteristics and color.  When you click the “OK” button, your new font will apply to the note’s text.


Changing a note's display characteristics
Changing a note’s display characteristics

You can change the way a note looks through the Settings dialog. Right-click the note to get the note’s context menu, and choose “Settings…”

The Settings dialog will appear.  You can change the note’s color, font, caption, alarm and expiration in the various sub-windows of the Settings dialog.


Dragging notes around the screen

A note is much like any other Windows window.  To drag it around the screen, you must left-click and hold its titlebar, and move the mouse to the desired new position of the window.

A note’s titlebar is less obvious than standard Windows ones.  On some computers (depending on how many colors the display can render), a note’s titlebar will be slightly darker.  On others, it will be the same color as the rest of the note.  Regardless, the titlebar of each note is simply the area at the top where the caption appears, and where the mouse turns into a normal pointer.

To drag a note around the screen, then, left-click this area and drag the mouse.


Setting notes' caption text
Setting notes’ caption text

To set a note’s caption text, right-click the note to produce the note’s context menu and choose “Settings…” from this menu.  A dialog will appear in which there is a box entitled “Caption.”  In here you can type your caption text, and select the button entitled “White caption” to determine whether the caption will be white or black.


Toggling a note's scrollbar
Toggling a note’s scrollbar

You can turn a note’s scrollbar on and off.  Right-click the note to produce the note’s context menu.  Choose “Settings…” from this menu.  A dialog will appear in which a “Scrollbar” check box appears.  Check or uncheck this box as desired, and click “OK” when finished.


Setting alarms and expiration dates

You can alarm notes and designate them as expiring at certain times.  An alarmed note will appear above all other notes when its alarm triggers, will unhide itself if necessary and will recolor its titlebar.  An expiring note will simply hide itself.  Expired notes can be recovered through the Show dialog, just as any hidden notes.

To set a note’s alarm, right-click the note to produce its context menu.  Choose “Settings…” from this menu, and click the “Alarm” tab.  Click the “Use alarm” button to turn the alarm functionality on.  Many other fields will now become visible.

If you would like your alarm to occur every day, click the “Every day” button.  Notice that the “Day” fields become unavailable; they are unnecessary, as your alarm will trigger each day.  If you would only like your alarm to trigger on a certain day, enter that day’s data in the appropriate fields.

You can also set the hour, the time at which your alarm will trigger.  Click the “PM” button for times in the afternoon; leave it unchecked for morning times.  Remember than noon is considered as PM.  If you would like your alarm to trigger later than the time as well (say, if your computer is off at the alarm time but you turn it on later), click the “and later” button.

You can also have your computer play a sound when the alarm triggers.  This will, of course, only work on computers with sound cards.  Click the “Play” button in the Sound box, and choose the sound you would like to hear.

Setting the expiration date and time is much the same.  Enter the data in the appropriate fields of the Expiration tab.


Storing notes as text or images

If you would like to use your sticky notes in other programs, you can do so by exporting them as text or images.  When you export a note as text, the text in the note (but not the caption) is stored in the file you designate.  It is written as a simple text file, readable by all Windows programs.  When you export a note as an image, the entire note is “photographed” and written as a Windows bitmap file, similarly readable by all Windows programs which support graphics.

Using these two functions, you can easily embed your notes into a wide array of different programs.  What is best is that there is of no great complexity; you can give a document file with an embedded note image to anyone, even people without StickyNote, and they will still be able to see and enjoy the note.

To export a note as text, right-click the appropriate note to get its context menu.  From the “Text” submenu choose “Write to file…”  From here you can type in the name of the new text file.

To export a note as an image, right-click the appropriate note to get its context menu.  From the “Send to” submenu choose “Bitmap.”  From here you can type in the name of the new image file.


Setting a note's text from a file
Setting a note’s text from a file

Just as you can export a note’s text to a simple text file, you can read a simple text file into your notes.  Right-click the desired note to produce its context menu.  From this menu choose “Read from file…” in the “Text” submenu.  A dialog will appear which will allow you to select a text file.  Once you have done so, the note’s text will be replaced with whatever text is in the file.

Remember that this must be a simple text file.  If you try to import, for example, a graphics file, you will not see an image appear in your note.


Saving notes

You can save a note in a special StickyNote format which encapsulates all the note’s settings, including position on the screen, color, font, text and caption.  You can later read it using StickyNote to redisplay your note.

To create such a file, right-click the note to produce its context menu.  From the “Send to” submenu, choose “Note.”  You will be able to type the note’s name in the dialog which appears.  When you select “OK,” your note will be saved.


Reading note files

StickyNote allows you to read note files you have created in one of two ways.  You can either double-click the file in Windows, which will automatically tell StickyNote to read and display it, or you can import it directly through StickyNote.  To execute the latter procedure, choose “Import…” from the “File” submenu of the StickyNote main menu.  A file dialog will appear in which you can select the desired file.


E-mailing and archiving notes

You can easily backup a note in a file or e-mail it to a friend who also has the StickyNote program.  In both cases, you must save your note as a file.  For more information on this procedure, see Saving notes.  Once you have saved your note, you can back it up using your favorite backup program or e-mail it using your mail program.

To e-mail a StickyNote file, simply drag it over your new mail window.  If your e-mail program is reasonably recent, it will accept the file and attach it automatically to your e-mail.  Its recipient will see a note appear in his e-mail.  When he double-clicks it the note will appear on his desktop just as it had on yours.


Embedding notes in other programs

You can embed a sticky note in any program which can import Windows bitmap files.  For example, a note has been embedded in this article at the bottom.

To accomplish this, export your note as an image.  For more information on this procedure, see Storing notes as text or images.  Then, import or paste the image into your program.  It will appear as it did on your screen.

Further, you can send the embedded note to anyone, even people who do not have the program.  It will still appear as desired because it exists as an image, independent of the StickyNote program.


Backing up all notes and settings

In addition to saving a single note in a file, you can save multiple notes and your program settings too.  To create such a file, choose “Export” from the “File” submenu of the StickyNote main menu.  A dialog will appear which will allow you to choose what you would like to save in your file: all your notes, your settings or both.

Having checked these boxes appropriately, click “OK.”  A file dialog will appear which will allow you to type in the file’s name.  When you click “OK,” your file will be written.

You can use this procedure for backing up your notes and settings.  Write everything to a file and back it up using your favorite back up program.  You can later restore all your notes and settings from this file.  For more information on restoring from a file, see Reading note files.


Default settings

The default settings apply to each new sticky when created.  You can change these through the Options window, available on the main StickyNote menu.  The first two tabs, Note and Font, contain default note attributes.  You can select size, color, font size, color and typeface options from these two pages.

When you’re done making your changes, click “OK”.  All notes created from this point on will display the characteristics you have specified.


Advanced options

From the StickyNote Options dialog, “Advanced” tab you can change many of the behaviors of StickyNote.

First is the “Data storage” box.  From here you can specify whether you would like StickyNote to automatically save its settings in a file (the default: “File system”) or in the system registry.  The file system is safer; if your computer crashes before you exit Windows safely the file will still exist whereas the registry key might be corrupted.  However, if your file system is not stable (e.g. if younger users of your computer tend to delete files you need) you might want to consider setting this to “Registry.”

Second is the “Import” box.  You can have StickyNote add notes to the existing ones when importing a file with one or more notes in it, or delete all your current notes and simply add the ones from the file.  The default for this is “Add notes.”  If you wish to overwrite notes, you can have StickyNote prompt you before this is done by selecting the “Ask before overwrite” box.

Further, you can have StickyNote prompt you before notes are closed using the “Ask before closing notes” check box.  This is on by default.

The darkness of notes’ titlebars can be changed using the appropriate slider.  You must have a display with more than 256 colors for this change to become evident, however.  You can also toggle notes’ borders using the “Show borders” check box.


General troubleshooting information

•	The StickyNote installation procedure has an error

This will occur if you try to overwrite a running copy of StickyNote.  Make sure that you exit any copies of StickyNote before you try to install a new one.

•	I can’t drag notes around the screen

To drag a note, you must drag its titlebar.  Its titlebar is the area at the top of the note over which the cursor turns into a normal pointer.

•	Note custom colors are different from the ones I select

StickyNote must display its notes as solid colors.  This is an important constraint imposed by Windows.  Thus, if you are running a 256-color display or less, you will only have a few solid custom colors to choose from.  When selecting custom colors, make note of the “Solid color” box- this will accurately reflect the color your note will be.  If you wish to have more colors, change your display settings to a greater color depth.

•	The titlebar darkness slider doesn’t work

You are using a display with 256 colors or less.  StickyNote cannot choose a solid color close enough to the desired one.  Change your display settings to a greater color depth.

•	I can’t close one note at a time

You can close one note at a time from the note’s context menu.  Right-click the note to display the menu.  Choose “Close.”

•	Other people can’t send me notes over the network

Check the StickyNote Information dialog.  If it says, “Network status: Deaf,” you have note acceptance turned off.  Go to the “Network” pane of the “Options” dialog, and check the “Accept incoming notes” button.  If the Information dialog says, “Network status: Disconnected,” StickyNote could not connect to your network.  This can be one of a number of things.  Either you have no network or an invalid network connection, or there is another program using the socket StickyNote needs.  The latter problem you can fix by closing other server programs.  When you’ve closed your other programs, try restarting StickyNote.

•	StickyNote grabs my modem or freezes my computer

Because this version of StickyNote uses your computer’s Internet and LAN system functions, it can trigger problems inherent in your system configuration or network system.  StickyNote uses a simple sockets mechanism to communicate with itself on other machines; under normal circumstances this will never cause problems.  There are, however, computers which cannot handle sockets properly and exhibit nondeterministic behavior resultantly.  To fix these and other network problems, go to the Options dialog box, Network pane, and select the “Force network interface off” button.  Click “OK” in the Options dialog and follow the instructions which appear.  This will turn off all networking features and fix all network-inspired problems.  You should never use this feature unless you are experiencing problems with your network.  Whenever this feature is selected, all of the StickyNote network functions become unavailable.

•	StickyNote is running and I’m logged on to the Internet, but people can’t send me notes.

Make sure you have the “Accept incoming notes” option select in the Network pane of the Options dialog.  If your network is set up properly, the Information dialog should say “Listening” next to “Network status.”  Also, if you log on to the Internet while StickyNote is running, it may take up to a minute for the program to autodetect and initialize its server software for your network.  To check to see if StickyNote is initialized, check the Information dialog to see if it says, “Listening.”


Auto save

You can have StickyNote save your notes and settings at regular time intervals if you wish by setting the auto save feature on.  This is not necessary, however.  StickyNote saves your settings when it exists automatically, whether or not this feature is on.  You should set this feature if your machine crashes often, which would cause StickyNote to lose the opportunity to save its data.

To turn on auto save, from the Options dialog (choose “Options…” from the main StickyNote menu) click the “Save” tab.  Check the “Use auto save” button, and set the desired time interval.  Your notes and settings will then automatically be saved at that interval.


Design philosophy: Why is there no print function?

I seem to hear no end of the print function.  “It’d be nice if it had a print function.”  “But no … printing of notes function is available.”  From both users and evaluators, there seems to be a clamor for this particular feature.  Why?

Because it’s a Windows program.  And every Windows program has a print function.  If you’re able to type text with a program, you should be able to print.  It’s intuitive.  It’s beaten into your head through years of Microsoft children- 3.1, pre-3.1 (dare we mention), 95, 98, NT.  There are print functions everywhere.  But not in StickyNote.

It could have been that I just forgot.  Or that I was too lazy to code it, which is usually the reason for a lack of features in my programs.  But in this case, perhaps singularly, I have a reason not to do something.  And what, pray tell, might that be?

Including a print function doesn’t hurt anyone.  If you don’t want to use it, you don’t have to.  It just helps those who need it.  Simple enough, or so it seems.

But there is a problem.  And it’s a big one.  It extends itself into nearly all forms of software, it seems.  Call it feature wars, software titanism.  It’s crazy.  Programs balloon up with features.  If somebody wants it, it’s there.  If anybody wants it, it’s there.  And if, in the off chance somebody might decide that he would sort of want it, it’s there.  Features all over the place.  I joke with my roommates- next I’m adding AI to StickyNote, so you can ask it questions and some supercomputer somewhere will compute the answer and pop it up on a sticky note.  Programs often swell well beyond their intended ranges, and this ends up hurting people.

It hurts people because it lacks modularity.  Microsoft has a very keen sense for this, and I believe their software benefits strongly as a result.  If you have many small programs doing what they’re supposed to do (exactly what they’re supposed to do, not more and not less), you have a much better environment than if you have a titan.  First, it’s comprehensible.  You can move through tools in an intuitive way.  I’ve seen programs with so many features that people buy other ones just to handle subsets of the former large one.  Ones so large people spend months writing code to solve a problem that was already solved in the large program, but nobody ever knew.  So large nobody on the design team knows all the code, how the whole program works.  This is bad for everybody.

As a result, I can honestly say that I have a reason not to do something.  And this applies to the print function.  I want to produce a small, non-obtrusive sticky notes program which allows you to create notes on your desktop.  Some features stem immediately from this- color change, always on top, etc.  Some are less obvious and come later- alarms, scrollbars.  But a print function?  I want you to use StickyNote to put notes on your desktop.  I’m not writing a word processor.  No spell check here either.  So you print your note, and now you have a line of text on a page.  Cut it out and tape it to your monitor?  I don’t think so.  Maybe you typed something really profound you want to save forever.  How many yellow stickies do you save forever?  It seems to me counterintuitive.

But whenever someone gives me a suggestion, I take it very seriously.  I have great respect for the people who are willing to take their time to write, and if they offer an idea I assume that it’s a good one.  If I don’t understand it or agree with it, I don’t automatically discount it.  I ask, “will you ever use this?  What will you use it for?  Does it fit the concept of a sticky notes program?”  Some people fail to convince me, or never try, like the print function people.  Others succeed, and my program becomes better as a result.

For example, I was loath to put captions on notes.  A number of people asked about it, and I honestly didn’t see a reason.  But I spoke with them, we had a dialogue.  And their points were valid, their ideas appropriate and good.  And now you can set the caption on your notes, and frankly, I like it a lot.  They were right and I was wrong.  I’m more than happy to make that admission.

I don’t want to scare people away from making suggestions- that’s why I mention this.  Each suggestion is taken seriously and respectfully.  If you send me e-mail today and ask for a print function, I will take you seriously and treat you with respect.  And if you have good arguments for the inclusion of a print function, I will implement it.  I really benefit from user input, and I more than encourage everyone who has the inkling to send suggestions.  I won’t accept all of them automatically; I’ll try to guide them in some way into my image of what StickyNote should be.  But I am certainly willing to be convinced.

I write this article for those of you out there who absolutely do not understand this philosophy.  I’m talking about the evaluators who say, “but it doesn’t have this feature and that feature that some other program I think I’ve seen has.”  If I sound bitter, it’s because I am.  You’d love to have a feature that can do multivariable Calculus, because that would be damn cool.  Or linear algebra.  Maybe biophysics even.  But the key is that you’ll never use them.  It’d be nice to look at the little yellow icon in the system tray and think, “wow, I could do a lot of cool stuff with that if I ever wanted to.”  But the fact is, you don’t want to, and it doesn’t make any sense that it should do that.  Don’t try to shove features down my throat.  I can think of wacky ideas without any help.  It’s in the decision of what to include and what not to include that a program becomes intelligent, becomes excellent.  And that’s what I’m striving for.  I’ll do multivariable Calculus if it makes you happy, but I won’t have my sticky notes program do it for you.

-The author


Special thanks

There are many people who have contributed to making this program what it is.  Without those mentioned implicitly and explicitly below, StickyNote would not exist in its current form.

to e-mail corresponders

Thank you.  Thank you for the bug reports, the suggestions, the words of encouragement.  All are wonderful, all add to the program.  I am constantly impressed by the intelligence and insight of your ideas, suggestions.  You have my sincere thanks.

to beta testers

You, the “hardcore” subset of the former.  To you all the above applies, and much more.  You’ve given your time and talents to everyone who reads this message and many others who don’t.  You faced responsibility with a confident smile.  You ensure the technical aspect of the artistry here.  My deepest gratitude is with you.

Desmond Armstrong

Chaz Cone

Alcides Diaz

David Durkalski

Gary Fisher

Ed Griffin

Henk Laugeman

Munpyung O

Clemens Oertel

The Paine

Roberto Salmona

Jim Schuster

Sam Yagan

There are a number of beta testers whose names do not appear here.  They are afforded the same respect and gratitude as those above.

and everyone else

You, the catch-all of Sigma*.  The web-servers that broadcast this all over the world.  The people who dutifully copy this for their friends.  The shareware evaluators who aren’t too harsh with me.  The people who understand the spirit of the program and wish to forward it through giving.  Those who make it possible to write software.  Those who publish OSs and development environments which are a joy to code in.  Those who make technology available to me, the common man.  Thank you.


More info…

This help section contains some special information about StickyNote.

Version information:

•	Version 4.50

•	Released May 16, 1998

•	Level 2 optimization

•	Over 10,000 lines of code (182 pages)

•	Two worker threads

•	Intel CISC architecture

•	Windows 95, 98 and NT platforms

•	282 kilobyte executable

•	695 kilobyte distribution file

•	17 files in distribution

Names are arranged in no particular order

Special Thanks

Ron Jou- for guidance in design

Kevin Jou- for putting up with failed versions, giving good ideas

Everyone who sent suggestions- all the implemented ones are good

Very Special Thanks

Ron Jou- for guidance in life

Kwasi Mireku- the moral leader of the monastery

Jon Cahill- for saving my life before 21A

Mark Anderson- mind beyond being

Michel Sanner- a father and a friend

Boris Reva- friendly patience with my simple mind

Arthur Olson- for a window to life

Extra Special Thanks

The granddaughter of the philosopher writer- for my very life

The daughter of the computationalist- for a life spark which dominates me

The daughter of none- for pulling me up from myself

Everyone to come- for making my life worth living

Priya Patel- for breaking my philosophy and filling my void

Thanks

Michael Filippone- the winning attitude

Dean Lewis- the challenge to being

Jared Finegold- superlative emotional drive

Grandparents- always being there

PP2 - a global atom, and much more

Jamil Ghani- success independent of surroundings

Kent Casady- a winning ego

Mandy Whitman- for leaving the room finally so I can type this

Alan Turing- the foundation of everything we see

Acknowledgements

ONDOC, British Academy

Fight / Flight Control

Forward Targeting (I’m still ahead)

The Matrix Patrons

Some questions for me to answer:

How many things I’ve tossed around in my mind.  How many countably infinite questions I’ve had to answer.  How many right and wrong.  What is it that composes me as a person?  Is this what I want.  Where does my want come from, and is it right?  And how am I to judge it, on what foundation?  What will I become when all this is done?  Will they break me?  Can they break me when I know this is their aim.  How can I get through each day with so much ahead?  When will I find what I’m looking for?

Can it be considered morally wrong to have an attribute which is not the consequence of one’s own action and cannot be changed?  How do the aforementioned daughters of minds feel, and why?  How is it that I should treat them?  What is the correct decision to every problem I will face from this point onward?

Also, does P = NP?

Quotes you probably won’t recognize

“Shall I always stare into placid blue, smile, and play the tinker?”

“CHICKEN. Buck, buck, buck, BcCock!”

“Adult toystore”

“I’m just bringing back the styles”

“What on earth! … An alien came and dropped - a dump.”

“Mom!  My buck teeth!”

“Arrrr.  Shnoobligut.”

“You little paque”

“The monastery”

Neat links

Design philosophy: Why is there no print function?

Dedication

Happy Birthday Alicia.


Information

StickyNote provides an Information dialog, accessible from the main StickyNote menu.  In this dialog you will find the StickyNote version number, the number of stickies show and hidden, the total free memory available to Windows and the memory performance.

Memory performance reflects the past performance of Windows memory handling.  If Windows has run out of memory and asked programs to compact, this item changes from “normal” to “poor.”  If your memory performance is poor, you may wish to close some open programs.

StickyNote provides memory usage statistics as a service.  This information does not reflect the way in which StickyNote is running.

You can also see some of your network settings in the Information dialog.  If you are connected to a network, you will see your computer’s IP address in the “Computer name” field.  Others can use this address to send you notes.  Your network status is also displayed; “Listening” means that all network functionality is on, and StickyNote will accept all incoming notes; “Deaf” means StickyNote will reject incoming notes; and “Disconnected” means StickyNote is not using network features.


Contact information

If you have not read the General information section, please do so now before reading this one.

You may have a problem which is not addressed in this help file or the addendum helps distributed with the program.  It may have a simple answer, or it may be a bug.

Or, you may have comments on the program.  You like it, you hate it.  It’s too big, too small, too easy, too hard.

Whatever the case, you can reach me through e-mail.  I read all my e-mail, so your letter (presuming it gets through) will be read by me.  And I will try to respond in a timely manner.

It is important, however, because of the large volume of mail that I get regarding StickyNote, that you make some effort to answer your question by reading the documentation I provide here.  Over 90% of the questions I get have answers contained in this help file alone.  I find myself typing responses to the same questions very often, and have consequently made a sincere effort to answer them in a straightforward way in this file.

But I certainly understand that there are valid questions not addressed here, and I am certainly happy to consider them.  Please don’t hesitate to send me e-mail with your questions.  So far, I’ve been good about replying to questions.  Again, because I get many e-mails each day it is very hard for me to respond to thank you letters and just general information letters.  Questions always come first in the priority queue.

I always like to hear from people too- I’m very interested in hearing what your reaction is to the program, what you use it for, what you would like to see in future versions.  And the thank you letters, although they may not generate a response, are always warmly appreciated.  So for whatever reason strikes a chord, send me e-mail.

My e-mail address is ccarrill@fas.harvard.edu.


It's not a bug, it's a feature
It’s not a bug, it’s a feature

Yes, the mantra of CS majors.  But I’m actually serious in this section, because I’d like to address something some people see as a bug which is actually a feature.

Notice that, if you are running your machine at 256 colors, if you selected a pixelated custom color you will not get it but the closest full color when your note is displayed.  A bug?

A feature.  StickyNote uses as its basis for text display a simple Windows edit box.  What this means for lay men and frustrated programmers is that its background color has to be solid.  Damn.  I hate it when that happens.  So if I allow the borders and titlebars of the notes to be pixelated, the note will look, in colloquial terms, pretty funky.  For example, a lighter-yellow will produce a gray background.  I think, if I remember correctly.  Something strange like that.  Thus, solid colors are the much better choice.  Thus, a feature.

And anything else is probably a bug.  Here’s a really great example.  The intellimouse-bug-from-hell.  I got an e-mail from a fellow who said the StickyNote icon would jump to the upper-right corner of the screen when the cursor moved over it.  Of course, this is completely impossible, so I blew it off and replied with a battery of general hardware questions.  Then, within a few hours, I got another e-mail from a completely different person who confirmed that, when the cursor moves over the StickyNote icon, the cursor jumps to the upper-right corner.

Both were immediately knighted beta testers.

And then the battle began.  I read all the Windows technical specs.  I did all the icon handling exactly by the book.  I fired off version after version to these guys.  I am much in their debt to this day and will continue to be so.  Day after day this went on.  Eventually I was about to give up.

But then, the e-mail from God.  The fellow with whom I’d been communicating primarily noticed that his mouse had a special setting- a jump to an active Window.  And I knew that, in the depths of my code I made a hidden phantom StickyNote window active so that the context menu would display properly.  Ah ha!

Then began the final battle- trying to trick the mouse into not noticing the phantom StickyNote window.  I moved it off the screen, disabled it and took away all its widgets.  Eventually, intellimouse was fooled and the icon worked properly.

This is a bad example, because if you every find a bug like this PLEASE, PLEASE don’t sent it to me!  You don’t know how much pain that was.  Anything else, please do.  I want this program to be perfect.


Opening a URL or a file from a note

StickyNote allows you to open a URL or a file directly from a note.  If, within your note, you have text which points to a file (e.g., “C:\Program files\StickyNote\Readme.txt”) or to a URL (e.g., “http://www.college.harvard.edu/”) or to an e-mail address (e.g., “default@mail.edu”), you can select the text using the mouse and open it using the “Open” command on the note’s context menu.  When you execute this command, whatever text you have selected will be interpreted by the Windows shell and passed along to whatever program can properly interpret it.  For URLs, your default web browser will be initiated.  For other files, the proper executable will be called.  And for e-mail addresses, your e-mail program will be started with a new message to the address you selected.

You can also easily put text links to files and web pages by dragging them and dropping them on the intended note.  When you drop a file onto a note, its path, bracketed with parentheses, will appear at the end of the note.  This text can be selected and the file opened as explained above.


Printing a note or notes

You can print a single note from its context menu.  Right-click the note to produce this menu, and go to the “Print” submenu.  From here you can choose whether you’d like your notes printed as notes or as text; choose the appropriate item.  A dialog box will appear with some print settings, including the default printer and number of copies.  When you have set these parameters as you desire, click the “OK” button.  Your note will then be printed.

You can also print multiple notes at the same time.  From the StickyNote main menu choose the “Print…” item.  You can then select whether you would like your hidden notes printed, your shown notes printed or both.  You can also specify whether you’d like your notes printed as text or as notes.  If you print your notes as notes, StickyNote will try to fit as many notes as possible on each page.  If you print your notes as text, each note receives its own page.


Sending a note directly to another computer

You can send a note through your LAN or the Internet directly to another computer.  Your note will pop up on the target machine immediately, in the same position, with the same color and settings as it had on your local machine.

To accomplish this, right-click the note to send and choose “Send to computer…” from the menu which appears.  You will then be prompted to type the computer’s name.  You can type the Windows DNS name (e.g. my computer’s name is “Cunegonde”), an Internet DNS name (e.g. “carrillo.harvard.edu”) or an Internet IP address (e.g. “123.456.248.98”).  When you click “OK,” your note will be sent.

StickyNote executes a number of checks over the network to make sure your note gets through properly.  If it does not, a message box containing the reason for the error will appear.  If no message box appears, your note got through properly.  You can also instruct StickyNote to display a confirmation dialog when your messages get through successfully if you wish.

In addition, you can tell StickyNote not to accept notes from other computers.  Just as you can send notes to anyone else in the world, anyone else can send them to you.  Perhaps you don’t want notes popping up on your desktop.  For information on telling StickyNote to block incoming notes, see the Network advanced topic help.

If you don’t know your computer’s name on the network, you can check the Information dialog.  If you are properly connected to a network, in the “Computer name” field of the Information dialog you will see your computer’s IP address.  Other StickyNote users can use this address to send you notes.  To get to the Information dialog, from the StickyNote main menu choose the “Information” item.

You should also check this Information dialog to make sure you are connected to the network.  If you log on to your network while StickyNote is running, it may take up to a minute for StickyNote to initialize its server code and interface itself with your network.  To check to make sure StickyNote is ready for others to send you notes, you can use the Information dialog.


Network options

You can change the behavior of StickyNote with respect to its network communications through the Network settings dialog.  To reach this dialog, click “Options” from the StickyNote main menu and choose the “Network” tab in the dialog which appears.

From here you can change a number of things.  First, and perhaps most importantly, you can block incoming notes.  Depressing the “Accept incoming notes” will tell StickyNote to deny broadcast requests from other machines.  If this setting is on, you can choose a combination of other settings shown in the box below.  You can have StickyNote hide incoming notes automatically.  You can also have StickyNote display a message box when your own broadcasts get through successfully.  If this option is not checked, StickyNote does not display a dialog on success.  This does not mean that StickyNote does not check to see if the note came through properly.  The only change this option makes is that it displays a dialog on success; the only reason to select it is for one’s own comfort and peace of mind.

Because StickyNote uses the Internet or your LAN as its transport mechanism, security concerns arise.  Please read the Note transmission security section for more information on this.  Also, viruses and virus transmission are often concerns with the Internet and server software.  Please read the Virus security section for more information.

Some machines exhibit problems even with the simplest network functions.  If your computer is having network problems while running StickyNote, you can disable all StickyNote network features by clicking the “Force network interface off” button.  You should select this only if your network or other network programs are behaving erratically when StickyNote is running.


Note transmission security

StickyNote transmits your notes via the IPX/IP protocol when you send a note from your computer to another directly.  StickyNote serializes your note, the same procedure it uses when saving a note to a file, and then pushes it over the network to its destination.  No encryption algorithm is used in the transmission or reception procedures; therefore, anyone recording your computer’s transmissions can isolate the note data and reconstruct the note himself.

This procedure is extremely complicated and very painful.  It would be a grand waste or resources to try to capture someone’s StickyNote transmissions.  But it is possible.  I suggest you not send your credit card number, highly sensitive personal information or items of national security through StickyNote notes.  In general, however, it is quite safe for daily chatter.  The procedure is complicated enough that coworkers can’t read the notes you send to your friends; people can’t just fire up a secret program and read all the notes you send.  But to be fair, as I said, it is possible.


Virus security

Because StickyNote is constantly monitoring your network and accepting communication from other machines, you might very well be concerned about getting a virus.  Is it easy (or possible) for someone to hack StickyNote and to send a virus through the note communication protocol to your machine?

The complete answer is no.  Even knowing exactly how StickyNote works it is impossible to transfer a virus to your machine.  This is because of the way StickyNote interprets information it accepts over the network.

When a program wishes to connect with StickyNote, it must resolve the StickyNote server’s port number and request a connection.  Once the connection is made, some handshaking procedures are initiated on both sides which confirm for both programs that the connection is working and the guy on the other end is the right program.  After this is completed, the sender pushes the note, in a serialized binary form identical to the StickyNote file format, over the network socket connection.  On the receiving end, StickyNote interprets the serial information and constructs a note from it.

The information passed over the network is not code; it’s just information on how to construct a note.  So the most malicious thing someone could do to your computer is send information describing a really ugly note.  Because StickyNote just reads the information and builds a note from it, it’s impossible to get StickyNote to do something outside its normal range of operation.  For example, you could never get StickyNote to erase your hard-drive (the most popular activity of viruses) because there is no note that has the right color, size and shape to make StickyNote do this.  No part of the note creation algorithm executes code; therefore, it is impossible to cause the program to behave outside its designed, benign range.