text:
Operation: Anchorage!
- Disable the Pulse Field.
- Enter the Chinese Compound.
- Kill General Jingwei.
- Report to General Chase for debriefing.
- Exit the simulation.
- Access the VSS Armory.
- Enter the VSS Armory and take whatever you need.
- Frag Grenade (M)
- Missiles (M)
- Microfusion Cell (M)
- Frag Mines (M)
- Intel #9
- Intel #10.
Part 1[edit]
This mission is the namesake of the DLC pack, and is the final of four missions you'll play through in this trip through a rather disturbing virtual reality. Leave the tent you begin the mission in and, as usual, seek out Sgt. Montgomery. Because there are already so many soldiers at the Pulse Fields, it's only going to be you two as a team going forward. Leave Field HQ and instead of going right (towards the listening station) or left (towards the tank depot), you're now gonna head straight forward, down the middle, towards a series of trenches.
You're going to run into both friendly faces and enemies that need to be killed as soon as you enter the trenches, so naturally, hold your fire on the former and let it fly on the latter. Running through the initial trench is only going to take mere seconds, so when you emerge, simply run across the artificial boundary on your right (the blue forcefield) and reenter a new trench shortly thereafter. This is where you'll start running into Chinese resistance almost exclusively, so open up on these foes going forward. This could just be a figment of our imaginations, but the enemy soldiers seem even more aggressive here than usual. Thus, you'll want to be ready for a fight.
Intel 9[edit]If you're looking for Intel #9, then you're going to want to keep a keen eye out as you enter the second trench. Go forward as we mention above and kill whatever enemies you come across. You won't be able to deviate off of your path going forward until a small room opens up on your left. Breach this room and find an American prisoner within. Speak with him to set him free, and then more importantly, grab the intel case within this small room before proceeding. (Keep in mind that you can heal with the healing station within this small area, as well).
After grabbing the ninth intel case (there's only one more to get!), continue down the trench, which should now be empty. Well, it'll be empty at least until the path swings leftward, at which case you'll be met head-on with three Chinese soldiers. Eliminate the enemy threat and proceed towards the sloping pathway that leads back out of the trench (just be sure to examine the weapon refilling station next to the ramp before proceeding). When you're out of the trench, you should be in the clear, so simply run forward, staying parallel to the trench you just ran through, which should be to your left. This path will eventually swing rightward and thereafter lead into yet another enemy trench.
Run down into the trenches and immediately prepare to do battle with a Chinese soldier wielding a flamethrower, as well as another sniper-inclined enemy. Since they're both in a contained room, chucking some Frag Grenades into the fray will probably do the job for you fairly easily. As you turn the corner to rejoin the trench on the other side of this small room, be sure to refill your ammunition and health at the station you encounter, and grab the Missiles, Frag Grenades, Frag Mines and Microfusion Cells you encounter as well. When you reemerge, get ready to deal with more Spider Drones, and also deal with the two Mark I Turrets in the pillbox ahead and above. Once the threats in this area are eliminated, you'll realize you have a choice.
Part 2[edit]
The fork in the road that deviates once you reach the pillbox will bring you in two entirely different directions. We first recommend that you explore the route to your right. You'll run into plenty of hostile soldiers down this route (including a pesky flamethrowing soldier), and it leads to a dead end. But it's at this dead end that more Frag Mines, Frag Grenades, Missiles and Microfusion Cells can be added to your inventory. Head back to the fork thereafter and this time, head leftward. This path will lead forward and to another fork. Should you head right or head left? First, head left. This will ultimately lead to another enemy-laden dead end, but you'll find health and ammo refilling stations down here, which you should visit before proceeding. There's also another Chinese computer down here for you to read, if you so desire.
Now, head back to the second fork and take the yet-untraveled path. You'll be able to emerge from the trench, but first, focus on the small room next to the ramp leading up to your left, where two Chinese soldiers lie in wait. Prioritize eliminating the flamethrowing enemy first. When both foes are felled, emerge from the trenches and turn your attention to the pillbox above and ahead. Two more Mark I Turrets are lying in wait there. Aim at them with VATS and take those pesky things out before proceeding (as well as any residual Chinese soldiers).
When the threat from the pillbox is eliminated, continue forward. As you fight more Chinese soldiers from afar, you'll see a helicopter-like device (the same as used by the Enclave in the actual game) dropping off Power Armor-equipped soldiers, effectively flanking the Chinese enemies. As you push forward and then head right into a bombed out building, where more soldiers can be found (and killed), you'll eventually meet up with the location where the Power Armored soldiers were located (make sure to heal yourself in the aforementioned bombed out room as well). When you emerge from the building, do be sure to clear the pillbox up the stairs to your left before proceeding with the quest by heading rightward.
From here, the path to the infamous Chinese pulse field is rather easy to find, simply because the bobbing-and-weaving Power Armor-wearing soldiers will ultimately lead the way. While you should follow them through the rest of the abandoned, once-occupied Chinese settlement, be sure to deviate from the path when necessary to explore buildings on the periphery. You should find a store of Frag Mines, Frag Grenades, Missiles and Microfusion Cells when you do, as well as stations to refill both your health and your ammunition. When your armored friends finally lead you to the pulse field, you'll see a bloody display. It appears that because of their armor, they can't cross the field. But you don't have Power Armor on…
Since you haven't any Power Armor on, the pulse field won't affect you. Press towards the pillbox adjacent to your current location. Within this machinegun nest, you'll find a couple of Chinese soldiers that need to be eradicated, as well as a couple more Mark I Turrets. Eliminate all four adversaries, and then proceed towards the station even further down the snowy plains from there. This is the source of the pulse field's power, and surprisingly, it's sparsely guarded. As a result, you should have little trouble running up the stairs and entering the small guard tower, where the remaining defenders should be slain. Then, seek out a switch on the large computer terminal there to shut down the pulse field. Now, powerful friends wearing their Power Armor can sack the Chinese compound with relative immunity.
Part 3[edit]
Intel 10[edit]Before proceeding onward with your friends, however, you should grab the tenth and final piece of intel from within the same small guard shack that the switch shutting off the pulse field was located. This is a difficult piece of intel to miss -- simply face the switchboard and look to the left, where the suitcase you sit is rather-obviously sitting. Just remember to hit the switch and grab Intel #10 before heading on your way, since backtracking back to this location won't be an option before very long.
Press towards the occupied American-turned-Chinese oil refinery ahead. While there's going to be minimal resistance as far as Chinese soldiers (and Mark II Turrets) are concerned, you'll likely find that your friends will take care of all of the resistance for you, especially if you take your time getting to the refinery from the position where you disabled the pulse field. When you reach the refinery, it's time to head on in and deal with the Chinese threat inside.
Within, you won't be able to move immediately. As you watch the fray around you, the Chinese commander will eventually confront you and speak to you in his native language. You can actually convince him to kill himself (or just threaten to kill him), but chances are, if you're skills of persuasion aren't high, you're going to have to deal with him head-on. General Jingwei, as he's named, is a person of incredible strength. Even with the Gauss Rifle, a dozen headshots won't bring him down (why they programmed him so powerful is beyond me). If you're having a hard time with him, you may want to consider simply killing his soldiers and then focusing on him. Regardless, keep moving and hope for the best.
When the general is slain, a familiar face will show up on-scene and congratulate you on a job well done. And then, before you know it, you'll be automatically (and immediately) transferred out of your current location, back to the real world. It's at this point that you'll meet up with Protector McGraw, who holds up his end of the bargain. Go claim your goods! And congratulations on beating the first DLC pack for Fallout 3!


text:
Dallas Wiens went from having no face after a horrible accident in 2008 to being the first man in the U.S. to get a full face transplant.
In Chicago Wednesday with his new bride, Jamie, for the annual meeting of the Radiological Society of North America, Wiens said, "my entire life is a miracle."
"Running my hands over my face, I have eyebrows, eyelashes," he said. "Stubble is coming out."
When Wiens received his face transplant and was able to touch it for the first time, he said "this shouldn't be medically possible." Three months later his daughter came to visit him. "She kissed me and I could feel it," he said.
Wiens and his wife both survived horrific burns in separate accidents. Wiens' face was burned off when he hit a high-voltage wire at his church. Jamie Wiens suffered hers in a car accident during which she was trapped for 23 minutes in a burning vehicle.
They attended Wednesday's convention because of a technology they said changed Wiens' life.
"In the end for tissue to live, it has to have blood supply arrive at new tissues," Brigham and Women's Hospital radiologist Dr. Frank Rybicki said. "There has to be connections."
Rybicki said Wiens' transplant depended on sufficient blood supply to support a new face. So before making a cut, surgeons needed a map of what was behind the damage.
In the end it meant success for Wiens, and now he's not alone. Doctors say his transplant has provided incredible information for others. For example, blood vessels can reroute on their own to parts of a newly transplanted face, such as the tongue.
"New roads are being blazed simply by studying my case," Wiens said.
The Wiens share another mission: to tell people of the dangers of being distracted by a cell phone.
Wiens said he looked at his cell right before he hit his head on the power lines that changed his life. Jamie Wiens said she was texting right before her accident.
"No text is worth your life," Wiens said.

subset: commoncrawl


text:
Login to my Lennar
Forgot Your Password?
Enter the email address that was
used to create your account. If found
in our system, password reset url will be
emailed to this account.
Thank You!
An email has been sent to your account with password reset url. Please follow the instruction to update your password.
We're sorry – we no longer have homes in ${Mpcurl}
To report a broken link: Click Here
Go back where you came from here
Please visit these other communities in the Las-Vegas area: Mountains Edge: Monterey Ranch - The Gardens, Mountains Edge: Monterey Ranch-The Groves, Skye Canyon: Hawthorne, Skye Canyon: Woodlands, Southern Highlands: Cortona, Southern Highlands: Olympia Ridge, Summerlin: Graycliff, Summerlin: Santa Rosa Alameda, Summerlin: Santa Rosa Bellamar, Summerlin: Westcott, Cameron Pointe, Edgewood, Emerald Crest, Hidden Hills, Madori Vistas and Mountain View Estates
Thanks for your interest
Lennar doesn't currently build homes in this area.View everywhere we build.
Use your current location or View everywhere we build


text:
Serving Wallingford, Connecticut
Wallingford Water Damage Restoration
Green Restoration Group LLC provides speedy water damage restoration services in Wallingford, CT. For immediate water removal in Wallingford call us at (860) 215-4655.
Wallingford Emergency Water Removal
If you need emergency water removal in Wallingford, call the experts at (860) 215-4655. Green Restoration Group LLC water extraction crews are standing by to assist you.
Wallingford Smoke Damage Restoration
Need smoke damage restoration in Wallingford? Call Green Restoration Group LLC at (860) 215-4655 for fast results! We've been providing quality Wallingford smoke damage restoration services.
Wallingford Fire Damage Restoration
Don't let a stressful situation become worse by calling unreliable contractors to repair your home or business. Call Green Restoration Group LLC of Wallingford for fast, friendly, professional fire damage restoration service.
Wallingford Mold Remediation
If you are in need of a Wallingford mold removal specialist, call the experts at Green Restoration Group LLC. For prompt mold remediation, call (860) 215-4655 today.
Wallingford Flood Restoration
The water damage restoration team is standing by the help with flood restoration in Wallingford. 24/7 Emergency response is available.
Wallingford Storm Damage
Expert storm damage restoration in Wallingford, Connecticut. When disaster strikes, call (860) 215-4655 for FAST response!
Wallingford Burst Pipe
Have you had a pipe burst in your Wallingford home or office? Call the water damage restoration experts at Green Restoration Group LLC. We will arrive quickly and provide a free quote and sound solution. Call (860) 215-4655 immediately for a quote to fix your burst pipe in Wallingford.
Wallingford Carpet Dry Out
The dry out specialists at Wallingford extract water from carpets, whether due to appliance leaks or flooding. Call now for a free quote and a quick response.
Wallingford Frozen Pipes
When your pipes freeze in Wallingford, call Green Restoration Group LLC to help.
Wallingford Bathroom Flooding
The water damage restoration pros at Green Restoration Group LLC specialize in helping local homeowners recover from flooded bathrooms in Wallingford. Call for immediate action: (860) 215-4655.
Wallingford Flood Damage
If you have experienced flood damage in Wallingford, the flood water restoration experts at Green Restoration Group LLC are standing by for immediate assistance. Call (860) 215-4655 for flood water restoration in Wallingford
Wallingford Water Damage from Sprinkler System
The water damage experts at Green Restoration Group LLC specialize in taking care of water damage that was caused from sprinkler system malfunctions. Call (860) 215-4655 today for a fast response.
Wallingford Fallen Tree Damage
Has a tree fallen in Wallingford, CT damaging your home or building? Call Green Restoration Group LLC at (860) 215-4655. We have been restoring properties from fallen tree damage in Wallingford for many years.
Wallingford Emergency Plumbing
Need emergency plumbing in Wallingford, Connecticut? Call Green Restoration Group LLC at (860) 215-4655 for a free quote! Green Restoration Group LLC can help with all Wallingford plumbing issues and any water damage that may have occurred as a result!
Wallingford Water Heater Leak
Are you experiencing water damage due to a leaking water heater in Wallingford, CT? Call Green Restoration Group LLC at (860) 215-4655 for immediate assistance!
Wallingford Dry Out Services
If you require professional dry out after a Wallingford burst pipe or flood, call the dry out experts at Green Restoration Group LLC today: (860) 215-4655.
Wallingford Air Duct Cleaning
Green Restoration Group LLC offers residential and commercial air duct cleaning in Wallingford. Call (860) 215-4655 for a quote.
Wallingford Asbestos
If you suspect you have asbestos in your Wallingford property, call the expert asbestos detection and abatement specialists at Green Restoration Group LLC today at (860) 215-4655.
Wallingford Indoor Air Quality
Are you looking to improve the indoor air quality in your Wallingford home or office? Call the experts at Green Restoration Group LLC at (860) 215-4655. We are experienced with odor removal in Wallingford as well as overall indoor air quality improvement.
Wallingford Odor Removal
Are you in need of effective odor removal services in Wallingford, Connecticut? Green Restoration Group LLC has provided expert Wallingford odor removal for homes and businesses. Call (860) 215-4655 for a free Wallingford odor removal quote.
Wallingford Chimney Puff Back Cleaning
When you're experiencing chimney or fireplace puff back, call Green Restoration Group LLC at (860) 215-4655. Wallingford's puff back cleaning experts you can trust.
Wallingford Sewage Cleanup
If you are experiencing raw sewage contamination in Wallingford, prompt remediation is required. Green Restoration Group LLC will quickly and thoroughly remove sewage from your Wallingford property and eliminate associated health risks. Call (860) 215-4655 for rapid raw sewage removal.
Wallingford Trauma Scene Clean Up
Green Restoration Group LLC has provided trauma scene and crime scene cleanup in Wallingford, CT.


text:
ConAgra-Ralcorp May Lead to More Private-Label Foods M&A
Now that ConAgra Foods has finally landed Ralcorp, analysts are saying rival TreeHouse Foods may be the next takeover target.
ConAgra succeeded today in striking a deal for Ralcorp after roughly 18 months of failed attempts to snap up the company and its lucrative private-label business. Ralcorp makes items like cereal, pasta, crackers and jellies that sell under various store brands.
TreeHouse Foods is among the largest remaining private-label food companies, and its shares are up 2.2% to $53.01 Tuesday as analysts speculate that it could draw interest as the industry consolidates.
Janney Capital markets says ConAgra-Ralcorp "raises the likelihood" that TreeHouse is a potential target. The analysts call the private-label industry highly fragmented and said that financial players may be the more likely buyers given the strategic buyers are largely gone.
Meanwhile, SunTrust Robinson Humprhey analysts call today's news a "positive catalyst" for TreeHouse, also predicting a consolidation wave coming.
Ralcorp's past year has already included a spin-off, an acquisition and now a sale of itself, so maybe it only makes sense for its deal to lead to more M&A.


text:
How To Create More Traction Off The Corners
Editor's Note: Second of a two-part series
The path to developing more traction while under power is related to our car's setup, suspension system design, and racetrack shape. Last month, we learned about how tires produce and keep traction. Now, we will learn how to put that knowledge to practical use to develop more forward bite off the corners.
The way in which we set up the car can help us get more traction off the corners on flatter racetracks. One step we can take is to split the rates of the rear springs so that the left rear spring is a higher rate than the right rear spring. When we accelerate, we transfer weight to the rear of the car. As that weight is applied, the rear springs must compress to absorb the added weight. If the left rear spring is stiffer, it will compress less than the right rear spring and this will increase the amount of the total sprung weight supported by the right front and left rear tires. This produces an increase in the crossweight percentage, usually making the car tighter off the turns while under acceleration.
When doing this, be sure to maintain a balanced setup. If you soften the right rear spring rate, the rear of the car will want to roll more, creating an unbalanced setup. We must raise the rear moment center to compensate so the car will not be overly tight in the middle of the turns.
The setup package in the car can have an effect on how the tires adapt to the application of power. Most of the time, if we can keep the car from being overly tight on entry and through the middle of the turns, we can avoid the all too common "tight/loose" condition that causes a car to be loose off the corners. A balanced setup helps to prevent this condition.
As we have explained in the past, if a car is tight in the middle of the turns, we must add steering input to help increase the front traction to compensate. Then, as we pass mid-turn, the added steering generates more than enough front traction to overcome the tight condition and the car begins to get loose. All of this usually happens right about the time we start to get into the throttle. As power is applied, the rear tires suddenly lose all traction.
Many drivers will swear the car is loose. We need to learn to recognize this tight/loose condition so that proper adjustments can be made to the setup of the car for a more balanced mid-turn handling package. This condition is responsible for a major number of "loose off" problems.
For most applications, rear split does not need to be substantial to accomplish our goal. On asphalt Late Model cars, a 10- or 15-pound split does what is needed. A split of 25 pounds or greater may be too much for a coil-over car and cause an unbalanced setup that would be far too tight into and through the middle of the turns. For cars with big springs in the rear and a metric 4-link suspension, a larger split is sometimes needed.
To a lesser extent, splitting the compression rates of the rear shocks will accomplish a similar effect while the shocks are in motion and adjusting to the transfer of weight upon initial acceleration. This effect is very short lived, but can help reduce the shock to the tires that comes from the initial application of power. We would increase the compression rate in the left rear shock over the right rear shock to accomplish this effect.
We have learned that traction can be better maintained if we can decrease the amount of torque that reaches the rear tire contact patches at the initial application of power. Doing this helps the tires adjust to the transition of forces from lateral to longitudinal.
When we are at mid-turn, the lateral forces will be resisted by the tires at the contact patch and all four tire contact patches will be at the limit of lateral adhesion if we are going as fast as we can without sliding. In more simple terms, the tires at that point are about to give up and slide. If we can reduce the initial shock transferred to the rear tires through the driveline at that same time, we can help the rear tires maintain their attachment to the racing surface.
The traction circle theory of tire technology tells us there is only so much traction available from a particular tire and its contact patch, the direction of the forces doesn't matter. The actual number in pounds of resistance is based on the size of the tire contact patch, the adhesion properties of the compound itself, the amount of weight on the tire and the tire slip angle, or angle of attack relative to the direction of travel of the car.
The tire needs to be able to transition from the one direction of resistance (lateral, which is the resisting of the centrifugal forces that are at right angles to the direction of travel) to the other (longitudinal or inline acceleration associated with application of power) over a longer period of time in order to maintain grip with the surface of the track.
If this transition happens too quickly, the tire is "shocked" and will most likely break loose. This is very detrimental to performance because, in order to recover the grip in the rear tires, we must back off the throttle and allow the tires to reattach themselves to the track surface. This takes a lot of time and we lose a lot of ground in the process.
The pull-bar or lift arm can absorb some of the torque going to the tires during initial application of power. By being able to move, these devices will absorb some of the torque of the motor for a short period of time, usually long enough to allow the tire to adjust to the new direction of force.
We can experiment with different rates of springs and shocks in these systems to adjust to and perfect the traction enhancement for different conditions. Higher amounts of grip in the track surface mean more spring rate is needed in the devices. Slicker track conditions require less spring rate and more travel for increased torque absorption.
Anti-squat is a geometric suspension design that utilizes the torque that is transferred to the rear end and tries to rotate the differential. On a three-link car, the third link (upper link mounted above the center of the rear end housing) can be mounted at an angle with the front mount lower than the rear mount so that when the car is accelerating, the force caused by the pinion gear trying to climb the ring gear causes the link to try to straighten out. Since the rear of the link that is mounted to the rear end cannot move vertically, the front mount can exert an upward vertical force that resists the squat created by weight being transferred to the rear under acceleration.
Anti-squat enhances rear traction in two ways. First, it helps keep the rear of the car higher (as well as the center of gravity). It also keeps the rear spoiler higher because the rear of the car is higher.
Weight transfer is directly related to the height of the center of gravity (CG). The higher it is, the more weight transfer we have to the rear under acceleration. So, a higher CG promotes traction as more weight is transferred while under acceleration. Along with that, a higher rear spoiler catches more air and produces more aero downforce for added grip at the rear tires.
There is no truth to the theory that the third link produces mechanical downforce on the rear tires through the rear end. Any pressure put on the rear end by virtue of the link wanting to straighten out is offset by the reduced compression in the springs and the tradeoff is even. For every action, there is an equal and opposite reaction. We cannot pull weight from out of the sky, so as we stated, all added weight comes from weight transfer and/or more aero downforce from a more efficient rear spoiler.
Asphalt cars merely need to maintain a straight ahead attitude when cornering. Dirt cars, on the other hand, must steer the rear end to the right on dry, slick tracks to develop a more sideways attitude that will point the car in the right direction to be better able to get off the corners. In past years, the drivers on dry, slick tracks would need to throw the car sideways in the turns and, in the process, break the rear tires loose in order to point the car. When it was time to get back into the throttle, the tires had already lost traction and spun, producing little forward bite. With the advent of radical rear steer geometry, the cars will now roll over, the rear end will steer to the right to point the car and the rear tires will maintain grip with the track surface and be ready to provide forward bite when the driver gets back into the throttle.
A fairly new concept for added bite on asphalt involves a geometric design that will produce rear steer upon application of power. We can utilize a certain type of rear suspension to create rear steer only under acceleration. In the three-link rear suspension system, if we use a pull-bar, lift arm, or other similar device that will allow the rear end to rotate under acceleration, we can steer the rear end to the left while the car is accelerating.
As the rear end rotates under power with the pinion moving upwards, the whole rear end will move rearwards. If the lower control arms are mounted different distances from the axle, then one side of the rear end will move farther than the other. If the left side trailing arm is mounted lower than the right side trailing arm, then the left rear wheel will move rearward more so than the right rear wheel and this results in rear steer to the left which will tighten a car off the corners.
It might be appropriate to mention another element related to geometry that affects traction off the corners and that is pinion angle. We know that excess pinion angle absorbs some of the engine forces, reducing power to the rear wheels. In the past, we have heard racers say they experienced better bite off the corners when they put more pinion angle in the car.
While it is probably believable that excess pinion angle reduces rear wheel tire spin, it is not because of any mechanical enhancement effect, but rather a reduction in the amount of power that reaches the rear wheels. If we reduce the amount of power that reaches the rear wheels, we also reduce the tendency for the rear wheels to spin. This is not a recommended procedure for adjusting power to the rear wheels.
It is not widely known, but some top dirt racers have adjusted their car's engines to produce less horsepower when slick track conditions would not allow great amounts of torque and horsepower to be put to full use. Using smaller carburetors, adding restrictor plates, unhooking the secondary butterflies, or using electronic traction control that changes the timing or breaks down the ignition on one or more cylinders are all ways that teams have of reducing engine output. We have seen teams change to a smaller engine when they knew they were going to a traditionally dry, slick track. Again, anything we can do to help the rear tires maintain grip at all times will give us a better chance to apply the power available to accelerate the car.
When all available and useable methods of promoting traction control have been applied, you may still have difficulty applying power without losing rear traction. In that case, it comes down to the drivers using their skills to help prevent loss of rear traction coming off the corners.
Many top drivers have perfected the art of throttle control to help maintain traction. This means if the driver knows he/she cannot apply full throttle without the rear tires spinning, then they will work to apply just enough power to accelerate without breaking the tires loose. This method applies to both dirt and asphalt racing and is much harder to master than most might think. Truth be known, many of our most successful drivers overcame less than perfect setups using this technique.
There is a story told that the late and great Dale Earnhardt was at a test at the Richmond racetrack years ago along with many other teams, one in particular that was having unknown problems and going slow. The struggling team owner knew Dale and asked him if he would take the car out and see if he could determine what might be the problem. The car had a data recording device installed and one of the functions the system showed was throttle travel.
Dale promptly went out and ran a full second quicker than the usual driver. Later on, a close review of the throttle graph showed Dale was rolling on and off the throttle and the graph looked much like a roller coaster. The other driver's throttle graph looked like a group of large square buildings, straight up and down, or quickly on and off the throttle. He was off the throttle much too quickly going into the corner and had to wait too long to get back into the throttle off the corners until the car was more straight to keep from spinning the tires as he mashed the gas. This example best defines driver-induced traction control.
Improving traction off the corners is mostly about three things:1. Balancing the setup and geometry so that the rear tires are always gripping the race track, so the car is not tight leading to the "tight/loose" syndrome.
2. Applying one or more traction methods to enhance weight distribution and overall mechanical grip off the corners as needed
3. Learning to recognize the amount of traction available and helping the driver to know when you have done all that is mechanically possible to enhance forward bite. At that point, it is now up to the driver to operate the throttle correctly to help further maintain grip between the tires and the track surface.
Your driver may never be able to mash the gas and go, but as dirt Late Model star Scott Bloomquist once said, "My goal is to go wide-open all of the way around the racetrack. I know that's not possible, but the closer I can get to doing that, the better I like it."
Like Bloomquist, learn to develop a legal traction control package that will maximize performance through enhanced traction off the corners. Not only will your lap times get better, the car will be more competitive when trying to get past lapped traffic or when passing for position.
Tires are the ultimate connection between the car and the racing surface. That basic principle is not a new one, but a concept that has always been at the forefront when trying to understand ways to increase handling performance in a race car. It is again at the very top of the list when we discuss traction under power.
There are five elements that influence the amount of traction that a set of dirt or asphalt tires, the rears in this case, will develop
1. Vertical Loading-Increasing the amount of vertical loading (weight) on a tire increases the available traction, but in a nonlinear way. As we increase loading on a tire, it will gain traction, but not in exact multiples. If a tire has "X" amount of traction with 400 pounds on it, the traction will be less than double as we apply 800 pounds of loading to it. The amount of traction will be less than 2 times X.
2. Contact Patch – The size and cross-sectional loading of the contact patch helps determine how much traction we will have for a particular tire. An added area related to the contact patch and traction involves grooving and siping dirt tires and will be discussed later on.
Reducing the air pressure will usually increase the size of the tire contact patch. That would seem to enhance traction, but excessively low or high pressures may reduce the loading on portions of the tire so that the total loading of the tire is reduced and we end up with less available traction for that tire. There is an optimum operating air pressure for each tire that will offer maximum contact patch area and equal loading across the width of the patch.
Camber also affects the size and cross-sectional loading of the contact patch. The correct camber angle compensates for the deflection of the tire sidewalls as the lateral force is applied when we turn the car. More or less camber than ideal means one side of the tire will support more weight than the other, which also reduces traction.
3. Chemical Makeup – The chemical makeup of the compound of the rubber will help determine how much traction is available from a tire. A softer tire will provide more traction, but the maximum amount of traction that can be utilized over a long period of time depends on how the tire holds up to heat and wear. A tire that is a little harder may sometimes hold up better and be faster towards the end of the race when the tires have built up a lot of heat and are well worn after a number of laps.
4. Angle of Attack – The amount of traction available from a tire can actually be enhanced simply by increasing its angle of attack relative to the direction of the car, but only up to a point. From straight ahead, we can turn the wheel and, with each degree of angle of deviation from the direction of travel, the traction in the tire increases. There is a point we reach where the gain is reduced and we approach the limit of attack angle that the tire can handle. Once that point is reached, going beyond causes a sudden loss of grip and traction falls off drastically. This principle is true of all four tires whether front or rear. We will provide more on this subject later.
5. Equal Loading – An opposing pair of tires (tires on the same axle at the same end of the car) will develop maximum traction when they are equally loaded. That is a generally true statement, but upon more careful examination of how we do things in circle track racing, there is a unique situation where that is not exactly true.
The situation is when we have a tire on one side of the car (usually the left side) that is built with a softer compound than the opposing tire whereby it may be able to develop more grip under the same loading as the opposing tire. So, increasing the vertical load on the inside tire with the goal of attaining equal loading for both tires, by whatever means, may not actually generate more traction because of the difference in grip per pound of vertical loading created by differences in compounds.
The shape of the track for both dirt and asphalt can influence the available traction in several different ways. As we apply power, we need to know a little about how the track is banked, how the banking angle is changing coming off the corners, and how the radius of the turn might be changing. A highly-banked racetrack is very forgiving when it comes to needing bite off the corners. There is so much downforce due to the banking and associated lateral forces, that many times the tires are loaded to the extent that the available amount of horsepower cannot break the tires loose under normal conditions with a balanced setup. The tracks we often worry about getting off the corners are the ones that are flatter and with less surface grip.
The severity of change in banking angle of the racing surface in the portion of the track where we are initially accelerating can cause changes to the pitch angle of the chassis that works to unload one or more tires, reducing traction. A track that goes from high banking to low banking fairly quickly can cause the left rear tire to unload quickly, making the car loose.
There are two ways this can happen. One is when the outside edge of the track drops in elevation and the right front tire follows the drop-off. This lifts weight off the left-rear tire, causing loss of traction in that tire.
The other problem occurs when the inside edge of the track rises up to match the elevation of the outside edge of the track. As the left-front tire rises up, the left-front and right-rear pair of tires become more loaded, momentarily causing loss of loading in the opposing pair of tires. The loss of crossweight percentage (right front to left rear) makes the car lose traction in the rear.
A track that has a decreasing radius in the latter portion of one of the turns can cause a car to develop a loose condition at that point. Usually, older tracks that were originally dirt and then paved retain a straight front stretch and a rounded-out back "straightaway". This "D" shape causes Turns 1 and 4 to be a smaller radius than Turns 2 and 3 for that reason. So, it is difficult to accelerate from Turn 4 because of the decreasing radius.
Remember, we said traction increases for a set of opposing tires when we increase the angle of attack (simply put, this is when we turn the steering wheel more). If the car is neutral in and through the middle of the turns, then as we approach the tightest portion of the turn past midway, where the radius is less, we need to turn the steering wheel more and that produces more front traction than rear traction. The balance we enjoyed through the middle of the turn is now upset and the car becomes loose just when we are getting back in the throttle. This causes loss of rear traction. We will study ways to compensate for this later.
The surface largely determines the amount of traction available under power and we will look at dirt and asphalt tracks separately. On dirt tracks, the amount of moisture dictates the amount of grip the track gives us. Bumps, grooves, banking angles, and the overall radius all help determine how much grip is available for traction off the corners. The setup related to shocks, springs, and rear geometry help determine how much traction will be available for a certain set of conditions.
On asphalt tracks, and even some "dirt" tracks that have been oiled to the point of almost being asphalt, the surface is more consistent. Other than holes or bumps and rises in the surface, we can expect the grip to be the same over the course of the event. Flatter banking and older asphalt dictates the need for more traction control efforts.
Now that we have some kind of understanding of just what affects traction in the rear tires, we need to examine how we can use that information to enhance the tractive properties of the rear set of tires. Next month, we offer some suspension tuning suggestions for over-coming the problems some teams have getting enough bite off the corners.


text:
via: BOSTON67
Jamie Ranney, Esq. vs FRAUDclosures
There is a bill pending in the Massachusetts Legislature called H-04083 that is designed to provide more requirements that lenders work with borrowers to provide real loan modifications before they can commence foreclosure and to hold lenders accountable where they unlawfully foreclose. Unfortunately, the bill suffers from some substantial weaknesses which I have tried to remedy with edits and amendments.
The bill is scheduled to be voted on – THIS WEDNESDAY MAY 16, 2012 – so your immediately action is needed.
I would ask that you take the time to immediately contact your state representative and state senator, ask them to stand up for the homeowners and borrowers of the commonwealth and request that they amend H-04083 to include these changes and amendments. You can email the edits and comments directly to your state rep and state senator.
Their contact list can be found here: http://www.malegislature.gov/People/FindMyLegislator
Please email the following amendments and a memo explaining them:
Bill H-04083 edits Memo RE H-04083 amendments and edits


text:
Staub Cast-Iron Round Gratin Baking Dish
- Premier Deal
- Free Fast Shipping
- Premier Deal
- PRICE MATCH GUARANTEE - Learn More
Easy, hassle-free returns online and in-store for eligible items.Learn More
Earn 5% Back in rewards4 plus free standard shipping3every day when you shop with your Williams Sonoma credit card at Williams Sonoma.Apply Now Learn More
- Summary
Staub's innovative enamel coating takes cast-iron cooking to the next level with improved performance, style and durability. Whether you're using it for berry cobblers or macaroni and cheese, this cast-iron French favorite is adept at coaxing crispy brown crusts or toppings.
- Heavyweight enameled cast iron transfers and retains heat evenly.
- Matte Black selection features multi-coat enameling with low-gloss matte finish.
- Resistant to rust, chipping and cracking, the coating requires no additional seasoning like some other cast-iron pieces.
- Specially formulated black matte interior enamel contains traces of quartz, giving it additional heat resistance and a rougher surface for better browning.
- Dishwasher safe.
- Made in France.
- Dimensions & More Info
- 4 1/2'' Baker: 4 1/2'' diam., 1'' high; 8-oz. cap.; 1 lb. 9 oz.
- 6" Baker: 6" diam., 1 1/4" high; 16-oz. cap.; 1 lb. 12.5 oz.
- 7" Baker: 7 1/2" diam., 1 1/2" high; 24-oz. cap.; 2 lb. 14.25 oz.
Additional Information
- The smooth enameled base is compatible with all cooktops including induction; not recommended for glass stove tops.
- Rich enameled finish and elegant design allow it to travel straight from oven to table.
- Made in France.
- Use & Care
- Ideal for use on any cooktop, including induction; not recommended for glass stove tops.
- Oven and broiler safe up to 500°F.
- For best results use low to medium heat.
- When using high heat, bring pans slowly to a high temperature.
- Use plastic, wood or nylon utensils only; metal utensils may damage the enamel.
- Enamel may chip or crack if banged against a hard surface.
- Handles and knobs can become very hot. Always use pot holder or glove when handling.
- Allow pan to cool before washing.
- Dishwasher safe.
- Stubborn stains can be removed by soaking your pot for a few minutes in hot, soapy water.
- Completely dry pan before storing.
- Avoid using steel wool, steel scouring pads, harsh detergents, bleach or abrasive cleaners.
- Shipping
Shipping Information
UPS can deliver most in-stock items within 3–5 business days. UPS is unable to deliver to P.O. boxes.
Shipping Rates
The shipping rate varies depending on your order total and shipping destination. View Shipping Options and Charges.
Next Day Delivery
For an additional charge of $26 per address, we can expedite delivery to most destinations. This service is not available for some oversize items, items shipped directly from the supplier (including perishable and custom-manufactured items), out-of-stock items and items to be shipped outside the contiguous 48 states.
Orders received by 9:00 p.m. ET Monday through Thursday will arrive the next business day; orders placed Friday through Sunday will arrive on the following Tuesday.
Return Policy
At Williams Sonoma, we take great pride in the quality and craftsmanship of our products. Attention to design, materials, safety and construction are our priority. Upon receipt, please inspect your purchase and notify us of any damage; we will arrange for a prompt replacement.
If within 30 days, you are dissatisfied for any reason, you may return your purchase for a refund of the merchandise value. An original receipt or gift receipt is required for all returns and exchanges. Returns with a gift receipt will be refunded in the form of a Merchandise Credit for the amount indicated on the gift receipt. Returns with original receipt will be refunded in the original form of payment, cash and check refunds over $100 will be issued as a company check (may take 14 business days from time of request).
For all cutlery returns (knife sets, single knives, cutting boards, knife sharpeners and knife storage), please contact us at 888.922.4108 to initiate the return.
We cannot accept returns on monogrammed, personalized, special-order items, custom upholstery, food, items shipped direct from the vendor or on items damaged through normal wear and tear. Final sale items ending in .97 or .99 cannot be returned.
Made to Order and Final Sale Furniture items are non-returnable and cannot be cancelled once the order is placed.
For returns of items purchased from your Williams Sonoma Gift Registry, we will gladly provide a refund or exchange for the merchandise within 90 days of your event or within 90 days of purchase, whichever date is later. View Full Returns Policy.
- More about Staub
Staub traces its origin to the Alsace region of France, where founder Francis Staub designed his first enameled pot while working in an old French artillery factory in 1974. With the goal of creating the perfect pot for cooking the region's traditional hearty soups, stews and braises, he combined cast iron, the most popular material of the time, with the latest enameling technology available. Today, Staub still makes its cookware at a traditional atelier in France, casting each pot in an individual sand mold, which is heated to 800°F and destroyed after use. The exterior enamel coating is made with glass powder and mineral pigments, applied in two or three coats to generate brilliant glossy colors.
- Price Match Guarantee
Williams Sonoma Price Match Guarantee
At Williams Sonoma, we're committed to bringing you the best quality at the best prices.
If you find a lower price on any of our products, we'll match it—guaranteed. Click here for details.
Rated 5 out of 5 by MIAMILOULOU from My favorite to heat and serve directly in I've eaten in Le Château Frontenac in Quebec city last month and at lunch time and they serve my dish in it. Amazingly surprise I felt in love with.Date published: 2016-03-12Rated 5 out of 5 by SarahBee from I love these!!! I purchased the 6 inch roasters. I have owned them for less than a week and I am having so much fun with them. So far I have made wonderful cookies, eggs and arepas (South American corn cakes filled with cheese) in them. Everything comes out with a beautiful crust on the outside and soft on the inside. They are so easy to clean because everything slides right out. I was a little hesitant to spend so much on such small pans, but for my small family they work great. They are perfect for using in the toaster oven too.Date published: 2015-12-06Rated 4 out of 5 by TrishC from Great! But small. I ordered all three sizes of this pan, and they came staggered as two of them were on backorder. The largest one came today, and it is great! But I cannot imagine using the other two as they would simply be too small. I cook for two and the largest size is perfect for a small casserole or gratin, with a few leftovers. The smaller sizes would be perfect for individual servings, I imagine. However, I will be sending them back and just keeping the largest size. It is worth noting that they are also quite shallow-- less so than they appear on the website.Date published: 2013-12-24Rated 5 out of 5 by staublover from Wow! Love it! Not color basil other I have but use those for guests anyway. This just arrived, imagine egg white breakfasts perfect for cheese english muffin n other quick, small on the go. Will work any cooktop n oven too. Small dishes like stuffed or sweet potato bake, few shrimp, or apples, small cobbler or griled cheese-why bring out huge, bulky cookware. I have a cast iron pan grabber that should work well with it if hot.Date published: 2012-12-01


text:
Back up your library
Before following any of these steps, it's a good idea to create a backup of your photo library, even if you use iCloud Photos. You can use Time Machine, use a third-party backup solution, or copy the library to an external drive. By default, your photo library is stored in the Pictures folder within your home folder.
Make sure that your software is up to date
Photos is part of the Mac operating system (v10.10.3 and later). You can avoid or fix many issues by running the most up-to-date version of macOS. Learn more about updating the software on your Mac.
If you use RAW images in Photos, learn more about the digital camera RAW formats supported by iOS 12 and macOS Mojave.
If you have trouble migrating an existing iPhoto or Aperture library to Photos
You might see an alert message when you first open Photos or migrate an existing iPhoto or Aperture library. Learn what to do if Photos can't copy or create a library.
If the Media Browser isn't showing your photos and videos
Use the Media Browser to make images from your photo library available in other apps, like Pages and iMovie. The Media Browser shows only the contents of the Photos library designated as the System Photo Library. If you have more than one Photos library—and the one you're using isn't set as the System Photo Library—the Media Browser won't show its contents.
Follow these steps to designate the current library as the System Photo Library:
- Choose Photos > Preferences.
- Click the General button at the top of the Preferences window.
- Click Use as System Photo Library.
If you're having other issues with Photos
If you're experiencing other issues—like missing or blank photo thumbnails, unexpected behavior, or if Photos won't open—you can repair your library using the steps below.
The Photos repair tool analyzes the library's database and repairs any inconsistencies it detects. Depending on the size of your library, this might take some time. When the process is complete, Photos opens your library.
Follow these steps to use the Photos repair tool:
- Make sure that you backed up your main Photos library.
- Quit Photos if it's open.
- Press and hold the Option and Command keys as you open Photos again.
- The Repair Library dialog appears. Click Repair, and then enter an administrator password to begin running the Photos repair tool.
If you're using iCloud Photos, your library will re-update with iCloud when you run the Photos repair tool.
Learn more
- Learn how to create and order print products like books or calendars in Photos with Project Extensions.
- Get help with iCloud Photos.


text:
Throw the Coolest Kid Birthday Party
(Without Throwing Away Your Hard-Earned Cash)
Have you got another kid birthday party coming up?
It's probably one of the most special days for your child. And, as parents, we want to give it our best.
But how?! Where do we even begin? How do we throw a birthday party that's so special without having to throw away so much money?! And if we don't pay for entertainer or a special venue, how will we entertain the kids without losing our minds? How will we decorate? What will they eat? All these questions and so many more immediately spring up.
First thing to do is set a date for the party. Now breathe :-).
Here, on this site, together with our community of creative Moms and Dads, we'll help you answer all of those questions. All you need to do (after setting the date as far in advance as possible) is decide together with your child what sort of birthday party you want to throw.
It can be a theme party based on a certain character, book, TV show, idea, concept or anything else your child comes up with. Or, it can be a birthday party without a specific theme. Whatever appeals to your child and, not any less important, whatever appeals to you.
We've organized the ideas on this site into neatly arranged, complete step-by-step themes. Over the years, our two most popular kid birthday party themes have been the: Princess birthday party and the Pirate birthday party.
If you don't have a specific theme in mind, just browse the Complete Theme Kid Birthday Party Ideas Section to spark ideas. And even if you can't find that one theme you're after, many of the ideas can be adapted with a bit of creativity. So just mix-and-match ideas and turn them into your own custom theme. Just remember that the ideas you'll find here have AWESOME potential, but they need a few very special ingredients:
Your creativity, your time, your energy and your ENTHUSIASM!
The most important thing to remember is that, YES, you can throw the coolest birthday party for your child – and you can do it on your own better than anyone else!
If you have any questions, we and our Facebook community are always happy to give a helping hand and offer a creative birthday party idea. So just post to our Facebook Page and we'll be on the lookout to help you out.
P.S. After you've thrown the most memorable party, don't forget to send your child birthday party to us to be shared with others, and… to be entered into our annual "Party Tales" contest.


