Friday, May 30, 2008

Scraping the World of Warcraft armory with Python

Well, in the last couple of weeks I started a new project. This was totally random but gave me great results.

I wrote a Python(man this language is awesome) program to scrape the WoW armory for my guild's gear. We have been progressing really well over the last couple of months, and we have been talking about killing two of the really big bosses. I wanted to see how well we were geared for these two encounters.

I googled around and I found this post. Got to give Peter credit; he got me started down the path that forced me to learn a little Python.

My code is horribly ugly, and I know a script monkey could have done this better and in his/her sleep. But I am very happy with the results that I got.

I didn't know and still don't know very much about navigating xml with Python, so I manually filtered my guild's toons with the armory and saved the xml file.
I hacked down the file so that all that was left was a list of members.
XML guild file layout looked like this:
<members>
<character url= rank= raceid= race= name= level= genderid= gender= classid= class=>
</character>
</members>




Each character had its own line.

Once I had that in a nice format, I had to figure out how to navigate the xml.
Searching around I found the ElementTree module.
It took me a while to find out specifically how to use it, but when I did it was very easy.
I started with:
from xml.etree.ElementTree import XML, fromstring, tostring
from xml.etree import ElementTree as ET
Then to parse the xml file.
try:
tree = ET.parse("guild70s.xml")
except Exception, inst:
print "Unexpected error opening %s: %s" % (xml_file, inst)
elem = tree.getroot()


This was the most confusing point to me. When I look at an xml file, i understand it, but I did not know how Python/ElementTree looks at it.
I just used print to figure out where I was in the xml file.

In this case, elem is equal to members element in the guild xml file.
Using a basic "for" e equals the characters in the elem members.
for e in elem:
Getting at specific attributes in the character lines was easy as well.
strUrl = "http://www.wowarmory.com/character-sheet.xml?" + e.get("url")
You just need to look in the xml file and find the name of the attribute that you want to retrieve. This also points out another neat thing about the guild xml file that I downloaded earlier. Each toon has their url as an attribute including all the formating, i.e. url="r=Zul%27jin&amp;n=Noldor" for my toon. This is great so you don't have to worry about the url formating compared to what Pete did above.

At this point, I could read each toon's xml file from the armory. The problem that I ran into was I kept getting 503 errors (website error) randomly throughout the script. I don't know if there was a lot of traffic or the site was going down for maintenance. To avoid having to run the script over and over, I saved each toon's xml file to a folder.

Navigating the toon xml files was a bit more complicated. Someone more skilled than I would know how to do this better, but this is how I got it to work.
I started with this:
   children = elem[0]
child = children[1]
items = child.find("items")


Got it down to:
    children = elem[0]
items = children[1].find("items")

I could not figure out how to do it in one line, so if anyone has any thoughts that would be great.


Basically that covers all the hard parts. I downloaded all the items that each toon had.
I used:
os.path.isfile(geardir + e.get("id") + ".xml")
To skip toons and gear which I had already downloaded.

In the end, I created a useful tool to see how well my guild is geared for the content that we are in.

The code is splintered into multiple files so I can't post all of them. I will just post one.
This code reads the guild roster xml file, finds the character, and then retrieves the items for that toon. Then it goes on to the next toon until all the guild's gear has been downloaded.

#!/usr/bin/python2.5
import urllib2
import xml.dom.minidom
from xml.etree.ElementTree import XML, fromstring, tostring
from xml.etree import ElementTree as ET
import os
itemurl = "http://www.wowarmory.com/item-info.xml?i="
geardir = "gear/"

try:
tree = ET.parse("guild70s.xml")
except Exception, inst:
print "Unexpected error opening %s: %s" % (xml_file, inst)
elem = tree.getroot()
for z in elem:

try:
tree = ET.parse("characters/" + z.get("url") + ".xml")
except Exception, inst:
print "Unexpected error opening %s: %s" % (xml_file, inst)
print z.get("url")
elem = tree.getroot()
children = elem[0]
child = children[1]
items = child.find("items")

itemstr = ""
for e in items:
if os.path.isfile(geardir + e.get("id") + ".xml") :
continue
oOpener = urllib2.build_opener()
oOpener.addheaders = [
('user-agent',
'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-GB; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4'),
]
req = urllib2.Request(itemurl + e.get("id"))
itemstr = oOpener.open(req).read()
fout = open(geardir + e.get("id") + ".xml", 'w')
fout.write(itemstr)
fout.close()
print e.get("id")






Side Note: When I did this the special E/Alt-144 ascii character was not working. We had two people in our guild that used it, and I could not even see their pages with firefox, so it must be an Armory issue.

Wednesday, May 21, 2008

Project Tomato 4 review

Well, Project Tomato did not come to fruition this year. It was cool to see that some planning does get the ball rolling, but it boiled down to not having enough time to work on it in the correct environment (i.e. a lab).

I worked on the Zigbee aspect for a couple of days after work at my desk here at the apartment, and I just could not get it to work. In the end, I may have torched one of the Zigbee units.

