mylesgrant.com http://www.mylesgrant.com en Copyright Myles Grant Wed, 05 Oct 2011 05:22:02 UTC Quadcopter http://www.mylesgrant.com/braindump/older/2011/10/05/quadcopter.html I have been building a Quadcopter. So far, I've been running the Aeroquad software after a few failed attempts to do my own.

But! Now that I know the frame works and that I am capable of flying the damned thing, it's back to custom software for me -- which was the whole point from the beginning. To that end, I have written some simple Arduino test code for the various components of my system:

- ReceiverTest
- MagTest
- GyroTest
- AccelTest
- BaroTest
- GPSTest

In case these are useful to anyone other than me.

]]>
http://www.mylesgrant.com/braindump/older/2011/10/05/quadcopter.html#comments http://www.mylesgrant.com/braindump/older/2011/10/05/quadcopter.html Wed, 05 Oct 2011 05:22:02 UTC
I have a code.flickr.com blog post! http://www.mylesgrant.com/braindump/older/2008/09/26/i-have-a-codeflickrcom-blog-post.html Go read it.

]]>
http://www.mylesgrant.com/braindump/older/2008/09/26/i-have-a-codeflickrcom-blog-post.html#comments http://www.mylesgrant.com/braindump/older/2008/09/26/i-have-a-codeflickrcom-blog-post.html Fri, 26 Sep 2008 10:59:52 UTC
AJ Near Me http://www.mylesgrant.com/braindump/older/2008/07/26/aj-near-me.html I finally made enough time to play with three things I've been wanting to check out: Yahoo! Fire Eagle, Google App Engine, and the Authentic Jobs API. The simple and useless result: AJ Near Me.

Let's start with Fire Eagle. Fire Eagle is a location broker -- you use one of the many available methods for it to keep track of your location, and it doles that out to applications to approve. In this case, the idea is that if you're travelling in a new city, and Fire Eagle knows that you're there, you might be interested in what jobs are currently available there. Highly unlikely, I know. And Fire Eagle isn't even really necessary here -- the app could and should simply ask for your current location. My killer app idea that actually uses Fire Eagle properly is automatic tracking of Caltrain trains and notification of delays via Twitter. I'll never get that written, unfortunately.

Google App Engine is an interesting idea: Write your applications to use Google's scalable infrastructure, and they'll host it for free. Currently, it's only available with Python -- something that's certainly not my strong suit. To make things even more potentially frustrating, it's not vanilla Python either, so good luck using any third-party libs that use, say, urllib. Idiosyncrasies inside, I can't pass up free scalable hosting, so I'll probably be using it again in the future (as long as I don't need cron *sigh*).

The AJ API is something I did a few months ago for Cameron and the site. Functionality is pretty basic: get a list of current job listings, filtered by type, keywords, company, etc. One of the bits that I wasn't sure about, but tried anyway was to hook up with the geonames API to parse the user-entered job location bits and turn it into a lat/lon. There's currently no search by lat/lon (but there is a sort of search by location) so this is most of the heavy lifting that the Google App Engine app does.

AJ Near Me maintains a list of current open listings, which it periodically fetches using the AJ API. When you visit the site after granting it permission to read your Fire Eagle location, the site fetches your current location from Fire Eagle. If your location is specific enough, the site searches the local database for all jobs within 50 miles of your location and displays them. Except that's the more difficult part.

Typically, you would create your rough 50 mile bounding box and query the database for records within those four points. Except that in Bigtable, you can't do inequality queries on more than one field at once (I'm serious). So instead, you store your locations as Geohashes/Geoindexes, convert your lower-left and upper-right bbox points to geoindexes and query the datastore like so:

query = Job.gql("WHERE location_hash < :right AND location_hash > :left", left=lower_left_index, right=upper_right_index)

This gets you close, and then you can use geopy's great-circle distance calculation function to whittle it down to records actually within 50 miles of your location.

Like I said, a useless idea, but learning about geohashes and bounding box calculations made it worth it. Fire Eagle is a fantastic product and I have high hopes for it -- and about a thousand ideas. Google App Engine can be frustrating, but totally perfect for small projects. I'll be using it again for sure. And if they ever release a PHP version of it, I'll put BlogSkins on it in a heartbeat.

]]>
http://www.mylesgrant.com/braindump/older/2008/07/26/aj-near-me.html#comments http://www.mylesgrant.com/braindump/older/2008/07/26/aj-near-me.html Sat, 26 Jul 2008 20:51:31 UTC
Pixar's movies in order of Metacritic score http://www.mylesgrant.com/braindump/older/2008/05/11/pixars-movies-in-order-of-metacritic-score.html Erin and I were talking tonight about how no one ever talks about Pixar's A Bug's Life. It wasn't a bad movie, and certainly not the worst movie Pixar's ever made, but it's simply never mentioned as part of Pixar's catalog.

