2010-07-28

00:28 <@mpanighetti> Foursquare is going to take a little more discipline on my part. @geoloqi's automated approach seems much more appealing to me.
00:31 <jtbandes> before I go to bed: I was thinking a bit about the auto-notiications some more... it should be 1) if you don't move for a long time 2) if you stay in one spot for some period of time and then leave 3) configurable to certain locations (e.g. ask to turn off when you get home)
00:32 <aaronpk> hadn't thought of 2 yet, good one
00:32 <aaronpk> oh
00:32 <aaronpk> bye
01:38 <aaronpk> tyler_: got location/last working!
01:38 <aaronpk> also refresh tokens
03:40 tyler_ joined #geoloqi
07:35 <tyler_> aaronpk, awesome. heh i crashed out last night after i got home
07:58 <tyler_> aaronpk, curl "http://api-dev.geoloqi.com/1/account/username?username=tylergillies&password=1234" -utjgillies:X36oCWCWb4waSpWxF3UubnNeeal6rOw8
07:58 <tyler_> {"error":"invalid-request"}
07:59 <tyler_> oh doh, i need access token first heh
08:00 <tyler_> Fatal error: Class 'PDOOAuth2' not found in /web/sites/geoloqi.com/api-dev/www/api/include/API/Oauth.php on line 20
08:01 caseorganic joined #geoloqi
08:01 <tyler_> caseorganic, aloha
08:02 <caseorganic> aloha
08:02 <caseorganic> how's geoloqi on your phone?
08:02 <tyler_> its pretty slick
08:02 <caseorganic> awesome!
08:02 <caseorganic> cant wait until the geonote is complet
08:02 <caseorganic> complete*
08:02 <tyler_> the retina display shows the line pretty well
08:02 <caseorganic> nice.
08:02 <caseorganic> one thing is does, which you may notice in the future...i
08:03 <caseorganic> is that if you leave it running it will only draw the last 100 points since you opened it
08:03 <caseorganic> i think it's around 100
08:03 <caseorganic> then it stops drawing the line
08:03 <caseorganic> not sure what's causing it
08:03 <caseorganic> but want to see if you also experience it
08:03 <tyler_> ok
08:07 <tyler_> aaronpk, doh thats supposed to be /oauth/token, but still get curl "http://api-dev.geoloqi.com/1/oauth/token?username=tylergillies&password=1234" -utjgillies:X36oCWCWb4waSpWxF3UubnNeeal6rOw8
08:07 <tyler_> {"error":"invalid-request"}
08:11 <tyler_> caseorganic, oh yeah, i see it
08:11 <tyler_> caseorganic, my line stops a few blocks from my house
08:12 <caseorganic> ah!
08:12 <caseorganic> good.
08:12 <caseorganic> ok
08:12 <caseorganic> if it can't be fixed, then there needs to be a refresh button in the meantime
08:12 <caseorganic> but it should automatically show the freshest line
08:19 <aaronpk> tyler_: I think you forgot the "grant_type" parameter
08:20 workshop joined #geoloqi
08:22 <tyler_> aaronpk, doh!
08:22 <aaronpk> invalid_request: "The request is missing a required parameter, includes an unsupported parameter or parameter value, repeats the same parameter, uses more than one method for including an access token, or is otherwise malformed.
08:22 <aaronpk> I kind of want to put in some nicer error messages tho
08:23 <tyler_> {"error":"invalid-request"
08:26 <aaronpk> ooh
08:33 <aaronpk> well I hadn't set the "allow password grant" flag on your client, but you should have seen "unauthorized_client" for that error
08:33 <tyler_> gotcha
08:34 <aaronpk> i can get a token from yoru credentials
08:35 <tyler_> {"error":"invalid_request","message":"Missing grant_type parameter"}
08:35 <Loqi> Loqi grabs tyler_'s tongue
08:37 <aaronpk> ah! it's gotta be a post request
08:41 <tyler_> doh
08:41 <tyler_> this is all good stuff to know to enforce in my server ;)
08:43 <aaronpk> yep. I'm glad Tim was nice enough to start this PHP library which already does all that checking
08:43 <tyler_> ok i got an access_token, plus an unexpected friend: curl -X POST "http://api-dev.geoloqi.com/1/oauth/token" -utjgillies:X36oCWCWb4waSpWxF3UubnNeeal6rOw8 -d "username=tylergillies&password=1234&grant_type=password"
08:43 <tyler_> {"access_token":"REDdPV\/dQO9yxM14bqRR8x2lKx8Iaf8d","expires_in":3600,"scope":null,"refresh_token":"Lz8nAmxW8fkY03gHCkHNfESYYU0qnSN3"}{"error":"Method \"token\" returned no output"}
08:44 <Loqi> Loqi grabs tyler_'s tongue
08:44 <aaronpk> oops!
08:45 <aaronpk> that's a little failsafe I put in there to help debugging, since I was getting completely blank responses in some error cases. should be fixed now
08:46 <tyler_> gotcha
08:46 <tyler_> or do i remove the \ from '\/'?
08:47 <aaronpk> param is oauth_token, and yea it should be just /
08:47 <aaronpk> if you look at the response headers it should say "WWW-Authenticate: Token realm='Service', error='invalid_token'
08:47 <tyler_> oh ok
08:48 <tyler_> i only get WWW-Authenticate: Token realm='Service'
08:48 <tyler_> no error=
08:48 <tyler_> woohoo it worked
08:49 <tyler_> yay!
08:49 <Loqi> woot
08:49 <aaronpk> woo!
08:49 <tyler_> {"uuid":"2045c9cf-53d9-4064-8602-bbc53f836c75","date":"2010-07-28T08:31:43-07:00","location":{"position":{"latitude":"45.573096853546","longitude":"-122.68410836267","speed":null,"altitude":null,"horizontal_accuracy":"200","vertical_accuracy":"380"},"type":"point"},"raw":{"battery":"15"}}
08:50 <aaronpk> looks good!
08:51 <caseorganic> off to work - bye!
08:51 <tyler_> laters
08:51 <aaronpk> have fun!
08:51 <caseorganic> thx
08:54 <tyler_> aaronpk, those two are the only ones working now right?
08:54 <aaronpk> ya
08:54 <tyler_> ok
08:54 <tyler_> i'll work on implementing them
08:54 <aaronpk> cool
08:59 jtbandes joined #geoloqi
08:59 <aaronpk> good morning jtbandes!
08:59 <Loqi> good morning!
09:00 <jtbandes> Morning aaronpk/Loqi :P
09:00 <Loqi> Loqi grabs jtbandes's tongue
09:00 <jtbandes> nohh bhhhith agauuh
09:01 <aaronpk> lol
09:01 <aaronpk> give it back, loqi
09:01 <Loqi> who, me?
09:14 <tyler_> {"username":"tyler"}
09:15 <tyler_> woohoo
09:15 <aaronpk> yay!
09:15 <Loqi> Loqi giggles
09:17 <tyler_> im gonna point mobile client at http://tyler-postbin.appspot.com/ to see what data it sends
09:17 <tyler_> then connect it to rital.in
09:17 <aaronpk> cool
09:20 <tyler_> does the custom server field work, or is it just for show?
09:21 <aaronpk> that should work, let me double check
09:22 <aaronpk> yea i think it does
09:23 <tyler_> ok coo
09:23 <aaronpk> nobody has ever changed it before! lol
09:24 <aaronpk> jtbandes: we should meet up soon so I can tell you about this oauth stuff we're doing. We're going to need the iphone app to speak a slightly different protocol to the server
09:25 <jtbandes> sounds like a good idea
09:25 <jtbandes> Like I may have said I'm on vacation friday until wednesday, so it'll have to be next week / weekend
09:25 <aaronpk> ok
09:26 workshop joined #geoloqi
09:26 <jtbandes> However, I'll be learning about oauth between now and friday, working on some twitter stuff at work
09:27 <aaronpk> cool. be warned: OAuth 1 is way more complicated than OAuth 2
09:32 <tyler_> aaronpk, whats the official endpoint url gonna be for posting location data?
09:33 <tyler_> ok implementing
09:34 <tyler_> i was like "i have no url to send this data to"
09:34 <aaronpk> sending from what?
09:34 <tyler_> iphone
09:34 <tyler_> to rital.in
09:35 <aaronpk> ah
10:52 workshop joined #geoloqi
10:59 <tyler_> {"raw":{"battery":80,"rate_limit":0,"distance_filter":0,"tracking_limit":0},"client":{"platform":"iPhone OS 4.0.1","name":"Geoloqi","version":"1.0"},"location":{"position":{"horizontal_accuracy":80,"vertical_accuracy":-1,"longitude":-122.6840737633333,"latitude":45.57306615}},"date":"2010-07-28T10:57:57-700"}
10:59 <tyler_> thats data from the geoloqi app
11:00 <aaronpk> nice
11:01 <tyler_> to get the app working with server you have to put oauth_token= in the /location/update url
11:01 <tyler_> which is kinda a pain, but oh well
11:02 <aaronpk> oh haha right
11:02 <aaronpk> cause the app doesn't do oauth yet
11:02 <aaronpk> so that's pretty cool that you can even sort of hack it in there
11:04 <tyler_> im gonna implement location/history next
11:04 <tyler_> since its pretty much the same function
11:04 <aaronpk> cool. working on that one right now. I had to add a bunch of helper methods to my framework in order to do that kind of query first
11:05 <tyler_> what are the params you're using?
11:11 <aaronpk> count, since, ... more coming
11:15 <tyler_> ok
11:15 <aaronpk> aaronpk formatting wiki page
11:19 <aaronpk> first one's always the hardest
11:20 <Loqi> [[API/location/history]] N http://geoloqi.org/index.php?oldid=251&rcid=253 * Aaronpk * (+783) Created page with '== URL == <nowiki>http://api.geoloqi.com/</nowiki>''version''/location/history''.format'' == Supported Formats == JSON == Supported Request Methods == GET == Scope == location…'
11:20 <Loqi> [[Template:API Param]] N http://geoloqi.org/index.php?oldid=252&rcid=254 * Aaronpk * (+94) Created page with ''''{{{1}}}'''<div style="color: #1a7da6;">{{{2}}}</div><div style="color: #333;">{{{3}}}</div>'
11:20 <aaronpk> oh damn
11:20 <Loqi> sucker
11:22 <aaronpk> mediawiki is hijacking my text
11:24 <Loqi> [[Template:API endpoint]] N http://geoloqi.org/index.php?oldid=253&rcid=255 * Aaronpk * (+70) Created page with '<nowiki>http://api.geoloqi.com/</nowiki>''version''/{{{1}}}''.format'''
11:25 <Loqi> [[Template:API Param]] http://geoloqi.org/index.php?diff=254&oldid=252&rcid=256 * Aaronpk * (+50)
11:27 <Loqi> [[Special:Log/move]] move * Aaronpk * moved [[Template:API endpoint]] to [[Template:API Endpoint]]: capitalization
11:31 <tyler_> [{"raw":{"battery":90,"rate_limit":0,"distance_filter":0,"tracking_limit":0},"client":{"platform":"iPhone OS 4.0.1","name":"Geoloqi","version":"1.0"},"location":{"position":{"horizontal_accuracy":250,"vertical_accuracy":-1,"longitude":-122.68398255,"latitude":45.57301926}},"date":"2010-07-28T11:28:20-700"}]
11:31 <donpdonp> aaronpk: is there a way locationcommons.org could feed edits to geoloqi?
11:31 <aaronpk> very easily
11:31 <aaronpk> that's what Loqi was based off of :)
11:31 <donpdonp> yeah i remember you saying that
11:31 <donpdonp> what do i do?
11:31 <donpdonp> you want an account?
11:31 <aaronpk> that'd be great, also shell access would be ++
11:32 <aaronpk> need to edit LocalSettings.php to make that work
11:32 <tyler_> ok adding another location to set
11:32 <tyler_> [{"raw":{"battery":90,"rate_limit":0,"distance_filter":0,"tracking_limit":0},"client":{"platform":"iPhone OS 4.0.1","name":"Geoloqi","version":"1.0"},"location":{"position":{"horizontal_accuracy":250,"vertical_accuracy":-1,"longitude":-122.68398255,"latitude":45.57301926}},"date":"2010-07-28T11:28:20-700"},{"raw":{"battery":90,"rate_limit":0,"distance_filter":0,"tracking_limit":0},"client":{"platform":"iPhone OS 4.0.1","name":"Geoloqi
11:32 <tyler_> ","version":"1.0"},"location":{"position":{"horizontal_accuracy":100,"vertical_accuracy":190,"longitude":-122.683936038097,"latitude":45.57295543667195}},"date":"2010-07-28T11:31:12-700"}]
11:32 <tyler_> nice
11:32 <Loqi> [[API/location/history]] http://geoloqi.org/index.php?diff=257&oldid=251&rcid=258 * Aaronpk * (+35)
11:33 <tyler_> ok location/last and location/history done
11:33 <tyler_> need to add params though
11:33 <donpdonp> aaronpk: you want username aaronpk right
11:34 <tyler_> aaronpk, what should default be for count?
11:34 <aaronpk> yea
11:34 <aaronpk> tyler_: i was going to use 100
11:35 <tyler_> ok
11:37 <tyler_> this is a nice site: http://www.jsonlint.com/
11:43 <tyler_> aaronpk, what format does geoloqi send date? its not iso8061 is it?
11:44 <aaronpk> it should be iso8601
11:44 <aaronpk> 2010-07-28T11:28:20-700
11:44 <Loqi> No result for 2010-07-28T11:28:20-700
11:44 <Loqi> Stop shouting!
11:44 <tyler_> i mena 8601 im dyslexic heh
11:48 <Loqi> [[Main Page]] !M http://locationcommons.org/index.php?diff=7&oldid=6&rcid=7 * Aaronpk * (+1) typo
11:48 <aaronpk> woo!
11:49 <donpdonp> woo!
11:52 <aaronpk> I wish that was formatted a little bit nicer tho. I'll probably write a plugin to make a better looking message
12:02 icecondor joined #geoloqi
12:02 <donpdonp> icecondor: where is http://donpark.org/
12:02 <icecondor> donpdonp: Bunk Sandwiches (45.5132, -122.6441, 613 mins)
12:03 <donpdonp> icecondor: where is http://samkeen.myopenid.com/
12:03 <icecondor> donpdonp: Bunk Sandwiches (45.5047, -122.6534, 1086 mins)
12:03 <aaronpk> nowai
12:03 <donpdonp> icecondor: where is http://www.neophiliac.org/
12:03 <icecondor> donpdonp: The Boiler Room (45.5253, -122.6742, 7166 mins)
12:04 <aaronpk> icecondor: where is aaron@parecki.com
12:04 <icecondor> aaronpk: I dont know where 'aaron@parecki.com' is.
12:04 <donpdonp> with webfinger discovery it'll be able to do email
12:04 <donpdonp> those are icecondor registered urls
12:04 <aaronpk> ah
12:09 <tyler_> webfinger is so weird
12:09 <tyler_> it forces everyone to have a host.com/.well-known/host-meta
12:10 <tyler_> who the hell came up with that url?
12:10 <aaronpk> the idea behind that was that there are already a bunch of "well-known" urls like favicon.ico, robots.txt, etc
12:10 <aaronpk> you've gotta have some well-known way of looking up host meta information
12:11 <aaronpk> could be a DNS record, but that's harder to set up in some cases
12:11 <tyler_> why not host.com/webfinger
12:12 <tyler_> now its prolly gonna be .well-known/host-meta forever heh
12:12 <aaronpk> i think the idea was to stop doing root-level files like favicon.ico in favor of a slightly more organized .well-known folder
12:12 <donpdonp> .well-known/ is certainly weird. it was meant to not get in the way of existing url schemes. http://tools.ietf.org/html/rfc5785
12:12 <tyler_> oh gotcha, so .well-known is gonna be standard thing
12:13 <tyler_> so like .well-known/favicon
12:13 <aaronpk> in theory, yes
12:13 <tyler_> that makes more sense
12:15 <Loqi> [[Template:API Param]] http://geoloqi.org/index.php?diff=258&oldid=254&rcid=259 * Aaronpk * (+70)
12:19 <Loqi> [[Template:API Param]] M http://geoloqi.org/index.php?diff=259&oldid=258&rcid=260 * Aaronpk * (+14)
12:23 <Loqi> [[Template:API Param]] http://geoloqi.org/index.php?diff=260&oldid=259&rcid=261 * Aaronpk * (+0)
12:24 <Loqi> [[API/location/history]] http://geoloqi.org/index.php?diff=261&oldid=257&rcid=262 * Aaronpk * (+45) formatting
12:24 <tyler_> aaronpk, request: can we send dates as unix timestamps instead of iso8601, makes working with them a lot easier
12:25 <aaronpk> iso8601 includes the time zone which was the reason for that
12:25 <aaronpk> unix timestamps with no time zone are ambiguous
12:26 <tyler_> aaronpk, the phone can do that though, for example: in the app i can do since today 3:00pm PST, then the app can convert that to unixtimestamp and then send that to server
12:26 <aaronpk> as a gmt date?
12:27 <tyler_> no as a timestamp
12:27 <aaronpk> in what time zone?
12:27 <donpdonp> unix timestamps are supposed to always be UTC
12:27 <tyler_> unix timestamps are relative time, there are no timezones
12:27 <tyler_> im talkign about epoch seconds
12:27 <tyler_> talking*
12:27 <donpdonp> i like iso8601 because its human readable
12:28 <aaronpk> human readable + time zone = win
12:28 <tyler_> in the phone we can use iso8601 but for actual data transfer that people never see epoch seconds is easier to work with
12:28 <aaronpk> you just need a simple function to convert between iso8601 and unix timestamp
12:28 <donpdonp> http://en.wikipedia.org/wiki/Unix_epoch "Unix time, or POSIX time, is a system for describing points in time, defined as the number of seconds elapsed since midnight proleptic Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds."
12:28 <aaronpk> php has one built in ;) strtotime('anything goes here')
12:29 <tyler_> donpdonp, they're not "in" UTC though
12:29 <tyler_> thats just the starting time
12:29 <aaronpk> but people see the data transfer all the time, i.e. you, me, donpdonp
12:30 <tyler_> hrm
12:30 <tyler_> this is the ruby parsing of your string: foo = Time.parse("2010-07-28T11:28:20-700"); => Wed Jul 28 11:28:20 +0000 2010
12:31 <tyler_> it ignores the timezone
12:31 <aaronpk> what happens if the timezone is 0700?
12:32 workshop joined #geoloqi
12:32 <tyler_> same thing
12:33 <aaronpk> my ruby handles it properly
12:33 <aaronpk> gives me "Wed Jul 28 11:28:20 -0700 2010"
12:33 <aaronpk> ruby version 1.8.6
12:34 <tyler_> nevermind
12:34 <Loqi> [[Template:API Param]] M http://geoloqi.org/index.php?diff=262&oldid=260&rcid=263 * Aaronpk * (+1)
12:34 <tyler_> with the 0700 it does it halfway right
12:35 <tyler_> outputs that it is in UTC
12:35 <aaronpk> what version of ruby do you have?
12:35 <tyler_> im using 1.8.7
12:35 <aaronpk> weird
12:38 <tyler_> aaronpk, ok im revising my request can we change it to -0700 instead of -700? it works that way
12:39 <aaronpk> yes, I think iso8601 actually specifies a 2-digit hour
12:40 <aaronpk> are you getting -700 from the phone or from my api?
12:40 <tyler_> thats probably why i couldn't get javascript to recognize it as a date
12:40 <tyler_> from the phone
12:40 <tyler_> alll my testing is from phone to my node server
12:41 <tyler_> i put in a hack that made it 2-digit hour for the time being
12:41 <aaronpk> ok, I'm not sure where in the iphone code it's formatting the date so i'll ask jtbandes
12:42 <aaronpk> donpdonp: any opinions on how to query the API for data within a bounding box?
12:43 <aaronpk> thinking about specifying top left and bottom right coords
12:44 <aaronpk> or could use a geojson rectangle
12:44 <tyler_> i thought it was bottom left and top right?
12:45 <aaronpk> example?
12:45 <tyler_> same concept just different corners
12:46 <tyler_> either way doesn't really matter as long as we all do it the same
12:46 <aaronpk> oh, how about using "after" instead of "since", because after/before makes more sense than since/earlier
12:46 <tyler_> ok i like that
12:47 <aaronpk> great
12:48 <aaronpk> ok this is going to come up a few times:
12:48 <aaronpk> geojson is great for specifying arbitrary shapes, however we already decided not to use it to specify a single point. we also have a way to describe a circle (which geojson) doesn't have which is center point and radius.
12:49 <aaronpk> currently using the center/radius for geonotes
12:49 <aaronpk> geonotes are currently specified as a circle, but no reason they couldn't be a rectangle too
12:49 <aaronpk> similarly, I may want to query for data within a circle or a rectangle
12:50 <aaronpk> so I think we might need a standard way to describe rectangles
12:50 <aaronpk> both for querying the API to retrieve data, and also for leaving a geonote at a location that may be a rectangle
12:51 <aaronpk> rectangles in geojson are kind of silly too, since you have to send 2x coords that it actually takes to specify a rectangle http://geojson.org/geojson-spec.html#id4
12:52 <tyler_> so we make our own format?
12:52 <aaronpk> aaronpk checkingg to see what google maps does
12:53 <aaronpk> SW to NE corners
12:55 <aaronpk> let's follow the google maps example
12:55 <tyler_> thats what i said, bottom left to top right
12:56 <aaronpk> so a bounding box would be {sw: {lat: 45.5, lng: -122.6}, ne: {lat: 45.5, -122.6}}
12:57 <tyler_> why not just {{lat: 45.5, lng:-122.6},{lat:45.5,-122.6}}?
12:57 <aaronpk> you mean [{lat: 45.5, lng:-122.6},{lat:45.5,-122.6}]?
12:57 <tyler_> yeah
12:59 <jtbandes> aaronpk: LocationUpdateRequest.m:37
13:00 <aaronpk> lol how do i show line numbers in this thing?
13:01 <jtbandes> Xcode? uhhh...
13:01 <aaronpk> hm, that says "[dateFormatter stringFromDate:loc.timestamp]"
13:01 <jtbandes> Well ⌘L goes to a line
13:01 <jtbandes> Xcode > Preferences > Text Editing > Show line numbers
13:02 <aaronpk> whew thanks. I can't think without line numbers lol
13:02 <jtbandes> Yeah, I have no idea why they're not on by default
13:02 <jtbandes> Xcode 4's line numbers are ugly :(
13:02 <aaronpk> ISO8601DateFormatter.m has a #define at the top that says #define ISO_TIMEZONE_OFFSET_FORMAT @"%+02d%02d"
13:03 <aaronpk> which looks like it should be making a 2 digit hour
13:03 <jtbandes> Is it not?
13:03 <aaronpk> tyler_ says it's sending -700
13:03 <jtbandes> o_O
13:03 <aaronpk> instead of -0700
13:03 <jtbandes> let me debug
13:04 <jtbandes> oh that's bizarre, it is
13:04 <tyler_> tyler_ smashes the bugz
13:05 <jtbandes> ...ah
13:05 <jtbandes> hahah
13:05 <jtbandes> the 2 is applying to the + also
13:05 <jtbandes> needs to be +%03d
13:05 <jtbandes> no
13:05 <jtbandes> %+03d
13:05 <aaronpk> wait, why is the + inside the %?
13:05 <aaronpk> should it be "+%02d%02d"
13:05 <aaronpk> ?
13:05 <jtbandes> + is inside because it has to be
13:06 <jtbandes> otherwise it won't be - when it needs to be
13:06 <jtbandes> %+d forces it to show + if it's positive
13:06 <jtbandes> man 3 printf
13:06 <aaronpk> oh, so the plus/minus sign is being counted as a character?
13:06 <jtbandes> apparently
13:06 <aaronpk> nice
13:22 <tyler_> ok since parameter now implemeted
13:25 <aaronpk> sweet
13:25 <aaronpk> how about this for bounding box? location/history?accuracy=30&sw=45.504782,-122.653471&ne=45.512241,-122.644717
13:26 <donpdonp> aaronpk: seems ok
13:27 <aaronpk> donpdonp: opinion on json format of bounding boxes? {sw: {lat: 45.504782, lng: -122.653471}, ne: {lat: 45.512241, lng: -122.644717}} with or without sw/ne keys?
13:27 <donpdonp> aaronpk: the sw/ne adds to readability if one knows its a bounding box in the first place
13:27 <aaronpk> agreed
13:28 <aaronpk> else you'll always have to consult the spec to remember which is which
13:28 <aaronpk> also I like addressing box.sw.lat and box.ne.lng better than box[0].lat
13:29 <donpdonp> if i didnt know it was a bounding box id guess {SoftwareWorkshop: {Lateral: 45.5, LowpressureNaturalGas: -122.6}, NorthEast: { Latvia: 45.5, Long: -122.6}}
13:29 <donpdonp> aaronpk: oh totally. box.sw.lat is nice
13:29 <aaronpk> hah
13:29 <aaronpk> or in php, $box->sw->lat
13:30 <donpdonp> box["sw"]["lat"] (ruby)
13:33 <jtbandes> class Hash; def method_missing(m); self[m.to_s]; end; end
13:33 <tyler_> or in javascript box.sw.lat ;)
13:34 <jtbandes> Actually
13:34 <jtbandes> class Hash; def method_missing(m); self.has_key?(m.to_s) ? self[m.to_s] : super; end; end
13:37 <jtbandes> jtbandes <3 ruby
13:43 <donpdonp> there is so much javascript awesomeness its hard to keep track of it
13:44 <tyler_> speaking of which anyone going to javascript admirers meeting tonight?
13:44 <donpdonp> http://aloha-editor.com/demos/960-fluid-demo/ i cant WAIT for wordpress to start using this
13:44 <donpdonp> tyler_: im planning on it
13:44 <tyler_> donpdonp, cool me too
13:44 <aaronpk> ah a js meeting? i'm hosting the dataviz group tonight since amber's out of town
13:45 <donpdonp> aaronpk: ah. can you get a ustream livestream going of the meeting?
13:46 <aaronpk> hmm possibly
13:46 <donpdonp> another wednesday technical meetup singularity
13:47 <donpdonp> i wish goog maps would display a div instead of an image for a market
13:47 <donpdonp> s/market/marker/
13:49 <donpdonp> funny how right-click is disabled over a goog map
13:52 <tyler_> aaronpk, for accuracy param, what value does it look at in the dataset?
13:52 <aaronpk> horizontal_accuracy
13:55 <tyler_> aaronpk, im setting default to 100, that a good value?
13:55 <aaronpk> yea that's what i've got too
14:03 jtbandes joined #geoloqi
14:06 <tyler_> aaronpk, woohoo i have all three params implemented
14:07 <tyler_> donpdonp, i luvs me some 960gs it makes me look like a halfway decent designer
14:08 <donpdonp> tyler_: heh. i think inplace editing will rock the wordpress world
14:08 <tyler_> agreed
14:30 <tyler_> whats cool about redis, is that it has an "expire" flag, so since i use it to set oauth_token, i can have it auto expire right when i set it
14:40 <donpdonp> cool
14:51 <tyler_> aaronpk, you have any other endpoints implemented yet?
14:54 <aaronpk> no, you're too fast for me! had to switch gears and put up the new version of geoloqi.com really quick
15:06 <donpdonp> a like button. ha
15:10 <aaronpk> haha yea. it's weird
15:10 <Loqi> haha
15:11 <aaronpk> but I get a message in IRC whenever anybody clicks it :)
15:12 <aaronpk> yes, like that :)
15:12 <tyler_> did you get all ten of them?
15:12 <aaronpk> 3
15:12 <tyler_> ;)
15:20 jtbandes joined #geoloqi
15:38 <aaronpk> whoa didn't know so many people were going!
15:43 <donpdonp> its gonna be double-rainbow good!
16:14 <aaronpk> NEW WEBSITE!! http://geoloqi.com/
16:17 <@geoloqi> New magical website! http://geoloqi.com/
16:19 <tyler_> woo sexy
16:24 <donpdonp> thats so rainbow
16:24 <aaronpk> oh god
16:25 <tyler_> aaronpk, how do i commit to the node-js repo, is there a group account?
16:25 <aaronpk> i added you to the repo
16:25 <aaronpk> so you should be able to commit using your github acct
16:25 <tyler_> oh cool
16:25 <tyler_> i heart github
16:25 <tyler_> it makes things easy
16:25 <aaronpk> yea it kinda does
16:25 <tyler_> im gonna commit what i have even though its ugly
16:26 <aaronpk> awesome
16:26 <aaronpk> i might commit this too, getting real close to being functional
16:31 <@pkbot> Posted a photo: Geoloqi.com - After http://aaron.pk/1Le [Flickr]
16:42 <Loqi> [[Template:API Param]] M http://geoloqi.org/index.php?diff=263&oldid=262&rcid=264 * Aaronpk * (+1)
16:44 <Loqi> [[API/location/history]] http://geoloqi.org/index.php?diff=264&oldid=261&rcid=265 * Aaronpk * (+1408)
16:46 <tyler_> ok committed
16:47 <aaronpk> woo
16:59 <@carloseberhardt> Love this idea (whole thing, not just new site): “@geoloqi: New magical website! http://geoloqi.com/”
16:59 <@notthisbody> RT @geoloqi: New magical website! http://geoloqi.com/
17:00 <Loqi> [[API/location/history]] M http://geoloqi.org/index.php?diff=265&oldid=264&rcid=266 * Aaronpk * (+1)
17:06 <aaronpk> tyler_: geometry=circle and geometry=rectangle are implemented now!
17:07 <tyler_> aaronpk, was just looking at them
17:07 <tyler_> i have to figure out how im gonna query the points
17:08 <Loqi> [[Template:API Param]] M http://geoloqi.org/index.php?diff=266&oldid=263&rcid=267 * Aaronpk * (+29)
17:09 <Loqi> [[Template:API Param]] M http://geoloqi.org/index.php?diff=267&oldid=266&rcid=268 * Aaronpk * (+8)
17:09 <Loqi> [[API/location/history]] M http://geoloqi.org/index.php?diff=268&oldid=265&rcid=269 * Aaronpk * (-12) formatting
17:09 <tyler_> rectangle should be easy
17:09 <tyler_> circle might be harder
17:10 <aaronpk> this might be useful: (( 3959 * ACOS( COS( RADIANS(:lat) ) * COS( RADIANS( `lat` ) ) * COS( RADIANS( `long` ) - RADIANS(:lng) ) + SIN( RADIANS(:lat) ) * SIN( RADIANS( `lat` ) ) ) ) <= :radius)
17:10 <aaronpk> that's done in the mysql query
17:17 <tyler_> aaronpk, whats the difference between `lat` and :lat?
17:18 <aaronpk> :lat is passed in to the query later, so that's the point you're actually interested in
17:18 <aaronpk> `lat` is the column in the DB
17:22 <tyler_> ok so `lat` is DB value, :lat is param value
17:23 <@mattpurser> http://geoloqi.com/ cool new website, geolocation thing but a friends based one rather than every bugger seeing you!
17:23 <tyler_> (( 3959 * Math.acos( Math.cos( param_lat * (Math.PI/180)) * Math.cos( db_lat * (Math.PI/180) ) * Math.cos( (db_lon * (Math.PI/180)) - (param_lon * (Math.PI/180)) ) + Math.sin( param_lat * (Math.Pi/180) ) * Math.sin( db_lat*(Math.PI/180) ) ) ) <= radius)
17:26 <aaronpk> nice
17:26 <tyler_> btw, this is an awesome tool: http://itouchmap.com/latlong.html
17:27 <aaronpk> cool. you can also install a google maps labs thing to get a right click menu to drop a lat/long marker http://snip.aaron.pk/2010-07-28_1726.png http://snip.aaron.pk/2010-07-28_1727.png
17:46 <tyler_> aaronpk, on the wiki you say 'point' and 'rectangle' are the two modules but you have geometry=circle
17:51 <aaronpk> oops it's circle and rectangle
17:52 <Loqi> [[API/location/history]] M http://geoloqi.org/index.php?diff=269&oldid=268&rcid=270 * Aaronpk * (+1) circle, not point
18:03 jtbandes joined #geoloqi
18:03 <tyler_> woohoo gemoetry=circle is implemented
18:03 <tyler_> geometry*
18:04 <tyler_> now for rectangle
18:11 <donpdonp> http://donpark.org/people/ click on neophiliac
18:12 <tyler_> honululu
18:13 <donpdonp> yup.
18:14 <tyler_> debating if i really want to go to js night
18:15 <tyler_> there *is* pizza, and i *am* starving
18:15 <tyler_> my stomach thinks for me
18:16 icecondor joined #geoloqi
18:16 <donpdonp> rocco's
18:16 <donpdonp> icecondor: where is http://www.neophiliac.org/
18:16 <icecondor> donpdonp: Hawaii Prince Hotel (21.2866, -157.8401, 61 mins)
18:17 <donpdonp> icecondor: where is http://donpark.org/
18:17 <icecondor> donpdonp: Rocco's Pizza (45.5231, -122.6824, 23 mins)
18:17 <donpdonp> im not actually there
18:17 <donpdonp> my last report must have been near there
18:17 <donpdonp> donpdonp cranks the frequency up from 5min to 2min
18:18 <donpdonp> whoops wrong channel
18:20 <@geoloqi> @mattpurser You got it!
18:21 <@anothercasebot> Posted a photo: Geoloqi - A secure, real-time mobile and web platform for location sharing. http://caseorganic.com/1Lh [Flickr]
18:28 <tyler_> ok recctangle implemented
18:51 <tyler_> aaronpk, is that your house?
18:51 <tyler_> oh n/m
18:51 <tyler_> i heard the music for the ad and thought it was your music
18:52 <@caseorganic> Woah. Massive amounts of @geoloqi signups today. Might have been the new site http://geoloqi.com/ and webcast http://caseorganic.com/1B8
18:53 <@casebot> Caseorganic published a photo: Geoloqi - A secure, real-time mobile and web platform for location sharing.: caseor... http://bit.ly/cVtLfE
18:54 <Loqi> 2 files modified in http://github.com/geoloqi/Geoloqi-API-NodeJS/commits/master by Tyler Gillies
19:06 tyler-iphone joined #geoloqi
19:06 <tyler-iphone> In route to js group
19:19 <@myusic> @geoloqi "Rwar!" #nuffsaid
19:25 tyler-iphone joined #geoloqi
19:29 <donpdonp> tyler-iphone just walked into the room
19:30 <donpdonp> tyler is not on donpark.org/people. wtf
19:30 <donpdonp> is he being tracked?
19:30 <aaronpk> as of last night
19:31 <donpdonp> got a geoloqi email for him?
19:31 <donpdonp> er, id
19:33 <donpdonp> {username:"aaronpk", email:"aaron@parecki.com", service:{type:"geoloqi", id:"aaronpk"}}
19:33 <donpdonp> i need to fill that out for tyler
19:34 <donpdonp> he's 4 seats over
19:34 <donpdonp> i wish i could talk to him
19:34 <donpdonp> damn social norms
19:38 tyler-iphone joined #geoloqi
19:38 <tyler-iphone> reidab: In the house
19:42 <donpdonp> tyler-iphone: whats your gravatar email
19:43 <donpdonp> tyler-iphone: im trying 'tylergillies' as geoloqi username without success
19:43 <aaronpk> donpdonp: it wont work right now
19:44 <donpdonp> doh
19:44 <donpdonp> I NEEDS TEH LOCATION
19:44 <Loqi> Loqi thinks donpdonp is a betch
19:47 <tyler-iphone> donpdonp: I'm sending all my data to my node server though
19:49 <tyler-iphone> What's wifi passwd?
19:50 <donpdonp> tyler-iphone: surftheweb
19:50 <donpdonp> VisitorWireless
19:51 <donpdonp> tyler-iphone: got a geoloqi compatible URL?
19:52 <tyler-iphone> What do you mean by "compatible"
19:53 <donpdonp> tyler-iphone: same json result blob
19:53 <donpdonp> {"user":{"id":"http:\/\/aaron.pk
19:54 <donpdonp> tyler-iphone: like THAT but for YOU
19:54 <donpdonp> i forgot its still using that proxy.php crap
19:54 <tyler-iphone> All my stuff is oauth protected
19:54 tyler_ joined #geoloqi
19:54 <donpdonp> well excuuuuuuuuuusssseeeeeee meeeeeeee! :)
19:55 <tyler_> ok im on a real computer now
19:56 <tyler_> that is a json output of my location
19:57 <tyler_> token doesn't expire
19:57 <donpdonp> excccellent. <mr. burns>
19:57 <donpdonp> jeebus i get your life story in that json blob :)
19:57 <tyler_> haha
19:57 <Loqi> awesome
19:58 <donpdonp> also i need jsonp support
19:59 <donpdonp> doit({"user":{"id":"http:\/\/aaron.pk\/",
19:59 <donpdonp> the json is wrapped in a method call
19:59 <donpdonp> param callback=<name> is the method name
20:00 <tyler_> i'll add jsonp right now
20:01 <donpdonp> woo
20:02 <donpdonp> tyler_: whats your gravatar email?
20:03 <tyler_> donpdonp, tjgillies@gmail.com
20:04 <donpdonp> tyler_: awsome. you're on http://donpark.org/people/
20:04 <donpdonp> and if you check your server logs, you should see hits looking for that jsonp
20:04 <tyler_> donpdonp, i implemented jsonp just now
20:04 <tyler_> just give callback=callback function and it will wrap it
20:04 <donpdonp> tyler_: its having trouble with your position.
20:05 <tyler_> 'trouble'?
20:05 <donpdonp> investigating
20:05 <donpdonp> the jsonp looks good
20:06 <donpdonp> proxy.php returns one hash. your code returns an array
20:07 <tyler_> aaron told me to make it return an array
20:07 <donpdonp> ok i think ican handle it
20:08 <donpdonp> format is different
20:08 <donpdonp> yours: {"location": {}}
20:08 <donpdonp> aaron: { "user":{...}, "data":{"location":{}}}
20:09 <donpdonp> tyler_: aaronpk's: http://pastie.org/1064915
20:09 <tyler_> hrmm
20:13 <tyler_> donpdonp, don't know if i implement that resource...
20:15 <tyler_> aaronpk, does my json blob look right?
20:20 <@DrPFenderson> @caseorganic Think I might be able to snag an invite? #geoloqi
20:23 <donpdonp> the json responses, they must conform
20:30 <tyler_> aaronpk, maybe have input/output example on wiki page
20:32 <donpdonp> icecondor: where is http://donpark.org/
20:32 <icecondor> donpdonp: Crystal Ballroom (45.5224, -122.6818, 94 mins)
20:33 <donpdonp> tyler_: better! just need a user:{} block
20:34 <donpdonp> and whats there goes in a data:{} block
20:34 <donpdonp> the first example is sending, where the user is implied
20:35 <donpdonp> reading is further down where you can see user:{} and data:[]
20:35 <donpdonp> looks like data should be an array
20:44 <@caseorganic> @factoryfactory We'll have to meet up in person next week with @aaronpk too. Lots to talk about, data viz, arduino, @geoloqi, ect.
20:47 <tyler_> donpdonp, i don't see "data":{ "location"}
21:46 tyler_ joined #geoloqi
21:53 jtbandes joined #geoloqi
22:11 tyler-iphone joined #geoloqi
22:22 tyler_ joined #geoloqi
22:33 jtbandes joined #geoloqi
23:07 <donpdonp> tyler_: ha
23:15 <donpdonp> tyler_: the /last/ url with &callback=zyz is not doing jsonp
23:15 <tyler_> donpdonp, ok i only added it for history, i'll add it for last also
23:16 <donpdonp> great
23:19 <donpdonp> tyler_: are you going to put your nodejs version into the geoloqi repo?
23:20 <tyler_> donpdonp, it already is, i made first commit today its in its own repo under the geoloqi branch
23:21 <donpdonp> i see it
23:24 <donpdonp> donpdonp waits
23:26 <tyler_> donpdonp, was proofing something for marshall
23:26 <donpdonp> oh. ha. work.
23:27 <tyler_> he asked me the same time you mentioned callback
23:27 <tyler_> ok. working on callback now
23:30 <donpdonp> icecondor: where is http://donpark.org/
23:30 <icecondor> donpdonp: Holocene (45.5132, -122.6440, 0 mins)
23:31 <donpdonp> par-tay
23:39 <donpdonp> almost, the callback is showing up inside the data:{callback()} block
23:40 <donpdonp> there it is. woo
23:40 <tyler_> almost i have the " escaped
23:40 <donpdonp> tyler_: it should have no " at all
23:41 <donpdonp> json is raw javascript
23:41 <tyler_> yeah i know still working on it
23:41 <donpdonp> ok
23:42 <donpdonp> the icecondor logo looks like zoidberg? ha
23:44 <@strangeways> RT @geoloqi: New magical website! http://geoloqi.com/
23:44 <tyler_> donpdonp, ok should now work for callback and no callback
23:47 <donpdonp> awesome except the timezone is hosed
23:47 <donpdonp> T22:51:36-700
23:47 <Loqi> STFU DONPDONP
23:47 <tyler_> oh yeah thats from the phone
23:47 <donpdonp> ah
23:47 <tyler_> can you take-0700 or you want -07:00?
23:47 <tyler_> i can fix it on output
23:48 <tyler_> i have a hack to match on input but didn't make a match to hack on output
23:48 <donpdonp> The offset from UTC is given in the format ±[hh]:[mm], ±[hh][mm], or ±[hh].
23:48 <tyler_> ok i'll do -0700 since thats how aaron is gonna do it
23:48 <donpdonp> sounds good
23:49 <donpdonp> tyler_: is your position correct on http://donpark.org/people/ , just off N Interstate?
23:49 <tyler_> donpdonp, yep
23:49 <donpdonp> and N Bryant St
23:49 <donpdonp> woo!
23:49 <donpdonp> 30% batt
23:49 <tyler_> yeah i need to plug in
23:50 <tyler_> why is my loqi icon foobared? ;)
23:50 <Loqi> buttwipe
23:51 <donpdonp> tyler_: the script has you in another service category
23:51 <donpdonp> since the url is not a geoloqi uri or something like that
23:52 <donpdonp> i can copy the same logo or if you have a custom one i can use that too
23:52 <tyler_> oh gotcha
23:52 <tyler_> a medication container that you get at the pharmacy ;)
23:57 <tyler_> ok i hacked the date
23:58 <donpdonp> tylergillies
23:58 <donpdonp> 10 minutes
23:58 <tyler_> donpdonp, how often does it update?
23:58 <donpdonp> we have liftoff.
23:58 <donpdonp> tyler_: it polls every couple minutes i think
23:58 <tyler_> cool
23:58 <donpdonp> maybe every minute
23:59 <donpdonp> ha ok