I did get a moisture sensor made and soldered into a nice package. I got the code running on the Arduino, but I did not quantify what was wet, normal and dry. The other part was wiring up a FET circuit for the fan. That is about were the project died. I had the fan working, but it was not responding to changes in the temperature of the thermistor. It was my first time using the onboard PWM, so i probably will have to debug that part to understand what number I am putting in that function and how the PID algorithm is calculating it.

In the end, I started too late in the season to make the true project I wanted. Hopefully, next year I will have a house and a garden to mess around with.

Thursday, March 06, 2008

Project Tomato 4

Well, I am finally getting off my butt and putting one of my projects into action. The key to me even starting this project was being stuck on a plane flying from SEA-TAC to Atlanta. Man, that 787 plant is awesome.

This will be the 4th year in a row that I have done some sort of Project Tomato. Each year I have been getting progressively better results. The problem that I have now is that Noelle and I live in a one bedroom apartment, so there is no room or permission to do Project Tomato. Another discovery that I learned from last year was the failings of plant lights. So I want to do this outside in a sunny area to avoid that problem.

My parents live about 10 miles away, so I was thinking that I could do something at their house. But how do I kept track of what is going on?

Here is the idea:
I am going to keep all of the functionality of last year's project and add more sensors and controls. In addition to that, I am going to setup a zigbee transceiver that will relay information back to another arduino (minus the chip) connected to my parent's PC. I am trying to figure out the best way to get the information on the web so that I can view it from my apartment...still working out the details.

I have two arduinos and all the hardware from last year. I have ordered two Xbee shield kits and two Xbee 2.5 Transceivers from Digikey. I went with the new Xbee transceivers because they are a new model, cheaper, and slightly higher wattage. From the little I have read, only a few people have used them with the Xbee shield. They are pin compatible but cannot receive or transmit to the first gen Xbee models. I also ordered some other miscellaneous parts including two more Atmega168. My mega8 is working fine, but something happened to my 16 so I ordered two more just in case.

Three sensors- two temperature, one moisture
I am going to use the same thermistors I used last time, but I am adding one to measure the air temp. I am going to use the moisture circuit from the twitter project.

Two control variables - Heating pad and fan
I was contemplating adding a film heater attached to a heat sink so that I could heat the dome if needed, but since I am starting this so late, I am hoping that it won't be a problem. I could also include some sort of pump for watering, but I think I have all I can handle for now.

Tasks:
1. I gave my dad the biodome enclosure, and he is going to mod it so that I can mount a fan. I
originally wanted a large box to go over the whole dome, i.e. a dome over the dome. He
suggested just adding some lexan or Plexiglas to make the dome taller.

2. When the Xbee kits come in, I need to put them together and test them out.

3. I need to assemble the circuits for the moisture sensor and fan drive and reassemble Project
Tomato v3, with the addition of the other thermistor.

4. Rewrite the code for thermistor reading and start working on the rest of the capabilities.

5. Find a way to upload the data from the usb/arduino/xbee transceiver to a website.

Risks:
This is a lot to bite off in a small amount of time.
I am not sure that the arduino can handle all the code that I am going to need.
The whole Xbee capability is a big step, especially since I have never done anything with them. Who knows what the weather is going to bring...We had a big storm on Tuesday and that would have destroyed this project.

Any thoughts or ideas that you have? Please comment.


Hopefully if this works I can enter this Arduino Contest.













Monday, February 18, 2008

Projects List

I figured I would just do a small post about all my projects that I have percolating in my brain:

This is just in a random order...I wrote it down the other night.

Breakfast Machine- I have had this idea since about 5th grade. I figured this would be pretty cool to pull off with some Arduinos.

Soccer cleats- removing the laces from the top to allow for more surface area.

Compress Gas Cannon- already posted this one.

More detailed Project Tomato- Since Noelle and I are living in an apartment, I would not be able to do this. My idea was to do it at my parents house and get the temp info on to a website so I can check it at my place.

Video Game: The Age of Invention- Hundreds of basic items that combine to become more complicated tools to progress the town and society the player lives in. While not directly related, this game could become a MMO, and Metaplace seems to be an interesting project.

Local Telemetry System- This is a problem that relates to the next item. Cheap, detailed location systems are not available for small to medium size robots. GPS is ok, but is +-6 to 12 feet. I am looking for +-3 inches. I know this is a pretty hard problem or it would have already been solved.

Robotics system- picking fruit, mowing the lawn, eventually build homes.

Cell Phone ARG- After reading Halting State by Charles Stross, there is a great opportunity to do this in the coming years, and with Android Cellphone coming, writing your own program is possible. Wired has a great article about the ARG that NIN did. I am not a big fan of the band, but the ARG that they pulled off was pretty cool. I really like the Spy ARG in Halting State but that would be hard to pull off, and I am sure in this post 911 world it would not go over well. In one of Alastair Reynolds' books, there is a game that the wealthy play in which they are hunted by an assassin. I think that would be a great start with lazer tag or water guns.

Hopefully I will be able to expand or even work on some of these ideas.

