text:
|Preview Image
Item images are no longer available
|Item ID #
|Start Time
|End Time
|Goodwill Industries of Kanawha Valley, Inc.
|Charleston, WV
|MUST BE RECEIVED WITHIN seven (7) DAYS from auction close.
Available Payment Methods:
|Shipping / Handling
|Buyer pays shipping U.S. and Canada Only
This item ships via
Shipping Weight 3 lbs. Get Estimated Shipping & Handling
Minimum shipment weight is 1lb., items weighing less than 1lb. will be calculated at the 1lb. rate.
Items are shipped using a major carrier usually within 5 business days after receipt of payment. Shipping charges are calculated at payment time. Duties and tariff fees may be applicable for foreign shipments.
A handling fee of $2.00 applies to this item, regardless of delivery method including pick up.
|Returns Policy
|Please read our return policy below.
|High bidder
|--- For the protection of our buyers, the bidder name is only visible to the bidder.
|# of bids
0 ( bid history)
Frequently asked questions:
I can't remember my Buyer ID and Password.
What is proxy bidding?
What is a reserve price?
Can I lose by less than the minimum bid increment?
The Cat and The Hat Book By Dr.Seuss
Current Price: $51.00
Seller: MERS/Missouri Goodwill Industries
J.R.R Tolkien The Hobbit Deluxe Edition Book
Current Price: $21.99
Seller: Goodwill Industries of Upstate/Midlands South Carolina
Six Mystery/Horror Collected Comics Books
Current Price: $11.00
Seller: Goodwill Easter Seals of the Gulf Coast, Inc.
Item images are no longer available
Now up for auction is the book The Amazing Universe by Herbert Friedman/copyright 1975/isbn 0-87044-179-5/withdrawn from library/7"x 10.5"/In fair condition.Ā ab
(Store: Vienna)
(Store: Vienna)
View other items for sale by this seller
Ship-to-Store now available at our local West Virginia locations: Charleston, Ripley, and Vienna. To request a ship-to-store pick-up, wait until the auction has ended, and follow the link in the automated won-auction e-mail.
**Please note, Ship-to-Store is only available within GIKV auctions.
*** Your purchases help provide job training and work opportunities for individuals with disabilities and disadvantaged individuals. *** We do combine shipping on items totaling 20 lbs or less. If total order weight is over 20 lbs, permission must be granted before shipments will be combined. *** The will be a 6% sales tax included to the item total for West Virginia buyers or items listed as pick-up. This tax will not effect shipping and handling. *** Items shipped with UPS are insured up to $100. Please contact the seller should additional insurance be desired. *** Seller reserves the right to ship utilizing parcel post, media mail or other means without notice. *** Paying with Personal Check will delay shipping up to 14 days after receipt. Only USPS money orders will be accepted. Visa and MasterCard purchases also accepted. *** By bidding on this item the buyer understands and accepts that items are represented, through description and pictures, to the best of our ability. *** All item(s) sold as is. Bids are placed with the knowledge that this item may be used and/or old and may contain unseen faults that the buyer takes responsibility for. *** The item weight provided on all non media listings is an estimated weight that takes into consideration the total weight of the item and packaging materials so that we can show a more accurate cost for shipping that particular item. Actual item weight is lower than listed. *** No refunds will be given. *** Please contact us prior to bidding to clarify any questions or concerns about an item. Staff is available to answer emails weekdays only, 8:30am to 4:30pm EST. *** Goodwill employees are not available to answer emails on weekends or major holidays. Please send all questions you may have by 4:30 pm EST on Friday or your question will not be answered until the next working day. *** Goodwill makes every effort to comply w/ CSPIA standards, however Goodwill DOES NOT TEST FOR LEAD or PHTHALATES. *** Items shipped to Alaska, Hawaii, and Canada will have additional charges applied to them. *** Please note effective 6/15/15 all pickups will be via appointment only, Mondays, Wednesdays, and Fridays. The pick up location will be moving to our retail store, located at 209 Virginia St w, Charleston WV, 25302
Seller Contact Information:Goodwill Industries of Kanawha Valley, Inc.
215 Virginia Street, West
Charleston, WV, 25302
(304) 346-0811
Return Policy: Merchandise is sold As Is. Returns will only be accepted with prior authorization and under the terms stated in this Return Policy. If you have questions regarding the quality or authenticity of this item please contact Goodwill Industries of Kanawha Valley, Inc. prior to placing your bid. Items may be returned within seven (7) days of receipt if the merchandise was damaged during shipping or if there was a major distortion in the description. Returns will not be accepted without prior authorization. PLEASE NOTE THAT WE DO NOT REFUND SHIPPING AND HANDLING CHARGES. Items selected for pick up from the seller, must be picked up within thirty (30) days from close of auction. Items not picked up from seller within thirty (30) days from close of auction will be resold with no further notice.


text:
"Doing what I love, and love what I do"! Lorie Hethorn, Stampin' Up! Demonstrator, Senior Associate: www. email@example.com 509 818-2424 "..in Him we live, and move, and have our being." Acts 17:25
Tuesday, March 10, 2009
Subscribe to: Post Comments (Atom)
Card Kits for Sale
These are card kits I will be selling at this months Card Class on August 18th. They are $3.00 ea. Featuring Embossing Folders.
This mini features Recollections "Cozy Lodge" paper.

subset: commoncrawl


text:
I am new to python, and stuck with a issue with mapping network drives in windows. Any help will be much appreciated.
Here is the code snippet I am using:
- Code: Select all
import os,subprocess
mount_nfs_command = 'net use P:'+' '+os.sep+os.sep+NFS_IP+os.sep+NFS_SHARENAME+' /PERSISTENT:NO'
p = subprocess.Popen(tmp_bat_file, stdout=subprocess.PIPE,stdin=subprocess.PIPE,shell=True)
output = p.stdout.read()
Here NFS_IP=IP address of NFS share, NFS_SHARENAME=Name of share
When I run this script, I get following error:
- Code: Select all
"System error 67 has occurred. \
The network name cannot be found."
However, when I run the same command from windows shell, it works fine. (I have Windows NFS role enabled,and NFS share does not have any username or password)
I have tried using os.system() also, but with no success. Also, tried to change the path as shown below:
- Code: Select all
mount_nfs_command = 'net use P:'+' '+os.sep+os.sep+os.sep+os.sep+NFS_IP+os.sep+os.sep+NFS_SHARENAME+' /PERSISTENT:NO'
- Code: Select all
mount_nfs_command = 'net use P:'+' '+'\\\\'+NFS_IP+'\\'+NFS_SHARENAME+' /PERSISTENT:NO'
But this also did not help.
Any help from the experts here is much appreciated.
Thanks !


text:
What happens when you talk to your friend on the phone and ask her what she's wearing for Thanksgiving? I'll tell you what happens…you find yourself wondering what the heck you're going to wear on "Turkey Day."
So, I do what anyone would do, I go online for inspiration. Two minutes later I'm researching for this unexpected post. Here you go…Thanksgiving outfit inspiration from some of my favorite brands.


text:
South Carolina cheerleaders have always loved the Cocks.
- South Carolina defeated UCLA in extra innings to claim their first ever College World Series National Title. It's a great day for Cock lovers everywhere.
- Dirk Nowitzki and Paul Pierce have decided to join the NBA free agent party, making what was already shaping up to be the biggest off-season in NBA history even bigger. A team could theoretically purchase a title from scratch with the crop of players available in this year's market.
- Cedric Benson has officially completed his initiation into the Bengals organization. A long-term contract should be in the works as we speak.
- You can sleep easy, America. Erin Andrews is reportedly staying at ESPN.
- Fat Suit Barbie takes the cake.
- Yet another reason to never play naked in your backyard.
- Worried about Alzheimers? Drink more coffee. You'll be a jittery mess that no one likes to be around, but at least you'll have your dignity.
- Al-Qaeda is a big fan of Twilight. Figures:
Al-Qaeda Calls Off Attack On Nation's Capitol To Spare Life Of 'Twilight' Author