text:
June 18, 2010, 3:35 pm
Zeppelin lands funding for FREIGHT
Zeppelin Development has received $6 million in financing for construction of the next phase of his TAXI campus.
Vectra Bank provided the financing for FREIGHT, which will focus on small and medium tenants.
Zeppelin is redeveloping the 30,000-square-foot mid-century trucking terminal on the TAXI property. About 60 percent of the building has been pre-leased, including 7,000 square feet to the Open Air Academy-Early Childhood Education Center.
Next Post »
« Previous Post


text:
Forgive me for no pictures, my camera is dumb. Here are a few recipes for fall. Lately I've been trying to eat healthy, easy, and cheaply. These all fit the bill quite nicely, and they've been a hit with my three-year-old, which is always a plus. I think she ate an entire butternut squash when I made the puree. It was a fall miracle.
Baked Sweet Potato Fries - We LOVE these. They have been a great excuse to eat tomatillo ranch dressing that we have leftover from pork tacos. But these fries are good plain or with ketchup.
Butternut Squash Puree- Try it or she'll deck ya.
Lentil Chili ok so I haven't actually tried this yet, but it looks good and fally. I am making it for dinner tonight.
And this one does not fit my "healthy" requirement at all, but I'm a sucker for nutmeg so I made them anyway and they were so yummy! Try Nutmeg Doughnut Muffins. And don't skip over the blog post, it's one of my favorites from molly.
Wait, wait! Before you go, did I ever tell you about Easy Swedish Apple Pie? No? Well, I meant to. I was just hoping to have pictures to go along with it. Make it. You won't be sorry. It is so good and buttery, and actually not really pie at all, but tastier and easier. Plus, you can double it and put it in a 9 x 13 pan. Hooray!
Easy Ways to Beautifully Package Your Edible Gifts
22 hours ago


