Updated “findme”: please test!
Erica Sadun | 10:22 am | February 26, 2008 | Test Requests, Update, iPod touch, iPhone
I’ve put an updated version of findme (findme-better) into the TUAW folder. Please let me know if this works better for location for you. To use, just copy to your iPhone (you may have to use Firefox if you get errors after downloading with Safari), rename to “findme” and replace the original findme from the LoJack project.
70 Comments »
Comment by jakecigar | February 26, 2008 | 11:09 am
it’s not just better… its’s scarely accurate!
the previous version was within 15 miles. this version thinks I am 30 feet away!
THANKS ERICA!
Comment by shaiss | February 26, 2008 | 11:09 am
Whats the update?
I’ve updated the package @ http://ride4.org/shai.xml with a version of findme that drops a pin.
Does this do the same?
And Erica, do you know of a way to make tweet run even if the phone is in standby?
Comment by Erica Sadun | February 26, 2008 | 11:15 am
This drops a pin but the big change is in accuracy.
As for running, it does run, even when the phone is in standby–but if wifi isn’t enabled, nothing much happens.
I uploaded a modded version of pingwifi to the TUAW folder. At the beginning of your tweet script, just run it and wait 10 seconds
e.g. /var/root/bin/pingwifi; sleep 10
and it will force wifi on and then try to report in.
Comment by shaiss | February 26, 2008 | 11:29 am
cool, thank you Erica!!!
I’m updating the installer package now.
Is there any command line utility I could run that will update the username and password in the tweet file?
I’m trying to make it as easy as possible for new users. so I’m thinking after the installer script runs, it will run a command line utility that will pop up something asking the user to enter their twitter info. Not sure if this is something that can easily be done.
Comment by shaiss | February 26, 2008 | 11:31 am
Forgot to add, I’ve added the pingwifi line at the begining of the tweet file but that doesnt seem to have helped
Comment by Erica Sadun | February 26, 2008 | 11:36 am
Make sure its the pingwifi in the TUAW folder and that you give it about 10 seconds to work. (That’s what the sleep is for.)
Comment by shaiss | February 26, 2008 | 11:39 am
/bin/pingwifi; sleep 10
I put that on the first line.
tweet runs fine via terminal and you see the 10sec pause
Comment by Erica Sadun | February 26, 2008 | 11:41 am
You can test out pingwifi and make sure its working by reversing the sleep thing on the command line.
Do something like this: sleep 15; /bin/pingwifi
(assuming you put it into bin)
And then turn off the wifi connection. If pingwifi is working it will turn it back on after 15 seconds.
Comment by jakecigar | February 26, 2008 | 11:48 am
it’s not just better… it’s scarily accurate!
the previous version was within 15 miles. this version thinks I am 30 feet away!
THANKS ERICA!
Comment by dallasnights | February 26, 2008 | 11:57 am
Hey Shai, its not showing up in your folder, I did a refresh on the installer, not there can you check on that please
Thanks
Comment by shaiss | February 26, 2008 | 12:12 pm
sleep 15; /bin/pingwifi works fine running via terminal on the phone
I have com.sadun.tweet interval set to 30
I also tried this:
unloaded com.sadun.tweet via UIctrl
turned off wifi
loaded com.sadun.tweet via UIctrl
within 34 seconds wifi was backon and location reported to twitter
put the phone to sleep with the top button.
It seems to work as the updates are about every 30 secons, it does sometimes varry.
Would you suggest making it sleep more then 10 seconds before continuing through the tweet script?
Comment by shaiss | February 26, 2008 | 12:12 pm
dallasnights: its under utilities.
Its not my app, Credit goes to Erica, I just packaged it
Comment by dallasnights | February 26, 2008 | 12:19 pm
K Shai really dumb question what is it called, I dont see Findme there
Thanks again!
Comment by shaiss | February 26, 2008 | 12:24 pm
http://pastie.caboo.se/157693
Thats my twitter updates page.
Any ideas Erica why the times are sometimes pacifc, sometimes eastern, and even mountain?
BTW. my phone is sleeping while all this updating is going on!
Thank you!
Comment by shaiss | February 26, 2008 | 12:24 pm
dallasnights: Quasi Low Jack
Comment by fiefie | February 26, 2008 | 1:10 pm
Hey Erica,
Sweet program! I’ve setup two of my phones, but i can’t distinguish them. Anyway you can add IP address and a tag we can put to keep track of which phone is which?
Comment by shaiss | February 26, 2008 | 1:14 pm
fiefie: you could create two seperate twitter accounts. Thats what I did for my wife and I.
For everyone else. I stupidly uploaded the tweet file with my info in it :
Comment by shaiss | February 26, 2008 | 1:23 pm
Erica,
As it stands at the moment pingwifi does turn the wifi on so that part works.
However, I dont think the daemon is running when the phones asleep.
Comment by jaxx | February 26, 2008 | 2:03 pm
curl –interface ip1 … helps when no wifi around
I would have simply liked a tool which would simply spit out results of GMMLocation (if it’s the correct function) or at least a listing of the cell towers, after what, i’d build a whole website for it… Erica ? would you mind helping me ?
btw, tell me, is there any 1.1.3 aware toolchain out ? Or am I wrong ?
Comment by jaxx | February 26, 2008 | 2:19 pm
This is totally untested, it’s only for throwing an idea, but could work, honestly, ymmv-alot
(use your own user:pass of course
)
PS, I kill curl because I noticed that it got stuck this morning (0:42 minutes in top, woohoo!)… I simply hope it wont kill anything else
#! /bin/sh
ifpresence=`ifconfig en0 | grep UP`
killall curl
sleep 1
if [ -n $ifpresence ]; then
/bin/pingwifi; sleep 9
curl –basic –connect-timeout 30 –user jaxxphone:zxzxzx –data status=”`/bin/findme`” http://twitter.com/statuses/update.xml
else
curl –interface ip1 –basic –connect-timeout 30 –user jaxxphone:zxzxzx –data status=”`/bin/findme`” http://twitter.com/statuses/update.xml
fi
Comment by shaiss | February 26, 2008 | 2:21 pm
@Jaxx: where are you adding curl –interface ip1 too?
The tweet file?
Are you ableto get the daemon to run when the phone is in standby? I’m not able to even using pingwifi from Erica’s Tuaw FTP folder.
Comment by jaxx | February 26, 2008 | 2:27 pm
maybe “grep inet” instead
sorry for the noise :-/
Comment by jaxx | February 26, 2008 | 2:31 pm
hi, I’ll try removing pingwifi actually… anyways, I don’t mind if it always go through ip1
problem is that my lame untested script wakes up the wifi, I suppose pingwifi turns it on
gotta go further into it and test it better
it’s a path, and I’m sure I made a successful query a few minutes ago…
Madame is calling for dinner, gotta go…
Comment by jaxx | February 26, 2008 | 2:52 pm
testing during dinner with 2 edits:
ifpresence=`ifconfig en0 | grep -c inet`
if [ “$ifpresence” = 1 ]; then
cya later
Comment by nlieb48 | February 26, 2008 | 3:43 pm
Erica,
I installed the new findme-better and followed all the steps. But now when the info is sent to my twiter account, it looks like this:
Date: Feb_26_16:35:27 Lat/Lon: (null), (null) http://maps.google.com/maps?q=(null)%2c(null) 1 minute ago from web
It’s not giving me a location, can you please help.
p.s. my iphone is on 1.1.4 and is connected to my home wifi
Comment by Erica Sadun | February 26, 2008 | 3:49 pm
The problem seems tied to an overuse/frequency throttle, according to Skyhook. Hopefully, this is something that will open up.
Comment by jaxx | February 26, 2008 | 3:53 pm
on 1.1.4?
Anyways my script is flawed, gotta rearrange it… If i force wifi off pingwifi would turn it on…
but since nothing seems go d’un while sleeping (ah least most of the time), i’ll probably make a few tests, before trying anything else.
Comment by zerow | February 26, 2008 | 3:53 pm
Hi Erica,
As nlieb48 already has mentioned, the new findme-better solution also returns me the “null” Url: http://maps.google.com/maps?q=(null)%2c(null)
10 Minutes ago it was perfectly working, but now I’m always getting this null stuff. Doesn’t matter if I’m connected through WiFi or EDGE. I’m running on 1.1.2 OOB.
Do you have a explanation for this behavior?
Comment by jaxx | February 26, 2008 | 5:02 pm
On the second hand… doing some logging, I notice that periodic launchdaemons aren’t respected (or on rare occasions like under power charge) so it looks like it can’t be launched while on travel… for me at least :-/
Could we imagine a daemonized loop script launched with a RunAtLoad ?
Comment by shaiss | February 26, 2008 | 5:05 pm
the null issue is just something that happens. I think thats normal that the quasi gps sometimes cant triangulate locations. Its not the first time
Jaxx email me at shaiss [at] gmail [dot] com and maybe together we can figure this out.
Idealy I’d like to get this solution up on my source where the lowjack works at an average of every minute or 45 sec. This gives a somewhat realtime tracking ability.
Also, I’d like to find a way for users to update the tweet file with there info without having to open up the tweet file.
Let me know,
Shai
Comment by jaxx | February 26, 2008 | 5:10 pm
Shaiss, will mail you in the morning (err… CET here, and late). FYI: haven’t installed a full toolchain yet, and looks like some devs already ended up making a deamon for that (imapidle & mobilemail apps)… LaunchDeamons seem to be a no-go.
cya all… good night
Comment by jmheist | February 26, 2008 | 6:18 pm
Keep getting Null lat/long (for the last 5 hours), downgraded to orig findme and it works just fine
Comment by jasch | February 26, 2008 | 6:46 pm
Same here. findme works, findme-better does not (returns NULL, altough it worked for a while after I installed it).
On a different subject, Erica, is it possible to include somekind of Unique Identifier in findme’s output? (the IMEI or somekinf of serial numer).
I am reporting the output of 3 different phones to the same CGI, and it would be extremely helpful to differentiate them automatically without having to modify the calling scripts with different usernames/passwords…
Great work BTW
Comment by nlieb48 | February 26, 2008 | 6:54 pm
Erica,
I’m not sure the problem is with skyhook, because the locate me in google maps works, but I’m not a programmer and I don’t know whats involved. Is it possible to use the programming for locate me that’s in google maps for the LoJack?? Because it’s pretty accurate in locating me.
Thanks
Comment by docpool | February 27, 2008 | 7:01 am
For me findme-better also get the (null) result. If you ask the skyhook database so probably they check the user agent and block your tool?
I’ve played a little bit with KML and Google-Maps and here is the result: http://maps.google.com/maps?q=http://87.106.220.36/mapsData.xml
Could you please add some command line options? Something like –lat-long-string to output only a string ‘52.538535,13.424043′?
Comment by jaxx | February 27, 2008 | 9:56 am
looks like findme is back in high-precision business right now (20 meters away in southern france, a skyhookless area) … if only scripts ran while in sleep :-/
I tried a looping script launch with a runAtLoad launchdeamon with no luck… I can sussesfully make it work whatever the connection is used, but not after it’s put to sleep as processes seem to get frozen after a small minute.
Comment by white | February 27, 2008 | 11:33 am
The findme-better works fine with WiFi connection. With no WiFi, but limited EDGE (like T-Zones, which works only through proxy), the findme-better produces a bunch of error messages like [120:1603] XXX: unhandled protocol: smtp (or imap), and shows (null) for the Lat and Lon.
Comment by white | February 27, 2008 | 11:35 am
As I asked before, are there any way you can provide only Lat and Lon, but do not make any calls to Internet? I know it maybe inaccurate, but still it’d be great to have this tool instead of nothing. Thank you!
Comment by Hesam | February 27, 2008 | 12:28 pm
First, I wanted to thank Erica for a very useful app. I have a few observations/comments:
- as others have mentioned, the ability to add command line arguments would be great. For example, I don’t think the timestamp portion of the twitter is necessary given that Twitter adds a timestamp anyway.
- is there a way to have the app work even when there is no wifi around and the phone is sleeping (via edge)? I find that this works sporadically.
I’m interested in setting up something like what zerow has (that tracks where I’ve been) - I think this would be very useful.
Comment by Erica Sadun | February 27, 2008 | 12:31 pm
The whole timestamp thing comes from twitter’s need for distinct tweets. If you don’t move, it rejects “identical” tweets.
Comment by Hesam | February 27, 2008 | 12:33 pm
Err not zerow…I meant docpool.
Comment by shaiss | February 27, 2008 | 2:09 pm
Erika, thank you for all your help.
I’m sure with 1.1.4 and the SDK coming you have your hands full. I think all of us would greatly appriciate and donate if there wasa way to get findme to report while the phone is sleeping. Looks like there have been several failed attempts.
Thank you again,
Comment by blalor | February 27, 2008 | 4:53 pm
I’m not sure I follow what the pingwifi utility is about… Shouldn’t the focus be on getting this to work reliably over EDGE?
Comment by Erica Sadun | February 27, 2008 | 4:57 pm
findme works fine when sleeping so long as you use pingwifi. Just sleep after calling it in order to give it time to establish the connection.
Comment by blalor | February 27, 2008 | 5:00 pm
Ok, I’ll add it in.
Now here’s another incredibly wacky thing: findme is now returning a location about 1,000 miles away from me. I’m currently in New England, and findme running on my iPhone (sitting on the couch next to me, natch) is saying I’m sitting in front of the apartment I occupied in Indianapolis 18 months ago. WTF, over? Of all the random places to drop the marker…
Comment by Erica Sadun | February 27, 2008 | 5:02 pm
That actually makes sense.
I bet you moved your router with its MAC addy with you.
Comment by blalor | February 27, 2008 | 5:06 pm
Crikey. Where’s that location data coming from?
I’m torn. On one hand, I like the super-specific location (wherever it comes from), but on the other, I’d prefer to do real triangulation of the device from cell towers.
Is it possible to do a separate version that just returns the tower IDs, or perhaps uses the same API that the Maps application does? That’d let me offload the heavy lifting to the server script I wrote to generate a map and do the posting to Twitter.
Comment by Erica Sadun | February 27, 2008 | 5:15 pm
Data is coming from Skyhook–they upped the quota so hopefully we won’t keep getting thottled by “none”–and as a backup from Google Maps/CellTower if there’s no id
Comment by swiftdemise | February 27, 2008 | 5:15 pm
When I try running tweet, it gives me:
fork: Resource temporarily unavailable
Comment by blalor | February 27, 2008 | 7:52 pm
So, the iPhone really is a sound sleeper, isn’t it? I’ve modified my findme wrapper script to stay alive and just sleep for half an hour (1800 seconds) and it *still* doesn’t update every half hour like I want it to. It’s now 8:51pm and it started sleeping at 7:06pm. The sleep command is still in the process list. The StartInterval property was similarly flaky. Very frustrating.
Comment by anu_rags | February 27, 2008 | 11:51 pm
I tested the latest findme. It was working yesterday evening at office on wifi. Later at night at home on Edge, I found the twitter is not giving anymore updates on my Iphone. I had to restart the iphone and after that twitter again start giving updates. Today morning at my office on Wifi, again the twitter was not giving any updates. Even after restarting the Iphone, the twitter dont start.
Please advice further, what to do keep the twitter running.
Comment by jaxx | February 28, 2008 | 4:32 am
Hi All & Erica,
actually, a tool that could help is a sleep-resistant deamonizer that could be configured to launch scripts… this would reopen up all possibilities:
I’ve tried IntervalStartup scripts and a looping one launched with a startAtLoad (or whatever the name was)… and even a crontab…
I can make it work whatever the connection, but not when the phone goes to sleep…
I’m sure Erica would be able to make such a tool in a twist right ? *eye winks* *flapping eyelids* *love words in french*
‘cus even if I get a toolchain up, I’m not that used to obj-c and the darwinesque dev environment
Comment by Erica Sadun | February 28, 2008 | 8:15 am
Twitter was down last night.
Comment by shaiss | February 28, 2008 | 11:09 am
Erica, I’ve tried the pingwifi; sleep 10. It doesnt wake the phone from sleep.
Infact, I don’t think the com.sadun.tweet.plist is even running when the phones sleeping.
Is there any way to to create a script that would play a sound when ran?
What I’m thinking is to create a com.sleep.test.plist and put it where the tweet plist is. Have it run every minute or 2 and play a sound. This way we can determine 100% for sure if the daemon is even able to run while the phone sleeps.
If it does, then we can move on to other tests to see what really is the issue.
Comment by Erica Sadun | February 28, 2008 | 11:11 am
shais; add this to the start of your shell script (right after the #! line):
date >> /tmp/tweetlog
And you’ll see exactly if and when the script ran
Comment by shaiss | February 28, 2008 | 11:34 am
thanks Erica!!!
According to the log, tweet is not running while the phones asleep.
I have the daemon interval set to 45 seconds.
So as soon as I turn the phone on wifi comes on and tweet runs perfect.
So it doesnt seem to run while sleeping.
IS there any way just like you did date >> /tmp/tweetlog to have phonestatus >> /tmp/tweetlog so that atleast the log can tell us the phones status?
Thank you again for all your help
Comment by Erica Sadun | February 28, 2008 | 11:37 am
45 freaking seconds!!!???
No wonder skyhook throttled my account use.
Please do not use in smaller-than-5 minute (preferably 10 minute) increments.
Comment by shaiss | February 28, 2008 | 11:44 am
I’ll change it to report every 5 minutes, however there is still the issue that its not running while sleeping.
Just curious. Everyone using findme is using your skyhook account? Is there anyway for us to create our own accounts so we dont ruin yours?
Comment by Hesam | February 28, 2008 | 12:22 pm
Erica,
While findme was working fine until today, now it’s repeatedly giving null as the location. Twitter updates fine, but only as null. Restarting hasn’t helped. I’m only updating every 15 minutes (and I can change that to a longer duration if it affects your account). I’m just wondering why it’s no longer working when I haven’t changed anything and it was working fine all the way until this morning?
Any ideas? Thank you again for such a fine app.
Comment by Erica Sadun | February 28, 2008 | 12:31 pm
(null) means throttle. Too many people using it at once.
Comment by shaiss | February 28, 2008 | 12:45 pm
Erica,
Is there any way we can open additional skyhook accounts so that your account isnt overloaded?
Comment by jait | February 29, 2008 | 9:24 pm
Unless you’re looking at doing precision tracking, every few hours should be good enough.
erica & shaiss, this app is what brought me back into the jailbreak scene. What’s the community source to get this app installed? Thanks.
Comment by ramonk | March 1, 2008 | 9:42 pm
@shai… In your distribution package, please change the default update interval to 30 minutes (1800 sec) or so… That way not everyone that installs this automatically floods the skyhook servers.
Also fix the tweet script… The #! /bin/sh line really needs to be the first line in the script.
For the rest… Thanks! I was trying to install it straight from my iPhone, and without your package it wouldn’t have been possible…
Comment by miahill9 | March 3, 2008 | 12:02 pm
Idea for sleep function. The alarms from the apples clock work even when it is sleeping. May be we can track down how that works, and hock our script onto that action.
Comment by Erica Sadun | March 3, 2008 | 12:34 pm
I really recommend that if you think that sleep is interfering with launch daemons that you do a log call at the start of the script called by the daemon, e.g.
echo `date` >> /tmp/checklog
I suspect that your daemons are running fine, even while sleeping.
Comment by boomersmech | March 3, 2008 | 2:49 pm
Erica,
Ive been looking into this and trying to make sure as well that the phone going to sleep isnt an issue.
I dont really understand fully how the launchdaemons control start and stops but I do know that it stops functioning. I have noticed that when the phone goes into sleep it stalls in the middle of the script operation…. I dont know what kind of problem occurs at that point.
I decided to take a diffrent approach to the launch daemon, and decided on using an ondemand launch. I then stall the sh at the end by using “sleep 60″. But to seal the deal I added a log script but instead of logging each time it runs it logs the time it starts and completes to see if that may be the issue.
Comment by jaxx | March 3, 2008 | 4:53 pm
Hi Erica… I do try log, and most of the day (unless I play with my phone) my logs don’t move an inch… (or a centimeter on my Mediterranean coast).
Sometimes I even found it stuck on findme-better and once or twice on the curl, had to kill the script otherwise launchdeamon wouldn’t relaunch it (which means it’s no use putting a barbarian killall findme or killall curl at the beginning of the script neither)
Will give findme-muchbetter a try but I suppose this needs soma insomniac gearing.
Cheers
Comment by jaxx | March 3, 2008 | 4:54 pm
of course…
I meant “some” not “soma”
Comment by shaiss | March 4, 2008 | 3:11 pm
I will update the package with the finme-muchbetter tomorrow. Thanks for the comments
Comment by Gonzo | March 13, 2008 | 12:21 am
Thank you Erica for this, I just got an iPhone and I hope I don’t lose it but now I have this to keep me a little less worried.
I first tried muchbetter (because I didn’t bother to read the differences, Now I know I should have done my research) and it found me dead on, but I didn’t like that there wasn’t a link to googlemaps. then I tried findme-better, and it showed my location a mile or 2 away. so I copied both better and muchbetter to the same location on the iPhone, tweaked the tweet file abit now it’s spot on plus a link to google maps. also now I get two updates on twitter but it’s spot on.
can some1 help on how to get it to update through EDGE?
Comments RSS.
Leave a comment
You must be logged in to post a comment.