Friday, January 18, 2008

Mechanical:
I am going to layout a basic physical design then run some calculations.

2 x Stainless Pipe 2.5” nom. (2.88” OD x 0.12” Wall x 2.635” ID) Cut to 60”
120$ after shipping from Amazon(Metalonline)
4.07 Liters per pipe

1 x Stainless Pipe 2” nom. (2.38” OD x 0.11” Wall x 2.157” ID) Cut to 72”
140$ after shipping from Amazon(Metalonline)

Wednesday, January 09, 2008

Dual-Gas Combustion Satellite Cannon

This has been my greatest idea and passion. I have not done anything yet, but I continue to build it in my mind. This idea has been eating at me for a couple of years since the Ansari X Prize competition. It is based on Project Harp and more recent Project SHARP. Since then the private industry has taken off and is making greater strides than NASA and all their money. The largest road block to space is the cost per kg. The current cost is in the thousands of dollars per kilogram. This is a good reason why ground-based launching, which includes rail and scram guns, is better since the infrastructure is reusable. The turnaround cycle for multiple launches would be faster as well.

My idea is a little bit different. Most of the designs I have seen only use a L shape structure. My launcher looks like an inverted T. The launch vehicle will be placed at the base blocking the junction between both wings of the T. The basic example would be that oxygen and hydrogen would be injected into each wing separately. Two rams would compress their respective gases against the body of the vehicle. As the rams reach the center junction the vehicle will be moved forward(mechanically) and the gas would be ignited, causing the vehicle to travel down the barrel of the launcher.

There are a couple of improvements that I have thought of to get as much energy into the gas and thus the vehicle. The gases could be heated as they go into each wing chamber. Each chamber could be prepressurized with the gas, adding to the over-all pressure at the combustion junction.

Similar ideas have been tested by professionals and have been fruitful. I am just trying to get my thoughts down and hopefully improve the design process. I just need to be more productive in life in general anyway.

Some key areas need to be covered:
What would it take to build a gross proof of concept?
Mechanical
Electrical
Chemical

Thursday, December 06, 2007

I know that I just pointed out the obvious when I made the predictions in my last blog, but it is cool to see some of this stuff happen.

Here are a series of articles pertaining to Verizon Wireless network, Google Android, and the 700MHz Spectrum auction.

Verizon Wireless announces that they are opening their network.
http://news.vzw.com/news/2007/11/pr2007-11-27.html

Verizon Wireless Embraces Android
http://www.businessweek.com/technology/content/dec2007/tc2007123_429930.htm

Google Confirms they are bidding on the 700MHz Spectrum.
http://wireless.itworld.com/4279/071130google700mhz/page_1.html

A look at what Google phones are going to look like.
http://www.informationweek.com/internet/showArticle.jhtml?articleID=202805257&pgno=1&queryText=

There is another article somewhere, maybe one of the above that says that Google has a working version of Android on a 700MHz broadband device. I know a lot of people (at least in the tech boards that I read) think that Verizon is a horrible company and that this is just one of their evil ploys. I guess I have had so much trouble with AT&T and Comcast that I don't think as badly of Verizon. I am really glad that they did this. AT&T cannot continue their exclusivity deal with Apple. I hope that Verizon learns that they can get a lot more customers by being open, but in the end it is a business and that's a hard road to walk.

Well, that is about all for this post. Noelle and I are going on a cruise in a week for our 5th Anniversary. It is unreal to think that we are going on the cruise and that we have been married for 5 years. As I tell Noelle, I hope God gives us 50 more years of marriage.
Elephant Juice!!!!

Wednesday, November 14, 2007

As you can see from the previous blog IM/micro blogging is just not for me. I make way to many grammatical errors as it is let alone trying to fix them in an IM window.

On to some cool stuff, I am very intrigued by the Open Handset Alliance. Google is trying to break into the Cellphone industry and I for one am sick from all the crap cellphone companies give you( as well as Telcos and Cable companies).

I have messed around with installing the SDK, it is very easy and they have put a massive amount of energy into providing free tools. There is also a contest. To me providing free tools and an impetus(money WOOT!!) for programing is a great way to foster innovation. I have no idea if this is going to go any where but more competition is never a bad thing.

One prediction: If Google is nominally successful with Android, I believe that they are going to port this over to their Broadband UHF devices when they purchase the 700MHz spectrum. Google almost has to buy the spectrum because if Cable and Telcos start tiering internet services Google is going to be at the ISPs whim. Net Neutrality is a much hyped issue and I am trying to find the balance between the freedom that has made the net great and the financial need for expanding the network, but that is another post.

I enjoy watching the IPTV show CrankyGeeks. What makes me cranky is a question they ask the audience?
Well, I thought it was awesome when the iPhone was cracked and everyone thinks it is the greatest thing since sliced bread. But one thing everyone does not mention is that the hack only works on a GSM network. T-Mobile is the only main US provider that has a GSM network, Sprint and Verizone Wireless are CDMA which means you can't think of moving your phone over to those carriers. With all the hype around this hack it disappoints me that noone really points this out.