text:
So, the other day I was talking to a reporter who asked–in the role of devil's advocate–whether it's appropriate for me to be a fat acceptance activist, when I'm only a size or two bigger than the average American woman. Can I really speak for someone 100 or 200 lbs. heavier than me, or more?
The answer–as I've said here before–is yes and no. Can I speak to the experience of living in a much larger body? No. Am I fat enough to have faced discrimination and hatred, and to be motivated to fight against those things on behalf of all fat people? Hell, yes.
Exhibit A. I'm walking home from Pilates this afternoon, and I stop for a red light. Light turns green, I start walking across the intersection, and some asshole barrels around the corner, clearly not seeing me. I stop walking and he hits his brakes–with a resounding skreeee–at approximately the same time. We exchange dirty looks, and I take another step–just as asshole hits the gas again, intending to blow past me.
Me: WHAT THE FUCK ARE YOU DOING? IT'S A CROSSWALK!
Asshole: WELL THEN WHY DON'T YOU FUCKING WALK, YOU FUCKING WHALE?
Woman sitting at outdoor cafe across the street: WHAT THE–?
No kidding, lady.
Let's review. This asshole didn't look where he was going and nearly hit a pedestrian. Therefore, I deserve to be shamed for the size of my body.
Of course. That's how it works.
Assholes like that do not look at me and think, "Hmm, she looks only slightly bigger than the average woman." They do not yell, "YOU FUCKING MILD TO MODERATE CHUB!" They think, "fat chick." And they yell, "YOU FUCKING WHALE!"
And if I have this particular asshole pegged right–which I'm pretty sure I do, however brief our encounter–he is the kind of guy who would also look at someone smaller than the average American woman and think the same thing. It doesn't matter how often you trot out that statistic, or how many idiot columnists claim that since a majority of the population is categorized as overweight, fat has clearly become "socially acceptable." In many people's minds, a woman who is not thin is fat, period, and that is not okay.
Furthermore, the average American woman, for all her averageness, is well into "fat" territory. She teeters on the brink of plus sizes, probably has some flesh that isn't rock solid, will find herself standing next to much thinner women almost everywhere she goes, and will almost never see a woman her size on television or in a magazine who isn't A) depicted as lonely, clueless, and a compulsive overeater for "comedic" value, or B) there to talk about the beginning of her weight loss journey. It really doesn't take any more than that to make a woman think her body is abnormally large–and we all know that the larger your body is, the more shameful it is. So, while the average American woman (or the woman a little smaller or a little bigger) doesn't face anywhere near the volume of discrimination and hatred that much bigger people do, she probably thinks she's fat and hates herself for it–and plenty of strangers definitely think she's fat and hate her for it.
Meanwhile, people both fatter and thinner than she is will repeatedly tell her she's not fat, in an effort to be "polite," and/or get her to quit whining. But they're not there when her boyfriend pinches her belly and says she should do some sit-ups. They're not there when she orders a whole milk latte, and the barista looks at her like she asked for two shots of dead baby in it. They're not there when her mother berates her thirty-year-old ass for ordering dessert, and goes on to insinuate that that's why she's single. They're not there when her thinner co-workers make self-deprecating remarks about the size of their thighs, assuming she'll relate, 'cause… well, obviously. They're not there when a brand spankin' newbie at the gym she's been going to for two years comes up to her and says, "Good job! Keep it up!" They're not there when her doctor tries to put her on Weight Watchers when she's come in barfing up blood. They're not there when she watches TV and sees only much thinner women presented as attractive. They're not there when she looks at a "plus-size" model and realizes that woman, too, is smaller than her–and has long, relatively thin legs and a practically "perfect" hourglass figure, to boot. And they're not there when some asshole yells, "You fucking whale!"–or "Fat bitch!" "Fat cunt!" "Lardass!" "Fatass!" "Cow!"–at her from a passing car.
'Cause guess what–that happened when I was the size of the average American woman, too.
Now, some of you are probably striking up the world's smallest violin right now, so let me make it clear that I am not whining that in-betweenies have it just as bad as fatter fatties here. Don't get me wrong: it's not even close. But this "the average American woman wears a size 14!" shit is utterly meaningless in terms of defining what's "fat" and what's "normal" in this culture. Might I remind you that according to doctors, this woman is normal, this woman is overweight, and this woman is obese. Yes, the whole point of the BMI project is to illustrate how fucked those categories are, but it's one of the metrics for determining fatness that haunts the average American woman–along with images in the media, clothing sizes, and the judgments of both family and strangers. So the next time some barely chubby friend or partner or sister or daughter of yours complains about feeling fat, and your kneejerk response is to tell her she's not, as if she's being utterly ridiculous? Take a moment to consider that maybe she's not. Maybe, just maybe, she's heard from about 1,000 other sources that she is, in fact, fatty fat fat fat, no matter what you happen to think. Maybe just this afternoon some dickhead called her a fucking whale because she had the temerity to cross the street in front of his car, and she felt too ashamed to tell you about it.
You're right, of course, to want to get the message across to this woman that there is nothing wrong with her body. She could probably stand to hear that. But telling her she's not fat is not the same thing. It denies her the anguish she feels about having a body that deviates from the ideal, however slightly–and believe me, deviating even slightly is plenty to cause legitimate anguish–and worse yet, it reinforces the message that her being fat by some other standard would mean there was something wrong with her body.
That's the underlying problem here–not whether the woman is officially "fat," but that so many of us automatically equate fat with a host of other negative characteristics, with there indeed being something wrong with your body. The hilarious thing is that just before this wankstain yelled at me, my Pilates instructor–a student teacher who's not used to me yet, let alone to how all sorts of different bodies work–had been falling all over herself telling me how amazingly strong and flexible I am. (Thank you, yoga.) In the space of ten minutes, I went from being praised up and down for what my body can do to being cruelly insulted because it's not a socially acceptable size. And if that doesn't drive home the point that the real problem is not anybody's fucking fat but a culture that insists fat bodies are intrinsically worthless, I don't know what will.
Another question that reporter asked me was, "Does it still hurt when people say mean things about your body?" I told her honestly that it mostly doesn't anymore–but that I only got here because it hurt like hell for almost twenty years, until I finally got fucking sick to death of internalizing all the nasty things people said, directly or indirectly, about my body. Trolls, especially, just crack me up these days; they're so bloody ridiculous and predictable, it doesn't even occur to me to do anything but laugh. But sometimes? Yeah, it still stings. Today was one of those times. There I was, walking home on a beautiful afternoon, high from a good workout and the praise of my instructor, and out of nowhere, there it was: YOU FUCKING WHALE.
For a moment, I'd almost forgotten that no matter how much I like my own body, other people will always be happy to hate it for me. For a moment, I'd almost forgotten that's how it works.