So I decided to look up the scores of all of Pixar's movies on Metacritic:


  1. Ratatouille - 96

  2. Toy Story - 91

  3. The Incredibles - 90

  4. Finding Nemo - 89

  5. Toy Story 2 - 87

  6. Monsters, Inc - 78

  7. A Bug's Life - 77

  8. Cars - 73


Which is funny, because my order is:

  1. Toy Story

  2. The Incredibles

  3. Monsters, Inc

  4. Finding Nemo

  5. A Bug's Life

  6. Toy Story 2

  7. Ratatouille

  8. Cars


Which doesn't put A Bug's Life in a very different position, but there's a big gap between 6 and 7 in my list. I really didn't care much for Ratatouille (although Erin did), and I really, really didn't care for Cars.

I have high hopes for WALL-E though. Perhaps it can take the number 2 or 3 spot?

]]>
http://www.mylesgrant.com/braindump/older/2008/05/11/pixars-movies-in-order-of-metacritic-score.html#comments http://www.mylesgrant.com/braindump/older/2008/05/11/pixars-movies-in-order-of-metacritic-score.html Sun, 11 May 2008 21:02:29 UTC
Writing a new blog post http://www.mylesgrant.com/braindump/older/2008/05/11/writing-a-new-blog-post.html

  1. Think of idea for new post

  2. Visit Wordpress admin, realize I need to upgrade

  3. Download new version, upload it to my server, upgrade software, check everything still works...

  4. Forget what I was going to post

]]>
http://www.mylesgrant.com/braindump/older/2008/05/11/writing-a-new-blog-post.html#comments http://www.mylesgrant.com/braindump/older/2008/05/11/writing-a-new-blog-post.html Sun, 11 May 2008 20:30:17 UTC
I'm riding to end AIDS http://www.mylesgrant.com/braindump/older/2008/03/02/im-riding-to-end-aids.html Canada Road

Last year my former neighbor and good friend Brad rode the 2007 AIDS/Lifecycle ride, a 545-mile, 7-day bike ride from San Francisco to LA. As someone who was just getting into cycling at the time, Brad's participation and passionate stories about his experience on the ride inspired me to join him on the ride this year in June.

So I've been training. I ride to and from work every day (with a train ride in between), and on weekends I've been gradually doing longer and longer rides. I'm very lucky to be living on the San Francisco bay peninsula, where there are many, many rides to choose from. So far, training is going well, and I think I'm going to be ready in time.

I have two reasons to do this ride this year:


  1. To help fight HIV/AIDS,

  2. To participate in a form of exercise that I actually enjoy.


#2 is obvious (riding around here is so much better than running on a treadmill). As for #1, I tend not to think about AIDS all that much. I certainly haven't been personally affected by it yet, or know anyone who has. But to hear some of the stories from the AIDS/Lifecycle folks or from Brad, I feel motivated to try and do some small part to end this terrible disease.

I'll obviously be riding a long distance, and to help keep me motivated during that time, I'm asking that you please consider donating to support the HIV/AIDS-related services of the L.A. Gay & Lesbian Center. Please give them as much as you can, and let's put an end to HIV/AIDS.

Thank you.

]]>
http://www.mylesgrant.com/braindump/older/2008/03/02/im-riding-to-end-aids.html#comments http://www.mylesgrant.com/braindump/older/2008/03/02/im-riding-to-end-aids.html Sun, 02 Mar 2008 21:45:51 UTC
Hello Dan http://www.mylesgrant.com/braindump/older/2008/02/18/hello-dan.html I'm not sure who first directed me to Lost Garden (probably Cal), but it's been one of my favorite reads ever since. The game design theory posts are interesting, but the prototyping posts are the most inspiring.

After completely skipping over the CuteGod challenge, I've taken on a couple of the others. I didn't get very far with Tree Story, as you can see:

TreeStory

But I did get jumping/backflipping done before I lost interest.

Last week Danc posted a new prototyping challenge: Play With Your Peas. After a few days of playing with it on the train, I have most of the editor done:

PlayWithYourPeas