Side note: I think most of Europe is GSM so you could take your iPhone to England and put a European SIM card in it and it can be hacked to work there.

Friday, November 09, 2007

This is a test



I am testing out this service called IMified.com. They allow you to setup widgets that tie your IM in this call Gchat to various services and sites like Blogger twitter and other doto list and reminders

Friday, October 19, 2007

Well I apologize for not updating the blog. Things have been crazy at the King household the last 4 weeks. I got a job offer to work for Cooper Power tools in Lexington, SC. So bye-bye DC and DISA and Hello SC again.

Since we have moved I had to give up my laptop back to the Feds. So now we have only one PC and that one is about 5 years old with little upgrades here and there. I have wanted to build a new PC and Noelle has wanted me to as well. She is tired of it crashing during a Kara Raid. So knowing that I wasn't going to be able to make a new PC for myself I talked her into buy the parts for two new PCs. That definitely is a WOOT.

I ordered all the parts on Sunday Night and they got here Yesterday. Here are two pics of the boxes, can you tell that I am excited, hehehehehe.

The Boxes
Just plain cool

Monday, February 26, 2007

Let the cool stuff begin.

After a month of messing around, I finally got my act together and started working on my PID heating pad controller. Well, actually it is only a P heating pad controller right now, but I will go into that later.

The Goal: Create a PID controlled heating pad to regulate the temperature of a Bio-Dome.

I got two Arduinos for Christmas, so I had most of the hardware to control the heating pad. I was hoping that I would just be able to modify the pad's circuits, but it is not just an on and off switch and the only IC on it was made in China by some unknown company so I could not find any info on it.

Arduino with thermistor


History:
I used to work for a company in SC called Kryotech. They started overclocking PCs (Super G2) in the late 90s, but when that was not commercially viable, they moved to Industrial test equipment. I helped develop a push-pull PID controller for a system we sold to a Japanese company, Advantest. The company was run horribly, and Intel forced us to be sold to one of their buddies in summer 2004.

I got some free samples from Thermistor.com so that was very helpful. Just your basic NTC thermistors.
The ideal temperature for germination of tomato seeds is 75-85F. The resting temp in the house is about 67, to 60 at night.

Heater Pad(removed standard control system) with fuse holder.
Thermistor in Biodome sponge

The next issue was how to control the heating pad since I could not use the built-in system. I asked around, and someone on the Makezine forum suggested hacking an AC light timer. I found one at Target for about $10. It was pretty easy finding out how to switch the relay despite the LCD falling off the second I opened it. Once I figured out the control line, I just ran the GND and the control line to the port that I was switching on the Arduino. The only problem right now with the relay is that it clicks on and off very loudly. It did not seem like it was getting very hot, so I just wrapped a blanket around it to muffle the noise.

Timer with control line and GND wires. I should have taken a pic of the underside of the board.

Coding:
Thermistors are non-linear, so I created a piece-wise linear table for temperatures between 50-77F and 77-104F. I don't need very precise termperatures, so that is a simplified version of the actual table. Temperatures below 50F and above 104F turn the controller off.

All my experience is with PIC18s, and we used a commercial compiler so we had plenty of room for code. From what I have heard, the GCC compiler is not very optimized so I ran out of space quickly on the Atmega8.

The other system I worked on was push-pull; it had cooling as well as heating capabilities. That was a little more complicated, but this is pretty easy. I choose a 10hz square wave because the period is 100ms. The duty cycle is the control variable from 0-100ms, 0= GND and 100= ~5v output. The basic equation is duty = P* error. The P is a constant that is input manually to control the behavior of the system. Error in my case is target temperature - current temperature.

Example:

setpoint = 80
current temp = 70F
P= 5

Duty = 5*(80-70)=50% duty cycle(50ms high,50ms low)

Since I ran out of room on the Atmega8, I was not able to put the I in. I have upgraded to a Atmega168 on the other Arduino but there is something wrong with the timing of the square wave so I have yet to implement that.

I is Integral control. It uses the error from the last two readings to boost the performance.

duty = P* error + I*(error + last error)/2

The best example would be in a situation where the proportional cannot get to the setpoint unless the P is changed and this results in a large overshoot. Then I can add just a little to the P so that it can get to the setpoint without overshooting the target.

The Derivative is the opposite of the integral. It measures the dynamic change, and since this system is so slow, it is not going to have those issues. I am probably not going to use it. So in the end, it is a PI system right now with only the P currently working, haha.



Phase One Setup


Hope you enjoyed this. The next phase is going to be the lighting. Orginally, I wanted to dim the light based on the time of day, but DC control AC dimmers are kind of expensive and/or time consuming. I am working on hacking a motor to an AC dimmer switch, but in the end, I might just buy another AC timer, unhacked this time.

