text:
June 2008 Letters To The EditorPosted in Project Vehicles on June 1, 2008
Where To Write
Address your correspondence to:
Four Wheeler
6420 Wilshire Blvd.
Los Angeles, CA 90048.
All letters become the property of Four Wheeler, and we reserve the right to edit them for length, accuracy, and clarity. The editorial department also can be reached through the Web site at www.fourwheeler.com. Due to the volume of mail, electronic and otherwise, we cannot respond to every reader, but we do read everything.
Pickup Truck Comments & Critiques
Reader: I read your report on your choice of the 2008 Ford Super Duty as Pickup of the Year (Mar. '08). I'm not going to complain about your choice-you picked what you felt was the best truck of the group. But I would like to offer an alternative perspective.
First, I should tell you I'm a dyed-in-the-wool Ford guy. Seven of the nine vehicles I've owned have been Fords (the exceptions were the Buick my wife owned when I met her, and a CJ-5). I put 182,000 miles on my first Ford truck (an '85 F-250) and 148,000 on my second (a '95 F-150). So I was pretty excited when I ordered a 2008 F-250 and took delivery of it in May 2007.
I loathe this truck. The three biggest problems are ones your truck wouldn't have had: The 5.4L Triton V-8, its engine management system, and the M6OD transmission.
The 5.4 Triton simply isn't a 3/4-ton truck engine. It'd be nice in a Mustang, and probably acceptable in a 1/2-ton, but it makes no power below 3,000 rpm. I've almost never had to run a truck engine above 3,000 rpm before (my other pickups both had 351 Windsors), and now I can't do anything but cruise below it-and I can't even cruise below 3,000 if the truck is loaded. I know I could have had all the low-end torque I'd ever want if I'd have been willing to pay an extra $7,000 for the diesel. But I'd always been perfectly satisfied with the 351W so it didn't seem like I should need to pay that much for an acceptable truck engine.
Making it even worse is the M6OD trans. I don't like automatics, so I was glad that I at least could get a manual. But this isn't a 3/4-ton truck transmission-it's a 21/2-ton tranny. And overkill isn't always a good thing. If I had a 600-lb-ft torque-monster engine, I'd maybe be willing to put up with the slow shifting that a heavy-duty transmission requires. But backing a Mustang engine up with a dump-truck transmission was not a "Better Idea."
Also completely unacceptable is the engine management system that provides no compression braking (it keeps the throttle open while coasting), doesn't allow effective double-clutching (it doesn't let the engine slow down fast enough to let the engine help slow down the oversized gears in the tranny), and doesn't allow you to slowly back a trailer in low-low (it keeps opening the throttle so you have to slip the clutch and ride the brakes. My old trucks would lug down the engine with the clutch completely engaged and maybe a light foot on the brake).
Any one of these three would make the truck completely unacceptable to me. In addition, there are scores of annoyances that I'd maybe be willing to accept if I otherwise liked the truck. Those big mirrors you like for towing require me to drive my wife's car to the bank drive-through (my old trucks fit); they don't slide in far enough to be effective without a wide load; and they cause road spray to collect on the side windows so you can't see the mirrors anyway. The cab is too high for my slide-in camper (I had to fasten 2x4s on edge to the bottom of the camper so it'd clear). The back edge of the tailgate is curved, so a topper window has to be flexed to allow it to latch. Styling, of course, is a personal thing, but while you like the look, I find it extremely in-your-face, which I don't like. Especially the gaudy chrome grille (at least I was able to get an XL with the black grille). I used to laugh at the mid-'80s Chevys that had such an identity crisis that they had to have "4x4" logos on both rear fenders to tell everyone what it was. This truck has eight "Super Duty" logos on it. To me, this screams "look at me, I'm insecure and trying to compensate."
Bob Wahlstedt
Roseville, MN
Reader: OK guys, I've been quiet long enough. I've been a subscriber to this great magazine since 1974 when I bought my first 4x4, a new IH 200, which I owned for 22 years. The ol' Binder is gone now (thanks to my ex), but the big reason for this letter is about the 2008 Pickup Truck of the Year. I don't have any issues with your choice, and I understand why and how you pick the winner. I was a little disappointed that GM didn't have more than one truck there.
I've been partial to Cummins engines for a long time, and therefore somewhat interested in the big Dodge, so when I saw it in the lineup, I had to read your comments. While I agree it isn't the best off-highway, or the best trail rig, I had to laugh when I saw the last picture where it was stuck clear to the axles. Like someone put the pedal to the metal, and kept it there while it downshifted all the way to First gear, and kept going until all forward motion stopped when the front diff hit the dirt. Having never had a truck with a limited-slip diff, I've learned to turn off the testosterone and not let things get that bad, especially when I'm alone. My son did the same thing in a snowdrift a few winters back. He wasn't too happy when I pulled his big Chevy out with me Explorer. What happened to: "Hey, stop before it gets that deep"? Or, "Hey let some air out of the tires first! We don't have a limited-slip here."? Then feather the throttle just enough to move the truck without breaking traction. Simple! But hindsight is always 20/20.
Torque is the enemy when driving in deep sand, as you found out with the Ram. Plus its 7,000 pounds didn't help much. I agree the Cummins should be an option for the Power Wagon-when is Dodge going to wake up?
Jim Crandall
Elko, NV
Reader: The butler did it ... again! As a long-time subscriber (15+ years), I always look forward to getting my monthly issues from you. I normally read them cover to cover, and I wanted to say that the last two issues have been extremely disappointing because you give away your winners for FWOTY and PTOTY right on the cover of each issue (Feb., Mar. '08) This decision seems to have been a last-minute change by someone at FW since the "On the Cover" text in the Table of Contents for both issues refers to a different (nonexistent) photo. If the intent of the change was to draw more people to buy newsstand copies, you may have had the opposite result. Why buy the issue when the answer is printed in bold font on the cover? Your editorial mentions reading the article to find out who comes out on top. Well, you already spoiled it. It's like publishing a mystery novel with the whodunit in the cover title. Of course, I still read the article to get details on each vehicle and compare the specs between them all.
I really enjoy your magazine but wanted to share my frustration with these latest spoilers and hope you reconsider this approach in the future.
Dave Wurts
Tiny Town, CO
Editor: Thanks for the suggestions. The discrepancy in the Table of Contents reflected the fact, as you surmised, that we did have two separate covers-one for the newsstand and one for subscribers-and one of the local bozos (er, editors) around here forgot to include that info on the Contents page. In other words, it wasn't a last-minute decision-we just goofed. We're always trying out new approaches on our covers to see what works and what doesn't with our readers, and we appreciate any and all feedback about our cover treatments. Thanks again.
About the big Ram: As a rule, we usually don't air down the tires on our test rigs during our FWOTY and PTOTY tests, preferring instead to "run 'em as they brung 'em" straight from the factory. This gives us a chance to test each tire at the manufacturers' recommended inflation pressures, and also to simulate how most everyday (i.e., non-hardcore) wheelers would run these (stock) rigs in the dirt. Also, while we realize we lose some tire adhesion by not airing down, we also minimize the chances of sidewall failure, which strikes us as an acceptable trade-off-we'd rather yank a stuck rig out of the sand than have to reseat a bead, or change a tire and wheel, on the trail. Finally, in our defense, the pilot of the stuck Ram was a grizzled 20-year veteran of the Rubicon and Moab who had never, ever gotten stuck on any trail before. On a related note, our Editor's nose is getting longer these days-and it was already pretty big to begin with.
About the Super Duty: You make some very perceptive observations. If we need some extra testdrivers for PTOTY next year, we'll keep you in mind. Can you handle Southern California in November?
More On Pickups And Missing Prices
Reader: I'd like to say that I've been a longtime reader of your magazine, and thank you for putting out such a high-quality publication. I read your March issue and have two suggestions. While they may just be picking at nits, I do feel that both suggestions would make for a better magazine.
First: Your 2008 PTOTY article. While the Hummer H2 SUT is, no doubt, a great truck, I'm pretty sure it's an SUV with a small bed-not a pickup truck-and should therefore be included in your Four Wheeler of the Year contest instead. I understand that with trucks like the H2 SUT, the Avalanche, the Ridgeline and others, the line between SUVs and pickup trucks has become somewhat blurred. My suggestion would be to let the readers decide which category to put them in via a reader poll. I think this might more accurately reflect readers' opinions on them, and may help with future articles about such trucks.
Second, I was quite interested in Robin Stover's response to the reader wanting to purchase your Project Teal Brute. It would be quite helpful if you would add a line or two in each of your buildup articles about the final cost of the build. This would be quite helpful for readers that want to do such buildups on their own trucks, as it would give them some idea of what to expect from a cost standpoint. Thanks for your time, and thanks again for a great magazine.
Burton Zender
Tiffin, OH
Editor: By now, we have received enough reader response over the last two years of testing that we've decided to make changes to our PTOTY evaluation starting next year: Namely, the field of "pickup trucks" will be limited to those vehicles that have a dedicated chassis/cab configuration with a detachable bed. So-called SUTs like the Avalanche will be tested as SUVs in the future. How about them apples?
On the subject of "blurred lines": One segment of the 4x4 market that has grown by leaps and bounds over the years has been the so-called "crossover" or XUV market. Back in the day, we used to trail-test rigs like Subarus, AMC Eagles, and Audi Quattros, even if they didn't have a low-range gear, and frankly, we're thinking about staging some kind of "Crossover of the Year" test similar to Four Wheeler of the Year in the future. (Don't worry, we won't put a Subaru on the cover.) Based on our own driving experiences, some of these vehicles are actually quite capable in the dirt, and we'd be willing to guess that more than a few of you (or your wives, or your in-laws) have one of these rigs in your garage as a daily driver. Would anyone be interested reading about such a test? If so, how should we conduct it? (And no, "Drive 'em off a cliff" doesn't count as an answer.)
About prices: You're not the only reader who's written in with this question...
Reader: I like your mag, but one thing irks me-you never put prices in your stories. How much for new parts, or for rebuilds? You could include approximate prices (somewhere in the ballpark-it doesn't have to be exact). So why no prices?
Lou Hockel
Las Vegas, NV
Editor: As a rule, we refrain from including price information in our tech articles due to the fact that prices can, and do, change over time. This might not be a tremendous problem for readers of this magazine from month-to-month, but a reader who stumbles upon, say, a three-year-old tech story on our Web site wouldn't likely be getting accurate pricing information from such a story. And nowadays, with the prevalence of the Internet, getting current and up-to-date price information is as easy as logging onto a manufacturer's Web site and running a simple search.
What Happens To Old Project Parts?
Reader: I've noticed that you have changed the Teal Brute's suspension a few times, and I was just wondering what you do with the old parts? I hope you don't just throw them out because there are poor college kids like myself who would be glad to buy a good used lift kit, and that kit would go great with my new TJ. I'm also pretty sure you did a couple of axle swaps, too. Again, you should sell them to your most loyal readers such as myself. Thanks for the great magazine, and keep doing the great job.
Ricky Borchert
Meriden, CT
Reader: I'm just curious as to what happens to all the leftover bits from project rigs? I've been following project "Project Ain't It Grand(er)" because I have a '95 ZJ that I'm making plans for (wife willing) and was wondering if any of those parts, like the old Teraflex lift, would be for sale?
Rob Groeger
Springbook, Alberta, Canada
Editor: It all depends. Many of these parts end up being swapped into other vehicles among our project fleet, some are sent back to the manufacturer for further testing after we're done with them, and some end up as junk. (The Teal-J's original Dana axles, for instance, were corroded beyond repair at the time we retrieved the vehicle, hence our Dynatrac 60 swap.) More pointedly, up to now we haven't sold used parts or project rigs to the public primarily for reasons related to liability. (We've had a lot of nervous lawyers around here in the past.) However, we are discussing amongst ourselves the feasibility of selling some parts and/or vehicles in the future. We'll let you know if we're finally able to do it.
Wants New Titan Axle Info
In your review of the new Nissan Titan Pro-4X (Feb. '08), you said that they upgraded the rear axle with a stronger aluminum diff cover, inner/outer bearing materials and seals, and a four-pinion setup. Is this just on the Pro-4X, or is it also on the 4x4 SE crew-cab model?
Jonathan Pierce
Huntsville, AL
Editor: The rear axle has been strengthened on all Titan models for 2008. Sorry we weren't clearer about that.
Wants 4x4 Snowplow Info
Reader: Through the years you guys have given me great ideas, but how about a practical article on snowplowing? Information on vehicle types, optional wheels, tires, size of plow, and so on could be interesting reading.
John Owen
Lake George, NY
Editor: We floated this suggestion past Senior Editor Brubaker at our Midwest Bureau. He certainly knows his way around a snowdrift or two-and he shovels his fair share of it just to get out of his driveway each winter-and he liked the idea so much, he's working on an article which we'll be running later in the year. Thanks for writing in.
Real Jeeps Have Round Springs ... Don't They?
Reader: I own an '03 Jeep Wrangler X, and I was looking into leaf-spring suspensions. I don't know much about them and I was looking for some information about what they can do for my rig. Pros and cons for this subject are something I am looking for, as well as what are the best types to look for, and what to look for in a good leaf-spring suspension. Any help in this area would be a great help.
One more thing: I was looking for places to go out and play in central Texas, and maybe some clubs. Thanks again-can't wait to hear back.
Fort Hood, TX
Editor: First off, if you're thinking about converting your present Jeep to leaf springs, do yourself a big favor and trade it in for a low-mileage '87-'96 Wrangler YJ, which has leaf springs and all the mounting pads, brackets, and shock towers already in place. Converting your TJ to leaf springs, by contrast, will take a fair amount of time, money, and fabrication skills-and frankly, it probably won't improve overall trailability a whole lot over your stock setup. We could write a whole book about this subject, but long story short: Leaf springs are low-tech, relatively inexpensive, easy to work with, and provide lateral stability as well as load-carrying capability. On the other hand, they're tuned to flex at a certain fixed rate, and ride quality on bumpy trails can often be harsh. Coils require control arms and track bars to help provide stability, and they utilize more complex geometry, but they can also be tuned to variable rates for a smoother ride on uneven terrain. If you're looking for custom spring makers, two of the best are out here in California-Deaver Spring (www.deaverspring.com) and National Spring (www.nationalsprings.com). But once again, if it was up to us, we'd leave your TJ Wrangler just as it is, round springs and all.
Clubs? There are quite a few in Austin, including the Austin Four Wheelers (www.austin fourwheelers.org), the Central Texas 4WD Club (geocities.com/centex4x4club), and the Texas Trail Riders (www.txtrailriders.com). A great wheelin' spot that's not far from you-a two-hour drive at most-is Katemcy Rocks (katemcyrocks.com) near Mason.
Gear Swap For Slight-Lift Silverado
Reader: I currently drive a Chevy Silverado Z/71 with stock 3.42:1 gears. I have added some larger tires, 285/70R17, and figure I've probably got something like 3.30:1s now. My question is, what do you suggest for changing gears? I saw a set of 4.56:1s for a few hundred bucks, but what do you guys think? I am more than likely going to get some sort of lift, larger tires, and start towing eventually (I also wouldn't mind a little more oomph for now), but I figured I would start here. Any help would be appreciated.
Michael Chachakis
Port Jefferson Station, NY
Editor: According to our records, your stock tires should've been 265/70R17s, which is the metric equivalent of a 31.6-inch-tall tire. If your information is correct, your new tires, at 32.7 inches, are barely an inch taller than the rubber they replaced. Given such an incremental gain in diameter, you don't absolutely need to swap gears, but we'd probably recommend going to 3.73:1s anyway since that ratio was standard for '05 Silverados with the Z/85 Towing Package. Otherwise, if we were you, we'd wait until you'd finished lifting the vehicle and installing larger tires before re-gearing any further. One last thing we would remind you about, though: you did recalibrate your speedometer, right?
Wants Old Ford To Pass Cali Emissions
Reader: How can I find out what modifications to my vehicles are legal and will pass the smog test in California. A friend of mine has a '77 Ford F-150. He made a few small changes, and he had to put the truck completely back to original to pass smog. Please help if you can.
George Eads
Marina, CA
Editor: Without knowing what kinds of modifications were made, the engine's state of tune, or the condition of the exhaust, this is a virtually impossible question to answer definitively. One thing to look for is the presence of any aftermarket parts that have been bolted onto the engine to improve power and performance-the intake manifold, carburetor or EFI conversion, air filter, headers and the like. Don't forget the muffler and exhaust. There's also the crankshaft and pulley, camshaft, ignition coil, fuel lines, and filters ... well, the list goes on. Just about any aftermarket component that affects engine performance needs to be "CARB-certified" to have a chance to pass emissions. What's that? CARB stands for California Air Resources Board, and that's the bureau that sets emissions standards for the state-and since California's smog laws are the toughest in the nation, a CARB-certified part should be emissions-legal in any state. Each CARB-certified part will have what's called an E.O. (Executive Order) number, and should come with an exemption sticker with the number on it when you purchase the part. It's good to have all those stickers and numbers handy when you go for the sniffer test, because the folks who administer the test will have no way of memorizing all the CARB-legal parts that are out there.
Now, even if all of your underhood hop-ups are legal, your 30-year-old engine might not pass the tailpipe test anyway, and this could be due to countless factors. (One of the most common is that some of the old '70s-vintage emissions components can fail over time.) Our best advice is to have an experienced engine mechanic have a look at your vehicle and run some diagnostic tests before you hit the smog station. You can also log on to the CARB Web site (arb.ca.gov) and check their database for information.
Wants E-Brake For 205 T-Case
Reader: I'm looking for a parking-brake assembly for an NP205 transfer case. I've heard they are out there, but I'm having trouble locating them. Any info would be great.
Don Terry Jr.
Lakehurst, NJ
Editor: High Angle Driveline (www.highangledriveline.com) offers a kit for 205s with fixed yokes. Tom Wood's Custom Driveshafts (www.4xshaft.com) also had a 205 kit at one time to fit 1350 CV-joints. They may still have some in stock.
Looking For Blazer Soft Top
Reader: I have a '91 Chevy K-5 Blazer and I'm looking for a soft top for it. I do not wish to drill into the body to install snaps, however. I was wondering if you could direct me to a manufacturer that sells a top where there is minimal drilling required.
Newton, NC
Editor: This was a tougher question than we thought. A company called Specialty Tops (formerly Kayline) had a full line of fullsize SUV tops, but the company has gone out of business. Off Road Design (www.offroaddesign.com) lists some discontinued Bestop soft tops for Blazers for sale in its catalog, but otherwise we drew a blank. Readers?


text:
How to Use the Images
Painting 1
Painting 1
Photo 4: Statue of George Washington in North Carolina State Capitol.
Members of the North Carolina legislature appropriated $10,000 to hire Antonio Canova, then recognized as the world's best sculptor, to create a marble statue of George Washington for the State House. Sculpted in Italy and placed in the rotunda of the State House in 1821, this classical Washington, dressed in a tunic like a Roman soldier, was at first detested by many who thought the general should have been clothed in his military uniform. The statue soon came to be a source of pride for the citizens of the state, however. When the statue was destroyed in the fire of 1831, plans were immediately made to replace it and to have it placed in the new Capitol. However, not until 1970 was a copy made and placed in the Rotunda, where it stands today, a reminder of the Capitol's early classical influence.
Questions for Photo 4
1. Why might some people have found the statue offensive when it first was placed in the North Carolina State House in 1821?
2. Why do you think the sculptor thought it was appropriate to present George Washington in classical dress?
3. What do you think would be the reaction to a sculpture of a present-day politician in Roman or Greek attire?
* The photo on this screen has a resolution of 72 dots per inch (dpi), and therefore will print poorly. You can obtain a high quality version of Photo 4, but be aware that the file will take as much as 30 seconds to load with a 28.8K modem.

subset: commoncrawl


text:
0 Members and 1 Guest are viewing this topic.
Apparently the deal is scandalous with WHU actually paying negative rent after me and you pay for the upkeep of the stadium etc. Apparently they could be in breach of some competition fairness rules because WHU are essentially being state funded.
Yeah, I got that impression from the BBC piece. The state are even funding policing etc for matchdays which straight away gives them something no other club gets as they need to pay for that themselves.
I'll assume you have been drinking... I live in Monterrey Mexico numb nuts
Sounds like Real Madrid.
Who are also under investigation for the same thing.
Aren't they constantly getting bailed out by the king of Spain as it's the team he supports?
Good for the country and tourism was the old excuse
If they're involved in a deal that isn't considered consistent with the market then they'll have breached the rules. Of course it'll take a robust judiciary to go against the state when central government want someone in that stadium.
Even if they did get charged with breaching the rules it's one of them things that's probably get quashed on appeal.
I know it was a few years ago, but it's mental when you see the cost of the likes of Wembley and the Olympic Stadium yet they managed to build the Millennium Stadium for about £120m. And that includes a retractable roof.
Page created in 0.046 seconds with 24 queries.


text:
A few weeks ago we covered our big trends and favorite new gear from Eurobike, the world's biggest cycling trade show, but this week we're turning our focus to Interbike, the huge North American cycling trade show that takes place every year in the bright lights and high heat of Las Vegas, Nevada. Despite the distractions of Sin City, we were focused on bikes and cycling gear – read on below for a few highlights from our week in the desert.
1. One of the coolest parts of Interbike is getting to test-ride new bikes on the dusty trails at Bootleg Canyon, so this year we took the opportunity to take a few 27.5″ trail bikes out for a spin. Our verdict? This in-between wheel size can definitely be a lot of fun – being a bit larger means that they roll over obstacles easier than a 26″ bike, while at the same time being more nimble and maneuverable than a 29″ bike. 2 of our test-ride favorites came from our friends at GT and Breezer – these guys know mountain bikes, and it shows. GT has 2 brand new 27.5″ platforms for 2014, the 130mm Sensor and the 150mm Force, both of which feature their Angle Optimized Suspension design. Breezer is back in the full-suspension mountain bike game in a big way with their brand new Repack model, which is built around an innovative MLink suspension design that pivots around a link midway down the chainstay.
We actually got the chance to talk to Joe Breeze about the Repack later in the week and found out more about the history of the iconic Repack name and about how the 160mm of travel plus the MLink suspension technology is designed to create an all-mountain riding machine, with snappy handling and stability on the downhills:
2. Also at OutDoor Demo, our eyes were drawn to a gorgeous fleet of custom frames outfitted with top end Easton Cycling bars, stems, seatposts and their brand new EC90 Aero 55 wheels. It turns out that Easton is giving away these hand built road bike beauties (from Caletti Cycles, Calfee Design, Black Cat, Hunter and Rock Lobster) in their Dream Bike Charity Raffle. Each of the next 5 months Easton is raffling off one of these custom bikes to support the charity of the frame-builder's choice – you can purchase multiple $5 raffle tickets to increase your chances of winning and 100% of the proceeds from each raffle will go to the charity (although no purchase is necessary to enter). We were lucky enough to test ride the Calfee and Rock Lobster bikes, and we can say that you won't be disappointed if you win either one!
This month you still have a chance to win a Calfee Manta (although Calfee will build any size/model frame the winner prefers) – a wild "race platform" road bike that leverages a patented, active suspension system at the rear wheel. The design enhances traction, power transmission and comfort to increase rider performance – plus the bike just looks amazing. All proceeds from this raffle go to Cyclists for Cultural Exchange – you can enter on the Easton Cycling Facebook page by September 30 and the winner will be selected randomly on October 1, 2013. Dain from Easton told us more about the Dream Bike Charity Raffle at OutDoor Demo:
3. Fat bikes were also a big presence at Interbike this year, no pun intended (OK, maybe a little one). These big-wheeled bikes were cropping up all over the show floor, along with the accessories to go with them. Of note was the 21 pound all carbon fat bike from Borealis, along with tubeless rim systems from HED (in carbon) and Stan's NoTubes – with this kind of technology, you might start seeing fat bikes regularly on your local trails soon.
4. It's hard to sum up the rest of Interbike this year – there was development on the technical front with hydraulic disc brake systems for road bikes becoming a common sight, from both Shimano and SRAM, but much of the other developments were tweaks and improvements to existing gear. New all-mountain style helmets were on display from Bern, Bell and Smith Optics (they of the interesting Forefront model). More high-viz colors cropped up throughout the show style-wise, but camo and earth-tone colors were common as well. Most of the wheel manufacturers had refined hubs or rims, with new gear from Easton, Reynolds and Zipp on display, among others. These weren't dramatic changes, but they were evolutionary changes that promise improved performance and durability. All in all it was an Interbike without any real big surprises (once you got beyond road hydraulic brakes and 11 speeds as original equipment, but most of you have seen those by now) – but maybe that's a good thing.
As always, you can find all of our photos from Interbike in a gallery on our Facebook page.


text:
For nearly 20 years, CutisPharma's singular focus has been to address the needs of patients who are unable to take capsules or tablets, such as children and the elderly, for whom no therapy is commercially available.
We aim to provide high-quality, safe and accurate therapy to help pharmacists prepare drugs for those populations most in need for a better alternative to traditionally-compounded medications.
Our highly experienced management team allows CutisPharma to efficiently deliver on our promise to bring innovative new drugs to our patients.
Read what patients, pharmacists and doctors have experienced with CutisPharma.
©2016 CutisPharma, Inc.
FI℞ST® and the FI℞ST® logo are registered
trademarks of CutisPharma, Inc.
Contact Us
© 2019 CutisPharma, Inc. - All rights reserved - Terms of Use / Privacy Policy and Policy on Cookies and other Tracking Technologies


text:
Grails stores all the plugin classes, files and resources in ~/.grails, the projects are then divided out by their Grails version and project name. In this case the Grails version and of course the project names matched. I was a little peeved that I might need to blow away plugins and re-download if I was switching branches etc. What is one to do at a time like this??? Cry??? No..... just add the following line to BuildConfig.groovy under the grails-app/conf directory :
This will simply place all your project meta-data into your project base dir /work... No need to blow away your previously downloaded plugins. Tears averted! I think this was introduced in 1.1.
One cool plus is that Intellij IDEA picks up on this (as with a lot of changes in BuildConfig.groovy these days) and allows you to continue with no pesky configuration changes! Also, this folder doesn't need to be in your grails-app, it can be anywhere, just use absolute paths.
Hope this help avert some crying developers.... they aren't much fun (except when Captain Morgan is the cause)
:) Thanks!


text:
Alba Home Improvement134 Feedback reviews, 99% positive
Alba Home Improvement is professional trade service which has been established in Aberdeen, Scotland in April 2009. I graduated from technical college where I earned my grades in wood processing industry and furniture production technologies, I also served my apprenticeship...
Latest Carpentry & Joinery feedback review:
By katherine85542 on 4th Jan, 2019
A&ok johnston joinery25 Feedback reviews, 100% positive
I am a time served joinerwith 29 years experience I do internal/ external doors including pvc and pvc windows , fitted kitchens bathroom laminate/hardwood floorings and all general joiner work
Latest Carpentry & Joinery feedback review:
By smudge33 on 14th Feb, 2019
CREATIVE JOINERY ABERDEENSHIRE39 Feedback reviews, 100% positive
You dream a project, I will make it happen. In joinery world everything is possible with the Wright attitude. No job too small or too fancy, whether you need to create extra storage in unused spaces, fix squeaky floorboards, need a new look all together with a new kitchen or...
Latest Carpentry & Joinery feedback review:
By sharon49507 on 15th Feb, 2019
Michael Campbell Joinery39 Feedback reviews, 95% positive
Time served joiner for the past 20 years experienced in all aspects of joinery from fitting doors to fitting kitchen bathrooms etc ,been self-employed for the past 10 years managed to build up a good relationships with customers who always use me again & pass on my name to...
Latest Carpentry & Joinery feedback review:
By stuart83040 on 9th Oct, 2018
MRH Joinery31 Feedback reviews, 100% positive
MRH Joinery. All aspects of joinery work undertaken.
Latest Carpentry & Joinery feedback review:
By sta000 on 26th May, 2017
wojciech serwis27 Feedback reviews, 100% positive
My name is Wojtek. Im self-employed general builder with over 10 experience. I can offer wide range of service across Aberdeen, everything from bathroom and kitchen refurbishments up to full conversion and restoration work. No job too small.
Latest Carpentry & Joinery feedback review:
By oddjobs_29 on 20th Jan, 2018
Exinde Property Maintenance10 Feedback reviews, 100% positive
Exinde Property Maintenance - Joinery, carpentry,locksmith and decoration services.
Latest Carpentry & Joinery feedback review:
By kenmg on 29th Nov, 2018
lC JOINERY6 Feedback reviews, 83% positive
One person company offering all aspects of kitchen and bathroom fitting ,professional and friendly service from 1992
Latest Carpentry & Joinery feedback review:
By monica_306 on 11th Nov, 2017
Lawie Joinery4 Feedback reviews, 100% positive
Lawie joinery is a bespoke traditional joinery company. we cover all aspects of joinery work. full list of work is on our website.
Latest Carpentry & Joinery feedback review:
By efowler_59 on 24th Mar, 2018
Derek McEwen Joinery3 Feedback reviews, 100% positive
I have been established for 39 years and know every aspect of the joinery trade.Kitchens. windows. doors. extensions .etc can supply other trades as well if needed .All quotes are free and under no obligation
Latest Carpentry & Joinery feedback review:
By bnewman on 4th Apr, 2018
LG Home Improvements10 Feedback reviews, 100% positive
Hi we are a local family company with 15 years experiance. We do every thing from fully fitted kitchens and bathrooms to any joinery and plumbing work. All trades catered for. Loft covert ions and extensions. Free estimates
Latest Carpentry & Joinery feedback review:
By samhchair on 17th Jul, 2017
DAG joinery2 Feedback reviews, 100% positive
Kitchens , flooring , Windows and doors 1st and 2nd fix joinery
Latest Carpentry & Joinery feedback review:
By splats on 15th Nov, 2016
P.O JOINERY SERVICES3 Feedback reviews, 100% positive
⦁ I'm fully qualified joiner with over 12 years experience. All aspects of joinery work: kitchens & bathrooms wood & laminate flooring internal & external doors skirting/PVC windows roofs, facing & decking and many more. QUALIFICATIONS ⦁ SQA LEVEL 2 NVQ...
Latest Carpentry & Joinery feedback review:
By andy30129 on 28th Jan, 2019
Peter Construction2 Feedback reviews, 100% positive
PETER CONSTRUCTION offers wide range of building services in Aberdeen and surrounding areas. We provide a professional service, quality workmanship and value for money that our client base demands. Our workforce has the flexibility to undertake projects ranging from complete...
Latest Carpentry & Joinery feedback review:
By wrighty_18 on 8th Oct, 2017
M Greig9 Feedback reviews, 100% positive
A time served joiner / carpenter with SVQ certs in advanced joinery. Bathrooms, kitchens. Have worked on all types of joinery new builds and older traditional buildings.Also carry out plastering, tiling & interior/ exterior painting. Full kitchen and bathroom start to finish...
Latest Carpentry & Joinery feedback review:
By steve_ub9 on 16th Aug, 2018
Need a tradesman?
Post a job on MyBuilder to find a quality, local tradesperson.
How MyBuilder works
1. Post a job
First, create a job listing for your carpentry & joinery project. It's quick, easy and free - the first step to finding recommended carpenters & joiners in Peterculter.
2. Hire a tradesman
Having met our recommended carpenters & joiners in Peterculter and read customer reviews, you're ready to decide which carpenters & joiners to hire.
3. Leave feedback
After your project is successfully completed, you can leave a review for your carpenters & joiners. This review helps you and future MyBuilder users.
What our customers say
- "I think this is a brilliant website. It takes a lot of the worry out of finding a decent tradesperson. "
- Angela
Tradesmen in Peterculter
- Architectural Designers
- Bathroom Fitters
- Bricklayers
- Carpenters & Joiners
- Carpet Fitters
- Chimney & Fireplace Specialists
- Conservatory Installers
- Conversion Specialists
- Damp Proofing Specialists
- Demolition & Clearance Specialists
- Driveway Pavers
- Electricians
- Extension Builders
- Fascias, Soffits and Guttering Specialists
- Fencers
- Flooring Fitters
- Gas Engineers
- Groundworkers
- Handymen
- Heating Engineers
- Insulation Installers
- Kitchen Fitters
- Landscape Gardeners
- Locksmiths
- Loft Conversion Specialists
- New Home Builders
- Painters & Decorators
- Plasterers
- Plumbers
- Restoration & Refurb Specialists
- Roofers
- Security System Installers
- Stonemasons
- Tilers
- Tree Surgeons
- Window Fitters
- All Tradesmen


text:
WWE Hall of Famer Jim Ross is back with a new blog on jrsbarbq.com. Here are some highlights:
– The @CMPunk vs. @Ryback22 main event this Sunday at HIAC in Atlanta is one of the most intriguing matchups the WWE has presented in a good while. This new, PPV main event has certainly invoked a great deal of interest online amongst wrestling fans and pundits.
– I've done my share of PPV broadcasts over the years and I assure you that I will be nervous/anxious to do my very best work Sunday in a new role for me on PPV and likely within a challenging, three man broadcast team that I assume will be comprised by @MichaelCole and @JCLayfield along with yours truly. Damn right I'll be nervous but I take great pride in my work and getting the opportunity to return to the PPV announce team is big for me.
– I see a 'hungry,' no pun intended, Ryback, whose WWE career has not been without challenges, fully realize the opportunity that has presented itself and will have the best bout that any of us have ever seen from the powerhouse. That's my story and I'm sticking to it. If any broadcaster goes into a show feeling negative about the event that they're going to broadcast then the broadcast suffers and the fans get cheated. I'm not going to cheat any fans.
– I see Punk pulling out all the stops to make this likely, show closing main event memorable and to add even more respect from his peers and to take another step closer to legitimately being regarded as "The Best in the World."


text:
Deutsche Boerse AG (DB1) stated that it has not conducted talks for the sale of International Securities Exchange (ISE), Bloomberg reported. According to DB1 CFO Gregor Pottmeyer, "all of this is just speculation and rumors…we did not open up a selling process or a concrete process with any bank."
Singapore Exchange (SGX) plans to launch CNH and CNY futures, in addition to JPY and THB futures later this year, Risk.net reported. According to SGX head of sales and clients, Chew Sutat, SGX is able to offer multi-asset central clearing and the ability to cross-margin products across different asset classes and within individual asset classes, making it an attractive option for dealers.
SGX aims to open a New York-based office, which will be the exchange group's first US base and its latest new regional center. SGX is currently planning to hire staff for the new office and will open the center as soon as it has the right personnel, FOW reported.
London Stock Exchange: LCH.Clearnet hired Diane Bouwmeester as general counsel and head of compliance, the Financial News reported. Bouwmeester joins the clearing house from Freshfields Bruckhaus Deringer, where she was a senior associate in the firm's financial service regulatory practice.
ASIC is seeking industry feedback regarding proposed changes to the reporting rules of OTC derivatives, Money Management reported. ASIC is recommending the amendment of derivatives transaction rules to reduce compliance costs and ensure derivative trade data is "complete and comprehensive."
International Swaps and Derivatives Association Inc. (ISDA) reported that over-the-counter derivatives markets have continued to fragment since the implementation of the swap execution facility regime in the United States in October 2013, which resulted in a sharp increased in the volume of euro IRS between European dealers, Global Capital reported.
Commodity Futures Trading Commission lawyers are preparing to confront Brian Hunter, who oversaw the energy desk of hedge fund Amaranth when it collapsed in 2006, in a federal court in Manhattan on Oct. 6, Reuters reported. Hunter, who has been accused of attempted manipulation, has sought to dismiss the cases, and argued that the court has no jurisdiction and that CFTC has insufficient evidence against them.


text:
The Mets have agreed to sign free agent outfielder Curtis Granderson to a four-year deal according to Joel Sherman of the NY Post. Ken Rosenthal of Fox Sports reports that the deal is worth $60 million dollars or a $15 million annual average.
Andy Martino of the Daily News added that the deal is a straight 4-year deal, per source. No option of any sort for 5th, vesting, team or otherwise.
The Mets will lose their second round pick, but that's no big deal if Granderson delivers 25-30 homers a season for the Mets as they believe he will.
Sandy Alderson apparently relented and gave into Granderson's fourth year demand which came as a surprise to me. However, Sandy did what he needed to do and gave the 32 year old Granderson what he wanted to get a deal done. If he had let him go to Orlando unsigned, I doubt he would have been a Met.
Granderson suffered a couple of freak injuries last season and was limited to just 61 games with the Yankees, batting .229/.319/.407 with seven home runs and 15 RBI in 245 plate appearances while striking out 69 times.
In 2012, Granderson played in 160 games and another 156 games in 2011. Over those two seasons he compiled 84 home runs, the most in the majors.
The newest Met is expected to play left field I would suspect, pushing Eric Young Jr. out of a starting outfield job. If the Mets move him to second base, it could signal a Daniel Murphy trade which would free up about $5 million for the Mets.
Regardless of what happens, the Mets made some real noise in the free agent market for the first time in a very long time. For that I applaud them.
Original Post 9:00 AM
Nothing new to report this morning and all remains quiet between Granderson and the Mets.
The latest update came yesterday afternoon from Mike Puma of the New York Post who wrote that the Mets believe they have a "decent" chance of landing Granderson. This begs the question, how is that a "decent chance?"
Both sides seem at a standstill with Sandy Alderson holding firm at three years, while Granderson still wants four.
Usually when a team and a free agent get locked into a game of chicken, the free agent usually wins.
With the Winter Meetings starting in 48 hours, the Granderson camp will hold court in Orlando and bring 2-3 more teams into the negotiations.
After all, that's what agents do and you could make a strong case that Granderson is the second best outfielder available. That's not a bad spot to be in when you have at least 15 teams on record for needing an outfielder.


text:
After the race debacle in Chambery my guest team returned back to Limoux, coinciding with the arrival of some of the European contingent of Team TIBCO. I was very happy to meet my new teammates Rushlee, Jasmin and Sam, who have been flying the flag high in the tough European Spring Classics. All the girls are super nice and still so young, but so experienced! It was great to spend some time with my teammates before I was flying to the US. The girls were stopping over in Limoux between races and my earliest flight back to Dublin was on Friday. I was lucky that Chris could give me a bike to train on, so at least I could keep training. The area around Limoux is absolutely beautiful, so I went exploring a bit. Unfortunately the weather turned from jersey and shorts to thermal gloves and shoe covers within a day and I found myself nearly blown off the top of a mountain in gale force winds and snow and when I started descending, the road turned into forest track, but I didn't really care as I was nearly dying of hypothermia at that stage...... I decided to go home the flat route instead of back over the mountain.....
|Beautiful old stone houses in Limoux
|Having fun on the mtb before starting my road season with Team TIBCO (photo by Action Pictures Ireland)
|My new race machine is awesome! (It's got my training wheels on)
|Grounding in the lake in Bonelli Park - until the coast guards told me off!
|I could imagine a worse workplace
Tomorrow I have a 56mile road race, looking forward to it!


text:
lemlem® Hilansha patio dress
Product Details
We fell in love with International Goodwill Ambassador (and supermodel) Liya Kebede's line of handmade garments. Lemlem, meaning "to bloom" in Amharic, was started as a way of providing Ethiopian weavers with a means to escape poverty. The result? An amazing collection of delicately handcrafted pieces, like this dress—at once exotic and elegant in gauzy cotton, it's a summertime stunner indeed.
- Cotton/acrylic.
- Hits at midcalf.
- Hand wash.
- Import.
- Item 31109.


text:
Apr 242016
Albert Harold Close (1878) was born in Connecticut, America, the son of Albert W Close (1852) and Hannah Peninah Close.
He was drafted into the US Armed Forces at Stamford, Connecticut in 1918.
You can see more in the Close Ancestry Trees.
We know that everyone in the world is after your hard-earned cash, but if you do feel a donation coming on as a result of your visit here then please feel free to send it our way. It all goes towards the upkeep of the site, for which we charge absolutely nothing. So, please help us to keep the site free to use. Thanks.
Contacting Us
If you find anything that you think may be of interest to us then drop us an email at email@example.com


text:
The calculations of presented statistics are based on traffic coming from all types of devices (PC, Mobile etc.).
The owner of the web site is Gemius, the leader and precursor of complex internet research in Central and Eastern Europe, as well as in Middle East and North Afrika. The data presented above comes from the Ipsos/gemius Audience research study, which defines the standards in online audience measurement. Gemius provides the data presented here free of charge and invites you to use it.
When quoting the data, please provide its source every time in the following format:
"Source: Gemius & Ipsos, Ipsos/gemius Audience, month - year"
If you publish the data online, please make sure to include a respective referrer.


text:
Sound it Out!: Phonics in a Comprehensive Reading Program
McGraw-Hill, 2004 - English language - 190 pages
Sound it Out! answers the questions, "Why is phonics important?" and "How can phonics help children learn to read?" as well as others, showing how phonics fits into the overall process of a child's learning to read, and how phonics can be integrated successfully into a classroom reading program. The text includes a wealth of suggestions for practical classroom applications and a solid research knowledge base so readers will understand what they are doing, why they are doing it, and why it works.
What people are saying - Write a review
We haven't found any reviews in the usual places.
The Place of Phonics in Learning
Conclusion 102
What Is Phonics Anyway?
24 other sections not shown
Other editions - View all
Common terms and phrases
ability alphabet books alphabet training alphabetic principle approach beginning reading cards chil child children's literature classroom components compound words comprehensive consonant consonant digraphs context curriculum decoding digraphs discrete phonics elements dren educational emphasis English orthography example explicit focus focuses grade graphemes helping children learn homophones identify initial sound International Reading Association invented spelling involves language arts learning phonics learning to read letter names letter-sound literacy long vowel meaning National Reading Panel onsets and rimes patterns phon phonemic awareness phonics instruction phonics programs phonological awareness place of phonics practice readers reading activities reading and writing reading instruction reading program Reading Teacher recognize rhyming words schwa segmentation sentences shared reading short vowel skills sound-symbol relationships sounds in words story strategies suprasegmental syllables taught teaching children teaching phonics teaching reading Teaching Suggestions vocabulary vowel sounds whole language word families written language Yopp York young children


text:
Milweb Classified Advert Reply SystemYou are replying to this advert:
Catawiki Military Antique Weapons Auction
Every Friday our Military Antique Weapons Auctions are stocked with high quality, hand picked lots. The Militaria Specialists/Auctioneers at Catawiki will provide an unrivaled auction experience for both the Seller and the Buyer! The best part is you don't pay anything to register, or to list your item(s)! Our Militaria auctioneers strive to help you achieve the maximum possible realizations for your items and to help the buyers to buy with confidence knowing that they are bidding on quality lots.


text:
U.S. 787 Fleet Grounded By FAA
The FAA took action Wednesday to ground the U.S.-registered Boeing 787 Dreamliner fleet, which the agency certified just 17 months ago, stating that a "corrective action plan" is needed to address "a potential battery fire risk" before flights are allowed to resume. Europe, Japan and India joined the flight ban late in the day. An emergency airworthiness directive is expected. The only carrier affected is United Airlines, currently the sole U.S. operator of the Dreamliner, and follows a fire event aboard an All Nippon Airways jet earlier Wednesday in Japan. That event led to an emergency landing. Inspection of the aircraft later found burn marks and damage related to a leak from the aircraft's main lithium-ion battery, which is mounted below and behind the cockpit. Boeing will now work together with the FAA to develop the plan to return the aircraft to the air -- timeframe unknown.
The plan could produce anything from simple improvements that see the aircraft returned to flight, soon, to extensive changes that could delay deliveries.�There are approximately 50 787s currently in service with more than 750 more of the airliners on order. ANA grounded its fleet of 17 Dreamliners and Japan Airlines did the same with its seven following concerns that developed from Wednesday's and earlier events. The aircraft has been involved in several incidents that so far appear to trace back to the jet's electrical systems including its circuitry and its use of lithium-ion batteries. The chief engineer for the 787 program, Mike Sinnett, stated last week that "failures of the battery won't put the airplane at risk," CBS News reported. Sinnett said the plane's batteries, which are the suspected in at least two events, have operated through a combined 1.3 million hours without an internal fault.


text:
Jerome Isaac, the man responsible for burning a 73-year-old woman alive in the elevator of her Brooklyn apartment building, will serve 50 years after pleading guilty to first-degree murder and second-degree arson charges.
Back in December, Isaac, 48, cornered Deloris Gillespie in the elevator of her Prospect Heights apartment building, where he doused her with gasoline and lit her on fire. While Gillespie was trying to fight Isaac off, he poured accelerant on her and threw a Molotov cocktail in the elevator. She was later pronounced dead at the scene.
Isaac admitted the murder to police, which was all caught on suveillance camera, and revealed that he was motivated after Gillespie didn't pay him for housework and chores he performed for her. Family and friends of Gillespie revealed that she hired Isaac to do work for her, because he was down on his luck, and she felt bad for him. She even trusted him with a key to her apartment.
Things went awry between the two after Gillespie claimed that Isaac had stolen items from her apartment, leaving her to change the locks and fire Issac, but he continued to harass her over the money he thought he was owed.
Isaac is set to receive his official sentencing on November 30th in Brooklyn Supreme Court.
Source: huffingtonpost.com


text:
Mayor Don Wesely today participated in a bill signing ceremony for LB 657, a measure approved by the State Legislature last week to provide $15 million in funding to initiate the Antelope Valley Project. He again thanked Governor Mike Johanns and the Unicameral for their support of the largest public works project in Lincoln history.
"The signing of this bill today gives us the green light to actually begin this project, which will literally change the face of the city's core," Wesely said. "After years of planning and discussion with our partners and citizens, we are ready to move forward."
The bill will provide $1 million in cigarette taxes for 15 years for Antelope Valley, a flood control, traffic improvement and neighborhood revitalization project. Mayor Wesely said the Joint Antelope Valley Authority is expected to undertake these steps in the next 6 to 12 months:
Media Release


text:
Of all the things in the world to be proud of, today I am proud of my pantry.
But, I'm not quite done.
I have ordered a can rack from overstock.com for about $20 {will be here next week} to go on that one lonesome shelf and I need to decide on curtains or just leaving the pantry open {once I take those doors off}. Eventually the opening will be white like the shelves, but probably not until I paint the stairway.
For now I am MORE than happy with what I've got {for now}.


text:
DJ Khaled, Kanye West, & Consequence Jammin To Khaled's New Hit Single!
The track is called DJ Khaled - Out Here Grindin' (Feat. Akon, Rick Ross, Plies, Trick Daddy, Lil Boosie, Lil Wayne & Ace Hood) (Produced By The Runners). Khaled you know WSHH gotta world premiere the video to this! Gonna Be A Hot Summer
Please click the "Report" button below if the video on this page is not working properly.
Comments will only be displayed by verified emails. No Spamming or Racism.


text:
|Anonymous | Login | Signup for a new account
|Main | My View | View Issues | Change Log | Roadmap
|View Issue Details [ Jump to Notes ]
|[ Issue History ] [ Print ]
|View Status
|Date Submitted
|Last Update
|~DO NOT USE (was: OCaml general)
|2012-11-09 13:02
|2015-12-11 19:24
|Assigned To
|have not tried
|OS Version
|Product Version
|Target Version
|Fixed in Version
|0005817: Keeping locations in cmi files
|Currently, locations of value and type declarations are discarded in .cmi files (cf for_saving mode in subst.ml). Keeping those locations would give several nice features "for free":
- In case of a mismatch between an .mli interface and its .ml implementation, the location of the two incompatible declarations could be displayed in the error message (currently, only the location in the implementation is shown).
- The .annot file could trivially show the location of external declarations (either in the .mli file or in the .ml file if there is no .mli). This would makes it very easy to implement a "jump to definition" feature in emacs.
- It would become very simple to implement a global detector of unused declarations (parsing all .cmi and .cmt files of a project and marking used declarations in .cmi files based on their location, found in .cmt files).
The patch is trivial (s/if s.for_saving then Location.none else // in typing/subst.ml, three occurrences). This is more a matter of deciding whether it's a good idea to keep those locations or not. The only (minor) drawback I can see is that changing a comment or whitespace in the .mli file will change the resulting .cmi file and force more recompilation (for build system based on file content/digest). Of course, this could be decided by a command-line switch.
|No tags attached.
|Attached Files
| unused_exported_values.ml [^] (1,470 bytes) 2012-11-12 14:17 [Show Content]
unused_exported_values.txt [^] (19,276 bytes) 2013-09-17 16:39 [Show Content]
hongboz (developer)
2012-11-09 13:38
|This is great, something I thought for a while is that it would be helpful to add a documentation string into cmi file. Then like python, you can get the help from the toplevel
gasche (administrator)
2012-11-09 13:51
edited on: 2012-11-09 13:53
> The only (minor) drawback I can see is that changing a comment
> or whitespace in the .mli file will change the resulting .cmi file
> and force more recompilation (for build system based on file
> content/digest).
I'm rather favorable to the change you propose, but this is a major drawback rather than a minor one. How easy is it to access the internal interface checksum for an external problem? It might be that those build systems could be converted to asking the internal checksum instead of hashing the .cmi to decide recompilation.
I think the other option would be to generate a .cmti file along with the .cmt, that contains the typedtree of the signature if it exists (otherwise the tool needs to look into the .cmt). I realize that the change would maybe not be as simple, but it seems more principled and less dangerous tool-wise.
lefessan (developer)
2012-11-09 14:13
The change in the checksum is not only forcing to rebuild the library, it forces to rebuild everything. For example, adding a documentation comment in a .mli file would force a binary package maintainer to rebuild all the packages depending on that interface.
Moreover, interfaces are sometimes copied from one package to another one. For example, you might want to copy the .mli file of some module from one library to provide an alternative implementation in your library, so that users can decide at the last moment which implementation they want to use. That would be impossible now, as long as the .mli file is changing but not the interface (especially if some file content is generated, such as (* $Id *) comments). It was already made difficult (but not impossible) by cross-module value propagation, it would now be impossible, unless the locations are not used in the checksum computation.
frisch (developer)
2012-11-09 14:17
> How easy is it to access the internal interface checksum for an external problem? It might be that those build systems could be converted to asking the internal checksum instead of hashing the .cmi to decide recompilation.
The internal checksum is really computed from the content of the generated .cmi itself, so this wouldn't help. Moreover, if we store locations in a .cmi file, we *want* other modules that depend on it to be recompiled, so that they get correct locations in their .cmt/.annot files and error messages.
Do you really think that avoiding recompilation when comments/whitespace change in a .mli file is so important?
> I think the other option would be to generate a .cmti file along with the .cmt
I'm not sure to understand your proposal here. .cmti files are already generated for .mli files compiled with -bin-annot.
lefessan (developer)
2012-11-09 14:21
|So ok, the checksum computation should be done in memory, by first generating an equivalent signature without locations, and finally storing the signature with the locations. It would be a little more expensive in time, probably not much.
garrigue (manager)
2012-11-09 14:27
I have one small concern about having the checksum depend on locations: what happens if you change from unix text to dos text and recompile?
Having a different checksum would be a problem, I think.
So I kind of agree with Fabrice: computing the checksum on a copy without locations would be a good idea, even if we eventually keep the locations.
(On the other hand, it is almost impossible to keep the same checksum after even trivial changes in the compiler, so I got used to their being fragile.)
frisch (developer)
2012-11-09 14:28
Yes, that's doable, but I don't see the point. If a.mli changes textually, then external locations to be stored in b.cmt (where b depends on module A) change as well, so we need to recompile b.ml anyway.
If this is really important, we could introduce a command-line switch, but I'm still not convinced that it's so important to avoid recompilation in this special case (and people still using Makefiles wouldn't see the difference anyway).
frisch (developer)
2012-11-09 14:29
|Oh, I see, you were referring to the digest checksum performed by the compiler. It makes sense, indeed.
gasche (administrator)
2012-11-09 14:42
edited on: 2012-11-09 14:42
I had forgotten about (or never looked into) the current .cmti files. My proposal would be to keep a filesystem interface where the .cmi enforces *semantic* compatibility as tightly as possible, to maximize separate compilation, and expose informations aimed at the user in other files (the .cmti). The .cmt* could evolve to become a general place to look at not-strictly-semantics information.
It is not necessary to have this separation (likewise we could actually decide to store the content of the .cmt in the .cm[ox]), as a Sufficiently Smart Tool could always do the right thing to explore it wisely, but the filesystem level is the right boundary choice to interface with other tools, at least in the Unix world.
In short: if you want the fancy stuff, use -bin-annot. I don't think it is a good deal to potentially blow up compilation times each time I change a documentation comment in the utils.mli of my project, in exchange for not having to use -bin-annot for the features you're requesting.
(Of course that means the compiler maintainer, being you in this case, has to consider looking for .cmt* files when printing error messages or other user interactions. Do you think the complexity costs would be excessive?)
frisch (developer)
2012-11-09 19:32
> Do you think the complexity costs would be excessive?
If I understood your proposal correctly, yes, this would be quite complex to do. Basically, when type-checking in -bin-annot mode, you'd need to load .cmti files in addition to .cmi files and somehow recombine the information. A value lookup would get the value description from the .cmi file and then it will need to find the location in the .cmti file so that the location stored in the Typedtree (hence in the .cmt file) is correct.
This seems rather overkill to me, and rather useless. If you compile a client module in -annot or -bin-annot mode, you will have dependencies on .cmti files (and you'll need to tell you build system about it, btw), so you won't really avoid any recompilation anyway. So maybe we could just say that locations are kept in .cmi files if and only if we compile in -annot or -bin-annot mode (instead of introducing an extra command-line switch).
gasche (administrator)
2012-11-09 20:23
> Basically, when type-checking in -bin-annot mode, you'd need
> to load .cmti files in addition to .cmi files and somehow
> recombine the information.
More or less: when printing an error message about some signature, you can look at whether there is a .cmti file available for it (which depends on whether the corresponding ,mli was compiled with the -bin-annot option). Getting the annotation corresponding to a given Longident would then be simple, I assume (just as you would from the signature in the .cmi: Env.add_signature then Env.lookup_; add_signature is not free but you only pay for it when user interface request it).
> If you compile a client module in -annot or -bin-annot mode,
> you will have dependencies on .cmti files (and you'll need
> to tell your build system about it, btw), so you won't really
> avoid any recompilation anyway.
I'm not sure where the dependencies on the .cmti would come from in this model. Semantically (in bytecode at least), if compilation unit A depends on compilation unit B, A needs to be recompiled only if b.cmi changed. A change in the .cmti should not incur recompilation of B (or I don't understand what you've been doing with the .cmti). Avoiding excessive recompilation is important.
Granted, there is the issue that the .cmti may become outdated -- just as this may happen with .cmt files. I admit I haven't thought much about this aspect; the build system will have logic to re-update the .cmt*, the editor should have some as well, but maybe it's a bit unreasonable to add such logic in the compiler just to check whether we can output nice error messages. I'd rather run the risk of having occasionally stale location information than doing (even) more recompilation than necessary.
frisch (developer)
2012-11-10 11:56
One of the goals was to ensure that references to external value declarations in .cmt files would have the correct location. This means that the type-checker needs to have access to this information, either from the .cmi or .cmti files. Either way, the resulting .cmt file produced the compiler would depend on compiled files with locations, and this requires recompilation when the .mli files change, even only syntactically. Same story for .annot files.
Having locations directly in .cmt files makes it quite simple to implement a jump to definition feature or a global detector of unused exported values. This is a very low-hanging fruit (removing a few tens of characters from subst.ml). Actually, if we do it, we automatically get location information for external declarations in .annot files today.
The alternative is to do nothing in the compiler (except maybe for error messages, but this is the less important benefit). We already have the location information in the .cmti files, and by redoing some non-trivial lookup logic in external tools, we could probably achieve the same effect; it's just more work.
lefessan (developer)
2012-11-10 12:28
|What's the point of this discussion if computation of checksums in memory makes keeping locations invisible to the compiler, and only a minor rebuild is necessary at the build system level ? (I.e. only files directly depending on the interface) Actually, I would save the checksum in raw form at the beginning of the .cmi file, so that "smart" build systems can detect that the file changed but not the checksum, so not rebuilding at all.
gasche (administrator)
2012-11-10 14:17
Alain, needing to recompile the .cmti and .annot when the .mli changes is fine, as long as other compilation units don't have to be recompiled.
> The alternative is to do nothing in the compiler (except maybe
> for error messages, but this is the less important benefit)
I'm not sure I follow, besides error messages, what other uses did you envision directly in the compiler? Couldn't the global "unused declaration" pass be implemented as an external tool?
Fabrice, will make be able to know that, even if the file changed, its "important information" (the checksum) did not? I'm quite sure other build systems could be adapted, but supporting raw Makefile is quite important. If that works, that would be a good compromise.
frisch (developer)
2012-11-10 19:01
edited on: 2012-11-10 19:02
Let me try to explain better... What I say is that, if locations of external declarations are stored in .cmt files, then:
1) external tools can use this information very easily.
2) if b.ml refers to external module A, it must be recompiled when a.mli changes, even purely syntactically (because b.cmt contains locations in a.mli).
I claim that the benefits of 1) makes 2) acceptable. Now, if we want to avoid 2) it means that we must keep the status quo (.cmt files don't include location of external declarations), i.e. do no change anything in the compiler.
gasche (administrator)
2012-11-10 19:07
You mean .cmi, not .cmt, right? If so, then I agree with your 1/2 analysis, and I disagree with the conclusion: I find (2) unacceptable and (1) of only marginal utility in presence of .cmti files that have been designed for this purpose. In my view maximizing separate compilation is fundamental and locations are nice, not the other way around.
Besides the staleness problem (which I can live with), I don't understand why you think the external tools couldn't use the information from the .cmti right now, just as well as from the .cmi after the change you propose.
frisch (developer)
2012-11-10 19:16
No, I mean .cmt, not .cmi. Keeping locations in a.cmi makes it possible to have them in b.cmt when b.ml refers to declarations from a.mli. Just by reading at b.cmt, you can find the location of external declarations. And the same applies to .annot files: keeping locations in a.cmi automatically makes b.annot contain references to a.mli, which is very nice.
Unless I missed something (I never tried it), ocamlspotter would be entirely replaced by this proposal.
> I don't understand why you think the external tools couldn't use the information from the .cmti right now, just as well as from the .cmi after the change you propose.
It would just be much more complex. To be able to find the location of an external declaration in b.ml, the tool would need to look at b.cmt (to find the fully qualified path of the identifier), find and load a.cmti, and do some lookup in it to find the location in a.mli of the declarations. If we keep locations (in a.cmi, hence in b.cmt), the tool can simply read b.cmt and directly report the location.
lpw25 (developer)
2012-11-10 20:33
I may be missing something, but couldn't you fetch the location information from the .cmti when creating the .cmt. This would mean that the .cmt would depend on the the .cmi and the .cmti, but the .cm[ox] would only depend on the .cmi.
Then if you made purely syntactic changes it would only change the .cmti file. So that, unless you specifically ask the build tool to use the .cmt file as a target, there is no need for recompilation.
frisch (developer)
2012-11-10 21:26
|The nice thing with -bin-annot is that at very little cost (performance and complexity in the compiler), we can get rich feedback from the compiler, readily available for external tools, simply by dumping the internal representation produced by the type-checker. Now, Leo's proposal is that the compiler would need to enrich this internal representation by loading more files (.cmti), only to retrieve location information that have been explicitly discarded from .cmi files. This seems very convoluted to me, and I expect this to have a non negligible cost (complexity in the compiler, complexity in build systems, compilation time).
frisch (developer)
2012-11-10 21:29
|As a side note, it might be useful for this discussion to realize that changing a comment or whitespace in an implementation file (.ml) can already force recompilation of all modules depending on this module, in native code (this is because some constructions, like "assert", depend on the concrete location of the source code).
gasche (administrator)
2012-11-11 01:23
|Indeed, I think we should have more support for separate compilation in native code (currently you have to manually hide .cmx at compile-time to avoid a hard dependency on the implementation), but that is a separate issue.
frisch (developer)
2012-11-11 08:44
|My last point about comments and whitespaces in .ml was to illustrate that binary files produced by the compiler (.cmo/.cmx) already depend on syntactic details of the source files (.ml). I would personally object to introducing extra complexity in the compiler (like having it search and load new kinds of files, and do non-trivial postprocessing of the typedtree) only to avoid having the same situation for interfaces (.mli -> cmi).
gasche (administrator)
2012-11-12 11:45
(Originally posted in the bad place, sorry for the confusion and thanks to Alain for being understanding.)
I have given the current implementation a more thorough look this week-end. I see your point regarding complexity: loading locations from the .cmi *when they become needed* is not simple, because the current code is not planned for it. More precisely, locations are used in a lot of different places for different purposes (eg. indexing into lookup tables) and it would require some work to examine all these uses to determine which one should use this improved location, and flow enough context towards them so they have enough information to refine the location locally (for example the identifier that was used to lookup the declaration). On the other hand, changing the locations of the values coming from the .cmi files may require a careful study of these different uses anyway (because some "is_ghost" logic is used in different places; I think the change should be ok, and you certainly know that better than me, but it still requires some thought).
A point I have encountered during this code study is the following: the Subst code "sanitizes" interfaces for saving, by both stripping locations and freshening (if I understand correctly) identifiers and levels. The .cmi data is sanitized in this way, but the .cmti data is not. Is it correct to not sanitize the .cmti data? My intuition would be that the locations should not be stripped, but the type levels and stuff should still be updated for saving in the .cmti. I would therefore suggest that the Subst.ml handles "location" and "semantic stuff" with two different flags (rather than only for_saving: for_saving and discard_loc, for example), with the .cmi using both for_saving and discard_loc, and .cmti only for_saving. I don't really know what the for_saving stuff (besides discard_loc) does, so I would welcome feedback here.
Other than that, I still believe that adding location information to the .cmi is a bad idea because of the weakened dependency precision that introduces. I would see two ways to move forward that avoid that defect:
(best way) add "provenance" data to the concerned structures, of type (file_path * longident) option, that would be set if the description comes from a .cmi and contain the .cmi path and corresponding longident. Then update display logic at the relevant places to refine location information through this field (loading the .cmti file if present). My initial idea was to have a lazy field directly returning the refined location, but those descriptions need to be easily serializable into the .cmi, precisely. I suppose the "provenance data" could be inserted into the signature during the substitution pass (where we know the final path and can compute the longident rather easily), adding little computation overhead.
(simple way) as a first step, we could simply change read_pers_struct to read declaration information from the .cmti rather than the .cmi when it is available. To avoid introducing any change of behaviour, this means that the .cmti declarations must have been sanitized with Subst.for_saving before storing (hence my previous question). There are two possibilities to check that the .cmti is up-to-date:
1. .cmt* files store a hash of the corresponding source file, so we could re-hash the .mli and check equality, orelse fallback to the .cmi
2. the .cmti contains the whole content of the .cmi file, so we could load both and test for equality of the .cmi (orelse fallback to the .cmi)
(1) is a good general strategy for editor tools, but has the drawback of requiring the original source file to still be around, which isn't generally true for compiled interfaces. (2) is therefore a better choice in the current situation.
As Alain already noted, the simple way increases compilation time (a file with a lot of external dependencies opens a lot of .cmi). If the best way is judged too complex, it could still make sense to implement the simple way to measure the performance overhead. We could also consider making the "refine locations" logic optional and configurable. I'd rather have it on-demand and always-enabled.
Summing up:
- I still think we should avoid having locations in .cmi and see ways to do that.
- Granted, refining locations lazily is a bit complex as it requires to inspect how the current code use location information. I think this is mostly external complexity due to the arguably messy multi-use of locations in the codebase.
- There is an intermediate strategy (refine locations eagerly, making this configurable to avoid the performance penalty) that I think would be quite simple to implement.
Alain, do you think the "best way" is feasible? If so, would you accept to review a patch implementing it?
gasche (administrator)
2012-11-12 11:49
|PS: a downside of the "simple way" is that it is more invasive. The "best way" keeps the exact same behavior in most parts of the compiler, except those dedicated to user interface (whose correctness is less important). The "simple way" on the contrary changes the value provenance for the whole type-checking process. The validation of this change (checking that the cmi_information saved in the .cmti is equal to the .cmi) is in principle a strong guarantee of correctness, but that still makes this choice less robust -- which is one reason why I would be more satisfied with the "best way".
frisch (developer)
2012-11-12 12:09
Gabriel: I'm not sure to understand the goal of your proposal. If we are to implement extra logic to read back information from .cmti files, I think it's better to do it in extra tools than to complexify the compiler. ocamlspotter demonstrates that "jump to definition" can already be implemented purely as an external tool. Improving error messages in the compiler would be the only place where the compiler itself could benefit from more precise locations. But: (i) this does not bring much and in my opinion does not justify any extra complexity in the compiler; (ii) if we do that (better error messages with external locations), I don't see how you could avoid a dependency on syntactic details of .mli files. By definition, if the error message you get when compiling b.ml shows locations in a.mli, then you need to replay the compiler on b.ml as soon as a.mli changes, even because of whitespace (well, build systems don't typically memoize failed compilations, but it would seem crazy to say that the dependency of the command "ocamlc -c b.ml" does not include, transitively, "b.mli" even though its behavior depends on the content of this file).
The point of my proposal is that tools like ocamlspotter can be subsumed or largely simplified by keeping locations in .cmi files (hence locations of external declarations in .cmt files). Personally, I'm ready to pay the price of having to recompile all dependencies when I change comments or whitespaces in an .mli file if this can give be better and simpler tools. Concretely, if we keep locations, .annot files automatically contain enough information to implement "jump to definition" in the emacs mode. This is a huge step forward to me, compared to the complexity of ocamlspotter, and it certainly deserves to sacrifice a property I don't find very important and don't rely upon (and which does not hold for those using time-stamp based build systems like make). If you don't agree, I claim it's better to do nothing in the compiler: the extra complexity is better located in external tools. To satisfy both points of views, one could make keeping locations optional with a command-line flag (-keep-locations?).
frisch (developer)
2012-11-12 14:26
|To illustrate my point, I've attached a small tool which parses .cmi and .cmt files from a project (compiled with -bin-annot and the patch to keep locations in .cmi files) in order to report exported value declarations (found in .cmi files with an explicit .mli source) which are never used.
gasche (administrator)
2012-11-12 18:08
To use .cmti files instead of .cmi, I only had to change the load_file function of your tool in the following way, and it seems to work on OCaml projects without any modification to the compiler:
let rec load_file fn =
if Sys.is_directory fn then
Array.iter (fun s -> load_file (Filename.concat fn s)) (Sys.readdir fn)
else if Filename.check_suffix fn ".cmt" || Filename.check_suffix fn ".cmti" then begin
let open Cmt_format in
match (read_cmt fn).cmt_annots with
| Implementation impl -> collect_references # structure impl
| Interface intf -> List.iter collect_export intf.sig_type
| _ -> () (* todo: support partial_implementation? *)
gasche (administrator)
2012-11-12 18:17
edited on: 2012-11-12 18:21
About your larger remark: I disagree that if we used .cmti files to produce user information about dependent modules (eg. error messages on the compilation of b.ml that depends on a.mli, based on locations in a.cmti) we would have to add .cmti as a dependency on all those dependent modules. Of course if you do that you have to recompile just like if you change the .cmi, so there is no point.
But given that changing a.mli (and a.cmti, or having a.cmti become stale) only changes the "fancy user interaction" during compilation of b.ml, not the semantics of the actual compiled files produced by the compiler, a.mli/a.cmti do not need to become a dependency of b.ml.
The point is slightly degraded by -annot: if you use -annot you can observe the fact that a.cmti became stale (the output has more external_ref without locations). I would still prefer, as a default behavior, no recompilation and a potentially lossy update of .annot (because it's only meant to cache information to be displayed to the user, which can then decide to update .cmti if she desires more precision). But you're free to tell your build system that you depend on a.cmti (through the same way it currently guesses that b.mli depends on a.cmi) if you want stronger location-availability guarantees. I'm ready to help update ocamldep to add dependencies on .cmti files on demand, for example -- though a simple postprocessing step on its output may suffice.
frisch (developer)
2012-11-12 19:23
edited on: 2012-11-12 19:39
> To use .cmti files instead of .cmi, I only had to change the load_file function of your tool in the following way
Yes, but this is not the important part: you still need to keep locations in .cmi files, otherwise the .cmt files don't get the proper locations for external declarations, and the tool does not work.
> without any modification to the compiler:
I don't think so! Correct me if I'm wrong, but I really don't see how it could work.
(As a minor point: your patch would consider value declarations in .ml files (signatures in the implementation) as candidate for being reported as unused, even though they are not exported).
frisch (developer)
2012-11-12 19:36
> But given that changing a.mli (and a.cmti, or having a.cmti become stale) only
> changes the "fancy user interaction" during compilation of b.ml, not the
> semantics of the actual compiled files produced by the compiler, a.mli/a.cmti
> do not need to become a dependency of b.ml.
I'm ready to accept this argument, but I still don't like the idea of complexifying the compiler (and have it read new kinds of files) *only* for adding locations of external declarations in error messages, especially since a much simpler technical solution exist. I believe that the argument about avoid re-compilation when comments/whitespace change in .mli files is quite theoretical, but if you really insist on it, I'd prefer you accept not to have those locations in error messages than to complexify the compiler for them. In other words, I'd be against a patch which lets the compiler read .cmti file only to enrich error messages; but I'm ok with making it optional to keep locations in .cmi files (through a command-line switch).
frisch (developer)
2012-11-15 14:34
> But given that changing a.mli (and a.cmti, or having a.cmti become stale) only
> changes the "fancy user interaction" during compilation of b.ml, not the
> semantics of the actual compiled files produced by the compiler, a.mli/a.cmti
> do not need to become a dependency of b.ml.
After giving it more thought, I'm even more convinced that it's a really bad idea to hide such dependencies to the build system, even when the dependency only matters in case of a type error. For instance, we have in our omake-based build system some implicit rules to copy compiled files from one directory to another one. If the build system does not know that compiling b.ml might need to access a.cmti, it will never copy this file in the right place and the compiler will not be able to find it in case of a type error. (For the same reason, we believe it is problematic that the compiler can open a .cmi file even though the corresponding unit is not reported as a dependency by ocamldep; this can happen when the compiler wants to unroll an external type abbreviation. We have disabled this behavior in our local version.)
frisch (developer)
2013-07-08 15:42
|Is anyone against the addition of a "-keep-locs" command-line argument, whose effect is to keep locations in .cmi files (on value and type declarations)?
hcarty (reporter)
2013-07-08 16:42
|-keep-locs would be nice to have available through OCAMLCOMPPARAM as well.
frisch (developer)
2013-09-17 16:34
|Commit 14157 on trunk: new -keep-locs option, also available through OCAMLPARAM.
frisch (developer)
2013-09-17 16:42
I've also committed a slightly improved version of the unused_exported_values in the trunk under experimental/frisch. I've attached the output of running it as:
experimental/frisch/unused_exported_values.exe bytecomp driver parsing tools toplevel typing utils asmcomp
after a "OCAMLPARAM=bin-annot=1,keep-locs=1,_ make clean world opt".
Of course, many of the unused exported values are actually useful for code which is not part of the compiler itself, although there seems to be a few true positives.
|Issue History
|Date Modified
|2012-11-09 13:02
|New Issue
|2012-11-09 13:06
|Description Updated
|View Revisions
|2012-11-09 13:08
|Description Updated
|View Revisions
|2012-11-09 13:38
|Note Added: 0008462
|2012-11-09 13:51
|Note Added: 0008463
|2012-11-09 13:53
|Note Edited: 0008463
|View Revisions
|2012-11-09 14:13
|Note Added: 0008465
|2012-11-09 14:17
|Note Added: 0008466
|2012-11-09 14:21
|Note Added: 0008467
|2012-11-09 14:27
|Note Added: 0008470
|2012-11-09 14:28
|Note Added: 0008471
|2012-11-09 14:29
|Note Added: 0008472
|2012-11-09 14:42
|Note Added: 0008474
|2012-11-09 14:42
|Note Edited: 0008474
|View Revisions
|2012-11-09 19:32
|Note Added: 0008479
|2012-11-09 20:23
|Note Added: 0008481
|2012-11-10 11:56
|Note Added: 0008483
|2012-11-10 12:28
|Note Added: 0008484
|2012-11-10 14:17
|Note Added: 0008485
|2012-11-10 19:01
|Note Added: 0008488
|2012-11-10 19:02
|Note Edited: 0008488
|View Revisions
|2012-11-10 19:07
|Note Added: 0008489
|2012-11-10 19:16
|Note Added: 0008490
|2012-11-10 20:33
|Note Added: 0008491
|2012-11-10 21:26
|Note Added: 0008492
|2012-11-10 21:29
|Note Added: 0008493
|2012-11-11 01:23
|Note Added: 0008494
|2012-11-11 08:44
|Note Added: 0008496
|2012-11-12 11:45
|Note Added: 0008501
|2012-11-12 11:49
|Note Added: 0008502
|2012-11-12 12:09
|Note Added: 0008503
|2012-11-12 14:17
|File Added: unused_exported_values.ml
|2012-11-12 14:26
|Note Added: 0008504
|2012-11-12 18:08
|Note Added: 0008505
|2012-11-12 18:17
|Note Added: 0008506
|2012-11-12 18:19
|Note Edited: 0008506
|View Revisions
|2012-11-12 18:20
|Note Edited: 0008506
|View Revisions
|2012-11-12 18:21
|Note Edited: 0008506
|View Revisions
|2012-11-12 18:21
|Note Edited: 0008506
|View Revisions
|2012-11-12 19:23
|Note Added: 0008507
|2012-11-12 19:36
|Note Added: 0008508
|2012-11-12 19:39
|Note Edited: 0008507
|View Revisions
|2012-11-15 14:34
|Note Added: 0008514
|2012-11-15 15:22
|new => feedback
|2013-07-08 15:42
|Note Added: 0009723
|2013-07-08 15:42
|feedback => new
|2013-07-08 16:42
|Note Added: 0009724
|2013-08-28 11:15
|new => acknowledged
|2013-09-17 16:33
|Assigned To
|=> frisch
|2013-09-17 16:33
|acknowledged => assigned
|2013-09-17 16:34
|Note Added: 0010369
|2013-09-17 16:39
|File Added: unused_exported_values.txt
|2013-09-17 16:42
|Note Added: 0010370
|2013-09-20 18:44
|assigned => resolved
|2013-09-20 18:44
|Fixed in Version
|=> 4.02.0+dev
|2013-09-20 18:44
|open => fixed
|2015-12-11 19:24
|resolved => closed
|2017-02-23 16:36
|OCaml general => -OCaml general
|2017-03-03 17:55
|-OCaml general => -(deprecated) general
|2017-03-03 18:01
|-(deprecated) general => ~deprecated (was: OCaml general)
|2017-03-06 17:04
|~deprecated (was: OCaml general) => ~DO NOT USE (was: OCaml general)
|Copyright © 2000 - 2011 MantisBT Group


text:
You're about to switch to our dst country Shopping Experience. If you currently have items in your shopping cart, it will be emptied. Do you want to continue ?
Metallic pleated skirt with logo plate
Place your order today and receive it for free within 2-3 working days.
Don't love it? Return it for free within 15 days from the delivery date. Simply use the provided pre-paid label or return it directly to a store.


text:
Aug. 28, 2008
NEW HAVEN, Conn. - Mark Gilbride, who spent last year as an assistant coach at Stonehill College, has joined James Jones' staff. Stonehill won 18 games and reached the semifinals of Northeast-10 Tournament during his tenure. Gilbride also spent one season at Amherst, helping the Lord Jeffs capture the NCAA Division III national championship, and three years at his alma mater, Bowdoin.
"Mark has a great deal of experience and desire," said Jones, the Joel E. Smilow, Class of 1954 Head Coach of Men's Basketball at Yale. "He will bring a fresh perspective and a high energy level to our staff."
As a player at Bowdoin, Gilbride was a team captain and starting point guard for the Polar Bears. He led the team in assists three seasons in a row. A 2002 graduate, he earned a degree in economics.
Gilbride enjoyed an outstanding prep career at Mount Ararat High School in Topsham, Maine, where he was a 1,000-point scorer and McDonald's all-state selection.
Gilbride replaces Mark Sembrowich, who left in June to work with first-year head coach Johnny Dawkins at Stanford.
Report filed by Tim Bennett, Yale Sports Publicity


text:
Feb. 21, 2007
The Lady Bisons may be young, but they are also powerful.
Wednesday afternoon at Frost Stadium in Chattanooga, the Lady Bisons split a doubleheader with the University of Tennessee-Chattanooga, winning the first game 8-2 and losing the nightcap 4-2.
In the first game the Lady Bisons were powered by homes runs from right fielder Leigh Little, third baseman Kellie Sirus and shortstop Abby Keese. The Lady Bisons had eight hits in the game.
The Lady Bisons scored three runs in the third inning when Little hit her first career home run over the left field fence. Kristie Sirus, who had reached base on a double to centerfield, and Lauren Dortwegt who was safe on a bunt single, scored on Little's round tripper.
"Leigh is really starting to come along," Lipscomb coach Kristin Peck said. "It was her first career home run, but Leigh has had that type of power. She has a smaller build so people don't realize that. She got all of that ball. It was fun to see her hit one like that."
With two outs in the fifth first baseman Heather Collins was safe on an error by the shortstop. Kellie Sirus hit her fourth home run of the season.
"When she swings, she gets all the way through the ball," Peck said. "We worked on that a lot in the fall. She does thatas well as anybody."
In the seventh Keese blasted a three-run home run.
Freshman right-hander Christen Campbell raised her record to 4-0, scattering 11 hits and striking out six. She did not walk a batter.
"Christen has still not been as sharp as she is capable of being," Peck said. "But she knows how to win a game. She knows how to get a big out when she needs one. She gave up 11 hits, but only two runs. That says a lot about her pitching and the defense she has behind her."
In game two Kim Jacobson walked five batters and allowed six hits in 4 2/3 innings. Christy Grisham relieved, allowing one hit and striking out three in 1 1/3 innings.
"Kim knows that the five walks hurt her," Peck said. "But she is a smart pitcher. She will have no problem bouncing back."
The Lady Bisons again connected for eight hits. They did not score until the seventh when Collins doubled to score Kristie Sirus who had reached base on a walk.
"If Heather continues to be a consistent hitter it is going to be a major help to us," Peck said. "She is finding her rhythm as a hitter."
Kellie Sirus then singled through the right side scoring Dortwegt who had reached base on a single up the middle. Dortwegt had three hits in the game.
The Lady Bisons, 6-2 to start the season, continue to build their confidence despite their young lineup.
"UT-Chattanooga is one of the top teams in the Southern Conference," Peck said. "We had never won here before. To win the first game with three home runs and to come back like we did in the second game says a lot about our character."


text:
The Arctic has long been described as a goldmine of untapped resources, and in recent years it has been the site for some international chest-thumping and the attempted claiming of rights. But given what lies beneath, it is not hard to understand why. According to the US Geological Survey, the Arctic potentially holds an estimated 90 billion barrels of oil (13% of the world's recoverable oil reserves), up to 50 trillion cubic metres of natural gas (about 30% of the world's natural gas reserves), and 44 billion barrels of natural gas liquids – not to mention assorted precious metals and minerals. As a result, the race is on for various countries to exploit these reserves. However, rightfully so, scientists are worried about the environmental damage that could be unleashed on the region.
All over the world, oil companies are gearing up to be the first to tap these oil reserves. Tim Dodson, executive vice-president of the Norwegian oil and gas company Statoil has already been quoted as saying: "The race is on for positions in the new oil provinces." By being the one to sell the oil to countries around the world, these companies have the ability to meet global demand for several more years – and at increased prices.
Of course, there is a reason that no one has yet exploited the Arctic. No one country has a claim to the region and it is remote and very dangerous to work in. Plus any disasters are all the more hazadous in icy waters as Exxon discovered in 1989. However the oil companies have been quick to say that they have moved on since then and that the "technology will be there to clean it (any spilt oil) up".
That's hardly reassuring.
The scientific community have already taken action with a group of 573 scientists writing to President Barack Obama last week and pleading caution in the authorization of any gas and oil activity in the Arctic Ocean north of Alaska. They say oil companies still aren't ready for the conditions that they would face in the Arctic Ocean, and to do so now would result in an environmental disaster that may be impossible to clean up and contain.
Via OilPrice.com


text:
September 28, 2005
Cookie Dough Tip
Since my husband and I are the only members of our household, cookie recipes that yield dozens of cookies are a little impractical. Unfortunately, they are often hard to cut down. I have come up with this solution. We both love freshly baked cookies and baked cookies (even in Tupperware) have a fairly short shelf life. Instead of baking all of the cookies in a recipe at once we just make as many cookies as we want at one time then store the remaining dough in the refrigerator until the cookie mood strikes again. Depending on the type of cookie, the dough can keep for weeks. You can put them right in the oven cold from the refrigerator, adjusting the cooking time to a minute or so longer than the original recipe called for.
2 comments:
My parents also scoop the cookie dough onto a sheet with wax paper (like you'd bake them), and then freeze the balls on the sheet. They then can be stored in a zip-lock bag frozen and ready to go.ReplyDelete
They're also really, really good fresh out of the freezer...
I always roll my leftover cookie dough into a log and freeze it. Its really easy to cut that way, and the cookies can go right into the oven.ReplyDelete
Thank you for visiting Coconut & Lime! I read and appreciate each one of your comments.
If you have a specific question or want to discuss something unrelated to this post please e-mail me directly.
All recipes, photographs and text are for private, nonprofit use only and may not be reproduced without permission.
Subscribe to: Post Comments (Atom)


text:
Department of Computer Science
There is a computer scientist in every one of us.
Every time you search, gather, analyze, model and visualize data, you are doing computer science.
At UVic, you'll learn the skills needed in today's workplace.
In our co-op program, you can develop on-the-job skills, network with professionals, and help fund your education with paid work experience.
Customize your degree with one of our interdisciplinary or option programs to get the most out of your education.