The hardest parts are still remaining: AI, pathfinding, physics, balance. And I'll probably lose interest well before I get that far. But that's not the point really -- just getting this far has been a lot of fun, and a nice break from what I'm normally working on. Who knows? Maybe in a couple weeks, I'll post a "finished" product.

]]>
http://www.mylesgrant.com/braindump/older/2008/02/18/hello-dan.html#comments http://www.mylesgrant.com/braindump/older/2008/02/18/hello-dan.html Mon, 18 Feb 2008 17:07:59 UTC
Back (really) http://www.mylesgrant.com/braindump/older/2008/02/09/back-really.html It was about 6 months ago that my blog got hacked. Some Movable Type vulnerability or something resulted in a call from my hosting provider, telling me they had to take my site down. Rather than take the steps to fix it, I left it down, and moved on to other things.

In the time since, I've thought about posting one thing or the other to my blog, but the urge was never enough to get me to do anything about it. In the last month or so, however, as the urge grew, I started to take steps to bring it back. I brought the old blog back and updated Movable Type to hopefully block whatever security hole screwed me the first time. But I'm tired of MT and tired of the constant stream of "New comment posted" emails that are just spam bot after spam bot.

So I moved to Wordpress. Why Wordpress? It's lightweight, more hackable (PHP), Matt Mullenweg seems like a nice guy (we played a strategically horrible game of Werewolf together at Etech, where we were the two werewolves), and it powers the Flickr Blog. Plus, Derek had recently unveiled a nice clean Wordpress theme that I liked. And Akismet is a top-notch spam filter, which has already (silently) protected me from comment spam.

So, there we go. Now then, what were those things I wanted to post?

]]>
http://www.mylesgrant.com/braindump/older/2008/02/09/back-really.html#comments http://www.mylesgrant.com/braindump/older/2008/02/09/back-really.html Sat, 09 Feb 2008 15:29:09 UTC
Back (sort of) http://www.mylesgrant.com/braindump/older/2008/01/22/back_sort_of.html The blog is back (sort of), but it'll look a lot different very soon.

]]>
http://www.mylesgrant.com/braindump/older/2008/01/22/back_sort_of.html#comments http://www.mylesgrant.com/braindump/older/2008/01/22/back_sort_of.html Tue, 22 Jan 2008 13:37:10 UTC
Growing Up http://www.mylesgrant.com/braindump/older/2007/06/20/growing_up.html Eric's Archived Thoughts: Growing Up - One of the sweetest things I've ever read (via waxy)

]]>
http://www.mylesgrant.com/braindump/older/2007/06/20/growing_up.html#comments http://www.mylesgrant.com/braindump/older/2007/06/20/growing_up.html Wed, 20 Jun 2007 09:44:34 UTC
I'm so web 2.0 http://www.mylesgrant.com/braindump/older/2007/04/14/im_so_web_20.html I'm so web 2.0

]]>
http://www.mylesgrant.com/braindump/older/2007/04/14/im_so_web_20.html#comments http://www.mylesgrant.com/braindump/older/2007/04/14/im_so_web_20.html Sat, 14 Apr 2007 15:27:25 UTC
Bugatti Veyron at top speed http://www.mylesgrant.com/braindump/older/2007/03/26/bugatti_veyron_at_top_speed.html Video Bugatti Veyron at top speed - God I love Top Gear. Watch it to the end.

]]>
http://www.mylesgrant.com/braindump/older/2007/03/26/bugatti_veyron_at_top_speed.html#comments http://www.mylesgrant.com/braindump/older/2007/03/26/bugatti_veyron_at_top_speed.html Mon, 26 Mar 2007 23:51:39 UTC
Making sure your bicycle fits http://www.mylesgrant.com/braindump/older/2007/03/07/making_sure_your_bicycle_fits.html Making sure your bicycle fits - Saving this for later. [via andre]

]]>
http://www.mylesgrant.com/braindump/older/2007/03/07/making_sure_your_bicycle_fits.html#comments http://www.mylesgrant.com/braindump/older/2007/03/07/making_sure_your_bicycle_fits.html Wed, 07 Mar 2007 19:35:03 UTC
LittleBigPlanet http://www.mylesgrant.com/braindump/older/2007/03/07/littlebigplanet.html Sony Reveals LittleBigPlanet - This looks really cool. *Almost* makes me wish I had a PS3. [via andre]

]]>
http://www.mylesgrant.com/braindump/older/2007/03/07/littlebigplanet.html#comments http://www.mylesgrant.com/braindump/older/2007/03/07/littlebigplanet.html Wed, 07 Mar 2007 19:30:29 UTC
I just love this picture http://www.mylesgrant.com/braindump/older/2007/03/07/i_just_love_this_picture.html