The third phase should be pretty easy to implement. I just have to figure out how to interpret the information. It is going to be a mositure sensor. Three resistors in series with the middle being very large somewhere around 1-2 Mohms. Wires will be placed on either side of the resistor creating an open circut in parellel. The wires with be inserted in the soil and the resistance of the soil will change based on the water content of the soil, i.e. more water = lower resistance. I am going to have to do some tests with how much water I put into the soil to find out what value dictates that I need to water the plants.

Hopefully I will update the blog sooner than in a month.












Tuesday, January 23, 2007

Ok, so despite The Burning Crusade expansion (for WoW) coming out this last week, I actually got the lab work table finished. I made the legs over MLK Jr day, and then I finished up the frame this past weekend.

This has definitely been a learning experience. If I had better tools and a little more patience, the work table would be even better, but I am happy so far with what I accomplished...On to the pics!

I made the top here. My original design idea was to have the legs be 4x4s, but I figured that they would be too heavy and a bit too expensive, so I just went with 2x4s and came up with a design to interconnect them. Design- two sets of 2 vertical 2x4s connected and separated by a board on the bottom and the top. I used our current computer desk's height to figure out a good height for the legs. I also had to take into consideration the AC unit against the wall.


I cut the legs to about 30". As you can see, they are not as even as I would like, but all I have is a Black and Decker skill saw. It would be cool to get a Dewalt chop saw, but I doubt I would have any room for it in the house.

