User:Aperfectring/Notification

From Geohashing
< User:Aperfectring
Revision as of 01:28, 5 April 2009 by imported>Aperfectring (Rules for participation)

Notification Program

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.

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

Testing Effort

Notifications should go out at about 11 AM US Eastern Time (following US observance of Daylight Savings). This means notification should go out about 1.5 hours after the DOW is available.

There was a few day downtime from Nov. 20-22 US time. The system should be back up and going. --aperfectring 05:41, 23 November 2008 (UTC)

Rules for participation

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 join the effort

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


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.

Future Enhancements

How to notify people

  • E-Mail - Implemented
  • Printout from the program - Implemented
  • A template on the wiki

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.
    • Note: Working with Zigdon and his mapping tool would probably be the best approach here. --Aperfectring 03:57, 26 October 2008 (UTC)
  • 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 you have put out already.
    • 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)
    • 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.

Current work

  • I am in the process of getting a more automated way for people to add/remove/change notifications via a wiki page. To prevent posting people's addresses on the wiki page, however, I will probably use a pseudonym (wiki username maybe?) and translate that to an email address. The only manual step, then, would be for a person to e-mail me their address and pseudonym, making much less manual work on my end (HOORAY!). I will continue to support the format I currently have things in, just in case some people have privacy concerns. --aperfectring 02:58, 14 March 2009 (UTC)
  • I have decided that each individual user should create their own page based on the format set out here. The one manual step is that the user needs to send me an email address and a link to a wiki page formatted as in that link. I will then add them to the list. The notification program will then download that page, parse it, and notify appropriately. The notification program will run daily shortly before 9:30 AM US Eastern Time (a.k.a. DJIA announce time), and will wait for a non-zero latitude (one in approx 4 billion chance this will be a false indicator), and will then notify for all dates which the Geo::Hashing CPAN module is aware of. This means that people will may be notified multiple times for hashpoints, but they will be notified basically as soon as possible for all available hashpoints, barring any limitations imposed by the Geo::Hashing module. Currently, any of the additional features supplied by this new version are unavailable for the current testers, but I may, in the future, decide to backport the changes. I will, upon request, convert anyone's previous requests to the new wiki-based format, and inform the user of their new notification wiki page for editing their notification requests. The best place to ask for this is either this page (below this comment), or my talk page. E-mail addresses will not be published on the wiki, they will only exist in a flat file maintained on my computer. --aperfectring 04:45, 28 March 2009 (UTC)

Source Code

The source code will be provided upon request.

Bug reports

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)