Prints on hiatus [news]
Now offering prints! [news]
I'm proud to announce that high quality prints are now available from my gallery. A team of engineers and designers, ie me, have been working around the clock to create a unique, engaging, useful, and secure experience for purchasing.
Details
A 4x6, the standard photo size, is only $1.75.
An 8x10, about the size of a piece of letter paper, is $10.00.
A 20x30, gigantic poster size, is just $29.00.
I print using a large-format photo printer and a high-quality 4x6 printer, depending on the order.
Custom sizing
The sizes I have are chosen because they fit in most people's frames. However, because I print using a large-format printer I can print virtually any aspect ratio. Choose the size closest to your needs and let me know in the comments exactly the dimensions you want.
The Crossbow - new quadcopter design [news]
I'm calling this quadcopter design The Crossbow because of the huge number of people who have thought that's what it was while I'm carrying it around campus.
Right now I'm just testing it and working on the software using only two rotors. This design is modular so I can attach whichever arms I want.
Here's an idea for what I started with in the design process:
This is the flight computer module:
And the body with the two arms attatched.
Fast 2-way XBEE series 2 data [news]
That title's a mouthful, any yet it's not enough. There are so many names for these modules, a better title would be Fast two way Xbee ZigBee Series 2 Znet 2.5 Serial AT Communication. In my trials and tribulations building my quadcopter remote (soon I'll post about it) I've run across problems getting two way, full speed, and reliable communication between my modules. Here's what I discovered after a lot of manual reading:
Fast two way Xbee ZigBee Series 2 Znet 2.5 Serial AT
The heart of the issue is that Xbee 2.5 modules are not designed (spesificlly) to be point-to-point direct communicators. Whereas Series 1 modules can communicate directly with zero configuration, these series 2 ZNET modules need some work. Here's a great article on the difference. There's a few great articles on how to setup these znet modules, however they're really hard to find. (I can't even find which ones I've already manged to run across). Here's the basic setup:
Basic Series 2.5 Setup
- First get X-CTU from digi. It's windows only, however:
- Wine on (apt-get install wine for debian) linux will let it install and run perfectly.
- Wine also runs on Macs, try this.
- To get it to work correctly in wine, follow this tutorial.
- Open X-CTU, select your COM port, (see that tutorial if you're running linux or os x) set the serial baud rate, and click on the Modem Configuration tab.

- Read the current information from your xbee.
- Note: if x-ctu complains, it's likely missing the latest firmware. Try the Download new version button to automatically get them, but I've never had that work. Go to the digi download page and download the .zip file then give that to x-ctu.
- Change the Function Set dropdown menu to ZNET 2.5 COORDINATOR AT. One and only one coordinator xbee is required for each series 2.5 network.

- Check the Always update firmware box then click write.
- Optional configuration:
- You can change the PAN ID to something unique if you'd like, but you'll also need to change the other module to match it exactly.
- Change your serial baud rate if you want to communicate faster then 9600 bps. Scroll down to serial interfacing to find that option.
Sweet, it's all set for automatically packetized, full-speed serial communication.
Fast, reliable two-way data: not what you get
The problem you may soon discover is that the communication from the coordinator to the ZNET 2.5 ROUTER/END DEVICE AT (I call this on the node) slows to a halt after a few dozen bytes and never catches up when there's regularly sent data. Data coming from the node to the coordinator is fine.
The Fix
Taking with the idea from this forum posting and mixing in lots of reading of the manual, I discovered that if the coordinator is told to only send to your one node it works flawlessly. I came up with this process after reading into the configuration options further.
- Go back into X-CTU configuration and name each module (I called mine PICARD and RIKER) using the NI, or Node Identifier, option (+++ATNI PICARD WR if you know what you're doing).
- Write the changes.
- Power-on both modules, with the coordinator connected to the computer.
- Click on the Terminal tab.
- Type +++ to go into command mode, don't hit return. Be sure it outputs OK.
- Type ATND (and return) to show connected modules, to be sure your NODE and all it's address information is there. All the commands start with AT, and the ND is Node Discover.
- Type ATDN <your node's NI> (and return). That's the command for Destination Node, space, and the Node Identifier you created earlier and just confirmed in the previous step. It should return OK.This sets the DH and DL values to the SH and SL values from the node. This means the destination address (both High and Low halves) are automatically set to the serial number from the node. All communication will now only go to the node when coming from the coordinator.

- Type +++ again to enter command mode then type WR (and return) to save settings. If it returns OK then You're done!
Por fin
Here's what JordanH said on the digi discussion boards:
[Not setting a destination address] will transmit each and every packet from the XBee module as a broadcast packet. Broadcast data is unreliable and unacknowledged so that may explain the behavior you are seeing.
Now that we've got the address set, go send some data!
Zenphoto Sitemap SEO [news]

Latest version: 1.0.3. Get it here. Preview it here.
Senario:
You have a zenphoto installation with thousands upon thousands of photos and now are increasingly using page and blog functionality of this awesome open source project. You've got a lot of content with a database full of metadata and a lot of search engine potential. However, the majority of the traffic on your site are the crawler bots themselves since your site is so expansive.
The Almost-Solution
This is my problem. When this was written I had 33,067 images in 262 albums. The crawler traffic was huge and unnecessary. Then I ran across this plugin by Jeppe Fihl Toustrup (Tenzer). However, although this plugin is very zen-like and simply functional, it's not very optimized to my situation. The new version includes every album on every page which results in a ridiculous sql query and a resulting xml file that brings my browser to a halt trying to work on it. Also, very few of the great features outlined in the sitemap standard are implemented.
Solution
I've gone through and rewritten the plugin to be more explicit and helpful to the crawler. The <lastmod> tag is automatically used based on the date in the database, as well and the <changefreq> and <priority> are both set. Also extremely important is that this version includes pages and news articles, not just simply albums and images.
Download
Get it here, zenphoto-sitemap2-seo.php.zip
Also take a look at the code, formatted as HTML.
Example
Try it out by going to my sitemap file. It's best to see it in firefox (even if you're like me and perfer safari on a mac or chrome on linux), and it looks like what's in the screenshot above.
Quad cost breakdown [news]
Building any radio controlled vehicle is usually a money intensive endeavor. When you're building one that flies, is computer controlled (and will hopefully soon be autonomous) it goes to reason that it will be extremely expensive. Some quadcopters are literally tens of thousands of dollars because they use electronics like this. For my quadcopter I wanted to keep the cost as low as possible but still create a reliable platform for future development. I started with the aeroquad project and have done a lot of research on diydrones. Here's the spreadsheet I made before ordering everything (thanks google docs):
| Hobby King | Total: | $150.73 | |||
| What is it | part | # | unit $ | total | |
| motor | TowerPro Brushless Outrunner 2410-09 13A / 104W | 4 | $6.39 | $25.56 | link |
| esc | Turnigy Plush 10A ESC | 4 | $9.24 | $36.96 | link |
| 3prop 8x4 CCW | GWS HD8040 3 Blade Prop Counter Rotate | 1 | $2.79 | $2.79 | link |
| 3prop 8x4 CW | GWS HD8040 3 Blade Prop | 1 | $2.79 | $2.79 | link |
| 3prop 8x5 CCW | GWS HD9050 3 Blade Prop Counter Rotate | 1 | $2.79 | $2.79 | link |
| 3prop 8x5 CW | GWS HD8050 3 Blade Prop | 1 | $2.79 | $2.79 | link |
| batt | ZIPPY Flightmax 2200mAh 3S1P 20C | 2 | $11.99 | $23.98 | link |
| warning | Hobby King Battery Monitor 3S | 1 | $3.99 | $3.99 | link |
| charger | Turnigy 2S 3S Balance Charger 110/240v | 1 | $11.95 | $11.95 | link |
| lipo sack | Lithium Polymer Charge Pack 18x22cm Sack | 1 | $5.99 | $5.99 | link |
| 2mm heat shrink | Turnigy 2mm Heat Shrink Tube - BLACK (1mtr) | 2 | $0.35 | $0.7 | link |
| 3mm heat shrink | Turnigy 3mm Heat Shrink Tube - BLACK (1mtr) | 2 | $0.35 | $0.7 | link |
| boom | HK-500GT Tail Boom | 4 | $2.2 | $8.8 | link |
| Sparkfun | Total: | $132.59 | |||
| What is it | part | # | unit $ | total | |
| arduino | Arduino Pro Mini 328 - 5V/16MHz | 1 | $18.95 | $18.95 | link |
| IMU | IMU 6DOF Razor - Ultra-Thin IMU | 1 | $89.95 | $89.95 | link |
| headers | Break Away Headers - Straight | 1 | $2.5 | $2.5 | link |
| charger 1s | LiPoly Charger - Single Cell 3.7-7V Input | 1 | $16.95 | $16.95 | link |
Quadcopter almost RTR [news]
I broke a blade last Sunday and have been out of commission while I'm waiting for a new order (plenty this time) from hobbyking in Hong Kong. Meanwhile, I've taken the opportunity to redesign and strengthen the frame. Here's where I am:
Open letter to Bill Maher [news]
In his movie Religulous, Bill Maher admitted he had no idea what being 'spiritual but not religious' meant. On his Friday, July 29th 2009 show on HBO (I listen to it as an audio podcast on itunes) he said he thought he figured it out.
I made this movie about religion; I was forced to confront this idea because people come to me all the time and say 'Bill, I get your point. I'm not religious I'm spiritual.' And I always say to people 'I don't know what that means, it's the most vague thing in the world. It means I'm a nice person?' It made me think about what it means to be spiritual and I think I have the answer: It means your not afraid to die. . . And I'm not there either. I am not a spiritual person because I'm afraid to die. Maybe someday.
I listened to this week's show while walking around UNC's campus (the University of New Construction out in Chapel Hill NC) between events of the swim meet I was at to support my sister who's (last?) meet it was. Rather than zoning out watching the television and accepting whatever the person who is talking says, walking and just listening really inspires thoughts and discussion, and I talked about my thoughts with my dad quite a bit that afternoon. I decided a letter to mr Maher was in order, so here it is:
Dear Bill Maher,
I have been reflecting on and discussing with my family one of the ideas you presented in your last show.
I believe we live in a deeply religious society. However, we are strangely devoid of spirituality. You presented spirituality as not being afraid to die and the majority of the United States' citizens do not embody this ideal– leading to a host of derivative problems.
When one is on their deathbed with a limited time left to live they seek any and all ways to stay with us. This is not just a selfish act to use valuable resources, it is also a malicious and cruel one. Dieing in this way leaves their family and friends with more responsibility and debt and taxes our society's resources by putting the burden on everyone else.
Spiritual people are not afraid to die because they know their accomplishments and legacy lives on by influencing and benefiting those they left behind. Choosing to die after indebting others is the opposite of spirituality, it is greed.
This country was founded on the idea that individuals themselves are 'endowed by their creator' with their own divine right to rule and govern rather than the idea that their leader (king, etc.) alone is endowed with this. This sense of individual responsibility and influence is spirituality, not religion.
Religion, as I have been told numerous times, is practice. Religion relies on customs and ceremonies to honor and worship those who have died long ago. Practicing desensitizes, reduces empathetic thinking, and decreases your own individuality. It also 'makes perfect.' However what is one practicing for and making perfect when they practice religion? Customs, ceremonies, and a kind of thinking that resulted in the crusades and is the root of the intolerance which starts and fuels every war in history. Practicing religion does not result in being spiritual, it is completely separate and often inversely related to this practice; and in modern America it is inversely related.
You, Bill Maher, are to me a spiritual person. You denounce religion and the thinking which it relies on. You honer the dead not by practicing something solely in their honer but embody parts of their experiences and values; you learn from the past not worship it.
You should not be afraid of death just as I am not. Not being afraid of death does not mean you do not value life, that couldn't be further from the truth. I am young in years and am full of vitality and youth I believe I embody my ideals and teach and inspire my family, friends, coworkers, and fellow students. I know you do the same, for I am always inspired and empowered by your unique vision of the world and your balance between logic and social nature that lends to your being an intellectual, entertainer, and leader.
Tim O'Brien
Covering the President [news]
One of the many great things about working for a credible news organization is how you can cover big whigs– and this past week I had the oppurtunity to cover President Barack Obama.
I took pictures of him twice before, once at a rally in the dean-dome on my own before I was part of the student media program here at NCSU, and once downtown in a rally just before his election. I have also covered Joe Biden at Meredith College.
This event was a little different. Perhaps 600 people where given tickets, it would be very unlikely that I would have been able to go.
See my coverage of the president here,
Watch my photo slideshow of the president at Broughton High School.
Lightning on the ceiling [news]
Behold: blog-style news on t413.com!