The legs turned out pretty good. I used 5" x 1/8" bolts to connect the legs. The bottom edges where the legs come together could be sanded down or the holes could be a little bit higher, but it provides enough stability when they are put in the frame.
The L bench top is made of two pieces: a 6 foot board and a 4 foot board. Ideally, I wanted to have it symmetrical, but that did not work out. I had to attach the 6 foot board to the 4 foot board resulting in a 8 foot x 4 foot "L" on the outside edge and a 6 foot x 2 foot "L" on the inside edge. I wanted to design the bench so that it would not need a pole/support in the middle of the "L". (Don't you just love banging your knees or even worse on those supports??) I built three sets of legs; two sets attach directly while the other set joins the side of those cross beams.
I found this "L" bracket at Home Depot. They are not as strong as I wanted. I also wanted to use the second hole on the cross beam, but there was just not enough room for that. I noticed later that there were three hole "L" brackets, but those were alot bigger so I didn't mess with it. To give the legs more support, I bought 1.75 " bolts and drilled through to the cross beam. It would probably be even stronger if they were 2" bolts. I added a screw on top in a couple places just for some more support.


Pictures of the cross beams connecting to the main table.

A lot of the table was done on the fly. I placed the top pieces on to see where I had to notch out the beam so they could sit flat. The notches in the middle are from when I thought the 6 foot section was going to be the main structure. I had to notch out a section for the middle beam and a section for where the two edges would come together. Originally, I had made just a big notch so that I would not have to worry about having to cut the notch so precisely, but the second time around, I tried to be a little more careful. In the end that helped because since the notch is so tight the top is more stable and no more bracing was needed. All in all, this has been a good project. I am a bit unsure about the long-term life of the table, but I tried to design it so that it could be taken apart and put back together fairly easily. That is why I used all the bolts as opposed to wood screws. The legs do lean a little bit so if anyone has an idea to make them a little more sturdy then I would be grateful.

Finally finished!

Last night, I set up the file server/workstation. The table seems pretty strong considering that it has a 60 lb monitor on it. One other flaw with the table is that I wanted to put cross beams on the bottom rear of the frame to give it more stablilty, but I wasn't able to. But the monitor can fit on the main section despite being a little too close to the front of the desk. (I put all the cross beams inside of the legs so every thing is a little tight.) Also, there is no way to connect the long section's lower cross beam because there is not a beam coming across in the front of the shorter section.


Here is my new DMM and Ardunio waiting to be used. I plan on trying to create a closed loop control Biodome to control the temp and light to assist in germination for our small garden. If anyone is checking this out, I hope it was interesting. I would enjoy your comments!

Sunday, January 14, 2007

here are some pics of the cool stuff that I got for Christmas.


My vast amount of electronics equipment before Christmas

After Christmas, Woot.

Thursday, January 04, 2007

Well, I got some seriously cool stuff for Christmas, but I will go into that later when I have the pics from the camera. But I guess I have been on a New Year's resolutions kick over the past few days, or I have had too much free time at work. Either way some of the following tools could be helpful to you. I have heard of Getting Things Done before, but it was a wiki version and just took too much work to edit it. The whole process is still a little fuzzy, but I found a cool tool that makes it easier. GTDgmail is a plugin for Firefox that turns Gmail into a reminder or organizer of sorts. Basically, all it does is allow you to send yourself emails with labels (that you create) to break down your project into easy steps. I started with some basic ones such as "build legs for desk". When you are done with them, you change the label and move on to the next one.

The next site/web app is Joe's Goals. It is simple little app that lets you create small goals that you need to accomplish every day (i.e. - run) and give them + points or things you wish to avoid (i.e. - drinking soda in my case) and give them - points. Then it adds all your positive and negative points up for you. It is a cute little way to see if you are doing your daily tasks and avoiding your weaknesses. It even has an email reminder than can send you an email if you don't check it after X amount of time.

This one(The Couch-to-5K Running Plan) is more of a guide than an app. I cannot really apply it until my knee is a little more stable, but I hope to use it by February.

The last one is probably going to be the most helpful. Fitday is a site that allows you to log your meals. It calculates the calories and other nutritional information. It has a pretty big library of foods, but you can add your own custom ones. (It is pretty easy to find nutritional information on the web these days.)

I hope that I can keep at least some of these things up, but you know how New Year's resolutions go. Maybe there will be some cooler apps next year.





Wednesday, December 20, 2006

Well, I have been working on my lab desk/work bench, so here is an update.

This coffee table was my first attempt at serious carpentry. I used a lot of my dad's equipment, and I worked on it over a longer period of time than the lab desk/work bench I am working on now.

Coffee Table picture #1


Coffee table picture #2


With the coffee table, I used biscuits and made the top out of 1 x4. Since that was a lot of work and I noticed that Home Depot had 24 x 48 x 1 and 24 x 72 x 1 on sale, I figured that I would save myself some trouble this time. The coffee table was made out of Poplar, but I choose Pine for the lab desk/work bench becuase it was cheaper and was available in the sizes above. I don't know if that is going to come back and bite me because Pine is a pretty soft wood. I am using some 2 x 1 to stabilize the table. I placed them all the way around the table as well as one in the middle. I don't know how much stability this will add, but I think it will help it to look a little better.
Here is the Dewalt Biscuit cutter that I "lifted" from my dad when we went home for Thanksgiving, haha. (I used this one and a smaller biscuit cutter for the coffee table.)
This is the 4 foot piece. I did not have any clamps at the time so I just put the 6 foot piece on top and a lot of heavy stuff. I was not very happy with the results since there were a lot of gaps between boards, and it just did not look at good as I thought it would. So when I did the 6 foot piece, I bought some clamps. I guess the wood quailty is not very good or maybe I should have sanded the wood down. At any rate, the results were marginally better with the 6 foot piece than with the 4 foot piece.
The plan is to make an "L" shaped desk. Orginally, I was going to have it be a symmetrical "L", but I don't have room for that in our office/lab room. So I am going to have to lay it out so that the desk will be 8x4 on the outside and 6x2 on the inside. Hopefully, that will work out.

I am going to set up an Instructable. I am hoping that I can get some good ideas for constructing the legs and also for attaching the two desk/bench sides together without a leg in the middle of the "L".

Wednesday, December 06, 2006

Here is a quick update:
We decided to take a "Family" Photo on Sunday so here are two of the takes.Asa Kisses




The Family Picture


Have Fun.

Thursday, November 30, 2006

What's up ppl?

I have no idea how many people even read my blog, but I will still forge on.

Not that much has happened over the last two months. I had knee surgery in October so I am still limping around a little. My main concern is that I am healthy by June for Amazing Race. Noelle and I are going to apply to be on the show. We will see what happens, but you never know...Someone has to be on the show.

The remodeling of the house has stepped up a notch. Noelle has almost finished the Living and Dining rooms, and I bought a bunch of wood to build my desk, so that is encouraging. I will post the process of building the desk, along with pictures. Maybe I can get on the Make blog, which would be cool.

One cool thing is that Instructables implemented a version of my Maker's Forge idea. You can have your project listed as a collaberation so other people can join. The only issue I have is that it seems you have to have a good portion of the project started, and there is no way of advertising roles that are needed. However, it is a great step in the direction that I envisioned.

If I can get the desk done by Christmas, I am hoping to set up a little electronics work bench. I am hoping to get a Fluke DMM for Christmas and maybe a soldering iron and an Arduino.

The ultimate goal would be to create a little garden with some sensors in it. Temperature, mositure, then a watering device. It would be awesome to create some sort of robot that could pick the fruit, i.e. strawberries. The biggest problem that I have with robotics is that good GPS is very expensive, i.e. +- 2-3 inches. I think if there was a cheaper solution, then this would revolutionize the medium size robotics industry -- lawnmowers, street cleaners, even something like a strawberry picker in a large field.

P.S. -- Noelle did all my spelling and grammar checking, so hopefully this reads alot better than some of my other posts.


Take em' to the bridge

Wednesday, September 27, 2006

Well, it has been a heck of a month. Noelle went to HH(Hilton Head) for a staff retreat so I got the house to myself for the weekend of the 8th. Guess what happens when she leaves me alone? I go out and tear my ACL playing football, nice. So I was a total bum and did not get anything done on our house, and I spent the rest of the weekend laying on the couch playing WoW. Now I have to prepare for the surgery on the 18th of October so that is going to be fun. The Doc said 2-weeks on crutches and 4 weeks til biking and 4 months till running and ~12 months until contact sports.


Well My Guild in WoW is great, Darkside of Death.
On the weekend that I hurt my knee I was able to run some of the raid instances with the Guild and that was pretty cool.

This Section is to the Members of DoD.
Noldor's Thoughts/Improvements (Please take everything I say with a grain of Salt)

A. It would be cool to have a forum site so that we could post topics to discuss, kind of like some of the things that will follow.

B. I think the Moonkin Looting System is pretty good.
Here are some tweaks:
Some people have mentioned the idea on Choosing how much CP they want to roll
i.e. Dazzed has 60 but he does not want to risk all of it.
The solution that I would suggest is that members can choose how much they want to roll but it has to be at least 50% of their accrued CP.
Hunter example:


Ellwinn has 120 CP, but only 100CP to roll see above.
Noldor has 70Cp
Caevyan has 37CP

Ell has to roll at least 50, Nol 35 and Caev 18(round up)

No matter what Ell has an advantage because he has done more raids or won less items.
Then the Blastershot Launcher drops, Holllly Craaaap.

I messed around this a couple Ideas but the best thing I think would be the character to whisper the Raid Leader there Bids, then the Raid leader would Roll for them based on the Bid.
This keeps people from bidding just over the previous person that rolls, but I don't know if that is exactly wrong but blind bidding would keep everyone honest.

If there is a single Class toon in a raid and an item drops that is a CP roll they can either take an automatic 50% CP cost or they can roll from their total CP both have the same outcome math wise.
(if Ell is the only Hunter, then he can choose to lose 50 or roll out of 100)

C. Multiple Drops for one toon/class in the raid.
Thoughts to think about: if Instance CP are separated then drop rules should be separated by instance. ie a CP roll for each instance or have global CP. It seems a bit inconsistent but just a though.

I had the wonderful joy and heartache of being the only hunter in a Raid that dropped 4 Hunter eligible items. one was for a couple of Classes the other three were for just hunters.
I rolled on the first item and won it. Then some gloves dropped and I won that by default because I was the only hunter. Then this dropped. According to the rules, since I have won a CP and Default I could not get the bow, so the bow was rolled on by the rogues. Later some boots drop, I guess I got them out of pity because I was not able to get the bow. All in all, I came out of the Raid very well equipped and fairly happy but not overjoyed.

Since that Raid, multiple items have dropped for one class and either no one needs it but one person or there is only one of that class in the raid.
I don't know if these situation are just random instances or will keep happening, but the solution I would suggest would be to hold all rolls until the end of the Raid. I would have happily not rolled on the Drape if I would have a chance at the bow. I have no immediate use for the Drape because of my CC rep standings, but I could put the bow to great use, thus benefiting the Guild and that Raid.

Exception: Toon X has to leave and they want to roll on something. Everyone eligible for that item rolls and Toon X is not allowed back in the raid even if they come back online later, whether they win or not.

D. MC Raiders, hahaha
I think we have a great group of people that have a bunch of interests, and we are not forced into any one event. I enjoy doing the 20-man raid, probably more if we could shorten them a bit, and I am looking forward to the 25-man raids. I think this falls in line with where our guild is at character wise. I have heard many horror stories about MC from my wife, Caevyan and other guildies. I haven't done MC myself so I will make that judgment this coming weekend when we do our first run.

Couple of issues:
With the Xpac coming, why not continue to do well in ZG and improve in ZQ20?
Depending on how many people get the Xpac in our Guild, many people will be exploring the new 5-man instances and trying to level to 70. As long as it takes to get organized before a ZG boss, I have heard it is a lot worse in MC. I have no desire to sit around for 10minutes or longer before attacking the boss.
I guess my main issue is actively recruiting to increase our guild size when it is not going to be needed in the future and we really don't know the quality of the persons entering. Guildies inviting friends or other toons that they have an active relationship with seems to be the way to go, as opposed to posting a job application.

We will see how MC goes this weekend, but I think we should concentrate on ZG and AQ20. I think MC is a really good option once we get some toons in the upper 60s then we can do it in smaller numbers. This all depends on the new loot that is dropped from the new 5-mans because it might not matter.





E. I would think that people might get slightly upset at me because of this request but it is just a suggestion and I am just trying to improve guild dialogue.

I think that some of the chat and messaging is a bit over the top. i.e. the sexually explicit stuff. When Father says his ass hurts because of the chair that is all it means, I have no problem with making fun of him in jest (saying he has a big ass). But the way the conversation went was not in the best interest of the guild. Sometimes we can have the coolest conversation talking about Pop culture and personal interests, but I would just like to ask that the sexually explicit talk be curtailed a little. This is not a shot at anyone, any age, any gender, but just a request.

So I have said my piece so I will keep my peace.
I really enjoy being in this guild that was one awesome fight taking down Hakkar, I hope we can do it again soon.

please give me your thoughts

Seth/Noldor/Judicious/Pleather/Frekapotomus







Thursday, August 10, 2006

It has been almost three months


Over the last month Noelle and I have moved into an apartment/condo. All the apartments are old army barracks from the 40s that have been changed into condos in the last 30 years. The current landlord has not done anything to it, and most of the condo has not been updated in 20 years. It was my decision to move to this condo, so I have to lay in the bed that I have made. We have finished priming the kitchen after spending 3 weeks sanding down everything in sight. With all the work that we have done on it, it makes me want to buy the place so we could flip the house. But all the wiring needs to be redone, which would be nasty. Almost all of the outlets in the house don't have a ground, just two terminals. There was a little bubble in the ceiling in the kitchen so I started picking at it. I picked a two foot hole in the ceiling. This house is so old it does not have dry wall just the chicken wire with plaster over it. Man that stuff is dangerous. My parents came up to help us move, so my dad helped us by patching up the hole. Right now the current crisis is that it seems the tub is leaking right above that point. I think it is because the seal around the drain got damaged this weekend while I was snaking the tub pipes. I hope that is not going to be a big deal to fix -- just some caulking. It is amazing how much information is online about your house. I looked and found how much our condo is worth and how much our landlord paid for it. Even how much all the houses around us have been selling for. I would really contemplate buying the house because it would be cool, but tiring and costly to flip it! Besides, Noelle is against it since we would be living in the house at the same time.

Well, I have been teaching myself Java and MySQL. I have been messing around with the GWT
Combined with CSS(which I did not know anything about). You can make some seriously cool sites. I am working on my Maker's Forge ------> Sourceforge meets Make magazine . I think I mentioned that idea in the previous post. I have a layout,user signup, and MySQL database with a password and login stored in it. I now have it set up so that you get an email with your password if you forget it. I don't know how I am going to do some of the other stuff, but I am glad that I am making progress. I have been slacking off the last couple of weeks and need to get back on it.

Thursday, May 25, 2006

Well, I would like to correct something. I missed quoted where the article on distributed computing came from in my last blog. The article is on the popsci website on Make. But I probably spend more time looking at the Make blog, they have links to all these cool projects that people are working on across the world. That theme is what I had in mind with the project Tomato but that kind of bombed on me and I did not update the last stage before my plants got eaten.

Well E3 was a couple a weeks ago, I guess I would be described as a Sony person but not to the point of the Fanboy. I was looking forward to the release of the PS3 information and demos. I am not anti Xbox (both) but I just never had the desire to play them at all. I am horrible at FPS even since I played Golden Eye in college. I enjoy EA games, RPGs and strategies. At my bachelor party(Dec 2002) we only had a Xbox along with madden. Usually I am pretty good(above average) but I just could not get use to the controller and I guess that has turn me off since.

Everyone seems to be busting on the Price of the PS3, but I think it will still sellout. I think ~6 million unit from Nov06- March07. There has to be 6 million people in the world that will buy one no matter the price, especially in Japan where the Xbox has never done well. I have never bought a system right away since the Sega Genesis. So I probably will not buy any system for awhile especially since Noelle(wife) and I are addicted to WoW and I need to upgrade my PC. I am running and Athlon XP2200, 1GB ram and 6600GT. WoW does well but I having so issue with it crashing or freezing the whole system, could be Windows. I am looking at dual cores I will probably go with a AMD, I am trying to decide whether to get an Opteron or an Athlon. Newegg is awesome. I go look at the site just to salivate at all the stuff I could build.

Noelle and I put are two month notice in to the Apartment Office. We are trying to find something close to DC so we don't have to have long metro rides. I average about 45 minutes and Noelle about a little more than an hour, one way. I would like to have a room of some sort ideally a garage in the end to do some experiments and work on all the projects that I have in my head.

My main project that I keep thinking about over and over is the gas cannon. I have come up with some more ideas. I don't know if any of these ideas make mathematical sense because I have not calculated them out, there may not be any validity to any of them. The old Gas Cannon idea just used on L shaped structure. I came up with the idea why not make it an X and the base and have the launch tube come out the cross section of the X. This way the O2 and H2 can be separated and compressed and we don't have to worry about the gas combining before it get ignited. The key is getting a good seal against the rocket so that he gas can be initial compressed. Just thinking about this right now make the Mind/Brain want to explode with enthusiasm about the potential of the cannon. I dream of going to space or revoluationizing the space industry, I guess I have been reading to many Space Operas. I just finished Alastair Reynolds 4 book series and I was pretty good. I read them on the Metro going to work and back home.

Living in the DC area has two effects on you, I want to be in politics because I think I can make a difference in all the stupidity around and second you get feed up with all the BS that happens here and what you hear about on the News.

If I were to run for office I would think that I would want to do something at the state level. It seems that a Governor could see their results and would not have to deal with the politics of the whole nation. I am sure that a Governor runs into all the same things as say the President but it is on a much smaller scope, at least for smaller states ie SC.

Being an Engineer, I would like to apply my hands-on knowledge as well as general knowledge to the office with a younger view. It absolutely befudles me that there are senators and reps that have been in office longer than I have been alive(I will be 27 on the 30th). I would call my platform the Conservative Technologist. Well I started this 12 hours ago and I am finishing it now while I am in the Q for WoW.

Seeya The Dude


"My religion consists of a humble admiration of the Illimitable Superior Spirit who reveals Himself in the slight details we are able to perceive with our frail and feeble mind."
Albert Einstein