text:
The American Library Association's annual convention came and left Anaheim last week. It was a great opportunity to get a preview of upcoming children's book treasures.
. . . . . . . . . .
Spotted at the Macmillan/Roaring Brook booth:
Any book by James Rumford is an event! His early Peace Corps experiences imprinted a lasting curiosity about different cultures, and international themes.
From the Good Mountain: How Gutenberg Changed the World. Concise text is written as a series of intriguing riddles, with corresponding illustrations rendered in the style of an illuminated manuscript. Example:
What was made of rags and bones, soot and seeds? What took a mountain to make?
For the answer, Rumford lures us to the fifteenth century, when books were made by hand, and a man named Johannes Gutenberg invented a way to print books with movable type.
[click any image to enlarge]
See more about his creation process behind the making of From The Good Mountain here.
At my recent UCSD Extension illustration class, we marveled at the variety of style Rumford applied to each of his books.
While experimenting with different media, he remains consistent and focused, in terms of technique, within the framework of each book's own theme.
In Silent Music, Ali is a schoolboy with a yen to play soccer and listen to loud music. Sound familiar? No surprises there.
[click any image to enlarge]
Now consider that Ali is a contemporary Iraqi boy who lives in Baghdad, and has everyday acquaintance with most aspects of the war, and occupation.
Like his hero, the famed calligrapher Yakut, who wrote through the destruction of Baghdad in 1258 ("he shut out the horror and wrote glistening letters of rhythm and grace"), Ali turns to calligraphy, creating inked brush-strokes during the bombing of Baghdad in 2003. It's Ali's salvation.
"Writing a long sentence is like watching a soccer player in slow motion as he kicks the ball across the field, as I leave a trail of dots and loops behind me," says narrator Ali.
In an eloquent ending, he discovers that while the word "war" flows easily, the pen "…stubbornly resists me when I make the difficult waves and slanted staff of saalam — peace."
Rumford shows us how iconic Arabic calligraphy is, from rhythm of Ali's life, the flow of his movements, his everyday environment, to his family's garments, in loving detail.
In Tiger and Turtle, Rumford bathes his backgrounds with vibrant color and Persian textures (an abstract effect that almost smells exotic), setting the stage for his two characters, rendered simply with calligraphic brush strokes.
[click any image to enlarge]
And what are Rumford's thoughts about future of the printed book?
Check out the author bio on the back flap of From the Good Mountain (coming 9/18/2012 from Roaring Brook Press/a Neal Porter book):
Check out Jama Rattigan's interview with James Rumford here.
Jama also reviews Silent Music here.
I'll post more images of what grabbed my attention on the ALA Exhibit Floor over the next several days. Stay tuned…


