<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-2536618694289440771</atom:id><lastBuildDate>Sat, 24 Oct 2009 05:50:21 +0000</lastBuildDate><title>The Cave</title><description>Hello world!

A blog about programming, eating and surviving as a student in the Big Apple.</description><link>http://www.maxsobell.com/blog/</link><managingEditor>noreply@blogger.com (Max)</managingEditor><generator>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-7855992948957551985</guid><pubDate>Sat, 24 Oct 2009 05:44:00 +0000</pubDate><atom:updated>2009-10-24T01:44:26.321-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>linux</category><category domain='http://www.blogger.com/atom/ns#'>software</category><title>MySQL Project</title><description>&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I've started a MySQL wiki for a chapter of &lt;a href="http://sobell.com/RH4/index.html" target="_blank"&gt;A Practical Guide to Red Hat Linux&lt;/a&gt;. I'm learning as I write it up, so feel free to correct or change anything! Here's the &lt;a href="http://maxsobell.com/wiki/" target="_blank"&gt;link&lt;/a&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-7855992948957551985?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/10/mysql-project.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-686180036844061586</guid><pubDate>Tue, 20 Oct 2009 06:04:00 +0000</pubDate><atom:updated>2009-10-20T02:04:12.108-04:00</atom:updated><title>Karmic Koala!</title><description>&lt;a href="http://www.ubuntu.com/"&gt;&lt;img src="http://www.ubuntu.com/files/countdown/static.png" width="180" height="150" alt="Ubuntu: For Desktops, Servers, Netbooks and in the cloud" border="javascript:void(0)0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-686180036844061586?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/10/karmic-koala.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-6333438585463264748</guid><pubDate>Mon, 19 Oct 2009 15:01:00 +0000</pubDate><atom:updated>2009-10-19T11:01:03.383-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>nothing_useful</category><category domain='http://www.blogger.com/atom/ns#'>linux</category><category domain='http://www.blogger.com/atom/ns#'>code</category><title>Programming Contest</title><description>This year's problems for the ICPC:&lt;br /&gt;&lt;a href="http://www.acmgnyr.org/year2009/problems.shtml" target="_blank"&gt;http://www.acmgnyr.org/year2009/problems.shtml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-6333438585463264748?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/10/programming-contest.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-6056927050503975356</guid><pubDate>Thu, 08 Oct 2009 19:43:00 +0000</pubDate><atom:updated>2009-10-08T15:43:58.273-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>linux</category><category domain='http://www.blogger.com/atom/ns#'>backup</category><category domain='http://www.blogger.com/atom/ns#'>software</category><category domain='http://www.blogger.com/atom/ns#'>code</category><title>SVN Part 2</title><description>Now that we can log in automatically (SVN Part 1), we can do some cool stuff. This summer I managed a SVN server for a company that has multiple programs, each of which had different developers working on them. Each of these programs is stored as a repository in SVN. For example, developer A needs access to repository 1 and 2 and developer B needs access to repository 1 and 3, etc. To make it even trickier, in repository 1, developer A should have access to the entire repository, while developer B should only have access to the directory devB in repository 1. Also, every time a developer makes a change to a file, the change needs to be logged with their username.&lt;br /&gt;&lt;br /&gt;This is where the RSA keys come in. Each repository should be owned by a different user. For example, &lt;code&gt;/usr/bin/svnserver/repository1&lt;/code&gt; is owned by user &lt;code&gt;repo1&lt;/code&gt;, &lt;code&gt;/usr/bin/svnserver/repository2&lt;/code&gt; by &lt;code&gt;repo2&lt;/code&gt;, etc. Put any developer who needs access to &lt;code&gt;[repo]&lt;/code&gt;'s RSA pubkey in the &lt;code&gt;/home/[repo]/.ssh/authorized_keys&lt;/code&gt; file, where &lt;code&gt;[repo]&lt;/code&gt; is the name of the repository's owner (&lt;code&gt;repo1&lt;/code&gt;, &lt;code&gt;repo2&lt;/code&gt;). Configure &lt;code&gt;authorized_keys&lt;/code&gt; like:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;command="/usr/bin/svnserve -t -r /var/svn/ --tunnel-user=[developer's username]",no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding ssh-rsa [developer's RSA pubkey]== [developer's username]&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This enables developers to check out &lt;code&gt;[repository]&lt;/code&gt; using: &lt;code&gt;svn+ssh://[repo]@[server]/[repository]&lt;/code&gt;. While we are sending the information over SSH, the developer does not have a SSH account and can do nothing but use SVN to check out (&lt;code&gt;svn co&lt;/code&gt;) and update (&lt;code&gt;svn ci&lt;/code&gt;) repositories owned by a user (&lt;code&gt;repo1&lt;/code&gt;, &lt;code&gt;repo2&lt;/code&gt;) whose &lt;code&gt;authorized_keys&lt;/code&gt; file contains the developer's pubkey. The last column in the &lt;code&gt;authorized_keys&lt;/code&gt; file is the comment line. SVN automatically uses this line as the comment when a developer commits code to the SVN repository.&lt;br /&gt;&lt;br /&gt;The last part, giving only partial access to a repository, coming in Part 3.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-6056927050503975356?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/10/svn-part-2.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-2750857964164625427</guid><pubDate>Mon, 03 Aug 2009 14:52:00 +0000</pubDate><atom:updated>2009-10-08T16:04:23.886-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>linux</category><category domain='http://www.blogger.com/atom/ns#'>backup</category><category domain='http://www.blogger.com/atom/ns#'>software</category><category domain='http://www.blogger.com/atom/ns#'>code</category><category domain='http://www.blogger.com/atom/ns#'>rsync</category><title>SVN Part 1</title><description>Subversion is another awesome piece of software for keeping files in sync across multiple computers. Not quite suited for backing up pictures or anything like that -- but hey, its great for big coding projects! Usually with big projects, there are different levels of access. For example, Bob's algorithm may be super secret and only he and Bill should be able to see the code for it. But, Barry may be logging in to the same SVN server and need access to other code. There's an app for that. I mean, there's a feature for that. Also, perhaps not everyone should have access to the server's file, or even an account on the server. Well, there's a feature for that, too. Anyway, here's the procedure/setup I came up with after lots of research/trial-and-(hopefully not catastrophic) error.&lt;br /&gt;&lt;br /&gt;Make sure at least YOU can ssh into the server (or better yet, be sitting in front of it and skip the next few steps). Its handy to use an RSA key so you can log in automatically and don't have to type your password every time you want to execute a subversion command. So:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;sh-keygen -t rsa&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;will generate you a key. Then:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;rsync -a ~/.ssh/id_rsa.pub server:~/.ssh/&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Before we switch over to the server, if you're using a non-standard port, in &lt;code&gt;/etc/ssh/ssh_config&lt;/code&gt;, add:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Host [server]&lt;br /&gt;Port [port #]&lt;br /&gt;Host * &lt;/code&gt;[this line should be there already, it just tells you where to put the 2 preceeding lines]&lt;br /&gt;&lt;br /&gt;Next, &lt;code&gt;ssh&lt;/code&gt; over to the server and:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys&lt;br /&gt;rm ~/.ssh/id_rsa.pub&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The &gt;&gt; instead of just &gt; puts the key at the END of the file instead of overwriting, so if you already have a computer set up in your authorized_keys file, this will preserve that setup.&lt;br /&gt;&lt;br /&gt;Now you should be able to log in with no password using ssh [server].&lt;br /&gt;&lt;br /&gt;Part 2 coming soon! :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-2750857964164625427?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/08/svn-part-1.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-6582691464574566829</guid><pubDate>Tue, 28 Jul 2009 16:54:00 +0000</pubDate><atom:updated>2009-07-28T22:29:49.306-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>nothing_useful</category><category domain='http://www.blogger.com/atom/ns#'>software</category><category domain='http://www.blogger.com/atom/ns#'>code</category><title>Testing my feed to Drupal</title><description>&lt;a href="http://drupal.org/handbook/customization/tutorials/beginners-cookbook"&gt;http://drupal.org/handbook/customization/tutorials/beginners-cookbook&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Looks very powerful, easy to use and cool! And best of all, its GPL'd.&lt;br /&gt;&lt;a href="http://maxsobell.com/drupal/"&gt;&lt;br /&gt;http://maxsobell.com/drupal/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pingv.com/videos/1/what-drupal-57-seconds"&gt;http://pingv.com/videos/1/what-drupal-57-seconds&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-6582691464574566829?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/07/testing-my-feed-to-drupal.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-5895323311186264083</guid><pubDate>Wed, 22 Jul 2009 17:02:00 +0000</pubDate><atom:updated>2009-07-22T13:15:27.140-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>iPhone</category><title>Gmail on iPhone</title><description>For as much as Apple and Google are in bed together, the way the iPhone sets up gmail by default kinda sucks. So here's a better way (from Google):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mail.google.com/support/bin/answer.py?hl=en&amp;amp;answer=77702" target="_blank"&gt;http://mail.google.com/support/bin/answer.py?hl=en&amp;amp;answer=77702&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then go to "Settings" - "Mail Contacts and Calendars" - "your-account@gmail.com" - "Advanced" and under "Mailbox Behaviors" change the following:&lt;br /&gt;&lt;br /&gt;Drafts Mailbox: On the Server - "Drafts"&lt;br /&gt;Sent Mailbox: On the Server - "Sent Mail"&lt;br /&gt;Deleted Mailbox: On My iPhone - "Trash"&lt;br /&gt;&lt;br /&gt;The Deleted Mailbox seems strange, but they recommend it here: &lt;a href="http://mail.google.com/support/bin/answer.py?answer=78892#" target="_blank"&gt;http://mail.google.com/support/bin/answer.py?answer=78892#&lt;/a&gt; I had it on the gmail server until I decided I better double check before posting online, and it seemed to be working just fine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-5895323311186264083?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/07/gmail-on-iphone.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-3341113920426867670</guid><pubDate>Sat, 18 Jul 2009 21:17:00 +0000</pubDate><atom:updated>2009-07-18T17:23:31.899-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>nothing_useful</category><title>Can't we all just get along?</title><description>.flac? .ogg? .mp3? Wouldn't it be great to just have one standard? That sounds like a tagline, but I'm going nowhere with it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.simplehelp.net/2006/08/14/how-to-convert-flac-files-to-mp3-using-windows/" target="_blank"&gt;Very useful&lt;/a&gt; instructions to convert .flac to .wav to .mp3.&lt;br /&gt;&lt;br /&gt;This guy got it right: &lt;a href="http://www.threadless.com/product/119/MP_3" target="_blank"&gt;mp(3)&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-3341113920426867670?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/07/cant-we-all-just-get-along.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-6671072129472526605</guid><pubDate>Fri, 17 Jul 2009 23:08:00 +0000</pubDate><atom:updated>2009-07-20T12:11:06.106-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>linux</category><category domain='http://www.blogger.com/atom/ns#'>backup</category><category domain='http://www.blogger.com/atom/ns#'>software</category><category domain='http://www.blogger.com/atom/ns#'>rsync</category><title>APGT Linux Commands, Editors, and Shell Programming</title><description>The rsync scipts will be in the next edition of &lt;a href="http://www.amazon.com/Practical-Guide-Commands-Editors-Programming/dp/0131478230/ref=pd_sim_b_2" target="_blank"&gt;A Practical Guide to Linux Commands, Editors, and Shell Programming&lt;/a&gt;! The author and I go way back... ;)&lt;br /&gt;&lt;br /&gt;Anyway, its (again) a handy utility. My roommate used to play all 90's music (and not the good stuff) on his Mac. The rsync utility comes default in Mac OS X (not to say that it didn't before...) so it wasn't too hard to write a script to sync up his iTunes with my music database:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;rsync \&lt;br /&gt;-av \&lt;br /&gt;--compress \&lt;br /&gt;--port=[redacted for security :P] \&lt;br /&gt;--stats \&lt;br /&gt;--exclude=Movies \&lt;br /&gt;--exclude=Podcasts \&lt;br /&gt;carter@192.168.1.110:'/media/disk/My\ Music/iTunes/iTunes\ Music/' \&lt;br /&gt;'/Volumes/External Space/Music/Music_from_Max/'&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So there -- taking the music from my disk (its only in iTunes so when I boot Vista it syncs up with my iPhone... Vista? iPhone? now I'm embarrassed...) and putting it on his disk. There are a few issues we ran in to. First of all, his username is capitalized on the Mac -- Carter -- and lowercase on my computer. So thats why, even though its almost the same user, we have carter@192... . Also, the port=### option doesn't seem to work on rsync on the Mac. I run ssh on a non-standard port, but even with the --port= option it kept defaulting to 22. So, we edited /etc/ssh/ssh_config and put my port in there. Also, we're doing this with rsa keys so the script could run on a crontab! Then, every time I download music from this millenium, he would get it.&lt;br /&gt;&lt;br /&gt;Finally. No more Red Hot Chili Peppers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-6671072129472526605?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/07/practical-guide-to-ubuntu-linux.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-1795638927678819560</guid><pubDate>Sat, 11 Jul 2009 05:37:00 +0000</pubDate><atom:updated>2009-07-12T14:12:32.835-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>linux</category><category domain='http://www.blogger.com/atom/ns#'>backup</category><category domain='http://www.blogger.com/atom/ns#'>software</category><title>Backup software</title><description>I keep hearing people say: "man, I really should back up my computer" with this look of dread on their faces. Its really not so bad. Here are a few ways, ranging from the absolute easiest to the most nerdly-satisfying :) Oh, and they're all free (at least for the most basic option)&lt;br /&gt;&lt;br /&gt;1. &lt;a href="http://www.getdropbox.com/"&gt;Dropbox&lt;/a&gt;: for the novice who needs to back up some documents, a couple pictures maybe, or even some music. All in all, less than 2 GB ("500 songs", in Apple-speak). 2 GB is free. If you're willing to pay, you can back up your whole system with Dropbox -- 50 GB is $100/yr and 100 GB is $200/yr. The best part about Dropbox is that its got version control (covered in "subversion" later on) so its great for programming projects or group projects -- its also got a "share folder" feature so everyone can be working from the same files. ALSO: Dropbox works for Mac, Linux and Windows. Awesome! My favorite new piece of software. The downside (or upside, depending) is that its all got to be in one folder called "Dropbox" on Linux or "My Dropbox" on Windows. I put mine on my desktop for easy access. If you want to just sync your whole desktop or documents across a couple computers (Windows only), try &lt;a href="http://www.sugarsync.com/"&gt;www.sugarsync.com&lt;/a&gt;. They now offer (because of competition from Dropbox) a free 2 GB option.&lt;br /&gt;&lt;br /&gt;2. &lt;a href="http://picasaweb.google.com/"&gt;Picasa web&lt;/a&gt;: Backing up pictures can be very space-consuming. If you use Picasa (now for Mac, Windows and Linux) and have a google account, you can back up to the google servers. They give you 1 GB for free (pictures only) which will hold a lot of pictures at medium resolution. Now, you could just use 1 GB of your Dropbox space, but most cameras now take pictures that are really high resolution (and take up more space on your disk) -- Picasa reduces the size of your photos before it uploads them, so its a simple way to make sure you still have a decent quality copy of your pictures even if you disk fails.&lt;br /&gt;&lt;br /&gt;These are the 2 most basic options that cover most things. However, some people are concerned with privacy. These sites keep things private (Dropbox is password protected unless you "share" a folder with someone, and Picasa has 2 options to keep things private -- "unlisted", which means the link isn't public, or "sign in required to view" which means even if you have the link, only people you explicitly share it with can see your pictures).&lt;br /&gt;&lt;br /&gt;Some people are even more concerned with privacy and are resolutely "anti-cloud". Cloud computers are, generally, computers that you can't see (because you don't know where they are) that have your data on them. So, webmail (gmail, hotmail, yahoo, etc.) is a cloud-based service. There are some people (you know who you are) who don't use cloud-based services. This makes life very difficult. So, for these people, there are a few other options. I've gotta write about these later because I have to finish an rsync script first ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-1795638927678819560?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/07/backup-software.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-6202681990536868927</guid><pubDate>Mon, 22 Jun 2009 17:02:00 +0000</pubDate><atom:updated>2009-06-23T20:11:27.262-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>iPhone</category><title>iPhone OS 3.0</title><description>Awesome update. There seems to be one issue -- syncing contacts. I have them syncing over the web to google contacts. When I upgraded to 3.0, a TON of duplicate contacts appeared, as well as some that I didn't put in there in the first place (google's "suggested contacts" -- lots of sale-######@craigslist.org, etc). There seem to be 2 workarounds:&lt;br /&gt;&lt;br /&gt;1. If you have a mac, create a blank group in mac contacts and choose to sync with that group, as well as over the web w/ google. Somehow that works, but I don't have a mac, so I didn't pay much attn.&lt;br /&gt;&lt;br /&gt;The one that worked for me was:&lt;br /&gt;2. Choose "overwrite existing contacts" in the Info tab on your iPhone in iTunes. Also, on the iPhone itself, go to Settings - Mail, Contacts and Calendars, and select your account (xxxx@gmail.com), that says "Contacts, Calendars" under it. Turn off Contacts and Calendars, and when the pop-up comes up, choose "Delete." That will clear your iPhone of &lt;span style="font-weight: bold;"&gt;some &lt;/span&gt;of its contacts. Then, turn off contact syncing from within iTunes. Sync your iPhone. Go back to the menu you were at on your iPhone, and turn back on the contacts and calendars, and when the pop-up comes up, choose "Delete" again. Now, you are writing to a blank iPhone. Phew.&lt;br /&gt;&lt;br /&gt;Thanks, &lt;a href="http://discussions.apple.com/thread.jspa?threadID=2048666"&gt;http://discussions.apple.com/thread.jspa?threadID=2048666&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Edit: the most useful iPhone/gCal link: &lt;a href="http://www.google.com/mobile/default/sync.html"&gt;m.google.com/sync&lt;/a&gt; (from your iPhone).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-6202681990536868927?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/06/iphone-os-30.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-5563503030546410113</guid><pubDate>Sun, 14 Jun 2009 03:26:00 +0000</pubDate><atom:updated>2009-06-13T23:34:36.354-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>statistics</category><category domain='http://www.blogger.com/atom/ns#'>finals</category><category domain='http://www.blogger.com/atom/ns#'>dead reckoning</category><category domain='http://www.blogger.com/atom/ns#'>code</category><title>Kmeds Algo</title><description>This is the final project for a bioinformatics class I took last semester:&lt;br /&gt;&lt;a href="http://err.bio.nyu.edu/courses/index.php/V22.0480_Final_Project"&gt;&lt;br /&gt;http://err.bio.nyu.edu/courses/index.php/V22.0480_Final_Project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I worked on Project 1. The goal was to find a scalable algorithm to cluster large data sets (something that couldn't all fit into memory) with arbitrary dimensions. We wrote a SQLite adapter to grab &lt;code&gt;n&lt;/code&gt; data points at a time (based on &lt;code&gt;k&lt;/code&gt;, the number of expected clusters), and then ran a clustering algorithm on those &lt;code&gt;n&lt;/code&gt; points, storing the results in memory (if the data set was large enough to require it, we could write them back to the SQLite DB). After &lt;code&gt;num.iter&lt;/code&gt; iterations, we run the algorithm again on the result set to get our final medoids. From there, its relatively easy to assign each point to a medoid, forming the final clusters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-5563503030546410113?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/06/kmeds-algo.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-6070956324698522038</guid><pubDate>Thu, 11 Jun 2009 18:19:00 +0000</pubDate><atom:updated>2009-07-17T19:28:54.384-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>linux</category><category domain='http://www.blogger.com/atom/ns#'>backup</category><category domain='http://www.blogger.com/atom/ns#'>software</category><category domain='http://www.blogger.com/atom/ns#'>code</category><category domain='http://www.blogger.com/atom/ns#'>rsync</category><title>rsync</title><description>The rsync utility is very cool. Its cool because its fast, effective and the syntax for the command is relatively simple. Its a great way for the uber-paranoid to avoid the Cloud. [Side note: if you are not uber-paranoid and do not mind the Cloud, check out &lt;a href="https://www.getdropbox.com/referrals/NTU2Njc2ODk" target="_blank"&gt;Dropbox&lt;/a&gt; &lt;-- shameless referral link. But you get extra space with that link, too! 2 GB -&gt; 2.25 GB]&lt;br /&gt;&lt;br /&gt;You can get rsync to do automatic, incremental backups for you, although I'm still working on that part. The best I have so far is to sync 1 or more computers with your server computer (I sync my computers at home using my dad's computer in San Francisco [static IP] as the server computer).&lt;br /&gt;&lt;br /&gt;To do it (assuming the server is running an rsync deamon [more on that &lt;a href="http://cwraig.id.au/?p=14" target="_blank"&gt;here&lt;/a&gt;], and your server name is in the /etc/hosts file), each computer (except for the server computer) needs 2 identical scripts. Mine are:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;rsync \&lt;br /&gt;--verbose \&lt;br /&gt;--archive \&lt;br /&gt;--compress \&lt;br /&gt;--update \&lt;br /&gt;coffee:~max/test1 ~/rsync/&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;rsync \&lt;br /&gt;--verbose \&lt;br /&gt;--archive \&lt;br /&gt;--compress \&lt;br /&gt;--update \&lt;br /&gt;~/rsync/test1 coffee:~max/&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;This keeps the folder "test1" in my home directory on coffee (the server computer) and my ~/rsync directory on my home computers. The options are:&lt;br /&gt;&lt;code&gt;--verbose&lt;/code&gt; = tell me whats going on as its happening!&lt;br /&gt;&lt;code&gt;--archive&lt;/code&gt; = this is a cocktail of options: recurse into the directories, copy symlinks as symlinks and preserve permissions.&lt;br /&gt;&lt;code&gt;--compress&lt;/code&gt; = use compression to speed up the transmission, but use up more CPU&lt;br /&gt;&lt;code&gt;--update&lt;/code&gt; = don't overwrite newer files on the receiver (server) computer&lt;br /&gt;&lt;br /&gt;The rest of the syntax is the same as a copy command. If you use a remote computer, preface its directory structure with the name of the computer followed by ":".&lt;br /&gt;&lt;br /&gt;Another very &lt;b&gt;very&lt;/b&gt; useful option when testing all this is &lt;code&gt;--dry-run&lt;/code&gt;. rsync will go through all the steps it would have taken to make the sync without actually transferring any files. Especially useful if you use the &lt;code&gt;--delete&lt;/code&gt; flag, which deletes files on the server computer that are no longer present on the source computer. Because of rsync's trailing slash issues, its easy to delete the contents of an entire directory with one wrong "/".&lt;br /&gt;&lt;br /&gt;Here's a simple script if you're just using rsync to backup:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;BUNAME=$(date +%A)&lt;br /&gt;rsync \&lt;br /&gt;--verbose \&lt;br /&gt;--archive \&lt;br /&gt;--compress \&lt;br /&gt;--update \&lt;br /&gt;--backup \&lt;br /&gt;--backup-dir=~max/$BUNAME/ \&lt;br /&gt;~/rsync/test1/ coffee:~max/test1/&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Because of the &lt;code&gt;--backup&lt;/code&gt; and &lt;code&gt;--backup-dir=...&lt;/code&gt; options, when rsync is going to change a file, it first makes a copy of the file to the directory specified by $BUNAME (which is defined as the day of the week i.e. Thursday) and then overwrites the file in the main directory (test1, in this case). This way, if you accidentally change a file you didn't mean to, you have backups of it. You could go so far as to make hourly directories within the day-of-the-week directories with some simple shell scripting...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-6070956324698522038?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/06/rsync.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-6883829655768455940</guid><pubDate>Fri, 08 May 2009 05:08:00 +0000</pubDate><atom:updated>2009-05-08T01:38:26.111-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>robot</category><category domain='http://www.blogger.com/atom/ns#'>finals</category><category domain='http://www.blogger.com/atom/ns#'>line follow</category><category domain='http://www.blogger.com/atom/ns#'>Rovio</category><category domain='http://www.blogger.com/atom/ns#'>Lisp</category><category domain='http://www.blogger.com/atom/ns#'>code</category><category domain='http://www.blogger.com/atom/ns#'>3pi</category><category domain='http://www.blogger.com/atom/ns#'>lush</category><title>Computer Science Showcase</title><description>Well, finals are almost over, but mid-week there was a Computer Science Showcase in the Courant building at NYU. Our Robotics class had a corner where the Rovios were playing soccer and the 3πs were following lines. My Rovio, someone else's 3π:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-28c3f1c6eb99a66" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DpgAAAO3T1daHheEeH3ZcEQIwEb9GkdAJJCX5yKFwjz_j3ZnFFqSOBT1P_OPrsAeomdODjX2xkvH5LvkFbDy0HK-kMw0eGA1ByDQSg5-2tKa6cXvpEnLZZiPbuA6YH8J-obt1V_QAjA61IoGbTioN5z7ku6vnALyEqkdcV3SWDO9L76aeKSY28foNnxg9hIPKEgXRRbkPZ7o-Lm8B1UYPKB9yp2hBVNyt-10_UsqETgu-2opD%26sigh%3DsCJ_VILBDCPGQB_RwLN8tly-FnE%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3D28c3f1c6eb99a66%26offsetms%3D5000%26itag%3Dw320%26sigh%3DeE2SWHJ_eh6MmZqZ3jiDBEPUa5g&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;embed width="320" height="266" src="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DpgAAAO3T1daHheEeH3ZcEQIwEb9GkdAJJCX5yKFwjz_j3ZnFFqSOBT1P_OPrsAeomdODjX2xkvH5LvkFbDy0HK-kMw0eGA1ByDQSg5-2tKa6cXvpEnLZZiPbuA6YH8J-obt1V_QAjA61IoGbTioN5z7ku6vnALyEqkdcV3SWDO9L76aeKSY28foNnxg9hIPKEgXRRbkPZ7o-Lm8B1UYPKB9yp2hBVNyt-10_UsqETgu-2opD%26sigh%3DsCJ_VILBDCPGQB_RwLN8tly-FnE%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3D28c3f1c6eb99a66%26offsetms%3D5000%26itag%3Dw320%26sigh%3DeE2SWHJ_eh6MmZqZ3jiDBEPUa5g&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Adjusting the Rovio to run on the hardwood floors with the different lights was a challenge -- I had to change the coefficients for distance to ball and goal and the threshold for detecting the ball. The floor made it particularly challenging because the reflection of the lights is about the same color as the tennis ball (to the robot) and so sometimes it thinks the ball is somewhere its not. Add in human interference, as a bunch of us were jammed into a 9'x9' area, and it was chaos. Also, I added a victory dance at the end, thanks to a request in the comments.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-e5f666f195702aa5" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqAAAAEbqiT-pXmimn7VDny7-dKoQ4FugUppKrufpNrp-WMOE2GuOdNkaNnTqZr1RkOEvnZJdvjUVqB0BOXSKkfXUd6IND9bW2bpqGRzaxL7XCB98CieQ63nJkBisRs0g_yrWaZVWugvUL5lc0UoZq_SX018AqSn5OGu1L2eXLQH2y-8Qpjwaah_JXLMYEDgdodO2aZ92oZM7Jqm98whBDFirKgcZNidsYRYrdH01vah666mo%26sigh%3DgHw5kyMeHqLHjbfNfal5QWvj_jk%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3De5f666f195702aa5%26offsetms%3D5000%26itag%3Dw320%26sigh%3DxvbThqYPHXtA0nRP2PmoAWe95ko&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;embed width="320" height="266" src="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqAAAAEbqiT-pXmimn7VDny7-dKoQ4FugUppKrufpNrp-WMOE2GuOdNkaNnTqZr1RkOEvnZJdvjUVqB0BOXSKkfXUd6IND9bW2bpqGRzaxL7XCB98CieQ63nJkBisRs0g_yrWaZVWugvUL5lc0UoZq_SX018AqSn5OGu1L2eXLQH2y-8Qpjwaah_JXLMYEDgdodO2aZ92oZM7Jqm98whBDFirKgcZNidsYRYrdH01vah666mo%26sigh%3DgHw5kyMeHqLHjbfNfal5QWvj_jk%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3De5f666f195702aa5%26offsetms%3D5000%26itag%3Dw320%26sigh%3DxvbThqYPHXtA0nRP2PmoAWe95ko&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;This is someone's 3π -- I have my code for this, but its not as fast as this one. Wow. The 3π uses 5 infrared sensors on the front end, along with some C++ and a PID controller to follow the line.&lt;br /&gt;&lt;br /&gt;Also, the professor just sent out an email; looks like our class was picked up here:&lt;br /&gt;&lt;a href="http://www.slashgear.com/wowwee-rovio-taught-to-play-soccer-0642907/" target="_blank"&gt;http://www.slashgear.com/&lt;wbr&gt;wowwee-rovio-taught-to-play-&lt;wbr&gt;soccer-0642907/&lt;/a&gt;&lt;br /&gt;and here:&lt;br /&gt;&lt;a href="http://www.robocommunity.com/blog/entry/15953/Rovio-Learns-Soccer-Bends-it-Like-Beckham/" target="_blank"&gt;http://www.robocommunity.com/&lt;wbr&gt;blog/entry/15953/Rovio-Learns-&lt;wbr&gt;Soccer-Bends-it-&lt;br /&gt;Like-Beckham/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.maxsobell.com/blog/uploaded_images/IMG_1337-733558.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://www.maxsobell.com/blog/uploaded_images/IMG_1337-733058.JPG" alt="" border="0" /&gt;&lt;/a&gt;Rovios face off.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.maxsobell.com/blog/uploaded_images/IMG_1343-791360.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://www.maxsobell.com/blog/uploaded_images/IMG_1343-790861.JPG" alt="" border="0" /&gt;&lt;/a&gt;Blurry 3π racer&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-6883829655768455940?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><enclosure type='video/mp4' url='http://www.blogger.com/video-play.mp4?contentId=28c3f1c6eb99a66&amp;type=video%2Fmp4' length='0'/><enclosure type='video/mp4' url='http://www.blogger.com/video-play.mp4?contentId=e5f666f195702aa5&amp;type=video%2Fmp4' length='0'/><link>http://www.maxsobell.com/blog/2009/05/computer-science-showcase.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-8342586602132717418</guid><pubDate>Tue, 05 May 2009 13:30:00 +0000</pubDate><atom:updated>2009-05-05T10:54:08.853-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>robot</category><category domain='http://www.blogger.com/atom/ns#'>finals</category><category domain='http://www.blogger.com/atom/ns#'>Rovio</category><category domain='http://www.blogger.com/atom/ns#'>Lisp</category><category domain='http://www.blogger.com/atom/ns#'>code</category><category domain='http://www.blogger.com/atom/ns#'>lush</category><title>Rovio works!</title><description>&lt;div style="margin: 0px auto 10px; text-align: center;"&gt;&lt;a href="http://www.maxsobell.com/blog/uploaded_images/DSC00866-728752.JPG"&gt;&lt;img src="http://www.maxsobell.com/blog/uploaded_images/DSC00866-728589.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;The point of the whole project is to get the ball into the goal.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;The algorithm goes:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;take a picture&lt;/li&gt;&lt;li&gt;convert it from RGB to YUV&lt;/li&gt;&lt;li&gt;mask out the ball and the posts into 2 separate matrices&lt;/li&gt;&lt;li&gt;find the ball&lt;/li&gt;&lt;li&gt;turn to it&lt;/li&gt;&lt;li&gt;rotate around the ball until you find the goal&lt;/li&gt;&lt;li&gt;shoot!&lt;/li&gt;&lt;/ol&gt;And if it were only 7 lines of code my life would have been much easier for the last little while ;) Here's &lt;a href="http://www.maxsobell.com/images/robo.2.lsh"&gt;all the code&lt;/a&gt;. And here's the Rovio in action:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-e57a2513f067865a" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqAAAAEbqiT-pXmimn7VDny7-dKo7jsGIZ0PoGVQx-a4lCjE-VtyYWEtgCdX2wOvJzOm0QfAo1TPc67AU4WFJraFjrdk1AL0j6-Dun1LenlwR4B3870Z5t21PXDVe20wepRqxY7rQa7sVNuDQH2T9XGsKTVLdF0l79QR-gb5dOEnCrl5IuF4cgQOUMupEU2gFG0jkzc2tC6xHsSQN3qTDOp08MCyqgBw0uP5PltWOcuiElnHs%26sigh%3DIu144Ltq4j5YufIDzpvRYZbSgOs%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3De57a2513f067865a%26offsetms%3D5000%26itag%3Dw320%26sigh%3DW62MFW9BUZ8BGRXaySXcdNT8oKk&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;embed width="320" height="266" src="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqAAAAEbqiT-pXmimn7VDny7-dKo7jsGIZ0PoGVQx-a4lCjE-VtyYWEtgCdX2wOvJzOm0QfAo1TPc67AU4WFJraFjrdk1AL0j6-Dun1LenlwR4B3870Z5t21PXDVe20wepRqxY7rQa7sVNuDQH2T9XGsKTVLdF0l79QR-gb5dOEnCrl5IuF4cgQOUMupEU2gFG0jkzc2tC6xHsSQN3qTDOp08MCyqgBw0uP5PltWOcuiElnHs%26sigh%3DIu144Ltq4j5YufIDzpvRYZbSgOs%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3De57a2513f067865a%26offsetms%3D5000%26itag%3Dw320%26sigh%3DW62MFW9BUZ8BGRXaySXcdNT8oKk&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Woot!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-e6aba45f2a41eeba" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqAAAAEbqiT-pXmimn7VDny7-dKqcB_XBqGyfE4U_-cvAJbXzMivTW5iWgnuawMe3uIeYF6RTNMKR1s0L2SJeGJO3UsMaGKKT6FUPhCFVo6PXbrdtv2pNEDTLS4CFjf_Rzak_sLJXYU8mumfoldA9aqn2hPGn_vcVDv1dK66RC8Fyiw1hmFhu0eCeDWXa0sV1v0lJf54mZ6UXBMRWAS39Hj7hQNUegRmSXbG03p69vTufqqbv%26sigh%3DFQlJ2KcsVBVg-Rc7v1DpZEVE_UU%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3De6aba45f2a41eeba%26offsetms%3D5000%26itag%3Dw320%26sigh%3DSZZ_IxbnixLQ0pdfFWYi8D7n5Qs&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;embed width="320" height="266" src="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqAAAAEbqiT-pXmimn7VDny7-dKqcB_XBqGyfE4U_-cvAJbXzMivTW5iWgnuawMe3uIeYF6RTNMKR1s0L2SJeGJO3UsMaGKKT6FUPhCFVo6PXbrdtv2pNEDTLS4CFjf_Rzak_sLJXYU8mumfoldA9aqn2hPGn_vcVDv1dK66RC8Fyiw1hmFhu0eCeDWXa0sV1v0lJf54mZ6UXBMRWAS39Hj7hQNUegRmSXbG03p69vTufqqbv%26sigh%3DFQlJ2KcsVBVg-Rc7v1DpZEVE_UU%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3De6aba45f2a41eeba%26offsetms%3D5000%26itag%3Dw320%26sigh%3DSZZ_IxbnixLQ0pdfFWYi8D7n5Qs&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;The next step is to clean up and compile the code to get it ready to play soccer against the other Rovios!&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-8342586602132717418?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><enclosure type='video/mp4' url='http://www.blogger.com/video-play.mp4?contentId=e57a2513f067865a&amp;type=video%2Fmp4' length='0'/><enclosure type='video/mp4' url='http://www.blogger.com/video-play.mp4?contentId=e6aba45f2a41eeba&amp;type=video%2Fmp4' length='0'/><link>http://www.maxsobell.com/blog/2009/05/rovio-works.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-8935803511342475414</guid><pubDate>Mon, 04 May 2009 05:59:00 +0000</pubDate><atom:updated>2009-05-04T02:02:44.370-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>robot</category><category domain='http://www.blogger.com/atom/ns#'>Rovio</category><title>Class Rovios</title><description>&lt;a href="http://www.cs.nyu.edu/~yann/2009s-V22-0480-001/media.html"&gt;http://www.cs.nyu.edu/~yann/2009s-V22-0480-001/media.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The professor put up some pics/videos of the robots in action, err... more in circles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-8935803511342475414?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/05/class-rovios.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-5372769948633486309</guid><pubDate>Mon, 04 May 2009 05:48:00 +0000</pubDate><atom:updated>2009-05-04T01:58:38.507-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>picasa</category><category domain='http://www.blogger.com/atom/ns#'>machine learning</category><title>Picasa Facial Recognition</title><description>&lt;p&gt;&lt;div style="margin: 0px auto 10px; text-align: center;"&gt;&lt;a href="http://www.maxsobell.com/blog/uploaded_images/mark_max_zach-732290.jpg"&gt;&lt;img alt="" src="http://www.maxsobell.com/blog/uploaded_images/mark_max_zach-732284.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;div style="text-align: left;"&gt;The facial recognition feature on Picasa (online only) is _amazing_. This was back when I had "tagged" &lt; 1000 pics. Now I'm at ~4k and it is right about 75% of the time. This screenshot is from when I was having it search for pictures of my dad; it pulled up pictures of me and thought they could either be me, my dad, or my brother. Wow. &lt;/p&gt;&lt;br&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.maxsobell.com/blog/uploaded_images/emily_gdizzle-723895.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 170px;" src="http://www.maxsobell.com/blog/uploaded_images/emily_gdizzle-723891.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;There is one minor issue with this one though. It was doing pretty well (except for that 4th one... don't know who that is) until the very last pic. Hm..... maybe its the shades?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-5372769948633486309?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/05/facial-recognition-feature-on-picasa.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-7532154206671439416</guid><pubDate>Sat, 02 May 2009 01:35:00 +0000</pubDate><atom:updated>2009-05-02T19:51:32.331-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>snack</category><category domain='http://www.blogger.com/atom/ns#'>finals</category><category domain='http://www.blogger.com/atom/ns#'>food</category><title>Finals Snack</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.maxsobell.com/blog/uploaded_images/DSC00862-778098.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 300px;" src="http://www.maxsobell.com/blog/uploaded_images/DSC00862-777523.JPG" alt="" border="0" /&gt;&lt;/a&gt;I know we're not quite to finals week yet, but this is the pre-final's cram week that weakens everyone; then finals come in for the final blow, no pun intended.&lt;a href="http://localhost:50117/d1f642a8453272c64a9cae4ba6c46b70/image/1013fe6b887793cf.jpg"&gt;&lt;img style="margin: 0px 10px 10px 0px; clear: both; float: left;" alt="" src="http://localhost:50117/d1f642a8453272c64a9cae4ba6c46b70/image/1013fe6b887793cf.jpg?size=400" border="0" /&gt;&lt;/a&gt;  So here's a quick snack from TJ's: Quinoa, some cilantro/chicken pot stickers (err I guess you call them dumplings over here. Btw I waited _in_ line for them, and I'm putting this _on_ line), an egg (duh) and corn + garlic fried in sesame oil and then some spinach thrown in at the last minute. And Fairway olive oil over the top ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-7532154206671439416?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/05/finals-snack.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-4426425975566234685</guid><pubDate>Wed, 22 Apr 2009 04:47:00 +0000</pubDate><atom:updated>2009-04-22T01:03:48.731-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>robot</category><category domain='http://www.blogger.com/atom/ns#'>dead reckoning</category><category domain='http://www.blogger.com/atom/ns#'>code</category><category domain='http://www.blogger.com/atom/ns#'>3pi</category><title>Back to the 3pi</title><description>It follows a line... stops... turns around... and goes back to where it started! Finally...&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-b736df5312040bef" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqAAAABqQx1oQmSnIaATdhug8I96gD_7phrZX30PVUlu02uFTeodxqIR0K1bhlK3F8TKi64zov-76KROhjjTgb5XTtWYUvY2TnfYXbHzNjyherVOlAGxrSj6wUOZnq1fCEabJX1mjyqGh8cR6y_U7tOf3oBIZ1iDJUIselLjB3lBM09StvMyF_TtTQMiLNpdqr4N8xzzYi8RdDrg-6WlDnh6dB_pGr1IsCeSrjDeaTHXzmp1E%26sigh%3DvX3Ij13xjluE0o-xlABAJOsmfqc%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3Db736df5312040bef%26offsetms%3D5000%26itag%3Dw320%26sigh%3DIfQc5rl7YfCQPTEYlcW_MrjWR9M&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;embed width="320" height="266" src="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqAAAABqQx1oQmSnIaATdhug8I96gD_7phrZX30PVUlu02uFTeodxqIR0K1bhlK3F8TKi64zov-76KROhjjTgb5XTtWYUvY2TnfYXbHzNjyherVOlAGxrSj6wUOZnq1fCEabJX1mjyqGh8cR6y_U7tOf3oBIZ1iDJUIselLjB3lBM09StvMyF_TtTQMiLNpdqr4N8xzzYi8RdDrg-6WlDnh6dB_pGr1IsCeSrjDeaTHXzmp1E%26sigh%3DvX3Ij13xjluE0o-xlABAJOsmfqc%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3Db736df5312040bef%26offsetms%3D5000%26itag%3Dw320%26sigh%3DIfQc5rl7YfCQPTEYlcW_MrjWR9M&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The code is &lt;a href="http://www.maxsobell.com/blog/uploaded_images/dead_rec.c"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.maxsobell.com/blog/uploaded_images/dsc00847-711284.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://www.maxsobell.com/blog/uploaded_images/dsc00847-710727.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;That outside line is for its next trick ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-4426425975566234685?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><enclosure type='video/mp4' url='http://www.blogger.com/video-play.mp4?contentId=b736df5312040bef&amp;type=video%2Fmp4' length='0'/><link>http://www.maxsobell.com/blog/2009/04/back-to-3pi.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-3187889408624767339</guid><pubDate>Sat, 18 Apr 2009 16:26:00 +0000</pubDate><atom:updated>2009-04-18T12:33:38.660-04:00</atom:updated><title>The Robot is getting smarter...</title><description>Now it can find goal posts! And its supposed to be able to shoot the ball into the goal... that is, after it finds the ball and the posts and lines up properly, which is proving to be tricky...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.maxsobell.com/blog/uploaded_images/robotview-754501.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 230px;" src="http://www.maxsobell.com/blog/uploaded_images/robotview-754498.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We convert the RGB picture it takes into YUV, and then analyze that, so it filters the color of the tennis ball better. Then, we use this awesome time-saving library called CCAnalysis to find the middle of the posts and the ball, we turn until the ball is inbetween the posts, and then... we shoot!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-3187889408624767339?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/04/robot-is-getting-smarter.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-5461634052693027183</guid><pubDate>Tue, 31 Mar 2009 02:03:00 +0000</pubDate><atom:updated>2009-05-04T02:04:23.974-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>robot</category><category domain='http://www.blogger.com/atom/ns#'>Rovio</category><category domain='http://www.blogger.com/atom/ns#'>Lisp</category><category domain='http://www.blogger.com/atom/ns#'>code</category><category domain='http://www.blogger.com/atom/ns#'>lush</category><title>(Lisp) is mind-numbing</title><description>Well, not entirely Lisp... its actually &lt;a href="http://lush.sourceforge.net/ "target="_blank"&gt;(lush)&lt;/a&gt;. But the parentheses... Oy. Thank god for Emacs paren highlighting. Here's the whole thing: &lt;a href="http://www.maxsobell.com/images/robotest.lsh"&gt;robotest.lsh&lt;/a&gt;, but here's just a little sample of the beauty of (lush) syntax: &lt;p&gt;&lt;code&gt;(setq len (* h (/ (- (* k f) y) (+ (* k y) f))))&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Just like &lt;a href="http://xkcd.com/224/" target="_blank"&gt;http://xkcd.com/224/&lt;/a&gt; and &lt;a href="http://xkcd.com/297/" target="_blank"&gt;http://xkcd.com/297/&lt;/a&gt;!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The whole point of this was to take in an image (top), mask out the color (bottom) by first eroding, to eliminate noise, and then dilating, to get back the origninal big blob of color (the eraser):&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.maxsobell.com/blog/uploaded_images/rovio-785627.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 308px; height: 320px;" src="http://www.maxsobell.com/blog/uploaded_images/rovio-785623.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Then that formula (above) tells the robot how far the object is from it, based on how many pixels down the screen the middle of it is, how high off the ground the robot's lens is, and its focal point (-371). That distance formula took a whole classroom a while to figure out....&lt;/p&gt;&lt;p&gt;This is for a &lt;a href="http://www.meetrovio.com/" target="_blank"&gt;Rovio&lt;/a&gt; robot (which is controlled over wifi), and that picture was taken from the robot.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-5461634052693027183?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/03/lisp-is-nightmare.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-6068851060806445220</guid><pubDate>Thu, 19 Mar 2009 15:52:00 +0000</pubDate><atom:updated>2009-03-19T12:07:08.635-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>robot</category><category domain='http://www.blogger.com/atom/ns#'>line follow</category><category domain='http://www.blogger.com/atom/ns#'>dead reckoning</category><category domain='http://www.blogger.com/atom/ns#'>3pi</category><title>Robots attack in subtle ways...</title><description>Trying very hard to get &lt;a href="http://maxsobell.com/images/20090318/3pi2.JPG"&gt;this&lt;/a&gt; little schmuck to follow a line (done.) and then go back to where it started (not even close...). &lt;p&gt;&lt;img src="http://www.maxsobell.com/images/20090318/3pi1.JPG" alt="Another 3pi Shot" /&gt;&lt;/p&gt;I'm still figuring out how to work this blog site, and I think they have a tool to do this, but its very useful to use &lt;p&gt;&lt;code&gt;mogrify -resize 640 *.jpg&lt;/code&gt;&lt;/p&gt; and, if you need the package, &lt;p&gt;&lt;code&gt;sudo aptitude install imagemagick&lt;/code&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-6068851060806445220?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/03/current-project.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-2463547441471481826</guid><pubDate>Sun, 15 Mar 2009 14:23:00 +0000</pubDate><atom:updated>2009-03-15T10:26:41.562-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>brunch</category><category domain='http://www.blogger.com/atom/ns#'>food</category><title>Brunch in NYC</title><description>Why is finding a place to have brunch in the city so hard? Well, its because there are about 5 places every block serving brunch, and its impossible to find menus for most of them online. So, will my brunch come with a free drink and some coffee? Or just some eggs and toast? Hm... my current favorite is Blue Water Grill, which is ridiculously expensive the other 6 days of the week, but Sunday Brunch is a bargain. You can get an entree for $13, with drink, coffee, and snooty atmosphere gratuit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-2463547441471481826?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/03/brunch-in-nyc.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-8712233293524107140</guid><pubDate>Tue, 03 Mar 2009 16:44:00 +0000</pubDate><atom:updated>2009-03-03T11:45:37.300-05:00</atom:updated><title>1st problem with blogger</title><description>It won't let me put my birthday as 2/29! It says its an "invalid date"...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-8712233293524107140?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/03/1st-problem-with-blogger.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2536618694289440771.post-3576108044431182070</guid><pubDate>Tue, 03 Mar 2009 16:26:00 +0000</pubDate><atom:updated>2009-03-03T11:28:20.396-05:00</atom:updated><title>hey</title><description>So maybe I'll start weblogging about what I do 10 hours/day.... play with computers! Google thinks weblogging is spelled wrong, and suggests "we blogging, backlogging and flogging" but recognizes its abbreviation -- blogging!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2536618694289440771-3576108044431182070?l=www.maxsobell.com%2Fblog'/&gt;&lt;/div&gt;</description><link>http://www.maxsobell.com/blog/2009/03/hey.html</link><author>noreply@blogger.com (Max)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item></channel></rss>