Originally uploaded by Myles!.

]]>
http://www.mylesgrant.com/braindump/older/2007/03/07/i_just_love_this_picture.html#comments http://www.mylesgrant.com/braindump/older/2007/03/07/i_just_love_this_picture.html Wed, 07 Mar 2007 12:18:46 UTC
Foreign Relations http://www.mylesgrant.com/braindump/older/2007/02/12/foreign_relations.html

At some point in 2003 I decided I'd write a web-based game. Partly inspired by GNE, but mostly inspired by too much playing of [some web game I can't remember right now -- it was a turn-based space game with resources and battles and stuff] in college, I'd seen a lot of crappy copycat games pop up, and get popular. I figured I could do better. Now I play a lot of Urban Dead, which I probably can't do better than.

The basic idea of Foreign Relations is to provide a bit of Risk, Civilization, social networking, all that stuff, while remaining simple and in-browser. No plugins. No fluff. Casual.

I never worked on it. Seriously. It's 2007 and it's not even at alpha-quality yet. How sad is that? I'd really like to see it, you know, come to fruition at some point though, and probably the best way to force that is to: a) put it out there, b) get people to try it out, and c) tell me how much it sucks. Brilliant plan, eh? Even if it's a little old and crufty. Even if a lot of the code embarrasses me. At least get something out there.

So, here we go. Want to try the "alpha"? Sign up here.

Basically this version allows you to sign up, create a nation, buy different military units, communicate with other nations, and attack and defend other nations. Not a whole lot, but this is the framework on which the rest of the good stuff is built. The good stuff being: general obvious improvements to how things like attacking and defending work, make the various choices you make when you create a nation have an effect (economic system, political system, etc), formalized enemies/allies, resources that your nation creates and needs (trade), spying, maybe a United Nations type thing? But the real core of the game that hasn't been built yet is: a random event that would occur every 2 turns, requiring you to make a decision. And your decision would obviously have consequences.

What am I looking for if you try the game? Mostly, I'm looking for ideas. What kinds of decisions would you like to have to make? What should happen? What should the economic and political choices do? Does attacking/defending work well? What could make it better? Does your nation make money too fast? Too slow? That kind of stuff. Feel free to post your comments here, or in the forums there, or email me. And if you don't like it at all, tell me that too.

Update: The game that I played in college and couldn't remember the name of earlier is Planetarion.

]]>
http://www.mylesgrant.com/braindump/older/2007/02/12/foreign_relations.html#comments http://www.mylesgrant.com/braindump/older/2007/02/12/foreign_relations.html Mon, 12 Feb 2007 12:59:46 UTC
Best. Wedding Site. Ever. http://www.mylesgrant.com/braindump/older/2007/01/04/best_wedding_site_ever.html Best. Wedding Site. Ever.

]]>
http://www.mylesgrant.com/braindump/older/2007/01/04/best_wedding_site_ever.html#comments http://www.mylesgrant.com/braindump/older/2007/01/04/best_wedding_site_ever.html Thu, 04 Jan 2007 10:06:02 UTC
How Come? http://www.mylesgrant.com/braindump/older/2007/01/03/how_come.html How come sometimes my Netflix movies go back to San Jose and sometimes they go back to San Francisco?

These are the things I worry about.

Have you seen Twitter? It lends itself well to short, train-of-thought things like this. Plus, I'm in love with Ev, so.... check it out!

]]>
http://www.mylesgrant.com/braindump/older/2007/01/03/how_come.html#comments http://www.mylesgrant.com/braindump/older/2007/01/03/how_come.html Wed, 03 Jan 2007 20:50:12 UTC
Running from Camera. http://www.mylesgrant.com/braindump/older/2006/12/22/running_from_camera.html Running from Camera. Hilarious. (via aaron)

]]>
http://www.mylesgrant.com/braindump/older/2006/12/22/running_from_camera.html#comments http://www.mylesgrant.com/braindump/older/2006/12/22/running_from_camera.html Fri, 22 Dec 2006 18:04:39 UTC
thanksgetting http://www.mylesgrant.com/braindump/older/2006/11/22/thanksgetting.html thanksgetting. Today's "the show" is touching and awesome and not at all embarrassing to show to my parents.

]]>
http://www.mylesgrant.com/braindump/older/2006/11/22/thanksgetting.html#comments http://www.mylesgrant.com/braindump/older/2006/11/22/thanksgetting.html Wed, 22 Nov 2006 14:33:25 UTC