2010-07-20

00:34 <Loqi> 1 files modified in http://github.com/geoloqi/android-client/commits/master by Aaron Parecki
02:22 <@mpanighetti> @loqisaur @caseorganic Thought you'd enjoy this inspirational tune, courtesy of @paulandstorm: http://youtu.be/pojv18htHy8
07:38 caseorganic joined #geoloqi
08:17 <aaronpk> donpdonp: geoloqi is logging much more regularly this morning, however, a very weird glitch happened right at the end. It looks like the points came in with the wrong timestamps: http://snip.aaron.pk/2010-07-20_0815.png
08:17 <Loqi> morning.
08:18 <aaronpk> good morning loqi
08:18 <Loqi> Loqi :)
09:15 caseorganic joined #geoloqi
09:20 workshop joined #geoloqi
10:18 jtbandes joined #geoloqi
11:20 tjgillies joined #geoloqi
11:35 <tjgillies> aaronpk, how can you geotag the paypal tranactions?
11:36 <aaronpk> Paypal sends an email whenever I use my Paypal check card, so I pipe that email to a script which looks up my current location and stores the transaction in the DB
11:39 <aaronpk> the script that processes the mail then also sends an "sms" command to my IRC bot which gives me a nearly instant SMS receipt
11:46 <tjgillies> oh, so you don't get geo data from paypal
11:46 <tjgillies> you tag it with Location.now
11:46 <tjgillies> smart
11:46 <aaronpk> right, using my own location data. Really I can geotag anything that has a timestamp now
11:46 <tjgillies> you're very clever Mr. Parecki
11:47 <aaronpk> why thank you Mr. Gillies
11:50 <tjgillies> do you guys have an api built yet?
11:51 <aaronpk> Yes, but it is going to change slightly in the near future.
11:51 <tjgillies> any docs?
11:52 <aaronpk> This is the format the data is sent and retrieved in http://geoloqi.org/API
11:53 <tjgillies> woo json, yummy
11:53 <tjgillies> why not make the xml feed pubsub?
11:54 <aaronpk> The URL will change soon, but the data format will be mostly the same. I'm replacing the API key with OAuth access
11:54 <aaronpk> and yes, there will be a pubsub feed too
11:54 <tjgillies> nice
11:54 <tjgillies> imho i hate OAuth, whats wrong with basic auth?
11:54 <tjgillies> at least tell me you're using oauth2
11:54 <aaronpk> revokable access to apps is a big plus
11:58 <donpdonp> oauth means the client app doesnt ask for the user's password
11:58 <aaronpk> I *might* add support for Digest auth for developer accounts just to make it a bit easier to use, but I'm not convinced that's a good idea yet
11:58 <tjgillies> the only reason thats a problem on the net is because people use the same password for everything heh
12:00 <tjgillies> not a whole lot of difference between having an access token and a password, plus i would say most "normals" don't understand how to revoke access
12:01 <aaronpk> but from a server admin perspective, if I notice a particular app is misbehaving, I can disable that app across all accounts without affecting any other type of access
12:01 <tjgillies> good point
12:02 <tjgillies> im just bitter becuae i wasted so many hourts on oauth in the early days, ouath2 seems quite nice though, ive played with it via facebook with some projects
12:02 <tjgillies> s/becuae/because/
12:02 <tjgillies> can't type this week
12:03 <aaronpk> I agree that it's a bit awkward at first
12:03 <aaronpk> or even maybe second and third and fourth
12:04 <tjgillies> one thing twitter did, that im infinitely greatful for, is include an access token in the app settings, so you don't actually have to implement the whole login cycle if you just want access to your own account
12:07 <aaronpk> what? where?
12:07 <aaronpk> that's clever, I should do that too.
12:08 <tjgillies> thats why i mentioned it ;)
12:08 <tjgillies> its on their new dev page
12:10 <aaronpk> ah cool
12:12 <aaronpk> the xAuth thing is interesting too
12:13 <aaronpk> ok so with a "my token" feature, that pretty much eliminates the need for dev-only user/pass auth
12:13 <tjgillies> from what i understand, xAuth is less about authentication, and more about discovery, although, i haven't read the spec too closely
12:14 <aaronpk> I thoguht it was basically exchanging a user/pass for OAuth tokens without sending the user to a web page
12:15 <tjgillies> that may be so, like i said, not too familiar with spec
12:15 <aaronpk> so you ask the user to enter their credentials into your app (or website), and the server negotiates the OAuth automatically. Obviously this goes against the password anti-pattern idea, but is more seamless for mobile apps
12:16 <tjgillies> that is actually interesting
12:16 <tjgillies> by credentials, meaning username/pass?
12:16 <aaronpk> right
12:17 <tjgillies> btw, have you seen http://www.glympse.com/?
12:17 <aaronpk> hah, yea
12:18 <donpdonp> woah, nice animation on glympse
12:19 <aaronpk> donpdonp: I added "heading" to the log from the android app so we could do that too now :)
12:19 <donpdonp> share your location with anyone for a specified period of time using patent-pending GlympseWatch
12:20 <donpdonp> aaronpk: yeah i saw that commit. cool
12:30 <tjgillies> just sent signed contributer agreement
12:30 <aaronpk> hey awesome, thanks!
12:33 <aaronpk> are you on github?
12:35 <tjgillies> github.com/tjgillies
12:36 <aaronpk> have you done much with openmicroblogger?
12:37 <tjgillies> not a whole lot. i forked it because brians my buddy heh
12:37 <tjgillies> i created an ostatus social network though
12:37 <tjgillies> thats my robin repo
12:38 <aaronpk> ah cool
12:39 <tjgillies> its not actively developed anymore because i kinda started hating rails
12:39 <tjgillies> i still love ruby, but rails as a framework bugs me
12:39 <tjgillies> i mostly do all my stuff in eventmachine now
12:47 <tjgillies> yeah
12:47 <tjgillies> i started writing that yesterday
12:47 <tjgillies> s/i/he/
12:48 <tjgillies> btw, if you like that kinda stuff @geopdx has software that does that in a more detailed fashion
12:48 <tjgillies> at least that what he claims
12:49 <aaronpk> I've used google's api for plotting data on a map but it's kinda awkward
12:49 <aaronpk> would be interestde to see what @geopdx has
12:49 <tjgillies> you ever used mapstraction?
12:49 <aaronpk> no
12:49 <aaronpk> aaronpk hides
12:50 <tjgillies> adam duvander (who wrote a book on it) is good friends with @geopdx
12:50 <tjgillies> i attended his session at web visions
12:50 <aaronpk> cool
12:51 <tjgillies> it's pretty cool, can do live "hot swapping" between google,bing,and open streetmaps
12:51 <tjgillies> api sandbox: http://mapstraction.appspot.com/
13:04 <donpdonp> aaronpk: you have to watch the What is Glympse vid
13:04 <donpdonp> the timed location tracking is very familiar sounding
13:04 <donpdonp> except with creepy hand-puppet things
13:07 <aaronpk> i know, it's like everybody has the same idea at the same time
13:07 <tjgillies> have you seen echoecho?
13:07 <tjgillies> its the opposite of geoloqi
13:07 <donpdonp> does it glue you to your chair? :)
13:07 <tjgillies> it asks other people for their location
13:09 <donpdonp> glympse is all Microsoft TV bail-ees
13:10 <donpdonp> funny that its an android app
13:10 <aaronpk> and iphone
13:10 caseorganic joined #geoloqi
13:11 <tjgillies> are android and cyborg synonymous
13:11 <tjgillies> ?
13:11 <caseorganic> I talked with scoble about glympse at foocamp
13:11 <caseorganic> he said he liked it but it didn't have enough features
13:11 <caseorganic> an android is a robot in the shape of a human
13:12 <tjgillies> so a cyborg is a human in the shape of a robot?
13:12 <caseorganic> the first cyborg was used to describe using exogenous components to adapt to an environment
13:13 <caseorganic> an astronaut is a cyborg
13:13 <caseorganic> a cell phone user is a cyborg
13:13 <caseorganic> an android is a machine
13:13 <caseorganic> a cyborg can have human and non-human components
13:13 <caseorganic> an android only has machine parts
13:13 <caseorganic> a robot can look like anything, but a human-looking robot is an android. data is one. but a googlebot is not. an astronaut is a cyborg.
13:14 <caseorganic> to take it really far.. which is a somewhat of a contentious point -- a caveman who uses tools is a cyborg
13:14 <tjgillies> so how do we know you're a cyborg and not an android?
13:15 <caseorganic> i cite it as an example of a cyborg - but then it would mean anyone using a took would be a cyborg.
13:15 <tjgillies> ;)
13:15 jtbandes joined #geoloqi
13:16 <tjgillies> i would personally make the distinction with electronic components just because in pop-culture "cyborg" seems more of a futuristic, techy term
13:19 <caseorganic> it does. when in reality it came from early engineering of space travel
13:19 <caseorganic> have you read the "cyborg handbook?"
13:19 <tjgillies> nope
13:19 <tjgillies> is it free?
13:19 <caseorganic> it's a really good guide to this subject- with lots of info about early cybernetics
13:19 <caseorganic> no - it is not. i wish i could send you a copy
13:19 <caseorganic> can get one for 10$ off amazon
13:19 <tjgillies> i can "accquire" one
13:20 <caseorganic> at libraries too
13:20 <caseorganic> they have a used one from $1.89
13:20 <donpdonp> tjgillies: can you get me a toe by 1pm?
13:20 <caseorganic> Here's the article I was talking about - http://www.scribd.com/doc/2962194/Cyborgs-and-Space-Clynes-Kline
13:21 <caseorganic> Apparently this part is free. Excellent.
13:23 <donpdonp> someone send me a glympse
13:23 <donpdonp> there is an iphone client
13:23 <aaronpk> I would but I'm not going anywhere
13:24 <donpdonp> me neither :)
13:24 <aaronpk> Actually I need to go downstairs to get a drink, but it isn't that far ;)
13:25 <tjgillies> donpdonp, what email/phone number you want me to send it to?
13:25 <donpdonp> don.park@gmail.com
13:26 <aaronpk> sent
13:27 <donpdonp> the amazing thing about about the glympse process is that it never asked me to identify myself
13:27 <aaronpk> it only sort of asked me
13:27 <aaronpk> it asked me for a nickname
13:27 <donpdonp> it was login free. everything worked including sending my location
13:27 <donpdonp> then yeah it asked for a nickname
13:27 <aaronpk> yea, that's kind of neat
13:27 <donpdonp> but not a coordinated one or a password
13:28 <aaronpk> I was thinking of doing that for geoloqi too
13:28 <caseorganic> i think that would be a good idea
13:28 <aaronpk> basically auto-creating a user account (with no username) and doing the whole oauth thing with the phone, but the user would never know
13:28 <aaronpk> then later there would be a way to "claim" your account from the desktop
13:28 <donpdonp> how about a UUID as a device key over ssl
13:29 <aaronpk> no need for a device key once oauth is in place tho, right?
13:29 <donpdonp> yeah i was suggesting that instead of oauth
13:30 <aaronpk> oh
13:30 <donpdonp> but oauth makes sense still for 3rd party api access
13:30 <aaronpk> interesting
13:30 <aaronpk> I was treating the phone as a 3rd party too
13:31 <tjgillies> technically it *is* just another agent
13:40 <aaronpk> right. and the idea with this project is to make it self-installable on your own server, and to make the client able to point to other servers. So potentially you have n identical iPhone apps and m identical server endpoints and they can communicate in n*m ways
13:42 <aaronpk> the mobile apps should be able to send data to api.geoloqi.com or api.yourdomain.com just as easily
13:44 <tjgillies> i like that concept because i can create my own backend
13:44 <tjgillies> and just implement the geoloqi api
13:45 <tjgillies> and the app won't know the difference
13:45 <aaronpk> exactly. lets you write neat backend stuff without having to write a mobile app too
13:45 <tjgillies> its like the tweetie2 for geo
13:46 <aaronpk> This is the long version of what I preseted at fsws on Sunday. http://geoloqi.org/presentations/2010/07/federated-social-web-summit-location-sharing/geoloqi.html
13:46 <aaronpk> Slide 16 "for developers"
13:46 <aaronpk> if you didn't want to write your own server, you can use our API to hit callback URLs when certain conditions are met
13:47 <tjgillies> "our" api as in api.geoloqi.com?
13:47 <aaronpk> yea
13:48 <tjgillies> gotcha
13:48 <tjgillies> using one off callback is where DSL's come in handy
13:48 <tjgillies> s/callback/callbacks/
13:49 <tjgillies> "Respect the temporal nature of real-life relationships" i love that concept
13:56 <donpdonp> photo from the bathroom at OSCON
13:56 <aaronpk> LOL
13:57 <tjgillies> awesome
13:57 <tjgillies> donpdonp, were you at rontoms last night?
13:57 <aaronpk> I'm pretty sure I remember joking years ago about how long it would take before they put ads on toilet paper
13:59 <aaronpk> ctrl+shift+t: one of the most useful firefox shortcuts
13:59 <tjgillies> shift + f2 is my favorite one on opera
14:03 <donpdonp> aaronpk: agreed
14:04 <donpdonp> tjgillies: yes, i saw you across the room
14:04 <tjgillies> donpdonp, did you see the chair break?
14:04 <donpdonp> tjgillies: twice
14:05 <tjgillies> donpdonp, i stole the leg: http://nostat.us/pics/chair.jpg
14:05 <donpdonp> thats crazy
14:05 <donpdonp> so is the size of that image!
14:05 <tjgillies> lol
14:05 <caseorganic> yeah! that was massive
14:05 <Loqi> that's what she said!
14:06 <caseorganic> hahaha
14:06 <tjgillies> haha
14:06 <donpdonp> lol
14:06 <aaronpk> loqi wins
14:06 <Loqi> Loqi slaps aaronpk
14:06 <aaronpk> hey now
14:07 <caseorganic> caseorganic slaps Loqi
14:08 <aaronpk> aaronpk feeds loqi a GPS point
14:08 <Loqi> Loqi chews on the GPS point
14:08 <aaronpk> nom nom nom
14:08 <tjgillies> botluv
14:09 <donpdonp> noms
14:50 <tjgillies> could one of you install geoloqi on my phone sometime? i don't have a mac
14:50 <tjgillies> anyone going to ignite oscon tonight?
14:50 <aaronpk> android or iphone?
14:51 <tjgillies> iphone
14:51 <tjgillies> i would just install myself if i had android
14:51 <aaronpk> sweet, yea I can do that when caseorganic gets back, like Friday probably, I don't have our dev stuff set up on my mac
14:53 <tjgillies> ok cool
14:53 <tjgillies> i work from home so i can meetup anytime
14:55 <tjgillies> well friday evening im leaving to go camping
14:55 <aaronpk> maybe thursday evening
14:55 <caseorganic> thurs evening is fine
14:55 <caseorganic> i have it ready with provisioning profiles ready to go
14:56 <caseorganic> do you have a 3gs running ios4
14:56 <caseorganic> or do you have iphone 4?
14:57 <tjgillies> iphone 4
14:57 <tjgillies> waited 6 hours
14:57 <caseorganic> excellent
14:57 <caseorganic> that'll be perfect
14:58 <caseorganic> we need to test it on iphone 4 - so this is great
14:58 <caseorganic> could you download adhoc and email your uuid to caseorganic@gmail.com?
14:59 <tjgillies> is "adhoc" a piece of software?
14:59 <caseorganic> it's a fast way of sending a uuid
15:00 <caseorganic> just look for adhoc in itunes store - or manually send your udid
15:00 <tjgillies> iphone uses uuid for identifier... hrm never knew that
15:00 <tjgillies> i use uuid all the time for my apps
15:00 <caseorganic> awesome
15:02 <tjgillies> ruby has a nice library. uuid = UUID.new; someObject = SomeClass.new(:uuid => uuid)
15:03 <tjgillies> caseorganic, ok sent
15:04 <caseorganic> Thanks very much! Saved
15:04 <caseorganic> See you thursday
15:06 <donpdonp> yeah for UUIDs. they're a facinating concept
15:06 <tjgillies> i used to use Time.now until i discovered uuid
15:06 <donpdonp> that we can coodinate, in a way, with zero interaction, from anywhere in space or time
15:07 <caseorganic> absolutely.
15:08 <tjgillies> well more specifically Time.now.to_i
15:08 <donpdonp> tjgillies: phear the 2038 :)
15:09 <tjgillies> that is going to be an awesome day
15:10 <tjgillies> 03:14:07 UTC on Tuesday, 19 January 2038 Drinks are on me
15:10 <tjgillies> as we watch the clock go negative
15:10 <aaronpk> i'm gonna hold you to that
15:11 <tjgillies> i'll tell my grandkids "When i was your age, the epoch time was a postive number"
15:11 <caseorganic> that's like the world agenda planners expo 2015. rsvp now!
15:15 <tjgillies> donpdonp, good thing I have a 64bit processor ;)
15:18 <tjgillies> althought im still vulnerable to the Sunday, December 4, 292,277,026,596 AD bug :(
15:18 <Loqi> it'll be ok
15:56 reidab joined #geoloqi
16:00 reidab joined #geoloqi
16:09 <tjgillies> hey reid
16:12 <donpdonp> aaronpk: a time/timezone problem on the android client is quite possible
16:12 <donpdonp> im struggling with it in the icecondor client
16:14 <donpdonp> i believe its an Android issue and I'm trying to convince android engineers of that
16:15 <donpdonp> glympse.com was registered in 2002
16:19 <tjgillies> donpdonp, is ice condor android only?
16:22 <donpdonp> tjgillies: correct
16:23 <tjgillies> donpdonp, im programming nodejs today inspired by you ;)
16:23 <tjgillies> was talking to igal, and the memory stuff might be really handy because ruby is a hog when it comes to that
16:24 <donpdonp> tjgillies: word
16:37 GeoJS joined #geoloqi
16:38 <tjgillies> test
16:38 <tjgillies> geojs is a bot i made in nodejs
16:39 GeoJS joined #geoloqi
16:39 <tjgillies> wonder if that fixed it
16:39 <tjgillies> doh.
16:40 GeoJS joined #geoloqi
16:40 <tjgillies> welcome back
16:41 <tjgillies> cool that works. it echoes everything said in room to STDOUT
16:41 <aaronpk> lol cool
16:43 caseorganic joined #geoloqi
16:47 <donpdonp> im wondering what would make a good storage engine for a nodejs backend to geoloqi
16:47 <donpdonp> i sortof asked that at cloudcamp but didnt get an answer
16:48 <donpdonp> for 'millions' of cell phones pushing location records :)
16:49 <tjgillies> the anser is always redis
16:50 GeoJS joined #geoloqi
16:50 <tjgillies> !talk test
16:50 <tjgillies> fail
16:52 GeoJS joined #geoloqi
16:52 <tjgillies> !talk please work
16:52 <tjgillies> damn you
16:52 <Loqi> lolz
16:57 GeoJS joined #geoloqi
16:57 <tjgillies> !talk to me
16:57 <tjgillies> dang javascript is testy
16:58 GeoJS joined #geoloqi
16:58 <tjgillies> !talk ok i declared your var
16:58 <tjgillies> well, at least it didn't crash
16:58 <tjgillies> doh
16:58 <aaronpk> lol
16:59 <aaronpk> the first thing I did when I started working on Loqi was to set up a method for adding functionality to the bot without restarting him, running actions in a separate thread so that if I made a stupid syntax error the new thread would die, but not the main IRC client
16:59 <Loqi> aaronpk is a buttwipe
16:59 <aaronpk> aaronpk shakes fist
17:00 <tjgillies> ooooh
17:00 <tjgillies> yeah i need to learn how to do threads in js
17:00 <tjgillies> or just put some exception handling in there
17:02 GeoJS joined #geoloqi
17:02 <tjgillies> !talk i need threads
17:02 <GeoJS> i need threads
17:02 <tjgillies> yay!!!!!!!!!!!!!!!!
17:02 <Loqi> :D
17:03 <tjgillies> so apparently nodejs doesn't do/need threads
17:09 <aaronpk> you could separate the logic of GeoJS from the IRC client itself by making the IRC client listen on an HTTP port and echo anything that comes in there to the channel, and make a post request to a different URL when anything from the channel is received. Then you could write a separate bot which listens for these messages, that way if your logic crashed, the IRC thread would not be affected
17:11 GeoJS joined #geoloqi
17:11 <@anothercasebot> Posted a photo: Loqisaur Nomming on GPS Points http://caseorganic.com/1KV [Flickr]
17:14 <tjgillies> you need to make loqisaur plush toys
17:15 <tjgillies> i would buy one for $5
17:22 <aaronpk> I would love to make plush loqisaurs!
17:22 <aaronpk> hmm
17:22 <aaronpk> one of these is not like the other http://snip.aaron.pk/2010-07-20_1722.png
17:32 GeoJS joined #geoloqi
17:32 <tjgillies> sweet that worked
17:33 <tjgillies> i put the bot code inside an external file, then read the file into a string variable and called eval() on it
17:33 <aaronpk> cool, and that doesn't crash the main program when there's a syntax error?
17:34 <tjgillies> not if i use exception handling
17:34 <tjgillies> try{ eval(foo); } catch(e){ console.log(e.message); }
17:35 <aaronpk> sweet
17:35 <@casebot> Caseorganic published a photo: Loqisaur Nomming on GPS Points: caseorganic posted a photo: Made by: www.twitter.c... http://bit.ly/9U5Sct
17:35 <@casebot> Caseorganic published a photo: Loqisaur Nomming on GPS Points: caseorganic posted a photo: Made by: www.twitter.c... http://bit.ly/a6EOEt
17:35 <@casebot> Caseorganic published a photo: Loqisaur Nomming on GPS Points: caseorganic posted a photo: Made by: www.twitter.c... http://bit.ly/d1doFS
17:35 <@casebot> Caseorganic published a photo: Loqisaur Nomming on GPS Points: caseorganic posted a photo: Made by: www.twitter.c... http://bit.ly/9b81Vq
17:35 <@casebot> Caseorganic published a photo: Loqisaur Nomming on GPS Points: caseorganic posted a photo: Made by: www.twitter.c... http://bit.ly/bDSFf1
17:35 <aaronpk> aaronpk sigh
17:35 <aaronpk> casebot is so spammy lol
17:47 GeoJS joined #geoloqi
17:49 GeoJS joined #geoloqi
17:49 GeoJS1 joined #geoloqi
17:49 <tjgillies> ooops
17:49 <tjgillies> heh double spawened the bot
17:50 <tjgillies> heh double spawened the bot
17:50 <tjgillies> doh
17:50 GeoJS1 joined #geoloqi
17:50 GeoJS joined #geoloqi
17:50 GeoJS joined #geoloqi
17:50 <tjgillies> ok thats better
17:51 <GeoJS> testing redis pubsub
17:51 <tjgillies> sweet!
17:51 <tjgillies> bot now speaking anything sent to "geojs" channel on redis
17:56 caseorganic joined #geoloqi
17:59 <caseorganic> I would too.
17:59 <caseorganic> They've already been made.
17:59 <caseorganic> It's based off a stuffed animal I have
18:00 <caseorganic> the only problem is that i can't find the manufacturer
18:02 <tjgillies> we just need to get ahold of a cloning machine
18:05 <caseorganic> right!
18:07 GeoJS joined #geoloqi
18:07 <tjgillies> ok geojs now listening to local redis AND internet udp
18:07 <tjgillies> nostat.us port 2222
18:11 <@anothercasebot> Posted a photo: Loqisaur is aging http://caseorganic.com/1Kc [Flickr]
18:18 <GeoJS> test
18:21 GeoJS joined #geoloqi
18:21 <GeoJS> error catching
18:38 <@casebot> Caseorganic published a photo: Loqisaur is aging - the story behind the dino: caseorganic posted a photo: A libra... http://bit.ly/aKic3P
18:48 <tjgillies> donpdonp, lol php with nodejs: http://github.com/felixge/node-ugly
19:02 GeoJS joined #geoloqi
19:03 <GeoJS> foo
19:03 <tjgillies> yay! it works without crashing!
19:03 <Loqi> woot
19:05 <GeoJS> I'm a little udp packet, short and... stout?
19:05 <tjgillies> i could make an infite loop that causes my bot to send your bot a udp packet on channel message ;)
19:14 <GeoJS> netcat is your friend
19:14 <GeoJS> uhohfrom udp
19:17 <tjgillies> aaronpk, what do you use to send udp packets?
19:18 <aaronpk> socket_create() and socket_sendto() in php
19:18 <tjgillies> oh i meant command_line utility
19:18 <tjgillies> doh you made me put a _ in my sentence heh
19:19 <aaronpk> lol
19:57 jtbandes joined #geoloqi
22:42 jtbandes joined #geoloqi
22:57 tyler_ joined #geoloqi
23:29 jtbandes joined #geoloqi