text:
Videos by Unit
Unit 8: When Chemicals Meet Water—The Properties of Solutions
Hosted by Adam Brunet
The majority of chemical reactions happen in solutions—whether inside an espresso machine or in a human cell. For example, when we breathe, the nitrogen in the air dissolves in our blood. Henry's Law gives us the power to predict, prevent, and treat "the bends"—a life-threatening condition that can happen to SCUBA divers when nitrogen in the blood comes out of solution and forms gas bubbles. Solution chemistry provides tools to measure the concentration of components of solutions, like the CO2 levels in ocean water. Knowing the concentrations of components in solutions can help determine the health of the world.


text:
Last time we left of, there was no real proof that the jobs are being processed one and one in the order they are queued. In order to prove that and satisfy the story
"Several jobs should be queued on the same resource type(s), being processed one and one in order as they where queued"
What we need to prove this is some form of timestamps which we will use in the tests. Question is – where do we put them – or more interesting – do we need them? One particularly bad thing that we must not do is to start contaminating the API and logic for the sake of being able to prove tests in an easy way.
Just food for thought.
However, in this case we want to see when something was finished, no harm in that, so the test (which fails) can be seen below
executed_queue() -> wn_resource_layer:register(#wn_resource{name = "Laptop", type = [{'os-x',1}], resides = node() }), Path = create_file_at(?NODE_ROOT), File1 = #wn_file{id = "File1",file = Path,resides = node()}, Job1 = #wn_job{id = "JobId", files = [File1], resources = ['os-x'], commands = ["file EunitFile"], timeout = 100 }, Job2 = Job1#wn_job{id = "JobId2", files = [File1#wn_file{id="File"}], commands = ["cat EUnitFile"]}, ?assertEqual(ok,wn_job_layer:register(Job1)), ?assertEqual(ok,wn_job_layer:register(Job2)), ok = wn_job_layer:stream(user,"JobId"), ok = wn_job_layer:stream(user,"JobId2"), timer:sleep(100), ?assertEqual({ok,["EunitFile: ASCII text"]},wn_job_layer:result("JobId")), timer:sleep(1000), ?assertEqual({ok,["1,2,3"]},wn_job_layer:result("JobId2")), {ok,T1} = wn_job_layer:finished_at("JobId"), {ok,T2} = wn_job_layer:finished_at("JobId2"), ?assertEqual(true,T1 < T2).
Seems pretty self explanatory, it's like the first test, but with two jobs, and some function called finished_at/1 returning {ok,Timestamp} great, and we check that the first job was done before the other one. As we have a failing case agin (yay!) there is something to implement, first the extra code in wn_job_layer.erl
The added API function export (last element in the list)
%% API -export([start_link/0,register/1,list_all_jobs/0, stop/0,stream/2,result/1,finished_at/1]).
Then the added API function implementation
-spec(finished_at(string()) -> {ok,time_marker()} | {error,term()}). finished_at(Id) -> gen_server:call(?MODULE,{finished_at,Id}).
The added handle_call clause, sending on the signal via a new wn_job_keeper function
handle_call({finished_at,Id},_From,State) -> {reply, case ets:lookup(State#state.jobs,Id) of [] -> {error,no_such_job}; [{Id,Pid,_}] -> {ok,wn_job_keeper:get_done(Pid)} end,State};
Over to wn_job_keeper.erl and the changes on it, of course, first the added export (last element)
-export([start_link/1,done/2,progress/2,info/2,stream/2, signal/1,get_result/1,get_done/1]).
Then the actual API function
-spec(get_done(pid()) -> {ok,time_marker()} | {error,not_done}). get_done(Pid) -> gen_fsm:sync_send_all_state_event(Pid,get_done).
with the added new clauses in the handle_sync_event function
handle_sync_event(get_done,_From,done,State) -> {reply,State#state.done_at,done,State}; handle_sync_event(get_done,_From,X,State) -> {reply,{error,not_done},X,State}.
On top of that, we need to set the done_at state record field, presumably with the done signal
handle_event({done,X}, working, #state{info = Info} = State) -> stream_msg(State#state.stream,X), {next_state, done, State#state{info = [{now(),{done,X}}|Info], done_at = {date(),time(),now()} }};
The attentive reader now sees the time_marker() type spec and wonders where it comes from? Well, worker_net.hrl of course, the added lines are seen below
-type date() :: {integer(),integer(),integer()}. -type time() :: {integer(),integer(),integer()}. -type now() :: {integer(),integer(),integer()}. -type time_marker() :: {date(),time(),now()}.
Greatness, so little for so much added value, fire up the console and 'make full'. At this point I found some bugs and fixed them. Fast forward *ahem*. One of the more serious changes I made during the bug fix was to make sure the wn_resource_process would actually signal done to the job keeper and not the job worker.
handle_event({signal,JobKeeperPid}, free, State) -> {Ns,Nld} = case wn_job_keeper:signal(JobKeeperPid) of {ok,WnJob} -> process_flag(trap_exit,true), {ok,WorkerPid} = wn_job_worker:start_link(State#state.node_root, JobKeeperPid,WnJob), {taken,State#state{job = WorkerPid, %% This was missing vvvvvvv job_keeper = JobKeeperPid}}; {error,taken} -> {free,State} end, {next_state,Ns,Nld};
and the second part of this fix here
handle_info({'EXIT',WorkerPid,Reason}, taken,#state{job = WorkerPid,job_keeper = JobKeeperPid}= State) -> %% Part of fix here vvvvvvvvvv and here ^^^^^^^^^^ wn_job_keeper:done(JobKeeperPid,Reason), {Ns,Nld} = case State#state.queue of [] -> {free, State}; [X|Q] -> case wn_job_keeper:signal(X) of {ok,WnJob} -> process_flag(trap_exit,true), {ok,NewWorkerPid} = wn_job_worker:start_link(State#state.node_root,X,WnJob), {taken,State#state{job = NewWorkerPid, %% And here vvv job_keeper = X, queue = Q}}; {error,taken} -> {free,State#state{queue=Q}} end end, {next_state,Ns,Nld}.
After the fix, and removing the output from the paste a make full – the output of the job tests is now okay
1> ======================== EUnit ======================== module 'wn_job_layer' module 'wn_job_layer_tests' wn_job_layer_tests: local_test_ (Can register locally)...[0.004 s] ok wn_job_layer_tests: local_test_ (Executed locally)...[1.003 s] ok wn_job_layer_tests: local_test_ (Executed queue)...[1.104 s] ok [done in 2.143 s] [done in 2.143 s] ======================================================= All 3 tests passed. dialyzer src/*.erl test/*.erl Checking whether the PLT /Users/zenon/.dialyzer_plt is up-to-date... yes Proceeding with analysis... Unknown functions: eunit:test/1 done in 0m3.87s done (passed successfully) zen:worker_net-0.1 zenon$
A quick look back in history with a sort of what is done and not could be in order
Done stories
"I want to be able to describe a job as
- A set of Files [#wn_file{}]
- The possible resource types needed (disjunction)
- A list of commands for running the job
- A timeout the job is given while running (in seconds)
- A job id – primary key for the job"
"I want to be able to register a job in the job layer, through any node."
"Several jobs should be queued on the same resource type(s), being processed one and one in order as they where queued"
"I want to be able to list all jobs in the system, through any node."
"The output generated by a job should be possible to see in realtime, through any node and stored to logfiles."
Not done stories
"A job must be possible to cancel before it starts running, through any node."
"Once a job is done, the result should be stored in the file layer, together with the logs."
"I want to be able to delete a job once it's done, through any node."
Onward with the next chosen stories – the cancelation (first story in the Not done stories seen above)
"A job must be possible to cancel before it starts running, through any node."
The test (and design of intended use) can be seen below
cancel_queued() -> wn_resource_layer:register(#wn_resource{name = "Laptop", type = [{'os-x',0}], resides = node() }), Job1 = #wn_job{id = "JobId", files = [],resources = ['non-existent'], commands = ["echo hello"]}, ?assertEqual(ok,wn_job_layer:register(Job1)), [Res] = wn_job_layer:list_all_jobs(), ?assertEqual("JobId",Res#wn_job.id), ?assertEqual(['non-existent'],Res#wn_job.resources), ?assertEqual([],Res#wn_job.files), ?assertEqual(["echo hello"],Res#wn_job.commands), timer:sleep(1000), ?assertEqual(ok,wn_job_layer:cancel("JobId")), [] = wn_job_layer:list_all_jobs().
A good think to notice here is that I intentionally set the amount of available 'os-x' resources to zero. The intended effect is that the job should we waiting until it get's a signal from an available resource process. So this job should not be executed. However, this is not implemented yet! So this "ticket" system will have to be implemented in some way.
A question is – how do we do this easily? Remember that a resource can be of several types at the same time – with different available numbers of slots for each type. The intended use of the types from the Job's point of view was that a Job should be able to require one of several Resource types.
It would now be prudent to add such a test – and make it pass if it does not already! I chose to add the test in wn_job_layer_tests.erl
queues_on_resource_types_amount() -> wn_resource_layer:register(#wn_resource{name = "Laptop", type = [{a,0},{b,1}], resides = node() }), Queued = fun() -> wn_resource_layer:queued(node(),"Laptop") end, Job1 = #wn_job{id = "JobId", files = [], resources = [a], commands = ["sleep 5"]}, Job2 = Job1#wn_job{id = "JobId2", resources = [a]}, Job3 = Job1#wn_job{id = "JobId3", resources = [a,b]}, Job4 = Job1#wn_job{id = "JobId4", resources = [b]}, wn_job_layer:register(Job1), ?assertMatch({ok,[{a,[#wn_job{id = "JobId"}]}]},Queued()), wn_job_layer:register(Job2), ?assertMatch({ok,[{a,[#wn_job{id = "JobId"}, #wn_job{id = "JobId2"}]}]}, Queued()), wn_job_layer:register(Job3), ?assertMatch({ok,[{a,[#wn_job{id = "JobId"}, #wn_job{id = "JobId2"}, #wn_job{id = "JobId3"}]}, {b,[#wn_job{id = "JobId3"}]} ]},Queued()), wn_job_layer:register(Job4), ?assertMatch({ok,[{a,[#wn_job{id = "JobId"}, #wn_job{id = "JobId2"}, #wn_job{id = "JobId3"}]}, {b,[#wn_job{id = "JobId3"}, #wn_job{id = "JobId4"}]} ]},Queued()).
Now the first priority is to make the latest test work, so we start developing the queued/2 function in wn_resource_layer.erl, first the usual added API export (last element in list)
-export([start_link/1, register/1,list_resources/0,stop/0, deregister/2,queued/2]).
After that, the actual API function
-spec(queued(node(),string()) -> {ok,[{atom(),[#wn_job{}]}]} | {error,term()}). queued(Node,Name) -> gen_server:call(?MODULE,{queued,Node,Name}).
The added handle_call clause
handle_call({queued,Node,Name},_From,State) -> case {Node == node(), lists:member(Node,nodes())} of {true,_} -> Reply = try_get_queued(State,Resource), {reply,Reply,State}; {false,true} -> gen_server:cast({?MODULE,Node},{queued,From,Name}), {noreply,State}; {false,false} -> {reply,{error,noresides},State} end;
The try_get_queued/2
try_get_queued(State,Name) -> case ets:lookup(State#state.resources,Name) of [] -> {error,noexists}; [{Name,WnResource}] -> Pid = WnResource#wn_resource.pid, wn_resource_process:queued(Pid) end.
the necessary handle_cast clause as well (if on remote node)
handle_cast({queued,From,Name},State) -> gen_server:reply(From,try_get_queued(State,Name)), {noreply, State};
In wn_resource_process.erl we need to add the API export for the queued/1 function
%% API -export([start_link/1,signal/2,queued/1]).
And the API function
-spec(queued(pid()) -> [{atom(),[#wn_job{}]}]). queued(Pid) -> gen_fsm:sync_send_all_state_event(Pid,queued).
With the synchronized all state event handler
handle_sync_event(queued, _From, StateName, State) -> Reply = collect_jobs(State), {reply, Reply, StateName, State}.
And the internal collect_jobs/1 function, the implementation of the collect_jobs/1 suggests that we need to make another change of the current design. Whenever a job registers one the types it wishes to use, it has to tell which one of the types it wants to queue on! This atom will be used for the internal queues of the resource process from now on.
collect_jobs(State) -> [{Type,[ wn_job_keeper:get_job(Pid) || Pid <- Queue]} || {Type,Queue} <- State#state.queues].
Lastly the type spec changes in wn_resource_process.erl
-record(state,{node_root :: string(), queues :: [{atom,[pid()]}], job :: pid(), job_keeper :: pid() }).
and signalling changes to the wn_resource_process.erl.
-spec(signal(pid(),pid(),atom()) -> ok). signal(Pid,JobKeeperPid,QueueType) -> gen_fsm:send_all_state_event(Pid,{signal,JobKeeperPid,QueueType}).
and the internal changes for the signalling (in the other signal clause, we just ignore the QueueType)
handle_event({signal,JobKeeperPid,QueueType}, taken, State) -> Queues = add_to_queues(JobKeeperPid,QueueType,State#state.queues), {next_state,taken,State#state{queues = Queues}}.
along with the necessary internal add_to_queues function (also rename all instances of the field queue to queues)
add_to_queues(JobKeeperPid,Type,[{Type,Queue}|Rest]) -> [{Type,Queue++[JobKeeperPid]}|Rest]; add_to_queues(JobKeeperPid,Type,[E|Rest]) -> [E|add_to_queues(JobKeeperPid,Type,Rest)]; add_to_queues(JobKeeperPid,Type,[]) -> [{Type,[JobKeeperPid]}].
The handle_info 'EXIT' clause needs to be changed as well since we need to pop all type-queues now, this is handled with an internal helper function
handle_info({'EXIT',WorkerPid,Reason}, taken,#state{job = WorkerPid,job_keeper = JobKeeperPid} = State) -> wn_job_keeper:done(JobKeeperPid,Reason), {Ns,Nld} = case waiting_in(State#state.queues) of undefined -> {free,State}; {WaitingKeeperPid,NewQs} -> case wn_job_keeper:signal(WaitingKeeperPid) of {ok,WnJob} -> process_flag(trap_exit,true), {ok,NewWorkerPid} = wn_job_worker:start_link(State#state.node_root, WaitingKeeperPid, WnJob), {taken,State#state{job = NewWorkerPid, job_keeper = WaitingKeeperPid, queues = NewQs}}; {error,taken} -> {free,State#state{queues = NewQs}} end end, {next_state,Ns,Nld}.
and the helper function waiting_in/1
waiting_in([{_,[Pid]}|Q]) -> {Pid,Q}; waiting_in([{Type,[Pid|R]}|Q]) -> {Pid,[{Type,R}|Q]}; waiting_in([]) -> none.
All that remains here is the change in how we signal to the wn_resource_process from the wn_job_layer and the necessary minimal logic in the wn_job_keeper to send the #wn_job record. First the necessary signalling change from the wn_job_layer.erl
The job_layer should now try and signal the job on each possible type which is in the intersection of the possible job types and the designated resource types. First change is the add_job clause in wn_job_layer.erl
handle_call({add_job,WnJob}, _From, State) -> JobId = WnJob#wn_job.id, {reply, case ets:lookup(State#state.jobs,JobId) of [] -> {ok,Pid} = wn_job_keeper:start_link(WnJob), ets:insert(State#state.jobs,{JobId,Pid,WnJob}), lists:foreach( fun(WnResource) -> case resource_is_sufficient(WnJob,WnResource) of {true,Possibles} -> lists:foreach( fun(Type) -> signal_resource(Pid,WnResource,Type) end,Possibles); false -> ignore end end,wn_resource_layer:list_resources()), ok; [_] -> lists:foreach( fun(File) -> wn_file_layer:delete_file(File#wn_file.resides, File#wn_file.id) end,WnJob#wn_job.files), {error,already_exists} end, State}.
the implied changes in the helper functions by this
resource_is_sufficient(WnJob,WnResource) -> case [ T || {T,_} <- WnResource#wn_resource.type, lists:member(T,WnJob#wn_job.resources)] of [] -> false; L -> {true,L} end. signal_resource(JobKeeperPid,WnResource,Type) -> wn_resource_process:signal(WnResource#wn_resource.pid, JobKeeperPid,Type).
and finally, the requested get_job/1 function can be added to wn_job_keeper.erl, starting by the usual two – export
resource_is_sufficient(WnJob,WnResource) -> JobResourceType = WnJob#wn_job.resources, case [ T || {T,_} <- WnResource#wn_resource.type, lists:member(T,WnJob#wn_job.resources)] of [] -> false; L -> {true,L} end. signal_resource(JobKeeperPid,WnResource,Type) -> wn_resource_process:signal(WnResource#wn_resource.pid, JobKeeperPid,Type).
and API function implementation
-spec(get_job(pid()) -> #wn_job{}). get_job(Pid) -> gen_fsm:sync_send_all_state_event(Pid,get_job).
and the handle_sync_event clause for this trivial signalling
handle_sync_event(get_job,_From, X, State) -> {reply,State#state.job,X,State};
After all this, it seems like we have the full queueing in place – just the ticket counters to be fixed as well. Now – with "ticket behaviour" I mean the semaphoric behaviour – the counter on available resource slots for each declared type.
The change is small – let each resource_process keep an internal counter for each type and reduce it for each started process and increase it for each 'EXIT':ed. If the counter is 'infinity' we don't care counting for it.
First the state record change for the wn_resource_process.erl
-record(state,{node_root :: string(), queues :: [{atom,[pid()]}], slots %% ets {atom,non_neg_integer()|infinity, %% non_neg_integer()|infinity} job :: pid(), job_keeper :: pid() }).
Then the change so each wn_resource_process knows from the beginning how many slots they ought to have (passing an extra parameter in start_link/2)
-spec(start_link(string(),[{atom(),non_neg_integer()|infinity}]) -> {ok,pid()} | {error,term()}). start_link(NodeRoot,TypeSpec) -> gen_fsm:start_link(?MODULE, {NodeRoot,TypeSpec}, []).
the wn_resource_process init function is then modified to initiate the slot entries
init({NodeRoot,TypeSpec}) -> Ets = ets:new(available,[set]), lists:foreach(fun({Type,Amount}) -> ets:insert(Ets,{Type,Amount,Amount}) end,TypeSpec), {ok, free, #state{node_root = NodeRoot, queues = [], slots = Ets }}.
It now seems like a single wn_resource_process does not in fact have one single free/taken state any more. What decides whether a wn_resource_process can or can not take a job is the amount of available slots for each type.
Aha – so, do we remove the free / taken states? Do we rewrite the wn_resource_process as a gen_server perhaps? It would seem more fitting! And I shall, that will be the continuation for the next post (which will come quite soon – this post was getting too big – tune in, in 2 days or so for the next one).


text:
Short walks
You don't have to go far for a great walking experience in the Brecon Beacons National Park. Our collection of walks measuring three miles or less offers the perfect way to dip into our great outdoors.
These walks can be taken at a relaxed pace and are ideal for novice walkers. While they are short, please make sure you are fully prepared before you set out. Weather conditions will have an impact and the ground could be wet or muddy. Wear comfortable clothes that enable you to move freely, and flat shoes or boots with grip on the soles.
A walk on the Black Mountain
Rocky ravines reveal all. Let's clear up our terminology right from the ...
Craig-y-Nos circular
A taste of the Tawe. With lakes, ponds and big valley views, this walk...
Llandovery river walk
Town and the Tywi. Here's a short, easy walk along the lush banks of...
Mynydd Illtud from the Visitor Centre
Cracking commons and ancient settlements. An easy but rewarding walk f...
The Elidir trail (Sgwd Gwladus Waterfall)
A short walk that packs a big punch. This delightful walk may be short an...
Talybont valley
In the footsteps of poet Henry Vaughan A gentle stroll through the lan...