text:
Sessions are automatically managed by PHP as long as you call session_start() at the top of every script which needs access to the session. However, many people don't know what actually happens when you call session_start().
When your script requests access to the session, PHP checks to see if the user passed in a cookie called PHPSESSID. If so, the value in the cookie (a 32-character unique hex string) is used as the filename to look up the user's actual session DATA from a temporary file on the server. That data is a plaintext string serialized into a format that PHP can turn back into the session array that you're familiar with already.
Of course, if there is not a PHPSESSID cookie in the user's cookie headers, one is created for that user and the cookie is set on their machine with an expiration time of zero (which means it persists until the window is closed). The data you put into $_SESSION is serialized and placed into the temporary session file when the script dies normally. Sessions will only fail to be written if the script comes to some catastrophic end, such as a segmentation fault.
NOTE: The serialization format PHP uses for session data is NOT the serialization format you get from the built-in serialize() function. The data that will be passed into your write() function will not be able to be parsed by any built-in function. If you need to store your data in some other format (if you need it to be readable by another programming language, for instance) then you will have to use the existing $_SESSION array directly. This is more memory and processor intensive so it should be avoided if possible.
Now the default PHP session management functions work just fine for most uses, and there is no reason to create a custom session handler if all you have is one server with a moderate amount of traffic and session use. However, remember that session data is stored locally on your server's hard drive. If you have more than one web server, obviously you will need to figure out another way to manage sessions so that the user's session can be restored regardless of which web server they hit. This is where PHP's session_set_save_handler() comes in handy.
Custom Session Handling – The Basics
Using session_set_save_handler(), you can set a custom function for every session operation (open, close, read, write, destroy, and garbage collection).
The "open" function works like the session's constructor. The open function will establish a connection to whatever storage location you choose to use for the session. For our purposes, we will be using a MySQL database, so the "open" function will he used to initialize the database connection.
The open function needs to accept two arguments. The first argument is the location to save the session file (a folder location) and the second is the name of the session file (the value of the PHPSESSID cookie). Even though your functions may not need those values, it still must accept them to avoid throwing errors.
The "close" functions works like the session's destructor. The close function will disconnect from the storage location and perform any cleanup operations other than garbage collection (which has its own function). For our purposes (and for most purposes) there is no need for a close function or a destructor. Any open database, memcache, or filesystem connections are closed when the script dies anyway.
The "read" function loads the session data from its storage location and returns a serialized string representing the serialized session data. Remember, the serialization function used by PHP for sessions is NOT serialize().
The read() function accepts a single argument, the session ID (the contents of the PHPSESSID cookie. A serialized string must be returned, which PHP will unserialize and place into $_SESSION. Even if you want to store your session data in another format, you must return a "php session serialized" string. More on this advanced technique later.
The "write" function is what actually stores the session data into the storage location. The write function accepts two arguments: the session ID and the session data (which is already a serialized string at this point). The session data being stored has to be accessible by the read() function, obviously.
The session "destroy" function is what gets invoked if session_destroy() is called by your scripts. Destroying the session involves simply deleting the serialized string your are storing in your storage location. Destroy() takes only one argument: the session ID (the value of the PHPSESSID cookie)
"GC" stands for "Garbage Collection," it is the function that clears out old stored sessions. It takes a single argument: the maximum session lifetime set in your php.ini file. Your garbage collection function should be designed to destroy ALL sessions older than the lifetime value. Using a self-expiring storage engine like memcache alleviates the need to have a garbage collection function at all, but permanent storage engines like databases and filesystems require cleaning up.
Using this basic framework, you can easily make a custom session handler that uses a specific file location. Check the PHP manual entry for session_set_save_handler() for a quick example of a very basic session handler. Naturally, since the default session handling built into PHP uses filed, the custom filesystem handler is not really all that handy.
Using a MySQL Database as a Storage Engine
By now you should be familiar with the basics of database access. The functionality we need for session management is INSERT, UPDATE, SELECT, and DELETE. First, we need to create a table to store the session data. Remember that the session garbage collection function requires a timestamp on the session data. Therefore, we need three columns in this table.
The session ID is a 32 character string. Normally you're probably used to a table's ID being numeric, like from an auto-incrememt column, but since PHP creates this string for you, use it as the primary ID. There is no real threat of collision. Make this field varchar(32)
The session contents are a string of variable length. Depending on how much data you plan to put into the session, it can be quite large. For this reason, the session contents should be a BLOB.
The most recent date the session was modified needs to be stored along with the session data so that the garbage collection function knows which sessions to destroy.
CREATE TABLE `sessions` (
`id` varchar(32) NOT NULL,
`contents` blob,
`modify_date` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `modify_date` (`modify_date`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
{mospagebreak title=PHP Session Handling Functions}
Now that we have the database table created, we need the session handling functions in PHP. Using a CLASS to set the session would actually be the more correct solution, but there is a problem with using classes to handle session management. The problem is, the write() function is called after the script finishes executing, which happens after the objects are already destroyed. Using a database object or a session handling object would mean trying to solve the chicken-and-egg problem of how to use an object after it's been destroyed. The PHP manual has tips on this problem, but to keep this article brief we'll be using standard functions in the global scope. Note that this is generally considered a sloppy way to go about things.
* Session Handling Functions using MySQL.
* simply include() this file at the top of any script you wish to use sessions in.
* As long as the table exists in the database, all sessions will be stored in that table.
* This file can be places onto multiple webservers running the same website and they will begin to share sessions between them.
* Open function is the constructor, it prepares the session connection
* @param string $savePath The storage location of the session. Unnecessary for our operations
* @param string $sessionId The ID of the session, unnecessary in the constructor for us
* @return bool
function open( $savePath, $sessionID )
// Declare a global session database connection.
global $sessionDB;
// Connect to the database
$sessionDB = mysql_connect( HOST, USER, PASS );
// If the connection was successful...
if ( $sessionDB )
// Select the proper database
mysql_select_db( DB, $sessionDB );
// return true so PHP knows it's safe to continue using the session
return true;
// If the connection failed, returning false from open() will prevent PHP from using the session since it's not working
return false;
* The close function destroys the open database connection.
* This function is unnecessary for our purposes, since open database connections are killed automatically by PHP at the end of scripts.
* However, to be explicit I'm including the proper contents here. Note that this function MUST EXIST, but could easily be empty.
* @return bool
function close( )
// Load the same global session database connection
global $sessionDB;
// destroy the database resource
mysql_close( $sessionDB );
// return true to indicate success
return true;
* The read function is what actually loads the session from the database.
* @param string $sessionID The 32-character session ID, from $_COOKIE['PHPSESSID']
* @return string
function read( $sessionID )
// Use the existing database connection created by open()
global $sessionDB;
// Build the SQL string to select the contents.
// Even though this is a system function, you MUST use mysql_real_escape_string because $sessionID comes from a user's cookie and may be malicious
$sql = 'SELECT contents FROM sessions WHERE id = "' . mysql_real_escape_string( $sessionID ) '"';
//execute the query
$rs = mysql_query( $sql, $sessionDB );
//if the query succeeded...
if ( $rs !== false )
// fetch the first (and only) row
$row = mysql_fetch_array( $rs );
// return the 'contents' field:
return $row['contents'];
// if the query did not succeed, return an empty string (which will unserialize to an empty array for a new session)
return '';
* The write function writes the existing session data to the database AND UPDATES the most recent timestamp
* @param string $sessionID The 32-character session ID, from $_COOKIE['PHPSESSID']
* @param string $sessionData The serialized contents of the session
* @return bool
function write( $sessionID, $sessionData )
// Use the existing database connection created by open()
global $sessionDB;
// pre-format the variables for mysql since we use them twice:
$sessionID = mysql_real_escape_string( $sessionID );
$sessionData = mysql_real_escape_string( $sessionData );
// Build the SQL statement. Note that since we have the session ID set up as a primary key, we can use the INSERT ... ON DUPLICATE KEY UPDATE syntax:
$sql = 'INSERT INTO sessions (id, contents, modify_date) VALUES ("' . $sessionId . '", "' . $sessionData . '", NOW() ) ' .
'ON DUPLICATE KEY UPDATE contents = "' . $sessionData . '", modify_date = NOW()';
// execute the query. If successful, return true
if ( mysql_query( $sql ) )
return true;
// query failed, return false:
return false;
* Destroys the session ID passed in whenever session_destroy() is called by your scripts
* @param string $sessionID The 32-character session ID, from $_COOKIE['PHPSESSID']
* @return bool
function destroy( $sessionID )
// Use the existing database connection created by open()
global $sessionDB;
// Build the SQL string to delete the contents.
$sql = 'DELETE FROM sessions WHERE id = ' . mysql_real_escape_string( $sessionID );
// execute the query. If successful, return true
if ( mysql_query( $sql ) )
return true;
// query failed, return false:
return false;
* Garbage collection happens at random, and destroys ALL sessions older than the lifetime passed in (in seconds)
* @param int $sessionMaxLifetime The maximum lifetime (in seconds) of sessions in your storage engine
* @return bool
function garbageCollect( $sessionMaxLifetime )
// Use the existing database connection created by open()
global $sessionDB;
// process sessionMaxLifetime, even though it should be trusted from php.ini
$sessionMaxLifetime = intval( $sessionMaxLifetime );
// Build the SQL string to delete the contents.
$sql = 'DELETE FROM sessions WHERE modify_date < DATE_SUB( NOW(), INTERVAL ' . $sessionMaxLifetime . ' seconds )';
// execute the query. If successful, return true
if ( mysql_query( $sql ) )
return true;
// query failed, return false:
return false;
// once all the functions are delcared in the global scope, we can initiate the session handling in PHP:
session_set_save_handler( 'open', 'close', 'read', 'write', 'destroy', 'garbageCollect' );
{mospagebreak title=Advanced PHP Session Techniques}
Note that there are a number of ways to improve this process. First, putting all these functions into a session handling class would alleviate the risk of accidentally overwriting the $sessionDB variable or misuse of the session functions themselves.
Second, this technique doesn't make use of any kind of caching. Clearly, a session which is being actively used will need to be fetched from the database every single time there's a page load. Adding a layer of memcache (or using memcache exclusively) would speed up this process significantly.
Third, and most important for very complex organizations, is the fact that this technique still uses the PHP default session serialization format, which is not compatible with other programming languages. Now that your sessions are in a database, you should be able to crawl the database and examine the sessions using some kind of daemon in C, Python, or whatever language your organization uses for such tasks. However, due to the restrictive nature of the serialization format, you can't do that. Look into session_encode and session_decode for ways of potentially handling that, but note that session_encode does not accept an argument, it operates directly on $_SESSION and your custom session functions will still return data that will overwrite the current contents of $_SESSION.
Using the technique above (indeed, simply copying and pasting the code) will allow you to split your website across multiple servers and still allow a user to maintain their session regardless of which server they connect to. Putting your sessions in a database also allows you greater control of when garbage collection happens and is more reliable than straight filesystem access, especially for large numbers of sessions.


text:
AuthenTec sells out to Apple to the sound of 1,000 lawsuits
Directors hounded for not hawking the business to Samsung
Luring in the devs
This included some 23 patents as well as hardware products, and when it bought them, these were seen as simply decryption accelerators for many forms of security processing. AuthenTec has spent time extending the crypto hardware into a full trusted island inside silicon called SafeZone, a secure execution environment for handsets and tablets. This can be dropped into the Apple A6 and successor chips designed by Apple which drive its core iOS product lines, making them secure overnight.
If Apple then offered these hooks to its development community, HD video could be as safe as on a TV, or safer. Apple could offer this to any number of processes, DRM for video delivery, VPN for enterprise security, and potentially it could go beyond this to replacing the heart of security in financial transactions and in identity management (so SIMs). Other areas it has been focused on are as a secure OS boot to avoid OS roll-back attacks, a secure real time clock for date and time enforcement, random number generator and a safe asset store. The Cores can process AES, triple DES and ARC4 decryption with acceleration logic, all in a low power, small, silicon footprint.
It can be included in any Application Processor SoC and used like most hardware security systems, such as a conditional access smart card, to underpin both a DRM and a VPN. These cores only talk only through an email gateway to each other and to other application processor cores. It has already been sold into a number of LG Android devices and is used in Motorola Droids and in NEC devices in Japan.
AutheTec bought 23 patents from SafeNet to apply to security core designs. The core was implemented on SoCs built in 90 and 65 nanometer geometry and when we last looked was being worked on for both 45 nm and 40 nm chips, although the design of course is independent of any silicon process.
We made quite a fuss in Faultline when a similar, perhaps even more sophisticated, design was put into the major set top chips at Broadcom and ST Micro last year, but this was one designed by Cryptography Research which it called its CryptoFirewall. That company told us at the time that discussions were continuing with other set top chip makers and reluctantly confirmed that it was in advanced discussions with providers or Applications Processors for tablets and smartphones.
We thought at the time it meant Qualcomm, Nvidia and Marvel, who are thinking about licensing the core, and always felt Apple was unlikely to do so. We argued that as tablets come to handle HD video content, Hollywood is going to insist on content protection having a hardware base, and not simply use code Obfuscation and authentication seen in software hardened, downloadable DRMs. Another fact which drives the adoption by Apple of some form of security, capable of securing HD video from professional pirates, is the fact that the new shipping release of the latest Apple MAC OS, code named Mountain Lion, finally offers AirPlay Mirroring for both HD video and games, working in conjunction with the Apple TV product.
Keeping an eye on ARM
If you can openly mirror HD streams from the iPad to the TV, the Mac to the TV and an iPhone to a TV, and these are 1080p streams, then you'd better be sure the latest movies on any of these devices cannot be pirated, otherwise Hollywood will get might upset and take video capability away from you. It could be that there is a happy coincidence here of Apple getting a bunch of technologies that it wants for a number of projects, all at once?
But would it pay substantially more than it paid for PA Semi-conductor, which designs its A6 chips ($278m) to provide it merely with an access technology (fingerprint sensor). We don't think so and think that the real play here is to differentiate and retain control of hardware security on its devices, in direct response to ARM working a deal with Gemalto and Giesecke & Devrient, to bring a genuine security system onto the cores which all ARM licensees can adopt. That deal was announced in April and it will take about a year before a security core will emerge from it, and by buying AuthenTec, Apple leapfrogs this move.
Apple's new Mac OS can now stream HD content using AirPlay Mirroring It is the embedded devices division at AuthenTec, which includes both the SafeZone project and the software only DRM, and it is this division which has had all the revenue increases lately, and what has brought the company to the attention of Apple.
One thing announced in the deal which supports this is that Apple says that it has also entered an Intellectual Property and Technology Agreement which provides Apple with the right to acquire non-exclusive licenses "with respect to hardware technology, software technology and patents" of the company. That would not apply if the company is successfully sold, since Apple could sign any deal it likes with a company it owns 100 per cent. So this is more about protecting the rights to a key Apple launch, with an licence agreement in case anything goes wrong with the acquisition. It pays $20m for the privilege, and has 270 days at its sole discretion, to buy that licence for which it will pay $115m.
The mention of hardware we think refers to the SafeZone core, but may equally refer to fingerprinting hardware. It can't however refer to the software-only DRM download. Apple is also paying $7.5m for some product development, so it looks like Apple is in a hurry to build something, probably to come out in one of its next launches. As we say it could conceivably refer to an implementation of the fingerprinting technology, perhaps on a touchscreen, but our bet is that the SafeZone core will appear inside an Apple device quite soon. New intellectual property resulting from this work will be owned, it says, by Apple.
Meanwhile on the back of this we saw at least four separate legal moves begun within days of the deal being announced, to prevent it and insist that the board of directors hawk the property around to more potential buyers. Samsung is clearly the other company that investors want to see bidding on this property because last month it too took a license to AuthenTec's VPN QuickSec Mobile VPN Client for Android, deemed to be for enterprise phone use.
The class action legal eagles think that this contract would mean that Samsung would counterbid if there was permission for AuthenTec to reach out to it. We don't think it would and anyway we think the Apple deal is watertight, complete with the "no shop" restriction. Suits or investigations have been filed by Rigrodsky & Long of New York; Ryan & Maniskas of Pennsylvania; Faruqi & Faruqi of New York and Levi & Korsinsky of New York and Washington, to name but a few.
Copyright © 2012, Faultline
Faultline is published by Rethink Research, a London-based publishing and consulting firm. This weekly newsletter is an assessment of the impact of the week's events in the world of digital media. Faultline is where media meets technology. Subscription details here.

subset: commoncrawl


text:
In President Ma Ying-jeou's (馬英九) inauguration address he talked about "enhancing the drivers of economic growth," emphasizing that it was important to "speedily complete follow-up talks under the cross-strait Economic Cooperation Framework Agreement [ECFA]." Ma also said he would "expedite negotiations on economic cooperation agreements with important trading partners like Singapore and New Zealand." However, these two policies expose the contradictions inherent in the Ma administration's overseas trade strategy.
Because of the age-old political sovereignty dispute, China continues to obstruct Taiwan's attempts to sign free-trade agreements (FTAs) with other countries in an effort to isolate the nation economically.
In addition, follow-up ECFA talks on a bilateral investment agreement aimed at guaranteeing investments have been delayed by disagreements over dispute resolution mechanisms, jurisdiction and place of arbitration, all of which involve sovereignty.
Meanwhile, China has negotiated and signed duty-free FTAs with the ASEAN, Japan, South Korea and other countries, which has turned the ECFA into an empty framework, leaving no room to offer Taiwan further benefits from the agreement.
Take, for example, data running from January to last month. These show that exports from Taiwan to China dropped by 6.1 percent, while South Korean exports increased by 4.3 percent during the same period. For Taiwan, the ECFA is nothing but an agreement to become a economic colony of China.
Even more concerning, the government has misjudged the changes in China's economic situation. If Taiwan continues to invest in China, it will be tantamount to putting all the our eggs in one basket, and a broken basket at that.
China, which joined the WTO more than a decade ago, is still reluctant to use research, development and innovation to upgrade its industry. Instead it is dumping duplicated cheap goods in both the European and US markets. This month, the US Department of Commerce decided to impose high anti-dumping tariffs of between 31.22 and 250 percent on companies importing solar power batteries from China, and that was just one of many punitive measures.
In addition to US sanctions on Chinese exports, Europe's purchasing power has fallen as a result of its debt crisis. Unable to rely on the European and US markets, Beijing is now trying to switch from an export-oriented economy to an economy oriented toward domestic demand.
However, China's domestic market also faces three major issues. First, increasing wages means that it is becoming less competitive as a factory to the world. Second, its wealth gap is too wide and its middle class is still not large enough to support the domestic market. Third, local government suffers from severe corruption problem at every level.
According to a March report released by the American Chamber of Commerce in Shanghai, commencing this year, some foreign companies in China are adopting a "China plus one" strategy when establishing factories. This means that, in addition to their factories in China, they are establishing other plants in Southeast Asian countries. If everything goes well in the alternate nations, they may even relocate their factories from China wholesale. This development has been well received by the ASEAN countries.


text: This classic three-masted topsail schooner built in Aberdeen, Scotland by John Lewis & Sons and launched in year 1967 arrived at our shipyard for thorough refitting works during which this former STS will be converted into luxurious private yacht. Malcolm Miller received completely new deck layout with new elegant wheelhouse. Currently the works are in progress and their completion is planned for Summer 2014.


text:
In Design
Augusta County - Route 262 (Woodrow Wilson Parkway) at Route 613 (Spring Hill Road)
|Interchange Improvement
Project Photos
Project at a Glance
Right of way activities began summer 2013
Estimated Cost – $4,352,356 for completion of design and right of way
Lengths and Limits
1.0 mile long; From: 0.5 mile west of Route 613 To: 0.5 mile east of Route 613
Thomas Marando, P.E.
Project Details
This project is located at the intersection of Route 262 (Woodrow Wilson Parkway) and Route 613 (Spring Hill Road) in Augusta County. The project is part of the planning process to redesign the Route 262 and Route 613 intersection to feature a diamond interchange.
In the later portion of the 1990s the City of Staunton, Augusta County and the Virginia Department of Transportation completed a Route 262 corridor evaluation for potential safety improvements. The Route 262 and Route 613 intersection was listed as the top priority following multiple crashes. The proposed project creates a diamond interchange at this location.
This project will complete the design phase and right of way purchases that need to be accomplished prior to construction, which is not currently funded.
The project is located on the boundary between the City of Staunton and Augusta County. Route 262 is a limited access highway with mostly grade separated interchanges. Route 262 was constructed as a two-lane road on a four-lane right of way with the proposed future two lanes north of the exiting lanes.
Currently Route 262 at Route 613 is an at-grade intersection. Route 262 has dedicated right and left turn-lanes and Route 613 has dedicated right turn lanes. The speed limit on Route 262 is 55 miles per hour and on Route 613 it is 35 miles per hour with rumble strips and a flashing red light at the Route 262 intersection.
The proposed improvements include a grade-separated diamond interchange, which is anticipated to greatly improve the roadway's safety. The improvements are not associated with any other projects along the Route 262 corridor, but will be designed to allow for future widening of Route 262. The new interchange will span the ultimate four-lanes of Route 262. The new Route 613 overpass will be approximately 130 feet east of the existing intersection. A shared use path is not included in the design. The bridge will have space to accommodate any future construction of a shared use path.
The new location will improve the alignment of Route 613 and facilitate maintenance of traffic while the project is being built.
During construction some work would be limited to nighttime hours to reduce impacts on the traveling public. Once the project is complete, the interchange should improve the safety for all travelers in the area by removing high speed collision points.
Route 613 north of Route 262 currently has 1,955 vehicles per day and has 3,036 vehicles per day south of Route 262. By the year 2037 the traffic counts are anticipated to be 2,609 vehicles per day north of the intersection and 4,052 vehicles per day south of the intersection.
The total estimated cost for the design and right of way completion for this project is $4,352,356, including $435,000 for preliminary engineering, $3,917,356 for right of way. Estimated costs for construction will be calculated in the future.
Project Location (latitude, longitude): 38.186944, -79.060278
What's Next
Design plan approval: early 2012
Right of way activities: summer 2013
Construction: Currently unfunded
Media and Public Events
Design Public Hearing
Thursday, November 17, 2011, 4-7 p.m.
Augusta County Government Center
18 Government Center Lane
Verona, VA 24482
Benefits of Project
The new location will improve the alignment of Route 613 and facilitate maintenance of traffic while the project is being built. Once the project is complete, the interchange should improve the safety for all travelers in the area by removing high speed collision points.
During Construction
During construction some work will be limited to nighttime hours to reduce impacts on the traveling public. Motorists should be alert for lane closures and flagging operations.
Project Numbers
State Project: 0262-007-790, P101, R201
Federal Project: HPP-007-8(075)


text:
A resource for middle school language arts, math, science, social studies, health and physical education teachers; health and physical education directors, supervisors, chairs and administrators; and university faculty who teach physical education or health.
Jill Carter, MA, EdM, is wellness coordinator for Boston Public Schools. For the past 10 years, she has worked on curriculum development, implementation, training, and research of school-based nutrition and physical activity programs. From 1996 to 1997 she was the curriculum development coordinator for the School-Based Wellness Initiative in the department of health and social behavior at the Harvard School of Public Health. Ms. Carter's years of experience as a high school and middle school science teacher provided her with the experience to design a curriculum that encourages active, inquiry-based learning across multiple disciplines. She earned her master of education degree in teaching and curriculum from Harvard University and her master of arts degree in exercise physiology from the University of Iowa.
Jean Wiecha, PhD, is a senior research scientist for the Harvard School of Public Health. Dr. Wiecha's research focuses on improving children's nutrition and physical activity habits. She has been working in the field for over 20 years and has published numerous studies on child nutrition and prevention of obesity. From 1994 to 1997, as a project director for the School-Based Wellness Initiative in the department of health and social behavior at the Harvard School of Public Health, she managed the federal research grant to develop, implement, and evaluate Planet Health. Dr. Wiecha earned her doctoral and master of science degrees in human nutrition from Tufts University.
Karen E. Peterson, ScD, is an associate professor of nutrition in the departments of nutrition and of society, human development and health at the Harvard School of Public Health. As director of public health nutrition, she oversees a program of translational research and graduate training focused on solving nutrition-related public health problems through leadership, innovation, and partnership. She draws from 15 years of experience counseling and administering nutrition services for children in clinical, community, and state health care settings. Dr. Peterson was coprincipal investigator of the Planet Health intervention trial. She earned her doctorate in nutrition from the Harvard School of Public Health.
Suzanne Nobrega, MS, is an independent project consultant in health communications and is project manager for a worksite health promotion intervention study. Both her master of science and bachelor of science degrees are in nutritional science, and she has over 15 years of experience in program management and materials development for health promotion programs aimed at children and families.
Steven L. Gortmaker, PhD, is a senior lecturer in the department of health and social behavior at the Harvard School of Public Health and principal investigator and director of the Harvard Research Prevention Center. He was also principal investigator of the Planet Health intervention trial. For the past 20 years, he has researched and practiced in the areas of children's nutrition and physical activity and has published more than 80 research articles. He was involved in early studies to document the increase of obesity in young people and television viewing as a cause of obesity. He earned his doctorate in sociology from the University of Wisconsin at Madison.
Get the latest news, special offers, and updates on authors and products. SIGN UP NOW!
About Our Products
Book Excerpts
News and Articles
About Us
Career Opportunities
Business to Business
Author Center
HK Today Newsletter
Exam/Desk Copies
Language rights translation
Associate Program
Rights and Permissions
Certifying Organizations
Continuing Education Policies
Connect with Us
Terms & Conditions
Privacy Policy
Safe Harbor


text:
Police looking for who's behind Saturday bomb scare at Wal-Mart in RochesterBy John Quinn
Union Leader Correspondent
March 10. 2013 9:57AM
ROCHESTER – No one was injured after the local Wal-Mart was evacuated due to a possible hoax Saturday night.
Police, firefighters and emergency personnel responded at 9:39 p.m. after receiving a report that there was an explosive device in the store or its parking lot at 116 Farmington Road.
By the time authorities arrived, the store's staff and customers had already evacuated.
Investigators believe two men in a black SUV "announced the information of the possible explosive device in the parking lot over some sort of speaker system," according to police.
Local police and members of the New Hampshire State Police Bomb Squad K-9 team searched the building and around the parking lot, but did not locate any explosives. As a result, the store was turned back over to management, according to police.
Police continue to investigate the matter.
Anyone with information can contact Officer Justin Seckendorf at (603) 330-7128. Anonymous tips may be submitted to Rochester Crime Line at (603) 335-6500 or via text at: CRIMES (274637) Body of Text: TEXT4CASH + your tip. Cash rewards are offered for information that leads to an arrest.


text:
As you may have heard, PHP 5 introduces the "__autoload()" magic function within its improved object model. This function can be very useful for loading automatically all of the source classes required by your object-oriented applications. Of course, this feature can be a real time saver if you frequently work with classes during the development of your web projects. So if you're interested in learning how to put this handy function to work for you with minor hassles, then this series of articles might be what you're looking for.
Now that I've introduced you to the main subject of the series, I'm going to spend a few moments refreshing the topics that were covered in the preceding article. This will help you understand much more easily how that tutorial links with this one.
As you'll surely recall, during the previous part of the series, I guided you through the process of using the "__autoload()" magic function that comes with PHP 5 to facilitate the inclusion of all the source classes required by a certain PHP application that uses the object-oriented paradigm to work as expected.
Specifically, in that article I showed you how to implement a simple database-driven application whose primary goal was to fetch some basic data from an "Users" MySQL database table. The application would then display this information on the browser using a couple of MySQL processing classes.
Of course, as you might recall, the most important thing to highlight here is that I demonstrated by means of two illustrative code samples how to load the respective source classes required by the database-driven application. We used a couple of conventional PHP 5 includes first, and then I showed you how to utilize the capacity of the handy "__autoload()" magic function.
Undoubtedly, this function makes it really easy to include automatically into client code all the classes that are required by a concrete object-based application. Assuming that the "_autoload()" magic function has been adequately implemented, there's no need to use multiple includes to accomplish this task. Whether you're including one or ten classes into a specific script, the function will perform the inclusion task neatly.
So far, I have refreshed the basic concepts surrounding the utilization of the "__autoload()" magic function in the context of a simple database-driven application, which hopefully will provide you with the right pointers to start using it within your own PHP projects as soon as possible. However, it should be noted that the PHP manual says that any exceptions thrown by this function during its execution simply won't be caught by a "try-catch()" block. This could be rather problematic, particularly if you use to build PHP 5 applications that include exception-based error handling modules.
Thus, bearing in mind this intrinsic limitation exposed by the "__autoload()" magic function when it comes to triggering exceptions at runtime, in this second article of the series I'm going to show you some basic workarounds that you can implement to provide this function with the ability to throw exceptions when a determined source class fails to be included.
So, let's not waste more time in preliminaries and learn together how to expand the native functionality of the "__autoload()" magic function. Let's get started now!
{mospagebreak title=Two examples of the _autoload() PHP 5 function}
Before I show you how to implement a basic error handling mechanism that works in conjunction with the "__autoload()" PHP 5 magic function, first I'd like you to recall the respective signatures of the two examples that I built in the previous articles of the series. As you recall, the first one showed how a primitive database-driven application used a couple of "require_once()" PHP functions to load into client code all of its source classes, and the second case performed this same task, but this time using the "__autoload()" function.
Having said that, I'm going to start listing the definitions of the two MySQL processing classes that I used with the examples, which resided on different files. The first of these classes was called "MySQL," and was stored on a "mysql.php" file. It was defined in the following way:
(definition of mysql.php file)
class MySQL{
private $host;
private $user;
private $password;
private $database;
private $connId;
// constructor
function __construct($options=array()){
throw new Exception('Connection options must be an array');
foreach($options as $option=>$value){
throw new Exception('Connection parameter cannot be empty');
// private 'connectDb()' method
private function connectDb(){
throw new Exception('Error connecting to MySQL');
throw new Exception('Error selecting database');
// public 'query()' method
public function query($sql){
throw new Exception('Error running query '.$sql.' '.mysql_error());
return new Result($this,$result);
Now that you have seen the definition of the PHP file that housed the previous "MySQL" class, please take a look at "result.php," which contained another class, named "Result":
(definition of result.php file)
class Result{
private $mysql;
private $result;
// constructor
public function __construct($mysql,$result){
// public 'fetch()' method
public function fetch(){
return mysql_fetch_array($this->result,MYSQL_ASSOC);
// public 'count()' method
public function count(){
throw new Exception('Error counting rows');
return $rows;
// public 'get_insertId()' method
public function getInsertId(){
throw new Exception('Error getting insert ID');
return $insId;
// public 'seek()' method
public function seek($row){
throw new Exception('Invalid row parameter');
throw new Exception('Error seeking row');
return $row;
// public 'getAffectedRows()' method
public function getAffectedRows(){
throw new Exception('Error counting affected rows');
return $rows;
So far, so good. At this point you hopefully recalled the respective signatures of the two source classes listed above, so take a close look at the following hands-on examples. The first one uses a pair of simple PHP includes to load these classes into client code, and the final one utilizes the "__autoload()" function instead to do this.
Here are the corresponding code samples:
(example using conventional PHP includes)
// include required classes
require_once 'mysql.php';
require_once 'result.php';
// connect to MySQL
$db=new MySQL(array
// fetch users from database table
$result=$db->query('SELECT * FROM users ORDER BY id');
// display user data
echo 'Id: '.$row['id'].' First Name: '.$row['firstname'].' Last Name: '.$row
['lastname'].' Email: '.$row['email'].'
';
catch(Exception $e){
echo $e->getMessage();
// example using the magic '__autoload()' function
function __autoload($className){
require_once $className.'.php';
// connect to MySQL
$db=new MySQL(array
// fetch users from database table
$result=$db->query('SELECT * FROM users ORDER BY id');
// display user data
echo 'Id: '.$row['id'].' First Name: '.$row['firstname'].' Last Name: '.$row
['lastname'].' Email: '.$row['email'].'
';
catch(Exception $e){
echo $e->getMessage();
As you can see, the above examples look nearly the same, at least when analyzed superficially. However, you'll notice that the last code sample uses the handy "__autoload()" function to include the respective "MySQL" and "Result" classes that you saw before. Of course, the major advantage in utilizing this function is that it allows you to easily load multiple classes behind the scenes, without having to explicitly declare several "require_once()" PHP functions. Quite convenient, right?
Now that I provided you with two comparative examples of loading source classes onto a basic database-driven application using well-differentiated approaches (naturally, both are valid), it's time to see how to improve the existing capacity of the "__autoload()" magic function. Our next step will be incorporating a simple error handling mechanism into it, which can be useful for triggering different errors when a given object-oriented application fails to include a certain source class into client code.
To see how this error processing capability will be added to the "__autoload()" function, please click on the link that appears below and keep reading.
{mospagebreak title=Triggering fatal errors with the _autoload() PHP 5 function}
As I explained in the introduction of this article, if an exception is thrown during the execution of the magic "__autoload()" function, it simply won't be caught by a "try-catch()" block, as you'd normally expect with other PHP native functions. Most likely, the function in question will trigger a fatal error instead, if for whatever reason, a source class can't be included into client code.
But this is only a theory, so see for yourself what happens when the file that contains the previous "Result" class is not available to be included into the sample script that you learned before:
(in this example the "result.php" file is not available)
function __autoload($className){
require_once $className.'.php';
// connect to MySQL
$db=new MySQL(array
// fetch users from database table
$result=$db->query('SELECT * FROM users ORDER BY id');
// display user data
echo 'Id: '.$row['id'].' First Name: '.$row['firstname'].' Last Name: '.$row
['lastname'].' Email: '.$row['email'].'
';
catch(Exception $e){
echo $e->getMessage();
// Fatal error: __autoload() [function.require]: Failed opening required 'Result.php' (include_path='.;include/path/) in path/to/file
As you can see, the above hands-on example demonstrates in a nutshell what happens when one of the source classes (in this case, the one called "Result") required by the previous script isn't available to be included into client code. In simple words, the script will complain about this problem by triggering a fatal error similar to the one show before.
Undoubtedly, from a programmer's point of view a crude fatal error might not be the best option when it comes to handing a failure that happened when trying to include a specific source class. So, is there a more efficient and elegant solution to deal with this type of error when using the "__autoload()" function? Fortunately, the answer to this question is an emphatic yes!
As you'll see in the section to come, it's possible to implement a simple workaround which will make this function throw an exception when, for whatever reason, it fails to load a determined source class.
To learn how this workaround will be developed, please go ahead and read the last section of this article. We're almost done!
{mospagebreak title=Developing a simple mechanism to throw exceptions}
In accordance with the concepts I deployed in the previous section, it's perfectly feasible to implement a simple workaround that provides the handy "__autoload()" function with the ability to throw an exception when one source class can't be loaded onto a given PHP 5 application.
This rather tricky solution consists of creating the troubling class via an "eval()" command, and then explicitly throwing an exception. Logically this concept will be better grasped if you take a close look at the following example. Here it is:
// include required classes (the magic '__autoload()' function now throws an exception when some of the required classes are not found)
function __autoload($className){
eval("class $className {}");
throw new Exception('Class not found');
require_once $className.'.php';
// connect to MySQL
$db=new MySQL(array
// fetch users from database table
$result=$db->query('SELECT * FROM users ORDER BY id');
// display user data
echo 'Id: '.$row['id'].' First Name: '.$row['firstname'].' Last Name: '.$row
['lastname'].' Email: '.$row['email'].'
';
catch(Exception $e){
echo $e->getMessage();
As shown above, the "__autoload()" magic function has been implemented by using the workaround that I mentioned before. As you can see, the function first check for the existence of the files that contain the corresponding source classes, and if this process fails for some reason, it tries to create the problematic class using the "eval()" function. Finally, the function throws an explicit exception, in this way implementing a basic error handling mechanism. Nothing too complex, right?
Besides, if you first remove the pertinent "mysql.php" file and test the prior example on your own web server, you'll get an error similar to the one shown below:
Fatal error: Function __autoload(MySQL) threw an exception of type 'Exception' in path/to/file
Indeed, this is an advance with reference to the raw fatal error that you saw earlier. As you can see, the "__autoload()" function now is capable of launching an exception, although it still won't be caught by a "try-catch()" block.
However, that's all the code samples that I'm going to show you for the moment. I recommend that you test all of the examples developed in this tutorial to see how they react when a source class can't be loaded as expected. It's an instructive experience, trust me.
Final thoughts
In this second installment of the series you hopefully learned how to implement a simple workaround within the handy "__autoload()" magic function to incorporate into it the capacity to throw exceptions when a specific source class is not included. Nonetheless, this quick and dirty exception mechanism isn't completely functional yet, since a conventional "try-catch()" block won't be able to intercept these exceptions.
However, this issue will be fixed in the next part of the series, so I hope to see you there!


text:
Jacob Blacksten, a freshman in the University of Delaware's Associate in Arts Program (AAP) and a state 4-H member, won the 2012 world championship in Microsoft PowerPoint at a competition held in Las Vegas earlier this summer.
Backsten is the first American to win this event, which attracted more than 285,000 candidates from 53 countries who competed to demonstrate their mastery of Microsoft Office products.
In the final round, 113 student finalists participated. Separate events were held in Microsoft Word, Excel and PowerPoint programs.
Blacksten won a $5,000 scholarship from Certiport, Inc., in recognition of his accomplishment.
The 18-year-old is a member of the Westville 4-H Club. The past two years he has served as club president.
A graduate of Caesar Rodney High School, Blacksten is a freshman in UD's Associate in Arts Program at the Delaware Technical Community College campus in Dover through the state's SEED (Student Excellence Equals Degree) scholarship program.
Blacksten's road to becoming the PowerPoint champion began last February as a member of the Business Professionals of America (BPA) program at Caesar Rodney High. After winning a BPA competition at school, he advanced to a national event in Chicago and finally, the world championship in Las Vegas.
"My experiences in 4-H over the years have helped me achieve in other areas of my life, including at this competition," says Blacksten. "I've participated in 4-H public speaking competitions that have increased my ability to stay cool under pressure."
"Out in Las Vegas I wasn't really sure I had done that well," adds Blacksten. "When they announced my name as the winner I sat in shock for maybe 30 seconds. I couldn't believe I had won."
Blacksten is unsure of his career plans but is leaning toward majoring in engineering with a minor in business.
Article by Margo McDonough
This article can also be viewed on UDaily.


text:
Message Board
Julien Glazer Message Board
Talk about the novels, new and used books that Glazer has written!
Author Glazer's Book Reviews
The Trouble with Cephae
If you enjoyed reading John Wyndham's �The Day of the Triffids' or �The Trouble with Litchen' then Julien Glazer's �The Trouble with Cephae' is the book for you. Uninhibited by the social restrictions of Mr Wyndham's day, Mr Glazer explores the rather strange sexual behaviour of both humans and Cephae. In this racy yarn the Cephae are a species of intelligent, witty and well dressed land-based octopus. They are however, plagued with a reproductive anomal...


text:
WASHINGTON (AP) — President Barack Obama is thanking White House aides and his re-election campaign staffers at the final celebration of his inauguration.
Obama told thousands of guests at his staff ball Tuesday night that they represent, in his words, his "deepest hopes for America." He said he knows the nation's future is in good hands.
First lady Michelle Obama, wearing a silver and black ensemble, echoed the president's campaign-year chant of "fired up, ready to go."
Pop icon Lady Gaga and singer Tony Bennett were providing the entertainment.
Proceeds will support a memorial fund for Alex Okrent, a campaign worker who collapsed and died at Obama's campaign headquarters in July.


text:
Potomac State to Add Four New Sports Fall 2014, to Begin Enhancements to Athletic Facilities
Potomac State College of West Virginia University Athletic Director Shawn White announced today that the College will be adding four new athletic programs to its current line-up including men's and women's lacrosse and men's and women's cross country.
"The addition of these sports will continue the growth and excitement for athletics at the College," said White. Potomac State's athletic department currently consists of seven sports including women's basketball, soccer, softball, and volleyball and men's baseball, basketball, and soccer. Combined, there is approximately 150 student athletes. "We're expecting with the addition of these four new sports, our total could jump to more than 200 student athletes."
White says his research shows that lacrosse is the fastest growing sport in the nation. "A lot of thought, time and effort went into this decision regarding cost, travel and the ability to recruit students and coaches to Potomac State. I believe with the strong tradition and history of our athletic department, these programs will eventually gain regional prominence." The College plans to recruit from lacrosse hotbeds on the east coast reaching from New York to Virginia.
In regards to cross country, White believes the campus layout offers the perfect setting for a cross country course. "I can see us hosting NJCAA regional events in the future."
Fundraising efforts will begin soon to upgrade Stayman Field with artificial turf and lights and renovate the current field house to better support lacrosse, men's and women's soccer and intramural events.
Additional fundraising efforts will help build a new club house with public restrooms, concession stand and locker rooms as well as adding a press box and grandstands at Golden Park, home of the College's nationally recognized baseball team.
"I'm pleased that we're pushing our athletic offerings and facilities forward to the next level," said Campus Provost Leonard Colelli. "These enhancements will not only provide more opportunities to showcase our student athletes but also help the College's recruitment and retention efforts."
A search for lacrosse and cross country head coaches will begin immediately and once hired, the coaches will spend the remainder of the 2013-2014 academic year recruiting.
White concluded, "this is another exciting time for Potomac State, if anyone would like to be a part of the fundraising efforts to help bring these projects to fruition, please contact me at 304-788-6879 or email@example.com.'


text:
Feb, 7, 2011
BOSTON — The Massachusetts Alzheimer's Association is pushing for new legislation that would create a specialized group within the executive office of elder affairs to coordinate the state's approach to the disease.
Last month, President Obama signed the National Alzheimer's Project Act into law. The measure would create an office and advisory group to coordinate national efforts to deal with the disease.
|Genevia Samuel and Mabel Weisenberger eat breakfast at a weekend camp for people with Alzheimer's, sponsored by a program in San Franciso. (Cindy Carpien/NPR)
James Wessler, the president of the Massachusetts Alzheimer's Association, would like to see a similar law on the state level.
Wessler says that while the National Alzheimer's Project would specialize in research and treatment, a state Alzheimer's project would focus on improving the quality of life for Bay State residents caring for relatives with Alzheimer's.
He says the state needs a plan, and a point-person to execute it, for dealing with the many challenges Alzheimer's poses to patients, families and doctors.
"How can we support families? How can we help employers that have workers that are in the middle of taking care of someone are leaving valuable work time? How can we improve the quality of care provided by aides that work in nursing homes, and social workers and physicians?" Wessler asked.
The National Alzheimer's Association estimates that there are more than 100,000 people with Alzheimer's living in Massachusetts -- a number that's expected to soar in the coming years as the baby boomers age. Wessler says the state needs to start strategizing now.
"There's a lot of work that the state has responsibility for to step up to the plate to make sure we're prepared as the onslaught of the numbers of families with Alzheimer's disease will be descending on us in oncoming decades," Wessler said.
A bill to create a Massachusetts Alzheimer's Project was filed last month, but has not been filed to a committee.
Sign-up for WGBH News updates, WGBH promotions, and previews of what's coming up on WGBH TV.


text:
Matchmaker.com provides great new features for contact single Story men. Use our icebreaker feature to let Story guys know you are interested in getting to know them a little better. There are thousands of Story men in your area so create a free profile today.
StoryJoin Now Free!
Story | Story Girls | Story Gay | Story Lesbians
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
More Story Links:
Senior Dating | Catholic Dating | Christian Dating | Muslim Dating
Black Singles | Asian Singles | Latin Dating
While Story men and women in Story might find dating to be more annoying than nice, it'simportant to get past this by breaking the ice. Write an introductory email that's worthy of a response, you probably find that it's easier than delivering a tired line in a darkened bar. After taking a good look at a number of local Story guys, you'll know that the person you are attempting to get to know will have plenty in common with you.


text:
Prosecution rests in Xcel trial
Two weeks after it started, the government wrapped up its case this morning in the criminal trial of Xcel Energy on charges of workplace-safety violations.
The federal prosecution's final witness was a forensic pathologist who performed autopsies on the five workers killed in a 2007 fire at the Cabin Creek hydroelectric plant near Georgetown. As the doctor — Ben Galloway — detailed his findings that the men died from smoke-inhalation and carbon-monoxide poisoning, pictures of the men's bodies appeared on screens in the courtroom.
After Chief U.S. District Court Judge Wiley Daniel denied the standard defense motion to dismiss the case, Xcel's attorneys then called their first witness, an Occupational Safety and Health Administration investigator.


text:
By Robert-Jan Bartunek and Harro Ten Wolde
BRUSSELS/FRANKFURT (Reuters) - European regulators have cleared Telefonica's bid to consolidate the German mobile market by buying smaller rival KPN's E-Plus for 8.6 billion euros ($11.7 billion), raising prospects of more deals to come across Europe's telecoms markets.
The European Union's powerful antitrust chief Joaquin Almunia said on Wednesday that Telefonica agreed to concessions - including selling some radio spectrum and renting out capacity on its network to smaller rivals - to ensure that the deal does not lead to higher prices for customers.
The remedies are similar to those agreed by Hutchison Whampoa in May when its 3 Ireland subsidiary won approval to buy the Spanish group Telefonica's O2 Ireland for about $1 billion.
Analysts said approval of the much bigger German deal could encourage operators in Italy, Spain and France to move ahead with similar mergers in those markets.
"We have to take a close look at the remedies but this seems to be a blueprint for other potential deals in Europe," said analyst Adrian Pehl at Equinet Bank.
Facing demands to invest in faster networks, European telecom groups say they need to get bigger to cope with five years of revenue declines. They argue that the region's fragmented market - which features more than 100 fixed and mobile groups compared with a half dozen in the United States - leads to price wars and poorer-quality service for consumers.
Combining Telefonica Deutschland and KPN's E-Plus will create Germany's largest mobile operator by customers with a market share of roughly 31 percent, giving Telefonica more clout in its battle with Vodafone and Deutsche Telekom's T-Mobile.
Telefonica Deutschland said E-Plus's chief executive Thorsten Dirks will take over as CEO of the new group.
The deal comes just as the German market, Europe's largest, has got even more competitive. Budget-oriented E-Plus has been winning customers at the expense of Vodafone despite having poorer network coverage and little high speed 4G mobile broadband.
KPN's shares were down 1.8 percent at 2.59 euros at 1452 GMT, while Telefonica Deutschland rose 2.3 percent to 6.24 euros and Telefonica fell 1 percent to 12.53 euros.
As a condition of approval, the European Commission insisted that Telefonica rents out up to 30 percent of the merged company's network capacity and divest some spectrum in the 2.1 GHz and 2.6 GHz frequency bands to allow the potential entry of new operators in the future.
Telefonica will also extend current wholesale agreements and offer 4G capacity to anyone that wants to offer such services.
The Commission said these measures would allow for up to three new mobile virtual network operators (MVNOs) to enter the market. MVNOs are already strong in Germany, selling cheaper plans often aimed at young people or immigrant populations.
Telefonica has already signed a deal with one virtual operator, Drillisch.
"The remedies to which Telefonica commits ensure that the acquisition of E-Plus will not harm competition in the German telecoms markets," Almunia said in a statement.
It remains to be seen how the German market, where mobile prices are amongst the highest in Europe, will be affected by the reduction from four to three carriers. A similar deal in Austria last year - a smaller market with initially low prices - did lead to price rises despite the buyer Hutchison agreeing to host virtual operators on its network.
Vodafone and Deutsche Telekom expressed concern that the concessions forcing Telefonica to give favourable conditions to virtual operators went too far.
Telecoms consultant John Strand questioned whether even beefed up virtual operators would be a real force against Telefonica, Vodafone, and Deutsche Telekom.
"Drillisch is not what you can call a player with success," said Strand. "If I was Telefonica I would be happy, Drillisch will probably not be able to sell the traffic Telefonica have to offer to them." Deutsche Telekom said that the merger would generate "a massive" imbalance at radio frequencies above 1 gigahertz. Vodafone also said it wanted the German regulator "to take back significant amounts of the merged entity's spectrum."
Overall though Europe's telecom sector will see the commission's softer approach on natonal market mobile mergers as a positive step won after several years of tough lobbying.
"Allowing companies to operate at an efficient scale is the first step towards increased network investments and increased quality services for European consumers," said Luigi Gambardella, who heads ETNO, the telecom operators' trade group.
($1=0.7331 euros)
(Additional reporting by Hannah Boland, Leila Abboud in Paris, and Kate Holton in London; Editing by Tom Pfeiffer and Greg Mahlich)


text:
First, a warm welcome to the newest member of the Chicago Fire, midfielder Joel Lindpere.
The move to acquire the Estonian international was met with pretty high praise from yours truly, considering all that was exchanged was an international roster spot. Also consider that the guy has scored a few goals against the Fire since coming to MLS (three to be exact and four if you count a preseason goal he scored back in 2011).
That aside, here are five other reasons I can really appreciate the move for the club's latest addition...
- He's the very definition of an iron man – In a total of 98 MLS regular season matches he's been eligible for over the last three seasons, Lindpere has appeared in exactly 97 games, the most of any MLS player in that time span. That also includes goalkeepers.
Players on the current Fire roster with comparable MLS appearances over the last three MLS seasons: Dominic Oduro (93 with Chicago/Houston), Patrick Nyarko (91, Chicago), Logan Pause (87, Chicago) and Wells Thompson (79, Colorado/Chicago).
Lindpere has 3 goals in 7 games vs. the Fire
- There's a certain swagger he has… He looks intimidating and the Estonian international has a certain bite that backs up the way he carries himself. His aggression and ability in the attack reminds me a bit of Dema Kovalenko, though with a few less yellow cards.…
- He has a pretty powerful left foot – Watch the video below. He's a threat in crossing the ball but can also unleash a pretty powerful shot. Combine this acquisition with that of Maicon Santos and the power in attack has been greatly upgraded.
- Competition (and rest) in the midfield – The biggest knock against the Fire in 2012 was the perceived lack of enough squad rotation. By season's end, the team looked a little bit tired and perhaps slightly predictable. With the likes of Nyarko, Alvaro Fernandez, Alex and the potential return of Corben Bone, the attacking midfield options available to Klopas in times of heavy fixture congestion have been upgraded as well.
- Good Results from transactions with Red Bull – Back in 2007 when Fire owner Andrew Hauptman filed tampering charges with New York relating to the Juan Carlos Osorio affair, the team received the Red Bulls' first round selection in the 2008 MLS SuperDraft which the team used to select the-ever dangerous Patrick Nyarko.
Just about a year ago, the Fire traded the rights of defender Wilman Conde to Red Bull in exchanged for an undisclosed, but rumored to be high amount of allocation money that presumably went towards the acquisitions of defender Arne Friedrich and forward Chris Rolfe.
Not a bad track record…
WATCH: Joel Lindpere Highlights


text: Student Profiles Francesca Perkins '10 Francesca Perkins '10 Major: Anthropology; minor: Russian Hometown: Englewood, New Jersey Why did you choose to come to Bowdoin? I traveled to many liberal arts colleges before Bowdoin. My philosophy was that I could be happy at any school, although I had not found a school which made me thoroughly excited and happy. By the time I visited, I had already applied regular decision to Bowdoin and a number of other colleges. The tour was the deciding factor for me; my tour guide was quite eloquent and knowledgeable, the campus was beautiful, and the students were friendly (everyone we passed smiled). As soon as I got home, I wrote a letter to the admissions office changing my application to early decision. I have not been disappointed—I still get excited about Bowdoin. Why did you choose your major? I have always been interested in cultures and languages. I come from a multicultural background—Chilean, Swiss, and Italian—and while it may not be the most exotic mix, the result was that I grew up hearing four different languages. We spoke Spanish and English at home, I heard French with my dad's parents and Italian from my mom's father. In addition, I grew up in an area that was predominantly Spanish-speaking, and most of my friends spoke Spanish at home although they were all from different countries. Since I was surrounded by so many different cutltures both at home and at school, I knew I would enjoy studying cultural differences and similarities. What has been a course you especially enjoyed at Bowdoin? My Russian courses have been really excellent. I started learning Russian as a first-year with Professor Jane Knox-Voina, and I got addicted to the challenge. I like that Russian is so different from the Romance languages I grew up with, though it can be very difficult sometimes. Yet as I begin reading Pushkin in Russian this year, I realize how far I've come, from struggling with the Cyrillic alphabet three years ago to now discussing Russian literature in Russian. I also enjoyed my course on anthropological research taught by Professor Krista Van Vleet, particularly our main research project that was the focus of the course. We were able to choose our theme and research it through interviews, participant observation, and library resources. I worked with a partner, and Professor Van Vleet was extremely helpful in providing guidance to narrow down our thesis: pregnancy's effects on a woman's identity and how the woman and culture define her identity. I enjoyed the hands-on experience of conducting research outside of Bowdoin—we conducted all our interviews in Portland—and Professor Van Vleet's guidance in focusing our research. The project gave me a new perspective on motherhood and the course provided me with the tools to conduct research, as well as the confidence to do it. Francesca and Kevin Kowalko '12 in Masque and Gown's An Ideal Husband. What professor or professors have especially inspired you during your time at Bowdoin? Professor Davis Robinson, from the theater department, has been an excellent mentor for me. He directed my first Bowdoin performance in Enemy of the People, and I took Directing with him my sophomore year. He has a wonderful perspective on life, is open-minded, and encourages students to try new things and pursue their dreams. Talking with Davis is a highlight of my day because he always has some piece of news, whether a new play to read or a piece of advice on graduate school, that gets me thinking or reading for a few days. Did you study abroad during your time at Bowdoin? I studied in Barcelona, Spain, during the fall of my junior year. While people always talk about the party atmosphere of Barcelona (there were plenty of parties and discotheques), I wasn't interested in that aspect. I was interested in seeing how Catalán, the language and the people, coexist with the Spanish, because the Catalán are a separate culture and Catalunya does have a certain amount of autonomy. Not only did my Spanish—written and spoken—improve, but I learned a great deal about Spanish culture and history, and became more confident about traveling alone. After exploring Barcelona on my own and making friends, I realized that I'm much more outgoing than I had ever imagined. Rowing in the Dad Vail Regatta in Philadelphia. What extracurricular or work experiences have you had at Bowdoin? I was on the crew team for my first three years at Bowdoin. Before college, I had never been on a sports team, and the crew team sports like no other. Rowing requires each member of the boat to give 100 percent all the time, because if one person gives any less, the whole boat can feel it. It's a poetic experience, rowing at six in the morning when the water is the most calm and the sun is just starting to come up, hearing only the blades and the boat cutting through the water as each person moves completely in sync. I learned a lot from rowing, from my coach, and from my teammates. Theater has been another big part of my experience at Bowdoin. It has been my creative outlet, so this semester I decided to dedicate more time to the theater department and Masque and Gown, the student-run theater organization on campus. I have performed in a number of productions and I've done some directing for the One-Act Festival. This semester I'll be in the department's production of Drums in the Night. I have worked at the Language Media Center, which allowed me to get to know its knowledgeable faculty members and become more familiar with foreign films. I've also worked for the Dining Service at Thorne and gotten to know those who make our top-quality meals. Working in the dining hall has given me a better appreciation for everything that goes into every single meal. I've also tried Capoeira, swing dancing, and yoga, and I help out at the Organic Garden when I can. What have you done during your summers? The summer after my first year I worked at a Boy Scout camp in the Adirondacks as a canoe guide, taking scouts on five-day expeditions, teaching them the basics of living outside, and showing them how to practice Leave No Trace camping. The summer between sophomore and junior year, I worked in Switzerland for the Swiss postal service, delivering mail to a small village called Bussy-Chardonnay, where there were more cows than people. This past summer I had two jobs. In June, I worked for the Student Conservation Association in Arkansas, where I was one of two leaders who led six high school students. We lived at a basecamp right next to the Little Missouri River and did trail work in the Ouachita Mountains. In July and August, I again worked as a canoe guide in the Adirondacks. It was interesting to bring new experiences and confidence to a job I had held two years earlier. What is your best Bowdoin memory? It's hard to choose just one Bowdoin memory that surpasses all others. While I was abroad, I missed the dinners that begin with a few friends and end with the entire table full as more people join in. Crew breakfasts are also a fond memory. Smelly and sweaty and loud, we would take up at least one long table, sometimes two, in the dark room of Moulton Union at 8 a.m. What are your plans for after graduation? I have a lot of ideas for after graduation, but nothing set in stone. I will probably work for the Student Conservation Association again this summer. My plans after that get a little bit foggy. My thoughts shift between three ideas: move to South America and teach, apply to be a teacher's aid in Spain for a year, or pursue theater. Ultimately, my goal is to work with children either as a teacher in South America or in the United States as an outdoor educator. What advice would you give to a prospective student or first-year about the Bowdoin experience? Branch out and explore! Try something new—I picked up swing dancing last semester and it turns out I love it! College is the time to uncover a hidden passion and develop it. Bowdoin is the perfect environment to discover new facets of yourself because everyone is here to help you learn. What quirky or fun thing do you wish you had known before you came to Bowdoin? I wish I had known about the Common Grounds Country Fair before coming to Bowdoin. It's an awesome event; full of food, crafts, music, and green merchandise, it takes place in Unity, Maine, for a weekend in September. I was able to attend it once sophomore year for maybe an hour. If I had known about it as a first year, I definitely would have gone. It's a fun way to get off campus and experience Maine. I also wish I had known about the puzzles in Hatch Science Library. If I had known earlier in my Bowdoin career, I would have procrasinated so much more. Maybe it is better that I learned so late! Story posted on October 05, 2009 « Back | More Student Profiles | Go to News Home


text:
- SCU Home Page
- About SCU
- Admission
- Academics
- On Campus
- News & Info
- Alumni
In this issue, Summer 2008
Speed racers
An interview by Gwen Knapp. Cycling legend Greg LeMond talks ethics and doping in sports.
Meet the new Father General
By Steven Boyd Saum. Introducing Adolfo Nicolás, S.J., the new Superior General of the Society of Jesus.
No simple highway
By Juan Velasco. The Casa de la Solidaridad is less a place than a journey—one that offers a new understanding of solidarity. And a new meaning of home.
By Ron Hansen. A tale of shipwreck, a priest, and a poet. Hansen tells the story behind his new novel, which weaves together the tragic wreck of the liner Deutschland and the life of Gerard Manley Hopkins, S.J.
For I was in prison and you visited me
By Elizabeth Fernandez '79. More than half the women in California prisons are mothers. Some go months or years without seeing their children. But, with the Chowchilla Family Express, Eric DeBode '88 is trying to change that.
Stand up
By Lisa Taggart. Women should rule the world, says Dee Dee Myers '83. And she's not kidding. Really.
By Anne Federwisch. Meet Christopher Stampolis '87, M.A. '98. He's one of the folks who likely holds the key to who'll be the Democrats' presidential nominee.
A capital idea
Seniors Kyle Ozawa and Sam Baker led a group of business students on a trip to El Salvador in March. Their goal: to learn firsthand what life is like in the village where they and a group of SCU students are investing $1,000 in a micro-loan to give farmers a boost with their irrigation system.
Carry the torch
When Jill Mason '99 set out to carry the Olympic torch in San Francisco this spring, she did it to prove that one devastating experience—being hit by a drunk driver in an accident that put her in a wheelchair and killed her boyfriend—would not change her attitude toward life.
Friends outside
For more than 50 years, Friends Outside in Santa Clara County has been working to act as a bridge between prisoners and the world outside. Read more about the organization, and the work Kate Trevelyan Hall '06 is doing with them.


text:
What to Buy from Paris, Then and Now
Artsy Specialist
A controversial figure as well as one of France's leading conceptual artists, Sophie Calle explores her own psychological and emotional terrain in multimedia works, probing ideas of control, freedom, gender, intimacy, and distance in human relationships. Perhaps her most contentious work, Address Book (1983) was inspired by an address book that Calle found on the street, photographed, and sent back to its owner. She then rang the numbers in the book to assemble a portrait of the owner, turning the results into a multimedia installation. For Take Care of Yourself (2007), which was exhibited in the French pavilion at the 2007 Venice Biennale, Calle invited 107 women from various walks of life to interpret and assess a breakup note the artist received in an email. In a range of media including photographic portraits, textual analysis, and filmed performances, women pore over the emotional content of the email; contributions include a clairvoyant's response, a scientific study, and a child's fairytale.
French, b. 1953, Paris, France, based in Malakoff, France
What to Buy from Paris, Then and Now
Artsy Specialist
My Highlights from Art Stage Singapore
Yana Peel
My Highlights from Art Stage Singapore 2014
Entang Wiharso


text:
Phish Tickets Rosemont
Phish Tickets Tickets Rated 0.00/5 based on 0 customer reviews 100 0
Formed at University of Vermont in 1983, and known for their improvisations and unique music, Phish is a band you need to see this summer! With songs like "The Divided Sky" and "Free", they will put on a show like no other. Buy your tickets today for June 24th or 25th before its too late!
Results Filter
- Event
- Date/Time
- Venue/City
4 Events


text:
Sisters Courtney and Brittany Force topped qualifying Friday night after the first two sessions in the NHRA Sonoma Nationals.
Courtney Force led the Funny Car field with a 4.045-second pass at 319.22 mph in a Ford Mustang, and Brittany Force took the Top Fuel lead with a 3.762 at 325.53.
The daughters of Funny Car star John Force, they each qualified No. 1 in Topeka, Kansas, this year for a first for sisters. Courtney Force went on to win at Topeka for the 100th female victory in NHRA history, and won again last month in New Hampshire.
"It's always a good day for me if I'm paired up next to my dad and I can turn on a win light," Courtney Force said. "I don't care if it's Q1 or the final round, it just makes my day right there."
Jason Line topped the Pro Stock lineup, and John Hall led in Pro Stock Motorcycle.
Line had a 6.550 at 210.93 in a Chevy Camaro. He has two career victories at Sonoma.
Hall ran a 6.951 at 191.54 on a Buell.


text:
For the media
- News releases
- Download mug shots
- Research tips
- News tips, advisories
- Ag tips
- Other news sources
- Campus maps
News Service
For the media
For the campus
News Service
Annette Hacker, director, (515) 294-3720
Office: (515) 294-4777
National honor to grad student
The National Council of Commercial Plant Breeders presented its 2005 Graduate Student Award to ISU graduate student Brandon Wardyn, Farwell, Neb.
Dean of students candidates announced
Six finalists have been named in the search for a new dean of students at Iowa State.
Schwennsen is new AIA president
Kate Schwennsen, associate dean of the College of Design, was inaugurated as the 82nd president of the American Institute of Architects during recent ceremonies in Washington, D.C. She is the second woman and the second Iowan to lead the 149 year-old national professional organization.
Iowa farmland reaches new peak
The average value of an acre of farmland in Iowa increased $285 to an all-time high of $2,914 in 2005, according to an annual survey conducted by Iowa State University.
Graduation events Dec. 16-17
Iowa State will award an estimated 1,755 degrees during winter commencement events Dec. 16-17.
Full-time farmer perseveres to master's degree
After nearly two decades, full-time farmer will complete his master's degree from Iowa state.
Local foods, grain damage sensors and safeguarding livestock
Locally grown foods could find an outlet in Iowa's convenience stores. Read about that and much more in this month's news from agriculture and veterinary medicine.
IT staff report computer intrusions
An intruder recently breached the security of two Iowa State University computers containing sensitive information.
Animals make great companions, not great gifts
A family should consider all the responsibilities of caring for a companion animal before bringing one into the household. Iowa State University's Dr. Kim Langholz recommends several questions to ask beforehand.
ISU announces new 'Return to Iowa' scholarship program
Prospective Iowa State freshmen and transfer students who live out of state may qualify for a new, $1,500 renewable scholarship if they have family ties to ISU.
The science of moving dirt
Iowa State University's new Geotechnical Mobile Lab is a $350,000, one-of-a-kind laboratory-on-wheels. It will allow engineers to study construction sites right next to the heavy equipment doing all the dirty work. And it could help build better roads and reduce construction costs.
Stay healthy over holidays
ISU physician Marc Shulman offers some health tips for students and travelers.
Houston Bowl
The Cyclones (7-4) will play in the 2005 EV1.net Houston Bowl vs. Texas Christian Dec. 31.
ISU Week in Des Moines
A week of Iowa State festivities in Des Moines culminates Dec. 17 with the Mediacom Cyclone Capital Classic, a men's and women's basketball doubleheader in Wells Fargo Arena.
In the news
Fashion with function
USA Today
Iowa State researchers are developing technology that will allow a purse to charge your electronic devices.
Gift cards: Are they good for the kids?
Sacramento Bee
Gift cards are expected to be the top gift purchase for the second holiday season in a row. But ISU's Kay Palan, associate professor of marketing, worries that parents who give their children gift cards at a young age may be encouraging materialism.
Cyclones over Hawks
Cyclone men's basketball takes down Hawkeyes, 72-60.
Cyclone women roll
Cyclone women's basketball posts a 77-61 win over Iowa.


text:
Jesse's Blood work
Talk about diets, exercise, and disease.
Jesse's Blood work
Her blood work is all back, the vet called and said everything is NORMAL, but he still doesnt know why she is losing muscle mass and smells, etc. i guess now i am due for a trip to Penn U with her. i can see where my paycheck will be going for the next couple of weeks. i am also getting a copy of all her results and bringing them with me..
jesse blood work
you want to know why Brad? because the vets up here in the country SUCK big time. i am from Paramus (we were neighbors at one point) and my vet in fair lawn was awesome and is still awesome. i am switching over to a new vet, and someone told me with the results i gave her that jesse is hypothyroid. i only used this vet as i can literally walk to them, but now i am going to drive back down to fair lawn to see my old vet (who by the way is 3x more expensive, but i know they are more thorough). i figured i could trust this vet, but obviously not. :wallbang:
jesse bloodwork
thanks sarah, i was just told by 2 people that low t4 and high t3 = hypothyroid. so i am going now to a new vet with this in hand. and then once its all done i am going to ream my old vet out
- concreterose
- Moderator
- Posts: 11574
- Joined: Mon Feb 09, 2004 5:29 pm
- Location: Michigan
- Contact:
instant messaging
millicent, i thought i did, i have pm messaging. maybe because i dont have aol? you can email me at email@example.com or pm me
- concreterose
- Moderator
- Posts: 11574
- Joined: Mon Feb 09, 2004 5:29 pm
- Location: Michigan
- Contact:
- BabyReba
- Moderator
- Posts: 11589
- Joined: Fri Nov 14, 2003 7:21 pm
- Location: Winter Park, Florida
- Contact:
oh, maryellen, i've been so busy at work, i've not been spending as much time checking out all the threads! i hope jesse is OK! i was gonna email you tonight about the jersey dogs, but it sounds like you have lots to take care of at home. reba, jd, me (and even doug!) will be thinking of you guys!
jersey dogs
thanks erin, its gonna work out fine, i am not worried, just annoyed at the vet
msn mesenger
ok millicent, i think i did it right, now how do i get it to show on my profile?
blood work
thanks Ash and Casey!!!
Who is online
Users browsing this forum: No registered users and 11 guests


text:
- Guide Map
- Attraction Seating Photo Gallery
- Basic Services
- Calendar of Events
- Character Meet and Greet FAQ
- Extra Magic Hour
- FastPass+
- Kennels
- Operating Hours
- Overlooked Attractions
- Rehabs and Closures
- Ride Restrictions
- Smoking Policy/Locations
- Special Needs Travelers
- Ticket FAQ
- WDW At Large
New Fantasyland
- Ariel's Grotto
- Barnstormer with the Great Goofini
- Be Our Guest Restaurant
- Big Top Souvenirs
- Casey Jr. Splash 'N' Soak Station
- Dumbo the Flying Elephant
- Enchanted Tales with Belle
- Gaston's Tavern
- Pete's Silly Sideshow
- Princess Fairytale Hall
- Royal Majesty Makers
- Seven Dwarfs Mine Train
- Under the Sea - Journey of the Little
- Bibbidi Bobbidi Boutique
- Cinderella Castle
- "it's a small world"
- Mad Tea Party
- Many Adventures of Winnie the Pooh
- Merida at Fairytale Garden
- Mickey's PhilharMagic
- Peter Pan's Flight
- Prince Charming Regal Carrousel
Main Street USA
- Harmony Barber Shop
- Harmony Barber Shop Photo Gallery
- Meet Magician Mickey Mouse at Town Square Theater
- Meet Tinker Bell at Town Square Theater
- Walt Disney World Railroad
- Willis Wood Theater -
- Enchanted Tiki Room
- Jungle Cruise
- Magic Carpets of Aladdin
- Pirates of the Caribbean
- Pirates League
- Swiss Family Treehouse
Liberty Square
- Hall of Presidents
- Haunted Mansion
- Liberty Square Riverboat
- Muppets Present... Great
Moments in American History
- AstroOrbiter
- Buzz Lightyear Space Ranger Spin
- Carousel of Progress
- Monsters Inc. Laugh Floor
- Space Mountain
- Stitch's Great Escape
- Tomorrowland Speedway
- Tomorrowland Transit
Authority PeopleMover
- TRON Lightcycle
Power Run -
Coming 2021!
- Incredible Tomorrowland Expo
- A Pirate's Adventure: Treasure of the Seven Seas
- Captain Jack's Pirate Tutorial
- Disney Festival of Fantasy Parade
- Electrical Water Pageant
- Frontierland Hoedown
- Happily Ever After
- Main Street Trolley Show
- Mickey's Royal Friendship Faire
- Move It! Shake It! Dance & Play It!
- Once Upon a Time Projection Show
- Opening Show
- Sorcerers of the Magic Kingdom
Special Events
Special Reports
- Carousel of Progress Photo Gallery
- Disneyland vs Magic Kingdom 1
- Disneyland vs Magic Kingdom 2
- Fantasyland Old and New
- Favorite Viewing Locations for the Fireworks
- Hats of the Magic Kingdom Photo Tour
- Haunted Mansion Attic
- Magic Kingdom vs Disneyland
- Main Street USA: Then and Now
- Parade Grand Marshals
- Tomorrowland Transit Authority
- Where Does the Music Come From
Big Thunder Mountain Railroad
Magic Kingdom
Introduction | Attraction | Touring Tips | Kids and Characters | Dining | Shopping | Interesting Facts
"Hang onto your hats and glasses, folks, cause this here's the wildest ride in the wilderness!" And with that, Big Thunder Mountain Railroad opened on September 23, 1980 and celebrated its Grand Opening on November 15, 1980.
Big Thunder Mountain Railroad is situated at the far end of Frontierland, past Splash Mountain.
Big Thunder Mountain Railroad is a wonderfully themed roller-coaster with turns and dips through caverns, mountains, avalanches and floods reminiscent of the Old West.
The queue area takes you into the headquarters of the Big Thunder Mining Co. It was converted into an interactive queue in 2012, with more props and details to look at, to keep you entertained while you wait. There are cranks to turn and plungers that detonate blasting caps -- you can even see the explosions along when you look out at the mountain! (See the video above for the entire queue and ride -- with spoilers!)
You enter converted ore cars for your journey... but wait, there is NO conductor! Too late, you are off for a 3-1/2-minute ride into the wilderness!
The theming is a Southwestern landscape, reminiscent of the wind swept features found in Arizona's Monument Valley. Caves, grottos, a waterfall, big horned sheep, a spiral butte, dinosaur bones and sulfur pools are just part of the scenery you will encounter on your ride.
Speeds can reach 24-30 miles per hour so the centrifugal force as you round the turns will pull you from one side to the next.
There are no serious drops on this ride (nothing like Splash Mountain) but there are three good dips that can put some air between you and your seat.
The main butte is 197.6 feet above sea level and 100 feet above ground.
Enjoy the music of the old west with songs like: Big Rock Candy Mountain (1885), Blue Tail Fly, (1846), Red River Valley (1896), Oh My Darling Clementine (1884) and more.
Big Thunder Mountain Railroad is a FastPass+ attraction and it is highly recommended that you use it during peak times.
Loose articles, hats, and glasses should be removed and secured.
Each of the six trains has an engine and five cars. For the "wildest ride" request a seat in the back rows. For tamer rides, request a seat in the front of the train.
Big Thunder Mountain Railroad is beautiful at night; be sure and ride after dark if you have the chance.
Visitors in wheelchairs should continue past the entrance and go into the exit of the attraction to look for a Cast Member for boarding instructions. You will need to transfer from your wheelchair to a train car.
If you look closely at the second-story room of the saloon, you'll see a party going on.
Hidden Mickey Alert - Three rusty gears laying on the grass as you reenter the station.
Hidden Character Alert - "In the Magic Kingdom, walk to the exit from Big Thunder Mountain Railroad. Behind the fence (on the left side as you exit the ride), between two metal carts and behind a cactus is a cutout in the reddish rock that resembles a side profile of Tinker Bell. (Thanks to Jamie Holz, for directions to this Hidden Character)." Click on photo for more detail.
Children must be at least 40" tall to ride.
Magic Kingdom Characters At A Glance
Character Meet and Greet FAQ!
Pecos Bill's counter-service restaurant is located nearby. Also, open seasonally is the Golden Oak Outpost.
Magic Kingdom Restaurants At A Glance
Menus From Around the World
Vegetarian and Other Special Diets
You can find limited Big Thunder Mountain merchandise at the Briar Patch near Splash Mountain.
Big Thunder Mountain Railroad debuted at Disneyland on September 2, 1979. It opened at in the Magic Kingdom on September 23, 1980. Opened in Toyko Disneyland July 4, 1987 and in Disneyland Paris on April 12, 1992.
The names of the six trains are: U.B. Bold, U.R. Daring, U.R. Courageous, I.M. Brave, I.B. Hearty and I.M. Fearless.
There are 20 Audio-animatronics throughout the attraction including chickens, donkeys, possums, a goat, a long john-clad resident spinning through the flood in a bathtub, and a rainmaker whose name is Professor Cumulus Isobar.
Genuine antique mining equipment can be found around the 2.5 acre attraction. These pieces were purchased at various auctions throughout the Southwest and include a double-stamp ore crusher, an ore-hauling wagon, and an old ball mill used to extract gold from ore.
During constructions, workers used 6,500 tons of steel beams, rods and mesh, 4,675 tons of concrete, 90,000 gallons of water and 4,000 gallons of desert paint.
Dallas McKennon recorded the "Hang onto Your Hats and Glasses" announcement that is played just before you leave the station. Dallas also provided the voice for Benjamin Franklin in Epcot's American Adventure.
The attraction covers over two acres and rises almost 200 feet above sea level. It was inspired by Monument Valley, Arizona.
Disney Imagineer Tony Baxter led the team for Big Thunder Mountain Railroad.
Big Thunder Mountain Railroad had a minor rehab in October 2007. Sound systems were enhanced along with minor painting and minor upgrades.
Big Thunder Mountain Railroad had a lengthy rehab in 2012, including the addition of a new interactive queue.