User:Aperfectring/Notification
Contents
Notification program discussion
This section will be used both for my development notes on the notification program mentioned here, and for suggestions people have for the program. Please be sure to sign your responses so I can contact you if I need more information --aperfectring 21:20, 27 August 2008 (UTC)
Notification Criteria
I need to set up a standard for defining a notification request.
- Should be a human readable plain text file
- Should be easily parsed by a program
- Should be concise. A brief description of an area is easier to understand and change than a complex one.
- Possible descriptions of notification areas:
- Center point, distance, and graticule for notification.
- Pros: Easy to describe
- Cons: Plausible to compute, but not if the list of points gets large
- Numbered part of a graticule. The graticule is divided into 100 parts, boundaries are on the tenths of degrees.
- Pros: Easy to compute. If a GUI is provided this can be very easy to use.
- Cons: Can be a bit complex to understand and pick points without a gui.
- A polygon described by points, and a graticule for notification.
- Pros: Can give the most accurate description of an area, say for if a hash is on land
- Cons: Can be very difficult to compute.
- Center point, distance, and graticule for notification.
How to notify
Please update this list with requests for how a user would be notified.
- Printout from the program
- A template on the wiki
- Other suggestions here
Idea of how it would work
I envisioned that the user would create a text file with lines of the form:
lat long min min km
- 59 -139 59 0 3
- 54 -131 4 50 10
- 49 -123 11 7 10
That is asking to be notified of points falling within 3 km of N59 59' W139 00' (the bit of that graticule in BC), points falling within 10 km of N54 04' W131 50 (the bit of that graticule on land), and within 10 km of my house. I would definitely want e-mail notification. You register to be informed if your numbers come up, and then go about your daily life.
Thinking about that, I realize that calculating radii of coordinates takes a lot of processing power, so perhaps we just divide a graticule into some number (64?) squares, and you just specify which squares you care about. The numbering on the squares could be reversed and flipped at the equator and 0 meridian so that any one set of coordinates fell in the same numbered square all over the world. There could be an interface that overlays the numbered grid on the graticule so you can choose your squares. If you want to get fancy there could be a graphical interface where you choose your graticule, click on the squares you want, then fill in the 'description' and e-mail address.
You would just specify:
- email lat long square description
- user@isp.org 49 -123 53 Robyn's house
The program only need look at the 'square' number, the rest is for reporting. You send your list in and then every Dow Jones opening the program
- 1) calculates which square the coordinates fall in (astonishingly easy)
- 2) finds all the users who requested notification for that square
- 3) sends them an e-mail saying "Today's coordinates for the 49 -123 graticule look like they are near Robyn's house.
If any of this isn't clear, ask me. Tell me what the hard part is, if there is one, and I can come up with an alternate idea. -Robyn 22:01, 27 August 2008 (UTC)
Distance between two points on a globe doesn't really take all that much processing power, but it wouldn't scale all that well. If we were to go about this by dividing up the graticule into parts, I would suggest 100 parts, and the boundaries would be on the tenths of degrees. If we were to use a graphical setup, I would suggest it being an extension to the mapping tool we already have. --aperfectring 22:17, 27 August 2008 (UTC)
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 |
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.
I have a prototype which does everything but send the actual mail message to its destination. Currently it will only notify about the current day's (or the next day's for east of -30) hash being near a specific point.
That's awesome. Do you want some test data for it to watch? It could put the notifications on my user page or something. -Robyn 03:09, 30 August 2008 (UTC)
Well, right now it will only put out messages to the command line when something matches. I have been using some basic test data to verify it works as I expect it to, and it seems to so far. I plan to try and implement the mailing part tomorrow, and after that I will ask for some people to provide test data.
This project looks very interesting and I currently can think of nothing to improve the basic idea or your thoughts. What I'd like to know is, are you still working on this or has the project died? I have no programming skills, so I don't know how difficult it is. Danatar 18:25, 23 September 2008 (UTC)
I am still working on this project. However, since work has been busy recently, I haven't had much time to get to this. I should get back to it in the next couple of weeks. --aperfectring 18:33, 23 September 2008 (UTC)
Hi aperfectring, I was wondering how this is going? It is a wonderful idea. Since I still have trouble uploading my photos I don't think I can be much use to you, but if you'd like a Guinea pig to test things on, I'm more than willing! Kate 01:31, 25 October 2008 (UTC)
I have gotten a prototype which will e-mail out a notification. However, the only way I have gotten it to work prevents me from being able to distribute working source code (it has my gMail u/p in plain text). When I get home from work today, I will see what I can do about getting a new gMail account which I will send this notifications from. This will solve multiple problems:
1. People will get an e-mail from a person whose name is "Geohashing Notification" (weird, I know).
2. I would be willing to publish (in an obscure fashion to prevent spam) the e-mail address here for people to subscribe to the service.
3. If I forget to scrub the source of password information before sending a version out, my own personal e-mail address/pass will not be compromised.
I will put another post up here with how to subscribe when I am ready. Hopefully it won't be too long now! --aperfectring 17:50, 25 October 2008 (UTC)