User:Aperfectring/Notification

From Geohashing
< User:Aperfectring
Revision as of 03:39, 1 June 2009 by imported>Aperfectring (Vacations!)

This page is to describe the implementation and testing of the notification program. For discussion, please use the Talk page. Credit goes to Robyn on the original idea.

Notification Program

The notification program automatically e-mails users to advise them of each day's coordinates, or to notify them when the coordinates fall in a particular area of a graticule. Users can specify whole graticules or any centicules (hundredth parts) of graticules. It is very useful for people who don't have time to check the coordinates every day, but who would be interested in geohashing, given the right opportunity. It can also be very helpful in quickly identifying accessible hashpoints in graticules which have few of them.

Current Implementation

The current implementation is based off of the tenths digit of the latitude and longitude for the area(s) notification should be generated for. This is your section ID. Take the tenths digit of the latitude, multiply it by ten, and add the tenths digit of the longitude.

e.g. If your coordinates were 26.026599°, -80.196111° then your "notify me" number would be 01. With 26.324963°, -80.845496° it would be 38.

You can also use this table as a reference. The coordinates for W-30 will all notify the same section ID on the same day, and the coordinates for non-W-30 will notify another (possibly different than W-30) section ID. The table is not intended to be placed on top of a graticule and give a reference for the coordinates. If you have any confusion on how to determine your section IDs, contact me.

Long *.9* *.8* *.7* *.6* *.5* *.4* *.3* *.2* *.1* *.0*
Lat
*.9* 99 98 97 96 95 94 93 92 91 90
*.8* 89 88 87 86 85 84 83 82 81 80
*.7* 79 78 77 76 75 74 73 72 71 70
*.6* 69 68 67 66 65 64 63 62 61 60
*.5* 59 58 57 56 55 54 53 52 51 50
*.4* 49 48 47 46 45 44 43 42 41 40
*.3* 39 38 37 36 35 34 33 32 31 30
*.2* 29 28 27 26 25 24 23 22 21 20
*.1* 19 18 17 16 15 14 13 12 11 10
*.0* 09 08 07 06 05 04 03 02 01 00

How to sign up