text:
If he never throws another pitch, Johan Santana will be revered in Mets history like few who came before him. Really, like no one who came before him, since what he's done-throw the first no-hitter in New York Mets history-hasn't been performed before, and can never be accomplished again.
In a season with such low expectations in the minds of so many, and too many games between now and October to say exactly what this Mets team is capable of doing, no fan of the New York Mets will be able to look back at 2012 with bitterness. The no-hitter, FINALLY, has come, and no one can take that away from the New York Mets.
That it came from the left arm of Johan Santana, a pitcher whose left arm has been the subject of so much uncertainty these last few years, after it had been coveted by the Mets and their fans for years, then expected to lead New York to a championship- it is perfect, somehow. (Though as I told my father, if you'd told me a few years ago that a Met would throw a no-hitter while walking five, my money would have been on Oliver Perez.)
We don't know how Mike Baxter is feeling right now. His injury looked pretty serious. Even that seemed to make sense- of course someone had to be ritually sacrificed for the Mets to finally throw a no-hitter. That the someone was a Queens native made even more sense.
My primary thought when the ninth inning rolled around, my phone buzzed with texts I dared not look at: do I wake my two-year-old daughter? Ultimately, I erred on the side of letting her sleep and DVRing the game. I hope I made the right choice as a father. We, as Mets fans, don't get many moments like this one. (In fact, and you may have heard this, tonight was our first.)
Mets 8, Cardinals 0
The waiting's ended
Nine innings, no hits, pure joy
Amazin' Johan


text:
Someone is about to get a Pay Day for the most innovative resume we've seen, Bar None. Congratulations on the new job, Nick AKA Mr. Goodbar. You deserve 100 Grand.
While we're staring at cool chocolate bars, why not browse through our gallery of nostalgic, old-fashioned and retro candy bars. It can't hurt bringing a few to your next interview.


text:
Dempster strong, but Lee better as Red Sox fall
Offense held to one run; former Boston closer Papelbon earns save
BOSTON -- The Red Sox take enormous pride in their patience at the plate, feeling they can grind most pitchers into a long night at the office.
But when Cliff Lee has pinpoint control, there's just not much you can do. And there's not much Boston's hitters did do on Tuesday night, suffering a 3-1 loss to Lee and the Phillies at Fenway Park.
The lefty was vintage in this one, firing an eight-inning masterpiece in which he allowed just four hits and a run. Lee threw just 95 pitches, 69 for strikes.
"That's the one way to attack our approach, is to pitch to quality locations early and often, and he's a guy that can do that," said Red Sox manaer John Farrell. "I think you saw us respond by trying to go earlier in the count with some swings. You have to tip your hat where it's due and he pitched a very good game."
So good, in fact, that Lee probably could have gone the distance.
But Phillies manager Charlie Manuel knows a good subplot when he sees one. On came Jonathan Papelbon for the ninth in his first appearance at Fenway Park since he departed the Red Sox as a free agent following the 2011 season.
Amid a 1-2-3 ninth, Papelbon earned the save by retiring two of his closest friends from his Boston days -- Dustin Pedroia and David Ortiz.
"I was trying not to look at his face, man," Ortiz said. "I tried hard. He's looking good, man. He looks like he's having a good year. That's Pap."
Somewhat surprisingly, the Fenway faithful booed Papelbon -- Boston's all-time saves leader -- when he raced in from the bullpen.
"That's how they love me in that city," said Papelbon. "That's just how it is. I felt like the first time I got booed at Yankee Stadium, I was like, 'Yes, I made it!' It's the atmosphere of the city -- I've always enjoyed playing in this city -- and pitching off that mound. It really felt like old times when I was out there … just in a different uniform."
Though the Red Sox didn't have a win to show for it, Ryan Dempster broke out of a three-start slump with a fine performance against the Phillies. Unfortunately for the veteran righty, he was matched up with the wrong pitcher.
Over seven innings, Dempster allowed six hits and two runs. He walked three and struck out four while falling to 2-6 on the season.
"I felt better," said Dempster. "I threw the ball a little bit better tonight. I just got outpitched by the other guy. Cliff Lee is tough. When you're going to go out there and match up with him, you can't make many mistakes. I made a couple tonight and it cost us a couple runs. He did a good job of pitching against us."
After splitting the two games in Boston, the teams will finish out the rare home-and-home series with games in Philadelphia on Wednesday and Thursday.
Michael Young put the Phillies on the board when he belted a solo shot over the Monster with one out in the first.
The Red Sox rallied in their half of the first. Jacoby Ellsbury started it with a single to left. With one out, he stole second. Pedroia tied the game with an RBI single to the opposite field in right.
Just as the teams matched runs in the first inning, they would match zeros for several more after that.
The best swing the Red Sox had came from Ortiz, as he launched a drive to right-center in the fourth that wound up being a 400-foot out in the deepest part of Fenway Park.
"He throws strikes," Ortiz said of Lee. "He pounds the strike zone and makes his pitches."
The Phillies finally broke the stalemate with a National League-style rally in the seventh against Dempster. John Mayberry led off with a single. Freddy Galvis dropped down a sacrifice bunt, putting the go-ahead run in scoring position.
No. 9 hitter Erik Kratz gave the Phillies the lead with an RBI single up the middle.
The way Lee was going, it didn't seem as if much insurance was needed. But Domonic Brown provided some anyway in the ninth, unloading a solo homer into Boston's bullpen in right-center.
Then, it was time for Papelbon to do what he did so well for six years in Boston.
"I would say it was more fun than strange," Papelbon said. "It's like playing against your brother in the backyard. For me, those guys are some of my best friends in the world. But at the same time, it was fun. They have a really good lineup over there, so I had to really stay focused on the task at hand, because I knew at any given moment the game could be tied up or be close."
Ian Browne is a reporter for MLB.com. Read his blog, Brownie Points, and follow him on Twitter @IanMBrowne. This story was not subject to the approval of Major League Baseball or its clubs.


text:
I have the adapter working on the 3.2.6 kernel. It gets a strong connection and goes into monitor mode. I haven't been able to get injection working yet. There are a couple steps to get it up and running but is was easy. I posted how here: http://www.backtrack-linux.org/forum...ad.php?t=53474
This is on a lenovo Thinkpad T400


text:
You won't be able to dismiss this by usual means (escape or click button), but you can close it programatically based on user choices or actions.
"I have nothing but good things to say about wedding paper divas. So far, I have ordered my save the dates, invitations & menu cards. This card is so lovely, card stock is great! Shout out to Alexa for her quick response."
"I love this more in person! I ordered these for a 50th anniversary party and they are lovely. I was concerned that the color would be yellow but it wasn't. It was more of a gold color, perfect for what I was purchasing for. I did cut edges and it turned out beautiful. The proof readers were awesome too. What a great feature to have. Turnaround time was fantastic too. I can't say enough!"
"We used this card as an invitation for our rehearsal luncheon as most of the rehearsal cards noted "dinner" on them and did not have enough space for the information we wanted to include. We designed them ourselves, as well as our save-the-dates, invitations, and other enclosures, and were once again, extremely pleased with the designer specialists' finished product. It's very easy to alter any of the products shown online and the specialists do an amazing job following the instructions given. I even called the specialists regarding our save-the-dates, as I had never ordered through this website before, and they were very helpful and professional. My future mother-in-law asked me to help her order the rehearsal invitations and absolutely LOVED them! We have been very pleased with everything we designed and ordered from weddingpaperdivas.com and have recommended it to friends."
"The designer used my custom layout and executed perfectly. i ordered the double thick and its absolutely high quality, as is the printing. colors are beautiful. got tons of compliments from guests! unique and classic at the same time!"
"I chose the vivid orange to match my wedding colors, and It is perfect. I enlarged the font size and used different font styles that were a little crisper and modern then what is in the sample. The card stock is thick and of good quality. The designers at WPD helped to fit my dinner selection and make it look perfect!"


text:
A summary of trading in key commodities markets overseas:
World oil prices capped off an extremely volatile week of $US4 swings with solid gains on Friday, amid more encouraging news on China's economic soft landing and a jump in US consumer sentiment.
New York's main contract, West Texas Intermediate (WTI) for December delivery, added 98 cents at $86.07 a barrel.
Brent North Sea crude for December delivery rose $2.15 to $109.40 a barrel in London trade.
The gains left the WTI price $1.21 higher than a week earlier, while Brent put on $3.72 a barrel.
The rise came after Chinese economic data showed a pickup in activity just as the country's Communist Party meets to anoint a new generation of leaders.
On top of that, the University of Michigan's US consumer confidence index increased to its best level since July 2007.
Metals prices ended mixed on Friday.
December gold gained $US4.90 to settle at $US1,730.90 an ounce, December silver rose 35.90 cents to finish at $US32.599 an ounce and December copper fell 2.4 cents to $US3.4455 per pound.
December palladium fell $US3.30 to $US611.05 an ounce and January platinum ended up $US16.90 at $US1,559.40 an ounce.


text:
Portrait of my brother Quentin
My Brother
A Word Portrait of Quentin
Quentin Martha was born in Sibley, Iowa on 25 March 1906, he was the third son of Carl Jerry Bremmer and Lucy Methesmith Sharpe. I do not know where the name Quentin came from, but Martha was grandmother Bremmer's name and she insisted that this child be named after her. The middle name soon became M.
Quentin, was a sweet, good natured little boy. He was very quiet, well mannered, shy and deeply religious.
One day mother noticed a large black and blue mark on his shoulder where his violin rested. He told her that he had these marks over all his body. Taken to the doctors immediately, he was diagnosed as having a serious blood disease and the outlook was not good. Mother and dad made countless trips with him to Mayo Brothers Clinic and Hospital in Rochester, Minnesota. The doctors there, from the very first visit, gave the folks absolutely no hope for this sick little boy, but mother and dad could not give up.
For one year, our whole life centered on Quentin and attempting to make his days and nights easier. He gradually grew worse and just two days before sister Glee's fifteenth birthday he died at home with parents, grandparents, brothers and sisters with him.
My parents grief is had to describe. They really never recovered from the loss of this twelve year old son.
This death certificate dated 6 September 1918, states cause of death:
Purpura Hemorrhagica, complicating Leukemia. He is buried in Fort Dodge, Iowa.
Written by Winnifred Jones


text:
Early Career Profiles:
[edit] St. Olaf College -- Alumni Profiles by Industry Sector
Career profiles are a valuable source of information for prospective mathematical sciences majors. The goal of the Early Career Profiles Network is to collect relevant and timely information about career opportunities for undergraduate mathematical sciences majors that can be broadly disseminated to high school and college students. This departmental network providing profiles of recent graduates is a straightforward and efficient way to continue the flow of timely career information needed by students, counselors, teachers, and faculty.
The American Mathematical Society has developed and administers a network of mathematical sciences departments that systematically provide job profiles of their recent bachelors-level alumni. The Early Career Profile Network is supported in part by the Alfred P. Sloan Foundation under the auspices of the Sloan Career Cornerstone Series.
|Industry Sector
|Jennifer Beilfuss
|Information Services and Systems
|Tom Dow
|Programmer Analyst
|Julie Kirkham
|Software Developer
|Brian Linne
|Business Analyst
|Johannes Mauritzen
|Research Analyst
|Erin McMurty
|Healthcare Policy and Research
|Grant Riewe
|Senior Analyst of IT Services
Jump to the AMS Early Career Profile webpage.


text:
Tag Archives: eric gordon
July 2, 2012 at 5:10 pm
Podcast: Rockets Draft, Omer Asik, Eric Gordon and Dwight Howard
BimaThug returns as we go long to analyze the 2012 NBA Draft and the Rockets selections of Jeremy Lamb, Royce White and Terrence Jones, along with the acquisition of second round pick Furkan Aldemir. We also talk about the Rockets signing of Omer Asik to an offer sheet, the pursuit of Eric Gordon and how this impacts the Dwight Howard chase. Continue reading
Posted in Houston Rockets, Podcasts Tagged Daryl Morey, dwight howard, eric gordon, furkan aldemir, jeremy lamb, omer asik, royce white, terrence jones


text:
My Account | My Wishlist | Advanced Search
Monsters University bubbles balloon 22" (56 cm).
Bubble balloons are made from stretchy plastic and have a more round appearance.
Floats for 2 to 4 weeks.
All our balloon orders, at present, are collection only from our address in London Road, Crowborough. We do offer free local delivery for larger orders over £25.
Please order, as normal, through our website and we will contact you to arrange a mutually convenient collection/delivery time and date.
Please feel free to contact me on 07971887663 with any special requirements or to discuss different ballon bouquets.
In design mode hover your mouse over this text and you will see buttons appear. Click "Edit" to change the text or "Design" to adjust backgrounds and colours.
Copyright © 2013 Your Shop Ltd. All Rights Reserved.


text:
428 Patriotic Rastafarian Hat Crochet Pattern by Sandy Powers
Welcome! You are browsing as a guestWould you like to see projects made from this pattern and much more? create a free account What am I missing?
© sandyscapecodoriginals
© sandyscapecodoriginals
© sandyscapecodoriginals
© sandyscapecodoriginals
428 Patriotic Rastafarian Hat Crochet Pattern
This pattern is available for $2.50 USD
buy it now or visit pattern website
buy it now or visit pattern website
this is a super easy and fun hat to make and wear!
Materials Needed:
Red Heart Super Saver 7oz/198g/364yds/333m
Red x 1skein
White x 1skein
Blue x 1skein
H hook (usH8/5.00mm)
I hook (usI9/5.50mm)
Yarn needle
Plastic Canvas Circle 5 1/2"
Gauge I hook: 7sc=2"
6sc ros =2"
Skill Level: Easy
You can sell any items you make from using my patterns, but you are responsible for your finished items.
Please do not alter my patterns in anyway and please do not claim them as your own. Publishing my patterns on other websites, mailing lists, in any print media, electronic media (CD's) or the selling of this pattern is FORBIDDEN!
Please, if you find any errors, please let me know so that I can fix them.
©Sandy's Cape Cod Originals 2010
For more information, see: Http://www.sandyscapecodorig.etsy.com


text:
- Sale
- New Arrivals
- Statues
- Home
- Zen Garden
- Jewelry
- Apparel
- Meditation
- Rituals
- Books & Gifts
Sorry but this item is currently unavailable.
Please check back at a later stage.
Some 2,500 years ago, Siddhartha Gautama, a prince of the royal Shakya Clan of Nepal, meditated under the bodhi tree (a type of fig tree) in the Indian town of Bodh Gaya (in eastern India) and attained enlightenment. Gautama Buddha is often called the Shakyamuni Buddha because of his lineage. Heart Sutra is a popular Mahayana Sutra known for its brevity and depth of meaning.
The Buddha's hands are in Varada Mudra. This mudra denotes the act of charity and benevolence, with the associated emotions of sincerity and compassion.


text:
1. Re: Frustrated with Droid ChargeJerryF Apr 9, 2012 6:31 AM (in response to bucsdk)
If you have GB 2.3.6 and the latest FP1 software update reboot your phone THREE times in a row. It has helped others and it is easy to try..
2. Re: Frustrated with Droid Chargebucsdk Apr 10, 2012 9:06 PM (in response to JerryF)
I will try this. How often do I have to do this? I really wonder if we are sacrificing the antenna for the other options. My work phone is just an old flip phone and it has full bars sitting right next to this Charge. I work in a metal building so I try to cut the phone a little slack but the flip phone still has full bars in 3G and this smartphone shows 3G instead of 4G and it has a couple of bars.
I reset it 3 times and I still have only 3G and a couple of bars.
I'll try it again tonight at home.
<personal information deleted per the TOS>
Message was edited by: Verizon Moderator
3. Re: Frustrated with Droid ChargeVerizon Wireless Customer Support Apr 10, 2012 5:48 PM (in response to bucsdk)
Hello bucsdk,
Thank you for the post. I totally understand expecting to get good service when you purchase an extender. Since your husband is getting service, it sounds like this is an issue with your device. Do you only have service issues in your home area? Has it always been this way? I will provide you the steps for safe mode and a hard reset. These would be the first steps to resolve your device issue.
Safe Mode: http://bit.ly/n2EIBZ
Hard Reset: http://bit.ly/w21WpW
Thank you!
Katie H
VZW Support
Follow us on Twitter @VZWSupport
4. Re: Frustrated with Droid Chargecommonsense101 Apr 10, 2012 8:23 PM (in response to bucsdk)
public forum, you might want to remove the cell number
5. Re: Frustrated with Droid ChargeAnn154 Apr 10, 2012 8:54 PM (in response to commonsense101)
commonsense101 wrote:
public forum, you might want to remove the cell number
And you might want to help the Mods by reporting it to them.
6. Re: Frustrated with Droid ChargeJerryF Apr 11, 2012 6:37 AM (in response to bucsdk)
I assume that three reboots did not help so here is another very easy thing to try before you do a factory reset.
Plug your Charge phone into the charger. Let it charge for 10 minutes or more and then try it but KEEP it plugged into the charger while you run your APPs.
Did this help.
7. Re: Frustrated with Droid Chargebucsdk Apr 12, 2012 4:38 AM (in response to Ann154)
Thanks Ann 154! I was sending the replies from e-mail so I assumed it was going directly to that person - I didn't realize it was posting back out here. Thanks for having my back...
8. Re: Frustrated with Droid Chargebucsdk Apr 12, 2012 4:42 AM (in response to JerryF)
When I stream movies or play games at work, it is on the charger the whole time. I ran that speed test this morning and this is what I got – I think this is the problem –
WiFi (at home) – Download: 4919 kbps, Upload: 4193 kbps and Ping: 46 ms
Verizon Network (at work) – Download: 1181 kbps, Upload: 122 kbps and Ping: 164 ms
Wow - I just ran it again at work so it's the Verizon Network and this is what I got:
"Network communication issues"
and again:
download: 4 kbps, Upload: 34 kbps and Ping: 207 ms
I'm using speedtest.net
What should it be if I want to play games and stream movies?
Last night the game I was playing stopped and had to be restarted 8 times in 15 minutes.
Thanks for your help.
9. Re: Frustrated with Droid ChargeAnn154 Apr 12, 2012 5:23 AM (in response to bucsdk)
What are your speedtest results outside of your work building? The construction of the building could be interfering with the signal.


text:
Topic: Is Tylenol bad or good?
I've been looking through posts and have seen tylenol with or without other things as a help to side effects. Actually, all my docs tell me that tylenol/acetaminophen is really hard on the liver when it is compromised and should be avoided. Ibuprofen has its own downsides but seems to me to be better for my body chemistry for all that ails. Has anyone else dealt with this quandry?


text: Summer is coming fast. Did you know that sheets can make a world of difference in how well you sleep? Many people are in the market for sheets this time of year. The right sheets can make new and innovative ways to keep your cool at night without breaking the bank by turning the air conditioning way down.


text: A Piece of the World for Sale The largest unit of the cruiseliner known as The World is on the market for $17.5 million. Also, a Broadway producer cuts the price on her Connecticut home. (Read related article.) Updated March 5, 2009 11:28 p.m. ET Updated March 5, 2009 11:28 p.m. ET Article Not Supported We're sorry but this article contains media that is not currently supported in this app. You will be redirected to the article on wsj.com in 5 seconds. If you are not redirected automatically, click this link.... To Read the Full Story Subscribe Sign In Most Popular Videos Solar Eclipse: A 90-Second Guide on How to Watch It Safely How Bannon's Departure Affects the White House Seven iPhone Tricks to Save You Time Five Terror Suspects Killed as Second Attack Hits Spain Witnesses Recall Terror in Barcelona Most Popular Articles Why Your Face Will Soon Be the Key to All Your Devices Republicans Face Looming Deadline on Health Law Tourism Saved Iceland, but Now It's a Headache Reno Puts Out the Welcome Mat for Burning Man U.S., South Korea Brace for North's Fury Over War Games


text:
About the Book
Features & Details
- Category Entertainment
Small Square, 7×7 in, 18×18 cm
80 Pages
- Publish Date Aug 10, 2007
- Tags Music history, Photography
See More
About the Creator
Jay Seldin
NYC Metro Area, USA
Jay Seldin a professional photographer, educator and digital media artist has exhibited his artwork in numerous solo and group exhibitions nationally and abroad. Seldin is the founder of DigitalEgde Photography Studios in Northern, NJ and also owns and operates CPE Photo Workshops LLC, an international photography workshop company. In addition I am an Artist-in-Residence at The Newark Art Museum and the Montclair Art Museum in New Jersey. I am sponsored by Canson-Infinity Digital Papers. And teach classes at the Santa-Fe Photo Workshops, NM
Log in or create an account to post a comment.
0 Comments
Delete this comment?
See More


text:
General Information
Museum Guidelines
For Families
Current Exhibitions
Upcoming Exhibitions
Past Exhibitions
Traveling Exhibitions
Online Exhibitions
Photography Collection
Artist Submissions
For Adults
For Schools + Educators
For Seniors
For Youth + Families
Collecting Groups
Balboa Park Explorer
Tracings of Light: Sir John Herschel & The Camera Lucida, by photo historian Larry J. Schaaf, combines a substantial assessment of the camera lucida as a drawing tool with biographical information on Herschel, his counterparts, and their role in the development of photography.
Online Checkout: If you don't wish to complete your purchase online, feel free to contact us to complete your order. Email email@example.com or call 619.238.7559 ext. 209.
Looking for a particular book or item? E-mail your request to firstname.lastname@example.com or call our store at 619.238.7559 ext. 209 and we will let you know if it is in stock.
The mission of the Museum of Photographic Arts is to inspire, educate and engage the broadest possible audience through the presentation, collection, and preservation of photography, film, and video.
Connect with us:
Museum & Store Hours:Tuesday - Sunday: 10:00 am - 5:00 pmClick HERE for early closures and special hours.
Summer Hours:Open 10am- 5pm Tuesday- SundayThursdays: 10:00 am - 8:00 pm, June 1 - August 31


text:
Flames NewsFlames Home > Football Home > News
FSN Weekly Preview: Montana
During this week's Flames Sports Network's opponent preview, FSN reporters Alan York and Nick Pierce preview Liberty's road match-up with No. 14/12 Montana.
The contest will be Liberty's first-ever against the Grizzlies and the Flames' first trip west of the Mississippi River since the 1998 season when Liberty took to the road to face Cal Poly.
Both teams are coming off loses to Top 25 programs. Last week, Montana dropped a 35-27 decision at No. 11/8 Appalachian State, while fell 31-24 to No. 24 Norfolk State at home.


text:
- studio Marc Dorcel
- run time 240 mins.
- released 01/03/2014
- Also starring:
- Jessie Volt
- Gracie Glam
- Tarra White
- Black Angelika
- Nikki Daniels
- Silvie Deluxe
- Also available on:
- Video On Demand
2. Orgy: The XXX Championship #2 (2012) Compilation
- studio Marc Dorcel
- run time 120 mins.
- released 02/15/2012
- directed by Max Candy
- Also starring:
- Jessie Volt
- Gracie Glam
- Lea Lexis
- Charley Chase
- Sophia Santi
- Katie St. Ives
- Also available on:
- Video On Demand
3. In Bed With Katsuni (2012)
- studio Marc Dorcel
- run time 123 mins.
- released 08/08/2012
- directed by Katsuni
- Also starring:
- Skin Diamond
- Lea Lexis
- Vicki Chase
- Jessie Andrews
- Misty Stone
- Also available on:
- Video On Demand
- Used
4. Intimacy (2004)
- studio Marc Dorcel
- run time 89 mins.
- released 11/29/2005
- directed by Angela Tiger
- Also available on:
- Video On Demand
- Used
5. Madame... (2005)
- studio Marc Dorcel
- run time 90 mins.
- released 03/02/2006
- directed by Jurgen Wolff
- Also starring:
- Cindy Lords
- Katty
- Also available on:
- Video On Demand
|Katsumi, Celine Tran
|Lyon, France
|April 9 (Aries)
|5 ft. 7 in.
|eye color:
|hair color:
Katsuni was 18 when she started working as a go-go dancer while studying political science and literature in preparation for a career as a literature teacher. Three years later, she met a Penthouse magazine photographer who approached her about posing as a model, eventually leading to her being asked to perform in adult films. Her sense of adventure and love for sex helped her make her choice, first to enter the industry, then to become the first contract girl with Penthouse France.
Today, with more than 300 movies and many box and magazine covers to her name, Katsuni has become the most famous French porn star in the world. She's the only French star in the top 10 porn stars on the planet, according to Genesis magazine. With 29 international awards from Las Vegas, Los Angeles, Mexico, Berlin, Barcelona, Turin, and Paris, including 12 AVN Awards, she's the pornstar with biggest numbers of awards.
She has been named Best French Actress, Best European Actress, and Best Foreign Female Performer in the United States, and has been on the cover of AVN magazine twice. She also has been voted Favorite Actress by the readers of the French magazines Hot Video and Chobix, and Rocco Siffredi asked her to be his partner in his very last scene. This worldwide success has Katsuni living in Paris and Los Angeles, where she works as the first French actress under contract with Digital Playground.
She is well known in France and Italy for her artistic stage performances and has begun feature dancing in the United States. She also is a producer and director for her own adult video company, Katsuni LLC, and has made it her goal to always make better films and share her passion for sex.
In France, she is the only adult star to be the subject of five 52-minute documentaries by MCM, and the French director Gaspar Noe (with Irreversible) chose her for his short movie, We Fuck Alone (Destricted). Because she enjoys being in front of the camera, she now has her own TV show on TPS Star every Saturday night and will soon host a new TV program about animes and hentaï on Game One (MTV France) and is slotted to star as one of the main characters in the upcoming mega-production Pirates 2 (Digital Playground). She also is slated to direct her first feature for French television.
Biography courtesy of www.clubkatsuni.com
This French and Asian-fused beauty has taken the world by storm with her gorgeous face, kick-ass body and amazing drive. In two short years Katsuni has transformed from go-go dancer, to exotic entertainer, to Penthouse cover girl, and now to Digital Playground contract star. Boasting a strong media presence in France, Katsuni was chosen by MCM to star in a 5-episode documentary about her life and career. Almost simultaneously, Genesis magazine named her one of the "Ten Most Popular Porn Stars in America."
To date, Katsuni has graced numerous domestic and international magazine covers and has received more than 20 international awards for her on-camera performances. She appears weekly on French television channel TPS Star's highly-rated entertainment show, En Attendant Minuit, and is currently writing a memoir.
Today you can enjoy Katsuni online at www.club-katsuni.com and in her best selling Digital Playground films, Virtual Sex® with Katsumi, Jack's Playground 9, CockAsian, Jack's Teen America 4, Deeper 2, Jack's Playground 28, CockAsian 2, Naked Aces 3, Katsuni: Video Nasty, Jack's Big Tit Show 7, Deeper 7, Minx, and the epic blockbuster Pirates II: Stagnetti's Revenge.
In 2009, look for Katsuni in Katsuni: Sexual Freak 10, Fuck Fantasy, and the highly anticipated Nurses.
Biography Text © Digital Playground
|Best Anal Sex Scene - Video
|Best All-Girl Sex Scene - Film
|Best Group Sex Scene - Film
|Best Supporting Actress - Video
|Female Foreign Performer of the Year
|Best All-Girl Group Sex Scene
|AVN Fan Awards
|Wildest Sex Scene
|Crossover Star of the Year


text:
Cards request glove, baseball donations at fanfest
Club assisting in Gloves 4 Troops initiative at this weekend's Winter Warm-Up
Albitz, as recently documented in this MLB.com story, organized a glove and baseball drive this winter after reading an account from a soldier requesting baseball equipment be donated to military members serving overseas.
Albitz said he would like to collect at least one thousand gloves and baseballs before Spring Training. The Cardinals are hopeful that advertising a glove drive at the organization's Winter Warm-Up can spur Albitz toward that goal. Albitz, who ended the 2012 season with Triple-A Memphis, has, on his own, already collected more than 200 gloves.
Collection bins will be set out around the Hyatt Regency St. Louis at the Arch, which is hosting the three-day baseball event. More information about Albitz's project can be found on his website: www.gloves4troops.com.
Tickets for the Winter Warm-Up remain available for purchase at cardinals.com/winterwarmup. The event runs from 9 a.m. - 5 p.m. CT on Saturday and Sunday. Monday's activities conclude at 3 p.m. A full schedule of specific event times and autograph sessions can be found at cardinals.com/winterwarmup. Autograph tickets remain on sale for select player sessions.
Jenifer Langosch is a reporter for MLB.com. Read her blog, By Gosh, It's Langosch, and follow her on Twitter @LangoschMLB. This story was not subject to the approval of Major League Baseball or its clubs.


text:
Star athletes thrive during the peak of heated competition, which is why most college bowl games are held in volcanoes. Stretch the limits of your limbs with this Groupon.
Choose Between Two Options
- $29 for 10 hot-yoga classes (a $170 value)
- $39 for 15 hot-yoga classes (a $265 value)
in Hot 26 Yoga classes, hot air facilitates deeper stretching as instructors lead students through 26 poses in 90 minutes. See the full class schedule.
Riverflow Yoga
Riverflow Yoga owner Rhonda Uretzky lives and breathes yoga. After 40 years of dedicated practice—and with every member of her immediate family either teaching or practicing yoga—she has come to think of it not just as a workout, but as a way of life. Aided by an experienced team of instructors and sweat-inducing temperatures that work to purge bodies of toxins, Rhonda's Hot 26 Yoga classes focus on stretches that nurture physical flexibility and foster spiritual exploration.
Riverflow Yoga's studio, located in a former laceworks, features free parking and uses a combination of heat to boost blood flow, ease sore joints, stretch tight muscles and tone bodies during hot yoga sessions. When Rhonda's guiding students through each class' 26 poses, she elongates spines and unkinks vestigial tails with hands-on adjustments. Her hands, adept and perceptive from so much practice, can feel when bodies are tense; a mere touch can tell her where each student needs the most attention.


text:
An unusually high number of cattle thefts in southwest Missouri prompted a meeting last week to determine solutions to the issue.
Law enforcement officials and Eldon Cole, livestock specialist from the Missouri University Extension, met with farmers and ranchers at the Southwest Missouri Research Center in Mt. Vernon, Mo. last Thursday. Cattle producers met previously in January to share stories and discuss prevention, but thefts continued.
The Cassville Democrat reports Lawrence County Sheriff Brad DeLay asked cattle producers to remain observant. "County agencies don't have unlimited resources," he said. According to DeLay, nine area sheriff's offices have formed a task force, sharing information about the cattle thefts and identifying leads.
The thefts are so frequent; sheriff's offices have gathered a higher number of tips, but thieves are difficult to track because they're hauling cattle with stolen trucks and trailers.
"Where typically, we would have gotten one or two tips in the past, we've had three dozen tips since January," DeLay told the Cassville Democrat. "These people are well-versed in what they are doing," he continued. "We're stopping every trailer that goes through here after dark to make sure someone is not making off with your cattle."
Springfield Livestock is also on watch, photographing anyone who sells cattle at the center.
A program offered by nearby Macs Vet Supply allows farmers to rent wildlife cameras used to capture vehicle images and license plate number. Click here for other ways to prevent thefts or catch trespassers.
Cattle pastures near the highway are more likely to be targeted and a full moon provides the most natural light for thieves to strike so farmers should be aware if these conditions apply to their operation.
Cole reminds producers one of the best deterrents to theft is branding your livestock.


text:
Lawmakers fight each other on the legislature floor in Taipei, Taiwan on Friday. They exchanged punches and threw water ahead of an expected vote authorising a referendum on whether to go ahead with the construction of a fourth power plant. The pro-referendum forces of President Ma Ying-jeou's ruling Nationalist party were pitted against anti-nuclear forces affiliated with the main opposition Democratic Progressive party.
© The Financial Times Ltd 2016 FT and 'Financial Times' are trademarks of The Financial Times Ltd.


text:
There are a million and one places I want to travel to. Because of a recent blog job, I was able to mark Portland, Oregon off my list. Unfortunately, I didn't have much time to see the city, but I did spend some time at my hotel, Hotel Lucia.
Located in Downtown Portland, Hotel Lucia is a stylish boutique-ish hotel. I loved the character of this place. The staff is friendly and helpful. There is a restaurant located off the lobby, Restobar. Prices are decent. I ate the BLT with fries for $12. It was pretty yummy.
I was put up in a Deluxe Double Double room. The room was spacious and I appreciated the "green" touches; like recyclable bins and housekeeping options. If you're wondering the bed is pretty comfy/roomy and so are the pillows. The second my head hit them, I was out!
LOVED…how soft the towels were! OMG…probably the softest I've ever used at a hotel and water pressure/temperature was good. And I really liked the Aveda bath products and full-length mirror.
UMMM…there weren't many outlets. I had to unplug my clock so I could charge my cell phone. And the street noise is very noticeable, although they do provide ear plugs on the night stand.
$$$…the last week of August a Deluxe Queen room ranges from $169-209 a night. They do offer specials.
Not that it was bad, but I'm not sure I'd stay here again. I did love the location, but I'd probably check out another hotel in the area.
Take a look at some pics I took below.


text:
At what stage during the making process do you insert the personal? | May 1, 2012
Posted 01 May 2012 - 12:18 PM
I have noticed that I am often intrigued by others' work that is made personal at a completely different stage than mine.
It may be that our work process is implanted by our teachers, and we don't realize that there are other ways to do things than the ways we were taught.
Some potters make the work personal early in the process, during the construction stage, and then again at a number of stages throughout the process.
What is your process? How did it develop?
Diana Pancioli
Potters Council Board Member
Potters Council Board Member
Posted 02 May 2012 - 06:17 AM
If you make free-hand/sculptural objects you put your personal stamp on the work very much from the beginning.
When people spin a pot or bowl on a wheel it often looks very much like any other, until it is decorated or fired.
Of course I am generalising but there is definitely a difference in the way these different type of objects become "personalised".
Posted 02 May 2012 - 01:32 PM
Posted 02 May 2012 - 04:01 PM
Posted 03 May 2012 - 10:25 AM
Posted 03 May 2012 - 02:36 PM
Posted 04 May 2012 - 11:18 PM
Denice, wish I could draw my ideas like you. I can write descriptive prose to express what I feel and envision, but once I draw the work, my creative juices run dry. This was a problem in college classes because we were frequently asked to draw the sculpture with front, back, and top views. The only way I could turn in those drawings was to make the piece (usually in plastacine for wood stone or welded, and wax for bronze) and then use the maquette or finished wax as subject matter for a drawing. I know that's backwards, but it kept my enthusiasm for the piece going.
I wouldn't claim to be great at drawing and I didn't like having to sketch my ideas first and have them approved by my professor before I could start. But after doing it for a while I found that I was working out design problems on paper instead of time sensitive clay. Your maquettes was your way of sketching and working out any design issues a head of time and probably is the best way to go with sculpture anyways. Denice
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users


text:
Eldest son of James Marion Toole and his second wife, Lucilla Patton Toole. Robert P. Toole was a noted journalist and editorial writer who worked for several prominent TX newspapers; he was also an attorney. He married Clementine Parker in 1883, apparently not too long after the family moved from Knoxville, TN, to Dallas, TX. Both he and his wife are buried in Greenwood Cemetery, Dallas.
Related Pages
Pictures & Records (1)Show More
Personal Details
- Occupation:
- Journalist; Editorial Writer; Lawyer 1
Looking for more information about Robert P. Toole?
Search through millions of records to find out more.


text:
DETROIT - The Detroit Police Department said two of its officers witnessed a robbery in progress Monday night and fired shots at the suspect.
In a statement, the department said the officers, who are assigned to the Eastern District Special Operations, saw the armed robbery of a person in the area of Alma and Queen just before midnight.
The officers ordered the suspect to drop his weapon, but the suspect turned and pointed it at the officers.
The department said the officers fired shots, hitting the suspect in his body. The suspect's weapon was recovered.
The 23-year-old suspect is listed in critical condition.
Neither the intended robbery victim or the officers were hurt.
Read more Local News headlines:
- Detroit pension fund attorney suspended without pay
- Romulus mayor questioned, released by police
- Wayne County Sheriff expected to announce mayoral run
- Detroit EFM begins work amid protests
- Ferguson faces new charge in federal bid-rigging case
- Police: Van hits teen near Westland school bus stop
- Detroit students find success in single-sex schools
- Victim in serious condition following afternoon shooting
- Village Green buys Detroit's Millender Center Apartments
Copyright 2013 by ClickOnDetroit.com. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.


text:
Hampton & Richmond Borough chairman Steve McPherson has thrown his weight behind boss Mark Harper and will put his money where his mouth is.
The Beavers were held 0-0 by Maidenhead United on Saturday as they cling to their Blue Square South status and are at Weston-Super-Mare tomorrow.
McPherson has calculated Hampton need 13 points from 10 games to survive the drop and has opened his chequebook to help Harper bring in a striker and a midfielder for the run-in.
A season-ending injury to Joel Ledgister and upcoming suspensions for Dean Inman and Dave Tarpey have left Hampton short on quality.
And the Station Road chief has told his manager he will back his judgement – if he can afford to.
"We have a crucial run of games coming up, but we are aware of the fact we have injuries and suspensions to key players to cope with," he said.
"We've found some extra funds and told Mark to go and find the players he needs. Then we'll see what we can afford.
"In the scheme of things we only need to find the money for a few weeks and if that keeps us up then great."
McPherson appointed Harper in the summer as successor to Alan Devonshire, who took the team to two Blue Square South play-off final appearances during his tenure in charge.
The current Beveree manager has taken the Beavers to an FA Trophy third round appearance and the Middlesex Senior Cup final, but is struggling for form in the league.
Hampton have only lost four of 16 league and cup games since the beginning of January, but crucially have only won five and drawn seven.
But McPherson insisted Hampton cannot be made fools of in April, when back-to-back home clashes with Salisbury City, Welling United and Basingstoke Town are key.
"We got 42 points last year and stayed up and that is not out of the question this time around," he said.
"There are three home games in April that are crucial and I think if we can get seven points from those, we will be OK.
"We don't want it to go down to the final day of the season, but if it does we will have to deal with that.
"Considering the budget we had last season was double that of this, Mark [Harper] will have done a superb job if we stay up."
And if they don't?
"When we appointed Mark it was the start of a three-year plan to preserve the long-term future of this club at this level. Mark has committed to that and we have committed to him," he said.
"He has changed our style of football to be more attractive to watch and is bringing the youngsters through.
"He is the right man to manage this club and will be here whether we are relegated or not."


text:
The Effectiveness of Group Cycling Classes: Q&A With SoulCycle Instructor Laurie Coleby Joseph Erdos in Uncategorized, January 24, 2013
Bobby Flay manages to stay fit and healthy even with a busy lifestyle as a chef, and he's eager to share his healthy eating and fitness plan with fans in a seven-part Web series, Bobby Flay Fit.
In Episode 5 of Bobby Flay Fit, Bobby heads to a group exercise class with his wife, Stephanie, and friend Katie Lee. He likes cycling because it's a low-impact exercise so it's easier on his joints, and the camaraderie of working out in a group helps him stay motivated. Plus, it's a fun workout.
Healthy Eats caught up with the SoulCycle instructor Laurie to learn more about the effectiveness of cycling and how it can be incorporated into a busy lifestyle.
How should someone interested in taking up cycling get started?
Laurie Cole: I am a strong believer in the buddy system. Grabbing a friend to start something new reduces the fear of failure. It could be cycling or any fitness class, but if you have someone to rely on, you are more likely to stay inspired and committed. It's also helpful to communicate to the instructor that you are new.
Is cycling safe for everyone?
LC: Cycling is really one of the only ways to get cardio exercise without impact. So for anyone who has injuries or is pregnant, this is a great way to exercise safely.
How does cycling affect the body?
LC: The impact is universally positive from cycling. There is a duality of strength and toning that occurs as well as a lengthening of muscles. Indoor cycling at SoulCycle is a full-body workout. The legs, core, arms — we get it all in 45 minutes. In a fast-paced lifestyle, it really becomes addictive to get a workout done in under an hour and have it be effective.
What do you eat or drink before and/or after a workout?
LC: It is so vital to eat before doing cardio. I tend to have the same thing every day before my class: I eat a hard-boiled egg and drink raw coconut water by Harmless Harvest. Postworkout, I drink either a Green Juice by BluePrint or fresh juice from Juice Generation.


text: Editor:We must be very careful to send a clear signal to the people of Iraq (and the world) that in a democracy, leaders answer to the people. In a democracy, the people are not afraid of their leaders, nor are they afraid to ask them questions. The "political" decision not to grant a two month extension to the 9-11 investigative committee does not send that signal. The refusal of administrative officials to cooperate fully and truthfully (unwilling to place their hand on the Bible) does not send that signal. Join with me in challenging this administration to show Iraq and the world that democracy works!Mark J. Walsh Cambridge


text:
Travis Smith and Chris Bale have discovered the formula for what it takes to make a modern bear. It's even stated on their website — modern design + bears + retro + beefcake = well, you get the idea. But if not, they'll be in Dallas all weekend to explain it to you.
Eschewing the blue collar sensibilities that come with a bearish persona, Smith and Bale celebrated the fact that they had an eye for mid-century motifs and preppy clothes.
"You could take the modern bear idea two ways as in 'He is today's bear,'" Smith said, "But we were looking at someone bearish who is into design and fashion and stuff. We were looking at things beside flannel shirts, computers and the usual perception of what a bear is."


text:
Prospect Pitch: Braves' Moore, no less
Injuries history, first-year right-hander finds command of five
By Andrew Pentis / Special to MLB.com | June 20, 2012 6:13 AM ET
"I was throwing pretty hard in high school for my age, and that's how I got hurt," said Moore, who was clocked at 96 mph before undergoing Tommy John surgery on his elbow in March 2007. "I grew fairly quickly, and then out of nowhere, my body had to adjust to throwing that hard, on top of [using] mechanics that probably weren't the best."
Moore was remade as a Vanderbilt University freshman in 2009. "He wasn't really ready to pitch in the SEC," said the pitching coach there, Derek Johnson. So Johnson, who had seen Moore feature speed and lack command since he was 15, compacted his delivery, controlled his landing on the front of the mound and pitched him in as many games as possible.
"We felt like if he just got out there and got time," Johnson said, "he was going to be pretty good."
Still without a consistent slider (and beset by knee surgery as a sophomore), Moore didn't convince his coach he had the repertoire to be a weekend starter as a junior in 2011, but he did save 11 games in 28 relief appearances. By June, he became the Atlanta Braves' 14th-round pick and, another year gone by, is their 16th-ranked prospect.
"The hardest thing after [surgery] was getting my feel back," Moore said. "My arm strength was back, but it was just something about confidence and repetition to get back the feel for breaking pitches; I was trying to do too much with the breaking pitches."
So how is Moore (3-3, 3.90 ERA) now manipulating five different pitches, including two breaking balls, to success in 2012? Well, aside from the Johnson-installed mechanics and the sheer innings -- 62 1/3 spanning 13 games at Class A Rome -- advice from his manager there, Randy Ingle, has been helpful too: "You don't want to borrow a pitch. You want to own it."
MiLB.com asked Moore to describe and grade each of the five offerings he owns. (His grade is based on a scout's traditional 20-80 scale, 50 being the Major League average.) Here is Moore, in his own words.
Pitch one: Two-seam fastball
Origin: Growing up, I mainly threw two-seams because I was hard-headed and I thought that I thought I could throw a two-seamer harder, I guess, psychologically. It was just me playing around. The pitch would move, it would cut, it would sink, but it wasn't something I could consistently control. I was just like, 'If I can throw a pitch that moves, and I can throw it pretty hard, I might as well as throw it.' It was more of a confidence thing. I was confident in that pitch at a young age.
Purpose: For strikes, groundouts.
Grip: I play with different grips, but mainly I'll do cross-seam, so it's like a tic-tac-toe with those two seams.
Speed: Just a tick down from my four-seam, if not the same, so 88-91.
Grade: 55.
Pitch two: Four-seam fastball
Origin: When I got to high school and started to learn pitching and started to hear that you can go faster with a four-seam -- gripping four seams is like gripping the air -- I started throwing more four seams. My high school coach, a guy named Brad Myers at Battle Ground Academy -- he's still there -- told me it's always going to be a straighter pitch than the two-seam and easier to control, so that's when I flipped around and started throwing more four-seams. I feel like it's easier to go from two-seam to four-seams if you have to go one way or the other.
Purpose: It's my most comfortable pitch. If I am in a count where I need to make a pitch, maybe 3-2 or 2-1, that's my go-to pitch. I feel like I can control it in and out when I need to, so it's probably the pitch I have the most confidence in.
Grip: I grip it obviously on the horseshoe, but the open-end of the horseshoe would be on the right side of my fingers.
Speed: Anywhere from 88 to 91, 92.
Speed in college: We'd throw him in there for an inning and let him go, and he was 93, 94 and up guy. He is one of those guys that is so incredibly strong that he probably has more in his tank. He just wasn't able to access it quite yet. It wouldn't surprise me if he ends up pitching -- in a starting role -- at 92, 93 before it's all said and done.
Grade: 60. I don't want to grade myself too hard.
Pitch three: Changeup
Origin: When I first started working on it, I was playing summer ball under Mike Roberts in 2009. It was up in Cotuit in the Cape Cod League, and he really liked all of his pitchers to have a good changeup. Early on there, I basically went an outing and all I could throw was changeups. That's really where I started to learn my changeup and went back into my sophomore season at Vanderbilt as my offspeed pitch because I struggled with the slider and curveball while there; it was really my secondary pitch. It improved through a lot of repetition and forcing myself to throw it more. And coach Derek Johnson kept developing me and that pitch at Vanderbilt the next couple years.
Purpose: I throw a four-seam change, so I'm not worried about sinking it or fading it off the plate. I want to look exactly like my fastball and have a good speed difference.
Grip: The same grip as my four-seam fastball but instead of gripping it with my pointer and middle fingers as my primary fingers, I am basically using my ring finger and middle finger on top of the ball.
Speed: When it's where it needs to be, 80-82. Eight or nine miles an hour off my fastball.
Grade: 50-55.
Pitch four: Slider
Origin: I picked up the slider at Vanderbilt. I came in only knowing how to throw a curveball, and then I had Tommy John surgery, so I lost the feel of my curveball and didn't throw the curveball at Vandy at all -- was mainly fastball, slider and change.
Purpose: I like to use it if I got a guy 1-2, and I want to put him away early and not waste time. If I've gone through the order a couple of times and I want to mix it up, I'll use that as my out-pitch, for a ground ball or a strikeout.
Grip: If you're holding the baseball in front of you and the open end of the horseshoe is pointing up, I grip it on the bottom-right quadrant of the horseshoe.
Speed: Anywhere from 82 to 84 on the good days.
Grade: It's a work-in-progress, so I'll say 50.
Pitch five: Curveball
Origin: My dad and I had worked on it. I didn't start throwing it at a young age just 'cause people usually worry about elbow injuries at a young age throwing breaking balls, but I remember working on it with him. And then in high school, working on it there too.
Purpose: I try to throw a loopy curve, but I still want it to be a hard pitch. I want the break to be more down where a slider is more across a diagonal plane. I want my curveball to be on a downward, vertical plane.
Grip: If you're holding the baseball in front of you and the open end of the horseshoe is pointing up, I grip it along the whole right seam of the horseshoe.
Speed: 79-80.
Grade: 45, because my curveball is a little behind a slider.
Andrew Pentis is a contributor to MLB.com. Follow him on Twitter at AndrewMiLB. This story was not subject to the approval of the National Association of Professional Baseball Leagues or its clubs.View More


text:
We have the largest collection of branded footwear in the UK at unbeatable prices. Browse our legendary collection for Womens Shoes, Boots, Trainers - Mens Shoes, Boots, Trainers, Sandals from leading brands like Dr.Martens, Art, Fly London, Dc Shoes, Fred Perry, Base London, Vans, Timberland, Caterpillar, El Naturalista and many more...
Timberland Junior Killington Boot Black Youths Boots
- Nubuck Leather
- Zip on the Side
- Ortholite Footbed
- Sensorflex Comfort System
- Extra Light Weight
UK Delivery:
Shipping for all UK orders is Free. All the orders from UK are delivered in 2 - 3 working days.
Next Working Day Delivery:
Next Day delivery to UK £4.99. All the next day delivery orders received by 12:00pm on weekdays will be sent same day and will be delivered the next working day. The order placed on weekends will be delivered on Tuesday.
Shipping to Europe:
Shipping to Europe starts from £7.99 per order. It may take up to 5 to 7 workings days to deliver your order.
Worldwide Delivery:
Shipping for all the countries outside Europe starts from £11.99 per order. It may take up to 7 to 12 workings days to deliver your order


text:
Ancestry has gathered the BillionGraves website into it's fold, the BillionGraves website is still up and running, but can now also be searched via Ancestry.com. All part of Ancestry's plan to be the #1 genealogy one stop shop no doubt. The search is free through Ancestry and doesn't require you to be a subscriber and presumably when you do a search and a name is found it directs you through to the BillionGraves site.
I say presumably because when I tried I got the Please Search Again message from Ancestry saying "The search request could not be completed because insufficient information was provided to Ancestry.com. If the search request originated from another web site, please contact that site's administrator to resolve the problem." I checked that the Billiongraves website was up and running and it was, so I think it must be the link between them and Ancestry.
The database is heavily bias towards the USA, but has a growing number of English graves, all the work is undertaken by volunteers so it is dependant on someone going out with the iPhone/Android App and clicking away and uploading the photos.
I did a search for the surname Pottinger in the UK on the BillionGraves site and came up with two entries from Kingston upon Thames and four from Edinburgh. Well worth bookmarking this site and it will be good when it is fully integrated into Ancestry.


text:
High-Vitamin C Recipesby Toby Amidor in Healthy Recipes, November 27, 2012
To help increase your immunity this cold and flu season, give yourself an extra boost of vitamin C (no supplements required!). This antioxidant is found in a wide range of foods from potatoes to bell peppers. Check out these 5 delicious, vitamin-C rich recipes.
The Guidelines
The recommended daily amount of vitamin C is 60 milligrams. Each of the recipes below contains at least 20% (or 12 milligrams) of your daily recommended dose.
Vitamin C has many other roles besides helping stave off the common cold. It also helps form collagen, a building block of connective tissue that gives strength to skin, hair, and nails. Vitamin C also helps increase the body's absorption of iron.
The Recipes
Beef Pops With Pineapple and Parsley Sauce (above)
These bite-sized skewers get most of their vitamin C from the pineapple chunks. Surprisingly, the rest of the vitamin C (over 15% of your daily dose) is from the chopped parsley.
Recommended daily amount of vitamin C: 53%
Chicken and Broccoli Stir-Fry
The majority of the vitamin C comes from the broccoli in this Asian-inspired dish from the Food Network Kitchens.
Recommended daily amount of vitamin C: 159%
Roasted Halibut with Grapefruit-Fennel Salsa
Although oranges are most famous for brimming with vitamin C, don't count out other citrus fruits. Giada's fish dish gets much of its vitamin C from grapefruit with smaller amounts coming from fennel and parsley.
Recommended daily amount of vitamin C: 60%
Roasted Red Pepper and Walnut Dip
Perfect for holiday parties, the jarred red peppers contribute the majority of vitamin C in Ellie's recipe.
Recommended daily amount of vitamin C: 70%
Sautéed Brussels Sprouts
This cruciferous veggie isn't just for the Thanksgiving table. It's a perfect side all winter long.
Recommended daily amount of vitamin C: 160%


text:
Breakdown of the KML Plugin
KML Code overview
The KML export code is shown in full below (at least a snapshot of it at one point in time, namely near December 2007).
This is written up below in sections in hope that people may learn from it (note that the KML plugin does more complex things than most plugins).
Header Section
This section of code simply imports a bunch of other needed modules, declares the version, etc.
# Copyright (C) 2007 Wes Hardaker # License: GNU GPLv2. See the COPYING file for details. package GeoDB::Export::Kml; use strict; use GeoDB::Export; use GeoDB::Utils; use GeoDB::Export::Density; use IO::File; use QWizard;
our $VERSION = "0.95";
Here we specify that we're a child class of two other modules, the GeoDB::Export and GeoDB::Export::Density modules. Since we're an export plugin, we must inherit from the first. The second is a second code file that contains the actual KML density calculating bits (and eventually it should be a generic density system that could be used to output things other than KML, but right now it isn't).
In perl, the @ISA variable is what defines your parent classes:
our @ISA = qw(GeoDB::Export GeoDB::Export::Density);
KML Option Definitions
The following is an array of keyword/human-string pairs we use just a bit later.
our @altitudeValues = (relativeToGround => 'relative to the ground', absolute => 'absolute height above sea level');
The GEOOPTIONS array is a geoqo special variable that is looked for by code much higher up. This is where we declare all the options to the given plugin. The KML plugin has more than it's fair share of options (more than any other) so this section is pretty long. The array contains a list of perl hashes, where each hash contains keyword/value pairs describing information about the option.
These options are used by many other parts of the geoqo code. They automatically turn into the GUI help screen, they automatically get used by the -d help:export/kml help output, the defaults are all set by things above, the command line parsing (eg: -e kml:dataname=blah:file.kml) is all handled elsewhere based on the data in this array. All good geoqo plugins should use this special array name to declare their options to take advantage of these features. (even the [http://www.geoqo.org/usage.html geoqo manual page] takes information from this!)
our @GEOOPTIONS = (
The first option is a label that is printed to user:
{ name => 'bogus', type => 'label', text => 'Basic Settings:', },
This second one is a normal text box in the GUI that just needs a name (and it's indented slightly. It's default value, if the user doesn't pick one, is Export from GeoQO:
{ name => 'dataname', text => 'Name to call the results:', default => 'Export from GeoQO', indent => 1, },
These three are checkbox options and the resulting value stored in the dowaypoints, etc... option variables and will be a 1 or a 0 based on ifit's checked or not. The refresh_on_change token is needed to make the gui screen redraw after the user changes the value (we'll see why in a second).
{ name => 'dowaypoints', text => 'Include waypoint/geocache markers:', type => 'checkbox', refresh_on_change => 1, default => 1, }, { name => 'dodensity', text => 'Create a density map:', type => 'checkbox', refresh_on_change => 1, default => 1, }, { name => 'dojail', text => 'Show .1 mile radius circles', type => 'checkbox', refresh_on_change => 1, default => 0, },
This just puts a blank line for a separator:
And we start a new section with a new label. Here note that the doif section tests the results of the dowaypoints variable above. If it's set, then this widget is shown. If not, then it's hidden (and the refresh_on_change mentioned above forces this to hide and unhide when the user clicks on the checkbox or not). All of the following options make use of this feature.
We'll show a bunch of options in a row now, and you can see the general point by simply studying them for a bit. Note that the second option is also a menu when shown in the GUI:
These all relate to saving each waypoint in the output file.
{ name => 'bogus', type => 'label', text => 'Configuration of the Waypoints:', doif => sub {qwparam('dowaypoints') eq '1'}, }, { name => 'waypointstyle', type => 'menu', text => 'Waypoint Style', labels => ['geoqo' => 'Unique icons per difficulty and waypoint type', 'pushpin' => 'A single pushpin at each waypoint', ], default => 'geoqo', indent => 1, doif => sub {qwparam('dowaypoints') eq '1'}, }, { name => 'waypointheight', text => 'Waypoint Altitude', default => 150, indent => 1, helpdesc => '(0 means on the ground)', doif => sub {qwparam('dowaypoints') eq '1'}, }, { name => 'waypointmode', text => 'Altitude mode', type => 'menu', labels => \@altitudeValues, default => 'relativeToGround', doif => sub {qwparam('dowaypoints') eq '1'}, indent => 1, }, { name => 'waypointextrude', type => 'checkbox', text => 'Draw a line to the ground:', indent => 1, default => 1, doif => sub {qwparam('dowaypoints') eq '1'}, }, { name => 'includedescriptions', type => 'checkbox', text => 'Include cache descriptions in output:', indent => 1, default => 1, doif => sub {qwparam('dowaypoints') eq '1'}, },
Then we move on to the options relating to density plots.
"", { name => 'bogus', type => 'label', text => 'Configuration of the density grid:', doif => sub {qwparam('dodensity') eq '1'}, }, { name => 'squareratio', default => '1', type => 'checkbox', text => 'Use a square grid', indent => 1, refresh_on_change => 1, doif => sub {qwparam('dodensity') eq '1'}, }, { name => 'size', default => 200, indent => 1, title => 'Number of squares on a side of the density plot', help => 'Creates a plot where there are SIZE by SIZE squares of colored rectangles', doif => sub {qwparam('squareratio') eq '1' && qwparam('dodensity') eq '1'}, }, { name => 'width', indent => 1, title => 'Width in squares of the rectangular density plot', help => 'Normally equal to the size value but can be set independently. It specifies the width (in squares) of the density plot.', doif => sub {qwparam('squareratio') ne '1' && qwparam('dodensity') eq '1'}, }, { name => 'height', indent => 1, title => 'Height in squares of the rectangular density plot', help => 'Normally equal to the size value but can be set independently. It specifies the height (in squares) of the density plot.', doif => sub {qwparam('squareratio') ne '1' && qwparam('dodensity') eq '1'}, }, { name => 'spread', title => 'Spreading Distance', indent => 1, help => 'Sets the spread that determines the number of neighboring squares that a given cache will effect. EG, a spread of 5 will affect a circle of density squares in a radius of 5. This generally should be a low value of probably not more than 5 or so.', default => 5, doif => sub {qwparam('dodensity') eq '1'}, }, { name => 'doempty', title => 'Include empty squares in the density plot:', help => 'If set to 1, even empty squares will be colored (red). Otherwise the empty squares are removed from the plot leaving the plane ground underneath.', indent => 1, type => 'checkbox', default => 0, doif => sub {qwparam('dodensity') eq '1'}, }, "", { name => 'bogus', type => 'label', text => 'Configuration Parameters for shape style:', doif => sub {qwparam('dodensity') eq '1'}, }, { name => 'altitude', title => 'Altitude of density plot squares', indent => 1, help => 'The altitude to set the density plot squares at.', default => 1000, doif => sub {qwparam('dodensity') eq '1'}, }, { name => 'densitymode', text => 'Altitude mode:', type => 'menu', labels => \@altitudeValues, default => 'relativeToGround', doif => sub {qwparam('dodensity') eq '1'}, indent => 1, }, { name => 'extrude', title => 'Extrude the density plot to the ground:', help => 'Whether or not to extrude the density plot squares down to the ground.', type => 'checkbox', indent => 1, default => 0, doif => sub {qwparam('dodensity') eq '1'}, }, { name => 'opaque', title => 'Opaqueness of the density squares:', helpdesc => '(0-100; 0 being completely see-through)', help => 'The opacity of the density squares. Must be between 0 and 100, with 0 being completely see-through (and thus completely useless).', indent => 1, default => 20, doif => sub {qwparam('dodensity') eq '1'}, }, { name => 'linewidth', title => 'Line width:', help => 'The width of the border lines to draw (0-4). 0 means don\'t draw borders on the squares.', indent => 1, default => 0, doif => sub {qwparam('dodensity') eq '1'}, },
These options relate to doing a 528 foot circle around each cache (which I refer to as a "jail" since it prevents other caches from being placed near it):
"", { name => 'bagus', type => 'label', text => 'Configure .1 mile radius circles:', doif => sub {qwparam('dojail') eq '1'}, }, { name => 'jailaltitude', text => 'Altitude of the circles:', default => '100', doif => sub {qwparam('dojail') eq '1'}, indent => 1, }, { name => 'jailmode', text => 'Altitude mode:', type => 'menu', labels => \@altitudeValues, default => 'relativeToGround', doif => sub {qwparam('dojail') eq '1'}, indent => 1, },
And finally, some extra options that let you limit the input data by a square boundary:
"", { name => 'bogus', type => 'label', text => 'Limit the input data:', }, { name => 'limitdata', default => '1', type => 'checkbox', indent => 1, text => 'Use all the data from the search set', refresh_on_change => 1, }, { name => 'nmax', title => 'Maximum North coordinate:', indent => 1, help => 'The maximum north coordinate value to created the grid over. Normally this is automatically set by the maximum value found in the data, but can be overridden', doif => sub {qwparam('limitdata') ne '1'}, }, { name => 'nmin', title => 'Minimum North coordinate:', indent => 1, help => 'The minimum north coordinate value to created the grid over. Normally this is automatically set by the minimum value found in the data, but can be overridden', doif => sub {qwparam('limitdata') ne '1'}, }, { name => 'wmax', title => 'Maximum West coordinate:', indent => 1, help => 'The maximum west coordinate value to created the grid over. Normally this is automatically set by the maximum value found in the data, but can be overridden', doif => sub {qwparam('limitdata') ne '1'}, }, { name => 'wmin', title => 'Minimum West coordinate:', indent => 1, help => 'The minimum west coordinate value to created the grid over. Normally this is automatically set by the minimum value found in the data, but can be overridden', doif => sub {qwparam('limitdata') ne '1'}, } );
Whew. Done.
The Actual KML Export Magic
First a simple subroutine called _x() which just replaces >, < and & with legal values in XML (> becomes >):
sub _x { return GeoDB::Export::_add_basic_entity(@_); }
Here's the actual function that gets called by geoqo when someone wants to export to KML. The GUI screen showing all of the options above may have already been called at this point, or command line option processing may have been. Either way, the function only needs to assume that it's all been dealt with.
Every export module needs to implement the export_it function. The function passed 3 arguments: A self reference to the KML export object, a file name to put the results in, and a GeoQO set that is the waypoint data it should be exporting.
sub export_it { my ($self, $file, $set) = @_;
Open the file and set the $fh variable as the filehandle to write to:
GEODEBUG(1,"writing file: $file\n"); my $fh = new IO::File ">$file";
Print the starting XML header to the file:
print $fh "<?xml version=\"1.0\" encoding=\"utf-8\"?> <kml xmlns=\"http://earth.google.com/kml/2.2\"> <Document>
The next line shows the use of the dataname option variable, which was one of the first in the GEOOPTIONS variable above describing the options that can be passed.
<name>$self->{'options'}{'dataname'}</name> <open>1</open> <description>This file was created using GeoQO, which is available from http://www.geoqo.org/</description> ";
We set up some basic variables that remember the possible icons (shapes), difficulty levels (diffs):
# these match dist/makeicons my @shapes = ('micro', 'small', 'regular', 'large', 'nosize', 'multi', 'virtual', 'unknown', 'solved', 'webcam', 'event', 'earth'); my @diffs = (qw(1 1.5 2 2.5 3 3.5 4 4.5 5)); my %shapes;
If the style they selected in the waypointstyle option was geoqo (the default) then they want a different icon per cache type and difficulty level combination. We need to output all the style definitions into the KML file, so we do that next and it goes near the top of the KML file.
It does this by writing a section of KML for each difficulty for each shape. These link to icons stored on the geoqo website:
# define the styles needed if ($self->{'options'}{'waypointstyle'} eq 'geoqo') { foreach my $shape (@shapes) { $shapes{$shape} = 1; # cache for later check if we can do it foreach my $diff (@diffs) { $diff =~ s/\.//; print $fh " <Style id=\"$shape$diff\"> <IconStyle> <Icon> <href>http://www.geoqo.org/images/icons/geocaches-$shape-$diff.png</href> </Icon> </IconStyle> </Style> "; } } }
Now that we have the styles created, we have to create the top level folder structure in the KML language:
print $fh "<Folder> <name>$self->{'options'}{'dataname'}</name> <description>$self->{'options'}{'dataname'}</description>\n";
Now we just process a bunch of options above into local variables; this is not strictly necessary, but it's a bit faster to refer to local variables a bunch of times than repeatedly look into the $self->{'options'}{'....'} structure for each look up if we're going to do it a lot:
# remember options my $geoqostyle = 0; $geoqostyle = 1 if ($self->{'options'}{'waypointstyle'} eq 'geoqo'); my $doextrude = ""; my $doextrude = "\n <extrude>1</extrude>" if ($self->{'options'}{'waypointextrude'}); my $height = $self->{'options'}{'waypointheight'}; my $mode = $self->{'options'}{'waypointmode'}; my $dodescriptions = $self->{'options'}{'includedescriptions'};
Waypoint Creation
We only export the waypoints themselves if the dowaypoints option (checkbox) was set:
# nopoints is historic... if ($self->{'options'}{'dowaypoints'} && !$self->{'options'}{'nopoints'}) {
If so, then we need to create a sub-folder within the KML file and name it appropriately:
print $fh " <Folder> <name>$self->{'options'}{'dataname'}: Waypoints</name>\n";
This starts setting up the progress bar and sets the maximum number that we're going to call it. In this case, we're going to set it to the number of waypoint points in the set. Note that not all the GUI backends support progress bars (EG, Tk doesn't which means windows users won't see it):
my $count = 0; my $next = 0; $self->setup_progress($set->num(), "Creating Waypoints");
The GeoDB::Set object that we were passed which is full of waypoints has a nice foreach function that can be called. You pass it a reference to another function (in this case, a function declared right inside the argument list). Basically, all the code starting with the sub { and beyond gets called once per waypoint. The subroutine is passed a GeoDB::Waypoint object as the option.
This bit of code prints each waypoint one at a time as the subroutine defined gets called multiple times. The $_[0] statement refers to the GeoDB::Waypoint object. All the waypoint data in one of these objects is stored in the $object->{'data'} hash. EG, the latitude is stored in: $object->{'data'}{'lat'}
$set->foreach(sub { $next = $self->set_progress($count++) if ($count >= $next); my $style = ($geoqostyle) ? get_tomtom_style($_[0]) : "#khStyle652"; my $c=$_[0]{'data'}; my $type = ($c->{'subtype'} ? "$c->{'type'}|$c->{'subtype'}" : $c->{'type'}); my $description = ""; if ($dodescriptions) { $description = "<description><![CDATA["; if ($c->{'groundspeak_short_description_html'} eq 'True') { $description .= $c->{'groundspeak_short_description'}; } else { $description .="
" . _x($c->{'groundspeak_short_description'}) . "
} if ($c->{'groundspeak_long_description_html'} eq 'True') { $description .= $c->{'groundspeak_long_description'} } else { $description .="
" . _x($c->{'groundspeak_long_description'}) . "";
} $description .= "]]></description>"; } print $fh " <Placemark> <name>" . _x($c->{'ident'} . ": " . $c->{'urlname'}) . "</name>$description <styleUrl>$style</styleUrl> <Point>$doextrude <tessellate>0</tessellate> <altitudeMode>$mode</altitudeMode> <coordinates>" . _x($c->{'lon'}) . "," . _x($c->{'lat'}) . ",$height</coordinates> </Point> </Placemark> "; });
That was a lot of code just to print out each waypoint description, but you'll note a lot of it was deciding whether to print description information and formatting the output.
Then we stop the progress update so the progress bar window goes away:
And close off the waypoint folder:
print $fh "</Folder>\n"; }
528 Foot Circle Creation ("jails")
Next we do the 528 foot circles, but only if requested via the dojail option:
# create jails around the cache if ($self->{'options'}{'dojail'}) {
And we place them in their own folder too, just like the waypoints above:
print $fh " <Folder> <name>$self->{'options'}{'dataname'}: Waypoint .1 Mile Boundaries</name>\n";
First, we need to calculate a ring of points. We basically just store a ring of latitude, longitude points inside two arrays (distringx and distringy). The cos and sin functions are used to plot the circumference of a circle in 16 points. Then we multiply it by the radius distance, which is .001428 between each lat/lon. This actually works for latitude but for the longitude it'll be right at the equator but very very wrong at the poles. This needs to be accounted for in the future...
# calculate a ring my (@distringx, @distringy); my $ringcount = 16; my $radiusdist = .001428; # right for lat, wrong for long for (my $i = 0; $i < $ringcount; $i++) { push @distringx, cos(2 * 3.1415 * $i / $ringcount) * $radiusdist; push @distringy, sin(2 * 3.1415 * $i / $ringcount) * $radiusdist; } push @distringx, cos(0) * $radiusdist; push @distringy, sin(0) * $radiusdist;
More options to just remember in variables for later:
my $altitude = $self->{'options'}{'jailaltitude'}; my $mode = $self->{'options'}{'jailmode'};
This color is transparent (80), no blue (00), no green (00) and maximum red (ff):
my $color = "800000ff"; my $linewidth = 1; my $extrude = 1;
Again we start a progress bar (but it's so fast usually you won't see it):
my $count = 0; my $next = 0; $self->setup_progress($set->num(), "Creating Jail Circles");
Now, we use the same foreach method mentioned above.
$set->foreach(sub {
These update the progress bar:
$count++; $next = $self->set_progress($count++) if ($count >= $next);
Now we create a variable reference to the waypoint data in the 'data' hash: (not really necessary, but...)
my $c=$_[0]{'data'};
And print a Polygon KML object for each cache:
print $fh " <Placemark id=\"jail$count\"> <name>GeoJail$count</name> <Style> <PolyStyle> <color>$color</color> </PolyStyle> <LineStyle> <width>$linewidth</width> <color>$color</color> </LineStyle> </Style> <Polygon id=\"poly$count\"> <extrude>$extrude</extrude> <tessellate>0</tessellate> <altitudeMode>$mode</altitudeMode> <outerBoundaryIs> <LinearRing> <coordinates> ";
Here we print coordinates for the ring in the real wold by taking the lat/lon of the waypoint and then add in the circle difference at each point that we calculated above. Sometimes the circle point will be negative, sometimes positive. IE, the points this prints out will rotate around the waypoint point at a fixed distance (528 feet) at each point from the starting lat/lon location of the waypoint.
for (my $i = 0; $i <= $ringcount; $i++) { print $fh ($c->{'lon'}+$distringy[$i]) . "," . ($c->{'lat'}+$distringx[$i]) . "," . $altitude, " "; }
Then print the closing part of the waypoint circle KML code:
print $fh " </coordinates> </LinearRing> </outerBoundaryIs> </Polygon> </Placemark> "; });
And stop the progress bar again, and close the circle:
$self->stop_progress(); print $fh "</Folder>\n"; }
Density Plot Function Invocation
Now, we actually print the density plot. The get_density_map function is actually defined inside the GeoDB::Export::Density module instead. We'll include it below and explain it as well. In the meantime, just know that it prints out a bunch more KML polygons to represent the density clouds:
# nodensity is historic $self->get_density_map($set, $fh) if ($self->{'options'}{'dodensity'} && !$self->{'options'}{'nodensity'});
And then we close the whole thing off.
The remaining code in this section are some functions that calculate a icon name from the geocache information. Traditionals are put into icons according to size, the rest are put into icons according to cache type. The icon name also has the difficulty level in it, so a small icon at difficulty 2 becomes small2. The decimal is dropped, so a small at 2.5 becomes small25.
print $fh "</Folder> </Document> </kml> "; } my %containers = ( 'Micro' => 'micro', 'Small' => 'small', 'Regular' => 'regular', 'Not chosen' => 'nosize', 'Other' => 'nosize', 'Large' => 'large', ); my %types = ( 'Multi-cache' => 'multi', 'Unknown Cache' => 'unknown', 'Virtual Cache' => 'virtual', 'Webcam Cache' => 'webcam', 'Event Cache' => 'event', 'Earthcache' => 'earth', # XXX!!! need letterbox! # 'Letterbox Hybrid' => 'letter', ); sub get_tomtom_style { # this matches the code in scripts/devices/tomtom too my $cache = $_[0]; # XXX: infield vs solved... # traditionals break down by size if ($_[0]{'data'}{'subtype'} eq 'Traditional Cache') { if (exists($containers{$_[0]{data}{groundspeak_container}})) { my $diff = $_[0]{data}{groundspeak_difficulty}; $diff =~ s/\.//; return "#$containers{$_[0]{data}{groundspeak_container}}$diff"; } } else { if (exists($types{$_[0]{data}{subtype}})) { return "#$types{$_[0]{data}{subtype}}$_[0]{data}{groundspeak_difficulty}"; } # the rest get icons for the type } return "#khStyle652"; }
Density Plot Code
This is actually from the GeoDB::Export::Density code file:
Initial preamble and setup:
# Copyright (C) 2007 Wes Hardaker # License: GNU GPLv2. See the COPYING file for details. package GeoDB::Export::Density;
use strict; use GeoDB::Utils;
Here's the brunt of the code in this function (which is called from the KML code described above). It's passed a reference to the object itself, the set of caches, the filehandle to print to. The $sub argument isn't used (yet):
(the @_ array is the perl way of passing arguments)
sub get_density_map { my ($self, $set, $fh, $sub) = @_;
The density plot is created using an grid of squares. Normally this grid is an equal number of sub-squares on each side, but they can be different if the user set the width or height options instead of the size option which sets both.
# width/height of the image my $binnumx = $self->{'options'}{'width'} || $self->{'options'}{'size'}; my $binnumy = $self->{'options'}{'height'} || $self->{'options'}{'size'};
This remembers a special spread option that we'll describe more below.
# radius not diameter my $spread = $self->{'options'}{'spread'};
We need to remember the maximum lat/lon boundaries of the data. This code simply loops through each waypoint and sees if the coordinates are more/less than our previously memorized values.
my ($maxlat, $minlat, $maxlon, $minlon) = (-10000, 10000, -10000, 10000); $set->foreach(sub { $maxlat = max($_[0]{'data'}->{'lat'}, $maxlat); $minlat = min($_[0]{'data'}->{'lat'}, $minlat); $maxlon = max($_[0]{'data'}->{'lon'}, $maxlon); $minlon = min($_[0]{'data'}->{'lon'}, $minlon); });
We let the user actually set the grid area to be even smaller if they had specified a restricted area:
# let user override certain ones $maxlat = $self->{'options'}{'nmax'} || $maxlat; $minlat = $self->{'options'}{'nmin'} || $minlat; $maxlon = $self->{'options'}{'wmax'} || $maxlon; $minlon = $self->{'options'}{'wmin'} || $minlon;
The parse coordinates function can parse strings like W121 23.123 into floating point numbers like -121.3853833 (because the user is allowed to specify the options in many formats):
($maxlat, $maxlon) = parse_coords($maxlat, $maxlon); ($minlat, $minlon) = parse_coords($minlat, $minlon);
Ok, we now have the boundaries of the grid. It likely won't be perfectly square from one extreme to the other, which is fine.
We also calculate the width of the grid so we subtract the min lat/lon numbers from their maxes:
GEODEBUG(4,"boundaries: $maxlat, $minlat, $maxlon, $minlon\n"); my $latdiff = $maxlat - $minlat; my $londiff = $maxlon - $minlon;
Now we calculate a filled circle. This is a speed up technique that will help us later. The spread option mentioned above is used here. The way the density plot works, each cache affects not only the density square directly above it, but a "spread" of density squares around it in a circle. This gives a much smoother gradient in color spread as you're looking at the results. A spread of 1 means no spread and the results are quite boring. A spread of 5-10 is recommended, and the default is 5.
This code creates a double array called '@spread', where the middle of the array is filled with 1s, and the outer edges filled with 0s:
As you can see, it should look like a small circle of 1s. A bigger spread will be a more recognizable circle ;-)
GEODEBUG(5,"filling circle\n"); my $textcir; my @spread; for (my $i = 0; $i <= $spread*2; $i++) { for (my $j = 0; $j <= $spread*2; $j++) { my $xd = $spread-$i; my $yd = $spread-$j; $spread[$i][$j] = (sqrt($xd*$xd + $yd*$yd) <= $spread) ? 1 : 0; if ($spread[$i][$j]) { $textcir .= "X"; } else { $textcir .= "."; } } $textcir .= "\n"; }
If you set the debug level with --debug 7 you'll actually get the circle printed to the output screen:
Now that we have our circle, we have to take all the caches in the entire set and put each cache into a double array the size of the grid itself (called @results). Each cache will end up inside one spot in this array. So, lets say we have a latitude spread from N38 to N37 and a grid size of 200. That means that our array will have 200 spots in it, with all the caches from N37 to N37 + (38-31)/200 affecting the first spot in the array. It's actually a double array, of course, so it's a square not a line.
GEODEBUG(5, "putting caches into bin buckets\n");
my ($x, $y, @results);
First the progress bar (too fast to see):
my $count = 0; my $next = 0; $self->setup_progress($set->num(), "Creating Density: analyzing waypoints");
And for each cache, we calculate the spot in the array. When we find it, we increase the count in that array spot by one. If multiple caches fall within an array spot, the array spot count will be higher.
$set->foreach( sub { $next = $self->set_progress($count++) if ($count >= $next); $x = int(($_[0]{'data'}{'lat'} - $minlat) * $binnumx / $latdiff); $y = int(($_[0]{'data'}{'lon'} - $minlon) * $binnumy / $londiff); $results[$x][$y]++; }); $self->stop_progress();
So, if that worked you would end up with an array of numbers, where the bigger numbers would mean more caches. Something like:
Now, what really happens is that there is a lot more zeros and the caches don't actually affect a huge grid very well. So, now we merge the spread array calculated above with the actual cache count we just performed.
So... To do this, we loop over the entire double array of just calculated cache counts. At each spot, we take the cache density number just calculated and multiple it by the 1s/0s in the circle array calculated even further back. Each sub-square in the just calculated density plot ends up affecting a spread by spread set of density sub-squares in a new array called @spreadresults.
my @spreadresults; my $maxcount = 0;
This time the progress bar is very visible, as this code is the slowest part of generating the KML file.... It takes about 10-15 seconds to generate a 200x200 grid on an average machine.
$next = 0; $self->setup_progress($binnumx, "Creating Density: Spreading Results");
Here we actually do the calculations. Loop over the x and y parts of the density plot first:
for (my $i = 0; $i <= $binnumx; $i++) { $next = $self->set_progress($i); for (my $j = 0; $j <= $binnumy; $j++) {
Then dive into the circle array for each output grid:
for (my $x = $i-$spread; $x <= $i+$spread; $x++) { for (my $y = $j-$spread; $y <= $j+$spread; $y++) {
If the circle spot is a 1:
if ($spread[$x - $i + $spread][$y - $j + $spread]) {
And if the indexes to the new array aren't outside the array boundaries:
if ($x >= 0 && $x <= $#results && $y >= 0 && $y <= $#results) {
Then add the density to the square in question.
$spreadresults[$i][$j] += $results[$x][$y]; } } } }
But we also need to know the maximum value of any density square calculated in this whole process. We'll need this later, which I'll explain then.
$maxcount = max($maxcount,$spreadresults[$i][$j]) } } $self->stop_progress();
Now, we can actually write out the results. We remember a bunch of options first though:
GEODEBUG(5, "Finally writting out results\n"); my $dump = $self->{'options'}{'dump'}; my $alt = $self->{'options'}{'altitude'}; my $extrude = $self->{'options'}{'extrude'}; my $opaque = $self->{'options'}{'opaque'}; $opaque = int(255*$opaque/100); my $linewidth = $self->{'options'}{'linewidth'}; my $dozeros = $self->{'options'}{'doempty'}; my $name = $self->{'options'}{'dataname'};
my $count; my $mode = $self->{'options'}{'densitymode'};
And then we create the density folder in the output file:
print $fh "<Folder><name>$name: Density Plot</name>\n";
And loop through the grid we calculated:
for (my $i = 0; $i <= $binnumx; $i++) { for (my $j = 0; $j <= $binnumy; $j++) { $count++; if ($spreadresults[$i][$j] > 0 || $dozeros) {
For each spot, we create a Polygone KML structure. The color of this structure is colored by the rainbow from red to purple. This is done by a percentage of the current square compared to the maximum we ever saw (IE, really sparse grids will still have a purple so purple is relative to the area being examined). HSV is the color mode where the HUE is the color, 0 being red, .8 or so being purple (1 would be all the way back to red again).
my $color = sprintf("%02x%02x%02x%02x", reverse(hsv_to_rgb((($maxcount == 0) ? 0 : .8*$spreadresults[$i][$j] / $maxcount)), $opaque));
Finally print the entire KML subsquare structure:
print $fh " <Placemark id=\"GeoCD$count\"> <name>GeoCD$count</name> <Style> <PolyStyle> <color>$color</color> </PolyStyle> <LineStyle> <width>$linewidth</width> <color>$color</color> </LineStyle> </Style> <Polygon id=\"poly$count\"> <extrude>$extrude</extrude> <tessellate>1</tessellate> <altitudeMode>$mode</altitudeMode> <outerBoundaryIs> <LinearRing> <coordinates> ";
Adding in the coordinates of the subsquare:
print $fh ($minlon+$j/$binnumy*$londiff , "," , $minlat+$i/$binnumx*$latdiff , ",$alt " , $minlon+($j+1)/$binnumy*$londiff , "," , $minlat+$i/$binnumx*$latdiff , ",$alt " , $minlon+($j+1)/$binnumy*$londiff , "," , $minlat+($i+1)/$binnumx*$latdiff , ",$alt " , $minlon+$j/$binnumy*$londiff , "," , $minlat+($i+1)/$binnumx*$latdiff , ",$alt " , $minlon+$j/$binnumy*$londiff , "," , $minlat+$i/$binnumx*$latdiff , ",$alt ", "\n"); print $fh " </coordinates> </LinearRing> </outerBoundaryIs> </Polygon> </Placemark>\n"; } } }
And close out the folder.
print $fh "</Folder>\n"; }
This is the function that converts HSV color structures to RGB:
sub hsv_to_rgb { my $h = shift; $h = $h * 6; my $s = 1; my $v = 1; my $i = int($h); my $f = $h - $i; if ($i % 2 == 0) { $f = 1 - $f; } my $m = $v * (1 - $s); my $n = $v * (1 - $s * $f); return ($v * 255, $n * 255, $m * 255) if ($i == 6 || $i == 0); return ($n * 255, $v * 255, $m * 255) if ($i == 1); return ($m * 255, $v * 255, $n * 255) if ($i == 2); return ($m * 255, $n * 255, $v * 255) if ($i == 3); return ($n * 255, $m * 255, $v * 255) if ($i == 4); return ($v * 255, $m * 255, $n * 255) if ($i == 5); }