Can I automatically check in to Foursquare? Is there any app or setting that will automatically check in to foursquare when I arrive at a venue without having to take out the phone and click the app?  Preferably something where I can mark "favorite" venues to check in to, such as work.

Thanks
Tasker can do it, using the foursquare API and the HTTP POST task
In the http post task, fill out the form as follows:


Server:port -> user:pass@api.foursquare.com
Path -> /v1/checkin
data -> 
vid=362349
private=1
facebook=0
twitter=0


vid is the numeric id you can get from foursquare.com by looking up the venue. I have it set to not share auto checkins with others. You can also use a tasker variable for VID and define the VID from other events.. IE, I have my office assigned by 'cell near', same with the park where I walk my dogs.. I just call the named tasker task and it checks me in when I get to that location. I follow it up with a 'Notify' action to let me know it checked it, and what venueid (this was mainly for testing..) You will want to use a phone number login for foursquare, not a emailaddress.. the @ sign in the email will confuse the http post function.