You can create a wiki page following the format set out here and send me both your e-mail address and a link to the wiki page you created to the e-mail address mentioned later. Note that this format does not require an email address posted on the wiki. This option will be notified as soon as the notification program can retrieve the coordinates for the day (1 in 4 billion chance the coordinates won't be sent out), and you will be notified for all coordinates which the Geo::Hashing modules is aware of at the time the current day's coordinates become available. Any of the previous testers who wish to convert to the new format need only tell me of the page they wish to have their notifications placed on. The added benefit of this option is greater flexibility in changing what sections you are notified by, the downside is that anyone can see/edit your notification criteria. I strongly suggest you watch your notification page for edits, and don't post any truly personal information anywhere on the wiki. The wiki pages will be downloaded at approximately 9AM US Eastern time every day, and notifications will go out as soon as they are available after that.


Alternatively, you can send an e-mail to the address specified later in this section with the following information. This option will be notified at 10:30 AM US Eastern time for the same day for locations west of W30, and for the next day for location east of W30. If enough people bug me enough, I may add the features from the wiki notification to this one. The added benefit of this options is (more) privacy, the downside is that you have to wait for me to make changes or to not be notified.

  • Latitude of the grat.
  • Longitude of the grat.
  • Section ID(s) (described above)
  • E-mail address
  • Extra notes to include in the notification.

It would be nice, though not necessary, to put it into this format:

26 | 80 | 37 | youraddress@someplace.com | the mall

26 | 81 | * | youraddress@someplace.com | home grat

26 | 79 | 15 16 | youraddress@someplace.com | sister's house


You will get an e-mail about any matches. A Section ID of "*" will match any section for that graticule. You may include any number of Section IDs for a single line. When specifying multiple Section IDs, they must be whitespace delimited (amount or type of space between entries does not matter). It is only possible to put one comment per line, so if you want different sections to have different comments, they must have their own line.

The geohashing notifications e-mail address is those two words with no space @gmail.com.

I have to add all of these entries by hand, so allow for the fact that it may take me a couple days to get your entry in. Also, please ping me on my talk page so that I get some notification in my normal e-mail.

Requests for those participating

All of these rules are not hard and fast laws, but more of I would really appreciate you to follow them.

  • Notify me (email or IRC) if you see any notification problems. These include:
    • Getting a whole lot more information in your e-mail than what is listed below.
    • Getting a notification when the coordinates don't match your section ID.
    • Not getting a notification when the coordinates do match your section ID.
    • The coordinates in the e-mail do not match the actual coordinates for the day.
  • Make suggestions on improving the system. If there is a quirk of the system which you don't like, let me know!
  • Please don't blame me if the coordinates in the notification send you a non-official location, and you do not ensure that the coordinates are valid before venturing to the wrong location. DO, however, blame me/the code about the initial erred coordinates, and make sure I am aware of the error.

I have done my best to try to make sure the coordinates will be correct. However, I am but a human, and could easily have made a mistake.

How to contact Aperfectring in case of questions or issues

Below is a list of the best ways to get a hold of me, in order from best to worst:

  • Post your question or issue on this page, or on the talk page (discussion tab above).
  • I am in the #geohashing channel in the evenings US EST. Pop in and ask, or send me a MSG if you prefer.
  • Send an e-mail to the geohashing notifications address. I try to check it a couple times a week, but sometimes it is less often.

If enough people ask, I will set up my "mail to user", but I would prefer that to be a last resort. I will be notified in my personal e-mail whenever someone edits this page or its talk page.

Testing Effort

I wish to thank all of the people who participated in the testing effort, and especially to those who provided suggestions for improvement.

Future Enhancements

How to notify people

  • E-Mail - Implemented
  • Printout from the program - Implemented
  • A template, or some other method on the wiki - Implemented

Requests for future enhancements

  • Automatic processing of notification request e-mails so Aperfectring doesn't have to code them by hand
    • Status: If a requester uses the wiki format, they can add or remove notifications without any interaction by me, beyond the initial inclusion of the e-mail/wiki address combo. If they use the other format, and provide it in the requested syntax, then it requires minimal effort for me. --aperfectring 01:22, 5 April 2009 (UTC)
  • A cool interface (or any interface) to help determine (and submit?) notification requests.
  • Automatic way to remove notifications once you no longer want them.
    • Status: Implemented only for the wiki format. --aperfectring 01:22, 5 April 2009 (UTC)
  • "Only tell me if it's also a Saturday" option.
  • Notification for the whole weekend as soon as it becomes available.
    • Status: Implemented only for the wiki format. --aperfectring 01:22, 5 April 2009 (UTC)
  • A way to query the system to find out what notification requests the user has on file.
    • Note: If this is intended as a way of confirming if the notification was mistakenly not sent, then there are some assumptions which can be made: 1. If using the wiki option, all notifications should be out by 10AM US EST, usually before, the older format, 10:45AM. The notification program typically runs fairly quickly, only taking a matter of seconds to parse through the whole list of notifications, which contains over 100 test entries for myself. --aperfectring 01:22, 5 April 2009 (UTC)
It was intended as a way of remembering "did I already set up a notification for Steve's place?" -Robyn 04:22, 5 April 2009 (UTC)
    • Note: I have a way to manually get this info by logging into the account, and checking the sent mail. It also should be trivial enough (when I get to it) to dump the email addresses receiving notifications into a file.
  • A link in the e-mail to the peeron app or to Google maps with the day's coordinate marked.
  • It's slightly annoying that after I have received Friday, Saturday & Sunday notifications on Friday, I get Saturday and Sunday again on Saturday and then Sunday again on Sunday. I can see cases where this would be the desired behaviour, but ideally I would like to be able to turn this off with a notify of weekend coordinates once vs. notify of weekend coordinates each day option. -Robyn 17:54, 23 May 2009 (UTC)
    • The complexities with this come with holidays. For the weekends it could be implemented by me just not running the program on saturday or sunday mornings. --aperfectring 13:43, 24 May 2009 (UTC)
      • Most days I would be perfectly satisfied reeiving double notification on Dow Holidays, just not receiving the extra notifications on Saturday and Sunday, but you'd need to make sure that someone who joined on a Saturday still got their weekend points. And some people may still prefer to get the daily mail. -Robyn 22:46, 26 May 2009 (UTC)
        • I would like to prevent the multiple notification on all accounts if possible. I think it would be acceptable to not notify people until monday if their request gets processed over the weekend. The main reason being that it is still a manual process to add people to the list, and many times I forget to check on weekends. If I make a way to automatically process requests, I will set it up to immediately send all available coordinates starting with the current date (by server time) to the user only before adding them to the list. --aperfectring 23:07, 26 May 2009 (UTC)

Current work

  • I don't have a current work item, but I think my next one might be to add a link to either google maps, or the peeron map in the e-mails.

Source Code

The source code will be provided upon request.

Bug reports

Fixed Bugs

I received a notification with no data today. It read:

Notification for the location 49, -123
These coordinate fall in section: 0
Message: your coordinates

The coordinates are not at 00. --Robyn

I got the same error. I think this may have been caused by the coordinates not being available at the time the notification program ran. My test program, which runs an hour later, picked up the coordinates just fine. I will push the first program back by 30 mins to help prevent this from happening again. A future fix might be to automatically delay sending out any notifications if it detects that the coordinates aren't available yet. --aperfectring 00:48, 26 March 2009 (UTC)

Myself, I'd rather get them earlier but very rarely null, than later but almost never null. -Robyn.
I plan on working on a solution to the problem this weekend, and using it officially in about a week. So making the notification later is just a stopgap until that is done. Since I am still testing out my wiki-parsing algorithm, I would really like to have the good coordinates sent. As it stands now, the coordinates should be sent out approx. 1 hour after they are available, and if I get this fix in, they will be sent approx. the same time as the map. --aperfectring 02:01, 26 March 2009 (UTC)
The fix was to add error checking to the coordinate retrieval. The flat-file format will be notified at 10:30AM US EST, the wiki format, as soon as the coordinates become available. --aperfectring 22:08, 7 April 2009 (UTC)

Vacation

I am on vacation until June 6. Notifications will likely still go out, but if my computer gets turned off for any reason (like a power outage), I will be unable to fix the problem until I return. Also, I will not be able to process any new requests to be added to the notification list until I return. --aperfectring 03:39, 1 June 2009 (UTC)