text:
Desktop 7 brings significant advancements that improve translation quality, facilitate customization and enhance the user experience for all customers from the home user to the language professional
PARIS, FRANCE and SAN DIEGO, CA – DECEMBER 13, 2010
SYSTRAN, the leading provider of language translation technologies, today announced the release of its Desktop 7 Product Suite. SYSTRAN Desktop 7 contains a number of major innovations, including intelligent use of displaying translation alternatives and learning from user choices via a new interactive interface. SYSTRAN products translate documents quickly and accurately while reducing the time it takes to post-edit translations.
Amongst the most advanced and sophisticated products on the market, SYSTRAN Desktop 7 offers users the highest quality translations for text messages, emails and Web pages, as well as professional and personal documents. In addition to quick and efficient translations, SYSTRAN Desktop 7 includes a smart user interface, powerful new automated customization tools and the convenience of translating online while connected to the Internet or directly from a PC. New to SYSTRAN Desktop 7 include:
- Consistent High Quality Translations – SYSTRAN Desktop 7 is smart as it acquires knowledge as it is used. It adapts translation to the user's language domain(s) by learning new terminology from their documents and texts. The more Desktop 7 is used, the smarter it gets.
- Support of Additional File Formats for Added Usability – Desktop 7 supports OpenOffice documents in addition to Microsoft Office documents, PDF, TXT, HTML, and RT. It also supports more import and export formats for dictionary exchange to improve reuse of existing terminology and integration with other tools.
- Unified Smart Interface Simplifies the Translation Process – SYSTRAN Interactive Translator translates any text with just a click, includes a smart Dictionary Lookup for instant access to alternative meanings which learns from user choices and saves them for reuse. Additionally, it provides an interactive environment for users to resolve source language ambiguities to improve quality, and a shortcut to the robust SYSTRAN Dictionary Manager.
- Automatic Learning of User Terminology and Linguistic Specificities – SYSTRAN Customization Wizard adapts translation to the user's language domain(s) by learning from the user's existing documents and language assets. It scans a variety of file formats from the user's PC and builds language models which are applied to current and future translations.
- Increased User Productivity and Reduced Time to Post-Edit – SYSTRAN Document Aligner builds a translation memory from one document and its translation. It also includes an interactive realignment feature which allows users to make changes as needed.
- Convenience to Translate Anytime, Anywhere – Translate online when traveling or from your PC with SYSTRAN Desktop 7.
"SYSTRAN's industry-leading translation software helps individuals and businesses communicate and collaborate in multiple languages," said Dimitris Sabatakakis, CEO of SYSTRAN. "The global nature of today's economy increases the need for accurate, high quality language translation. But SYSTRAN Desktop 7 products deliver even more. SYSTRAN's smart translation capability means the software adapts to the specific needs of the user. Additionally, SYSTRAN is the only company to offer translation capabilities regardless of whether a user is connected to the Internet. SYSTRAN Desktop 7 is a significant step forward for machine language translation solutions."
The SYSTRAN Desktop 7 Product Suite includes the Premium Translator, Business Translator, Office Translator and Home Translator. Using the same translation engine selected by leading internet portals, global corporations and the US intelligence community, each product within the Desktop 7 Suite is designed to meet the very specific needs of its users. All products support additional file formats, include new tools for customization and allow the user to translate online documents in real-time. SYSTRAN designs Desktop 7 products for a variety of markets.
- SYSTRAN 7 Premium Translator – Provides innovative, automatic customization tools allowing language industry professionals and corporate users to produce reliable, high quality language translations while streamlining work.
- SYSTRAN 7 Business Translator – For small and mid-sized businesses that need the highest quality translations for company correspondences, procedures, product information and presentations.
- SYSTRAN 7 Office Translator – Microsoft Office users can easily translate and understand Word documents, Excel files, PowerPoint presentations, Outlook emails and all text messages.
- SYSTRAN 7 Home Translator – Designed to meet the needs of individuals looking to quickly and accurately translate Word documents, Web pages, emails, text messages, and tweets.
About SYSTRAN
SYSTRAN is the leading provider of language translation software products and solutions for the desktop, enterprise and Internet. Facilitating communication in 52 language combinations, SYSTRAN machine translation products increase user productivity and time-savings.
With over four decades of expertise and research and development, SYSTRAN's machine translation software is the choice of leading global corporations, portals including Apple, AltaVista and Yahoo!, and public agencies like the US Intelligence Community and the European Commission.
SYSTRAN is headquartered in Paris, France with a North American office located in San Diego, California, USA.
SYSTRAN (Code ISIN FR0004109197, Bloomberg: SYST NM, Reuters: SYTN.LN) is listed on EuroNext Paris, Compartiment C. For more information, visit www.systransoft.com.
John Moran/Shweta Agarwal
Schwartz Communications
Phone: 781-684-0770
Email: email@example.com


text:
Every holiday season brings with it presents, family, good food, great desserts, lots of basketball, and also some amazing sneakers. This year is no different. From adidas to Nike to Jordan to Reebok Classics to everyone else, there will be some incredible sneakers debuting around this holiday season.
As the holiday action picks up today, here's a look at all of our favorites.
*** *** ***
NIKE LeBRON X

subset: commoncrawl


text:
Neutralize Odor
Odor Gladiator™ is a patented athlete-customized high-performance deodorizer that battles stench in the most inhospitable of environments — your sports equipment bag.
Your Colors. Your Style. Your Gladiator.
Battle Fresh
Odor Gladiator is the perfect solution for performance athletes. Odor Gladiator tackles the stench of intense sports such as hockey, lacrosse, football, surfing and martial arts.
Bring the Battle to Your Bag!
Crush the Competition
Unlike damaging detergents and irritating sprays requiring constant reapplication, Odor Gladiator is a safe, effortless solution that battles odor for up to 120 days.
Just Toss in Your Bag. It's that Easy.
Odor Gladiator is the official sports deodorizer of:


text:
Google defines scraping as follows:
My question, as set out in the title to this post, is whether or not scraping is a violation of copyright. It turns out that the answer is likely very complicated. You have to look at the definition of a scraping site very carefully. Let me give you some hypotheticals to show what I mean.
- Sites that copy and republish content from other sites without adding any original content or value
- Sites that copy content from other sites, modify it slightly (for example, by substituting synonyms or using automated techniques), and republish it
- Sites that reproduce content feeds from other sites without providing some type of unique organization or benefit to the user
Let's suppose that I write a blog and put a link in my blog post to your blog. Does that link violate your copyright? I can't imagine that anyone would think that there was problem with linking to another website on the Web. In this case, there is no content from the originating site, just a link.
But let's carry the hypothetical a little further. What if I put a link to your site and quote some of your content? Does this violate copyright law? If you are acquainted with any of the terminology of copyright law; think fair use. The issue here is whether or not the "quoted" material is a substantial reproduction of the entire original content? I would have the opinion that duplicating an entire blog post either with or without attribution would be a violation of the originator's copyright.
So is the scraping website protected by the "fair use" doctrine? Does the fact that the motivation for listing the original websites is to make money have anything to do with how you would decide if there was or was not a violation of the originator's copyright? By the way, the copyright does not make a distinction between a commercial and non-commercial use of the original constituting or not constituting a violation of copyright. The fact that the reproducing (scraping) party does not make money from the reproduction is not a factor in the issue of violation, although it may ultimately be an issue as to the amount of damages assessed.
Does the fact that the actions of the scraper annoy me, make any difference? I would answer, not in the least. Whether or not you are annoyed by the violation of the copyright makes no difference as to whether or not there is a violation. Likewise, you have no independent claims for your wounded feelings because of the copied content. Copyright is a statutory action (i.e. based on statutory law) and unless the cause of action is recognized by the law, there is no cause of action. Now, in an outrageous case, you may have some kind of tort (personal injury) claim, but that is way outside of my hypothetical situation.
So what is the answer? Does scraping violate the originator's copyright? If only a small portion of the blog is copied (scraped) then I would have to have the opinion that it is not. Essentially, no matter what the motivation of the scrapper, there is not enough content copied to violate the fair use doctrine. Now, that is my opinion. Your's might differ. That is what makes lawsuits.
Do I think there are other reasons why scraping websites are objectionable? Certainly, but those reasons have nothing to do with copyright and they are probably the subject of another different blog post. So, if you are reading this from scraping website, bear in mind that there may be a serious problem with that type of website.


text:
Skip to content
The Metal Pigeon
Commentaries and Opinions on Metal
Recurring Features
About Me
About This Blog
Posts tagged 'Berserker'
May 22, 2019
The First 2019 Summer Reviews Cluster: Myrath, Amon Amarth and More!
Recent Posts
In The Heart of Summer: New Music From Abbath, Frozen Crown, and More!
Soundtracking Cataclysm: Sabaton's The Great War
The Neapolitan Reviews Pack: New Darkthrone, Gloryhammer, and Aephanemer!
The First 2019 Summer Reviews Cluster: Myrath, Amon Amarth and More!
Springtime Metals: New Music From Eluveitie, Thormesis, Devin and More!
Reckless Abandon: Houston, Horna, and Antifa
Search The Metal Pigeon!
Twitter Updates
Ah I figured it out, it was stupid internal wordpress crap. Migrating the Metal Pigeon to a self hosti…
4 days ago
Follow @TheMetalPigeon
The Metal Pigeon on Instagram!
New reviews up at the blog including @myrathband #Shehili and loads more! Look out for a massive MSRcast on the way soon (we're on Spotify now too!). #metal #metalwriting #blog #metalblog #review #Myrath #orientalmetal #Dance #progmetal #powermetal #guitar #middleeasternmusic #tunisia
Subscribe to RSS feed!
Get The Metal Pigeon via e-mail!
Enter your email address
Angry Metal Guy
Black Wind Metal
Invisible Oranges
Mainstream Resistance (MSRcast)
Metal Geeks
Metal Rules!
Metal Wani
No Clean Singing
powerful. a power metal podcast
Create a free website or blog at WordPress.com.
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here:
Cookie Policy


text:
100% pure virgin wool pile, hand-hooked to a durable cotton backing. American Country and turn-of-the-century European designs. This collection is handmade in China exclusively for Safavieh. This is a great addition to your home whether in the country side or busy city.
- 100% Wool
- Cotton backing, rug pad recommended to avoid shifting and sliding
- Hand Hooked in China
- Crafted by master weavers
- Vacuum regularly and spot clean; for hard-to-remove stains, professional rug cleaning is recommended
- For an instant decorating makeover, this area rug is one of the easiest and most fashionable ways to refresh a room with character and style
- Please Note: The digital images and product dimensions on our website are as accurate as possible. Due to differences in computer monitors, some rug colors may vary slightly. Lengths and widths may vary from the published dimensions. We do our best to provide you with an exact measurement, but please be advised that some variation exists. Patterns may vary slightly according to shape and size selected.
- 60 day manufacturer warranty, for warranty information on this product, please call our Internet Customer Service Center at 1-800-435-4654


text:
Know of a really annoying pothole that needs to be fixed? Send it to us! We'll feature it on our "Pothole of the Day" segment on News with a Twist.
(This information will only be used to contact you about your pothole suggestion. We won't add your e-mail address or phone number to any lists!)


text:
<< Back to American Forest & Paper Association (AF&PA) and Pulp and Paper Safety Association (PPSA)
The Occupational Safety and Health Administration (OSHA), the American Forest & Paper Association
(AF&PA), and the Pulp and Paper Safety Association (PPSA) recognize the value of establishing a
collaborative relationship to foster safer and more healthful American workplaces. OSHA, AF&PA and
PPSA hereby form an Alliance to provide the members of AF&PA and PPSA, and others in the forest,
pulp, paper, and paper-converting industries (the "Covered Industries") with information, guidance,
and access to training resources that will help them protect employees' health and safety,
particularly in addressing workplace ergonomics issues. In developing this Alliance, OSHA, AF&PA and
PPSA recognize that OSHA's State Plan and Consultation Project partners are an integral part of the
OSHA national effort.
OSHA, AF&PA and PPSA will work together to achieve the following outreach and communication goals:
OSHA, AF&PA, and PPSA will work together to achieve the following goal related to promoting the national dialogue on workplace safety and health:
OSHA's Alliances provide parties an opportunity to participate in a voluntary
cooperative relationship with OSHA for purposes such as training and education, outreach and communication
and promoting a national dialogue on workplace safety and health. These Alliances have proved to be
valuable tools for both OSHA and its Alliance participants. By entering into an Alliance with a
party, OSHA is not endorsing any of that party's products or services; nor does the Agency enter
into an Alliance with the purpose of promoting a particular party's products or services.


text:
Don't worry. Although these bullets may blow your mind (especially the last one), they aren't lethal:
- An Essex, U.K. magician says he had a dream come true when he got to see David Copperfield's private museum. Michael J. Fitch told The Daily (Colchester) Gazette all about the experience, what was inside the museum and the friendly phone call he got while in the bath.
- While we're talking about the U.K.: That auction we told you about raised more than £100,000 (US $159,900) for Shelter. According to this report, the bidding was "nail-biting." An official with the organization said the money will go a long way toward finding new ways to get its message to more Britons.
- You know you'll do magic until the day you die. When you get closer to that day, magician Fred Reisz has an outstanding workout for you. The 70-year-old stays fit with a routine of power walks, weightlifting and biking. Keep on keepin' on, Fred.
- One of Justin Robert Young's broheims at iTricks found an incredible video which shows a chop cup that, um… the sleight of hand is… I don't know what to say, other than I've watched this 14 times tonight. Enjoy:


text:
Our Services
Career Opportunities
Career Opportunities
BFMC is a Medical Centre that offers much to its staff and employees: a vibrant community, a dedicated team, a financially stable organization, and wonderful people who are truly passionate about helping individuals recover from illness. Staff and employees also enjoy the strong support of management, and know that their contribution will be recognized and rewarded.
Employment Opportunities
Current positions available.
- Visiting Gynaecologist
- visiting Dermatologist
Opportunities for Doctors
- We are seeking a vocationally registered General Practitioners who are looking to relocate and amalgamate their existing practice to partner with us. We will provide you with quality equipment and facilities as well as exeprienced staff support to make sure your practice is running smoothly and efficiently.
Room Rental
At BFMC, we have rooms available for rental. Will suit specialists and health related professions.
To express your interest, please send your inquiries to email@example.com.
Alternatively, please click on the link to proceed to our online Job Application Form.


text:
In honor of the Seattle Music Project, a photo exhibit on display in our flagship Seattle store, we'll be highlighting iconic Northwest musicians from the past five decades. Today: amped-up garage rock and melodic pop from the '60s.
Text below by Charles R. Cross, excerpted from the exhibit.
photo by Jini Dellaccio
"Jini Dellaccio was a commercial photographer who photographed many of the classic bands from the 'Louie Louie' era. Her most memorable portraits were of the proto-punk band The Sonics, whose songs 'The Witch' and 'Psycho' would influence bands from the Sex Pistols to Nirvana. Dellaccio often shot her subjects in their street clothes in natural settings. This iconic photograph of the Sonics on a Gig Harbor beach, just below Dellaccio's home, also captured a foggy winter day. Their clothes—peacoats, sweaters, and Beatle boots—were their own, a significant shift from earlier pop bands, who wore uniforms or matching stage outfits."
photo by Jini Dellaccio
"Merrilee Rush and the Turnabouts scored one of the first top-ten hits by a Northwest act with the 1968 million-seller 'Angel of the Morning.' Jini Dellaccio photographed them in her yard, as she did many bands, by a reflective pool. The distinctive stage outfits worn by the Turnabouts were common for pop groups at the time, and taken out of the music context, they could just as easily have been the outfits of circus performers."
photo by Jini Dellaccio
"Jini Dellaccio sought to capture bands in their element—backstage, onstage, or in rehearsal. This photograph of the Tacoma band The Wailers was taken from behind a tiny stage inside the Hudson's Bay department store in Victoria, British Columbia. The two women were 'fans,' as the band recalls, though they may have been store employees on duty during the group's appearance."
The Seattle Music Project is an exhibit of photos and ephemera commemorating five decades of Northwest music. Curated by renowned local photographer Lance Mercer, the exhibit resides in the Men's Shop of our Downtown Seattle store, now through the end of October.
All three photos above © Jini Dellaccio. View more of her work here: Jini Dellaccio Collection.
[Songs courtesy of Etiquette Records and Bell Records. Individuals pictured do not endorse Nordstrom.]


text:
Was the Demo a Mistake?
Fund: North Bridge Venture Partners
Posted by xndk8d on 2008-02-05
I am the founder of a bootstrapped web app company with a pre beta product. An NBVP partner introduced me to EIR/CEO of new company in my same market. Went to meeting at NBVP office and met founders of new company. I opened the meeting by voicing my concern about opening the kimono to a newly funded company in my space. The CEO stated that they had the same concern and that he would stop the meeting if it became clear that we were working on similar ideas. I ended up showing my full demo to great interest on their part. The pumped me for answers on many subjects. When it came time for them to discuss their offering, the meeting ended. I was told that they would have the VP of marketing contact me to discuss partnership opportunities. Weeks have gone by with no contact. I did a follow up email to the CEO but have yet to receive a response. Should I be concerned" Update: just received a contact to continue the discussion with the SVP marketing, so my concern has abated at this point.PRIVATE: Members Only (755 Characters)


text:
The art and technique of setting type to make language visible is known as Typography. Visibility is a basic thing in printing, the ability to make writing attractive however is pivotal in professional typography. It is the work of a graphic designer to use typeface, colors, layout, grid and design etc creatively and create innovative typographic material. This is especially helpful in marketing/branding of a product.
For a layman, there is most probably not much of a difference between 'Arial' and 'times new roman font'. A graphic designer knows that font selection is the first step towards printing. Then he/she has to select the font size. Height of a character is generally known as x-height while width as set-width. The next step is to correct the 'Leading'. Vertical space between the type lines is called leading. Tracking and kerning is looked at next. This is space adjustment between adjacent characters so the overall effect isn't muddled but aligned. 'Measuring' is the next step where you decide on the width of a text block. Hierarchy and Scale are finally decided. This is the difference in the text printed which would signify what is highlighted as well as the placing.
A company would get its name and logo printed as a start of its marketing campaign. Typography plays a pivotal role in broadcasting your product to the masses. We now recognize some companies by just their logos/brands obviously we're paying tribute to the typographical skills of the graphic designers.
Continue reading…


text:
Looking to gain efficiencies in your electrical test processes? ECC fixtures are designed to reduce cycle time and maintenance time while adding quality control features such as component presence detection and keying. Whether performing a simple continuity test, a functional test or hi-pot test, ECC fixtures are designed to save time and improve quality. Take a trip through our product section to see how ECC may be able to help you.
5905 Green Pointe Dr, Suite G
Groveport, OH 43125
Phone: (614) 409-9104
Fax: (614) 409-9115
Email: email@example.com


text:
Get Your Summer Games Passes Now!
Get your passes now and bowl 3 games every day, all summer long—all for one low price! That's more than 100 days of bowling fun! Your Summer Games season pass pays for itself in 3 visits or less, includes free shoe rental and is packed with exclusive offers, making the summer's best deal on fun even better!
- Passes include 3 Games Every Day (plus shoes!) from May 20 to September 2! Passes may only be redeemed at your selected center.
- Upgrade to a Passport to use your pass at ALL participating locations across Bowlmor, Bowlero, AMF and Brunswick Zone brands!
- Still have questions? Check out our FAQs here.
Visit UsBowlero Euless 1901 West Airport Freeway Euless, TX 76040 817-540-0303 Get Directions Switch Centers
Valid Times
Summer Games passes at this center are valid from:
Mon-Thurs Open-8pm, Fri-Sun Open-6pm


text:
David Blaine About To Break The World Record For Holding His Breath [Countdown Has Begun - Video Blog]
Today on Oprah David Blaine will risk his life to break a world record.
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:
Notice to Defendants
Mon Cheri Bridals, LLC vs. The Partnerships and Unincorporated Associations Identified on Schedule "A" and John Does 1-81; Case No. 18-cv-2516
Plaintiff, Mon Cheri Bridals, LLC has filed a civil lawsuit against the Defendants listed in Schedule "A" to the Amended Complaint for operating fully interactive, commercial internet stores ("Infringing Websites") in violation of federal trademark and copyright laws. A copy of the Amended Complaint, Summons, and other legal documents may be obtained from Plaintiff's attorney, David Gulbransen, legal [at] counterfeittechnology [dot] com, and on this website. Please refer to the below links for further information. Any answer or other response to the Amended Complaint should be filed with the Clerk of the Court, United States District Court for the Northern District of Illinois, Eastern Division, Chicago, Illinois within twenty-one (21) days from the date of being served with the Summons and Amended Complaint in this matter. If no appearance or pleading is filed, the Court may render a judgment against the defendants. Defendants are advised to seek legal counsel. ===================================================================
2 Extend Temporary Restraining Order (VIEW/DOWNLOAD)
3 Complaint (VIEW/DOWNLOAD)
4 Complaint-Ex1 (VIEW/DOWNLOAD)
5 Complaint-Ex2 (VIEW/DOWNLOAD)
6 Mon Cheri Schedule-A (VIEW/DOWNLOAD)
7 Notice of Motion for Preliminary Injunction (VIEW/DOWNLOAD)
8 Preliminary Injunction (VIEW/DOWNLOAD)
9 Memorandum in Support of Motion (VIEW/DOWNLOAD)
10 Declaration (VIEW/DOWNLOAD)
11 Exhibit 1 (VIEW/DOWNLOAD)
12 Preliminary Injunction Order (VIEW/DOWNLOAD)
13 Mon Cheri Default Notice of Motion (VIEW/DOWNLOAD)
14 Mon Cheri Default Motion (VIEW/DOWNLOAD)
15 Mon Cheri Default Memorandum (VIEW/DOWNLOAD)
16 Ex-1 (VIEW/DOWNLOAD)
17 Mon Cheri Default Gulbransen Declaration (VIEW/DOWNLOAD)


text:
The world's most famous arena was no match for the world's best hockey team Monday, the Kings savaging and silencing Madison Square Garden with three powerful thwacks that cut off the New York Rangers at the heart.
Now they are on the verge of doing the same to Los Angeles sports history.
If the Kings turn this three-games-to-none lead against the Rangers into a Stanley Cup championship — a 3-0 victory Monday moved them mere minutes from the Cup — it will complete the best postseason ever by a Southland sports team.
That's right. The best postseason. Ever. This is true even in a town dominated by Lakers magic and Dodgers miracles. This is true even with USC's bowl bashes, UCLA basketball's breathless madness, and that one autumn in Anaheim when all halo broke loose.
What the Kings have accomplished over the last two months hasn't created one memorable moment like those of Kirk Gibson, Robert Horry, and Tyus Edney. It's been a dozen moments. It hasn't been one eternal memory, it's been an eternity of memories, each one more implausible, each one marinating for only mere seconds before the next one, with only one victory required for the most incredible 16-win stretch this town has ever experienced.
"I don't think you'd ever expect …" said Dustin Brown late Monday, shaking his head, and that says it all.
All around him in the cramped Garden dressing room were sweat-soaked, working-class players who finished the regular season as only the 10th-ranked team in the league. The postseason started on the road in San Jose on April 17. Few were watching. The Kings weren't even the most highly regarded team in their own town.
"The way we play is not exciting, it's borderline boring," said Anze Kopitar with a grin. "But it works in the playoffs."
Has it ever. I've been lucky enough to witness most of this city's postseason sports greatness in the modern era of multiple playoff series and I've never seen anything like this.
So the Dodgers overcame the mighty New York Mets and unbeatable Oakland Athletics in 1988? These Kings won their first two series against higher-finishing teams after overcoming three-games-to-none and three-games-to-two deficits. Heck, their historic four straight wins to overcome San Jose would be enough for a memorable postseason, and that was just the first round.
"Everybody in this room, no matter what happened in the regular season we all knew that the playoffs was our chance to shine," said Drew Doughty.
So the Lakers went 15-1 in the 2001 postseason? The Kings have become the first team in NHL history to win three Games 7s on the road, and are on the verge of completing the first Final sweep in 16 years.
"It's a grind, it's a very hard thing to do," said Brown. "But we're built for this. We're never the best team in the regular season, but we're built for the playoffs."
The flash has been blinding. I've seen absurd comebacks by all sort of Los Angeles teams, but the Kings have won seven — seven — elimination games.
So the Lakers overcome a 15-point deficit in the fourth quarter to beat Portland in Game 7 of the 2000 Western Conference finals, and then overcome a three-games-to-two deficit to beat Sacramento in the 2002 conference finals? The Kings pretty much did all of that in a week, overcoming a two-goal deficit in Game 7 against the Chicago Blackhawks for the Western Conference title and then doing it twice in the first two games of the Final.
"The thing about this time of year is, everybody is doing it for us," said Doughty. "The guys who score a lot of points aren't scoring a lot of points, it's everybody else stepping up to the plate, all of us."
It was Edney's drive against Missouri that saved UCLA's national basketball championship in 1995, right? It was Scott Spiezio's home run that rescued the Angels' World Series championship team in 2002, correct? This is far different because there is not one savior here, even Monday's shutout-pitching Jonathan Quick has sometimes struggled. In fact, the 11 goals scored in the Final have been scored by 11 different Kings. Some of the names, you may even recognize.
Kyle Clifford, Drew Doughty, Justin Williams, Jarret Stoll, Willie Mitchell, Dwight King, Marian Gaborik, Dustin Brown, Jeff Carter, Jake Muzzin, Mike Richards.
"I've been on some close teams, but this is probably the tightest knit group that I've been a part of," said Richards, who scored Monday, the first time he's put a puck in the back of the net in three weeks.
Never has a Los Angeles sports team been beaten so badly and yet triumphed so magically. They were finished in San Jose. They were done against their rival Ducks. And who didn't think that they were done after the Blackhawks had taken leads not once, not twice, but three times in Game 7 in Chicago?
"I mean, hell, we got thrown under the bus by everybody on earth seven weeks ago," said Coach Darryl Sutter.
For the taciturn farmer from Alberta, that sentence was a speech. But like the rest of his team, there is a method to his oddness. Just as his face never changes, neither does his team's spirit. Behind the sparse words — his awkward postgame news conferences are now officially the stuff of legend — is a lifetime of perspective.
He'll tell you, if you listen close enough, that he views the regular season as mere calisthenics for the postseason. He would skip the entire regular season if allowed. The Stanley Cup playoffs are why he coaches.
"We all know what it's about around here," said Kopitar. "This is the time for Kings hockey."
Improbable, impossible hockey.


text:
The Mystery of Sheet Music
To many people, reading sheet music is an intimidating, mysterious activity. But it doesn't need to be! It's actually quite simple, once you understand the secret behind it.
At "ReadSheetMusic.info," my desire is to teach you how to read sheet music as quickly as possible. I'll take away the mystery, and put reading sheet music within your grasp.
Since 1999, I've made this course available at www.notationmachine.com. So many people have enjoyed it that I decided to give it a web page of its own. I've also added some more chapters so that if you really want to learn, you can get beyond the basics.
In any case, there is enough information to easily get you started reading sheet music right away! Try it for yourself, and then tell your friends!
Jason Silver
How To Read Sheet Music... a Free Course
click here to download our free Ebook! Pass it on!
All you ever wanted to know about sheet music and how to read it.


text:
Development Featured Projects
Integrated Development
Simplifying funding through flexible financing solutions
Neenan specializes in diminishing complexity through collaboration and innovation – and that philosophy extends to our real estate development services. Carefully crafted, well informed investments set your project on the path to success, and Neenan is there every step of the way, starting with a comprehensive Development Feasibility Analysis that helps you evaluate risks and rewards, weigh all your available options and find a financing structure that fits. For decades, we've been helping clients get buildings designed and constructed by sharing resources, lowering costs of capital and even investing in projects as partners through equity participation. From locating the perfect property to suit a solid business plan to assisting with the appropriate ownership structure and permits, Neenan helps clients navigate the ever-changing nuances of real estate development.


text:
General discussion forum for anything related to Square Enix that does not fit in any of the other sub forums.
© 2016 SQUARE ENIX LTD. All Rights Reserved
SQUARE ENIX and the SQUARE ENIX logo are trademarks or registered trademarks of Square Enix Holdings Co., Ltd.
Square Enix Limited, Registered in England No. 01804186 Registered office: 240 Blackfriars Road, London, SE1 8NW.


text:
In this video I take a look at the Japanese Playstation disc with the game Zanac X which is becoming more rare by the day :( Go check it out.
Zanac is a very cool series of Shmup games created by Compile. The game originated on the MSX and NES but also found its way on many other systems like this Playstation One version. It's very similar to other Compile shmups like PowerStrike, Aleste, Super Aleste, M.U.S.H.A. All these games feature a similar weapons system.
Other good Compile shmups are Blazing Lazers on the TG16 and Gunnac on the Nes.


text:
Toshiba unveils new external 3.5-inch drive
But stays tight-lipped on whose disk it uses
Toshiba has introduced its first external 3.5-inch format disk product, and it probably uses a third-party drive.
It holds up to 1TB of data and comes with USB 2.0 and eSATA connectivity. Bundled software backs up and restores files, and also the entire attached PC system. The drive comes with a USB cable and an AC adaptor and is both PC and Mac-compatible.
Toshiba manufactures its own 2.5-inch format disk drives and uses them in its notebooks and in a line of USB bus-powered external portable drives. Regarding this larger capacity and format external hard drive, it says it comes from a trusted brand.
Why bother stressing this? It didn't say it actually manufactured the 5400rpm SATA drive inside the box though, though, and the likelihood is that it has been externally sourced. No Toshiba source was immediately available to discuss this point.
Michael Cassidy, a director at Toshiba America Information Systems, said: "We designed the external hard drive to provide consumers an easy-to-use back up option that not only performs above (the) competition, but is also a stylish accessory for their PC." Toshiba says the product's design has a sleek high gloss finish with a vaporized metallic silver rim and LED activity light with white glow effects. It is mounted upright on a cradle stand.
The hard drive is available now through Toshiba America's channels, priced at $129.99 for 640GB and $159.99 for 1TB; both these are Toshiba's suggested retail price. It is backed by a 3-year limited warranty. ®


text:
Junk science and booze tax - a study in spin
Where's the beer?
A drinking guideline you will probably never hear
Part A of the Sheffield study of the "evidence base" contains a curious interlude. Remember that this is a report commissioned by and written for our Health Department bureaucrats. What, you may wonder, are the risks and benefits?
Light and moderate levels of alcohol consumption are actually good for you - but you may be surprised (because it's so rarely reported) quite how good.
In one meta study cited: "Four out of five cohort studies showed statistically significant reduction of all causes of mortality between 15 per cent and 25 per cent for moderate drinking." Moderate is defined as men who drink between 29g and 43g daily, and women between 14g and 29g daily.
Respectively, that's about three pints of beer for men, and a couple of glasses of wine for women. Per day.
Drinking moderately is good for the heart, and also guards against strokes. According to the studies, the relative benefits of moderate alcohol use are even larger than the damage caused by hammering it with heavy (> 100g a day) drinking.
Strangely, this "health" message is completely absent at the Department of Health, or as a policy recommendation. As is the logical deduction: that more of the population who currently abstain should be being encouraged to drink in moderation.


text:
Expert New Kitchen Services in Sandy Spring MDAmerican Kitchen Concepts is Sandy Spring's leading kitchen remodeling contractor, providing full-service kitchen renovation services to homeowners in the area for over 20 years. We take pride in offering a full service solution for designing and building the ideal kitchen for your home, all at fair and honest prices that can work for any budget. Simply put - our client satisfaction and high level of service is second to none. And when we see the joy on our client's face when the project is complete, it makes all the hard work and long hours worth it!
Bring Your New Kitchen to LifeOur team consists of dedicated professionals who complete kitchen remodels and installs on a daily basis. Our service offering is extensive, ranging from new construction to remodeling, renovations, and more!
- Cabinets
- Countertops
- Flooring
- Appliances
- Backsplash
- Removal of closets/pantries
- Lighting
- Painting
- Drywall
- Electric
- Carpentry
- Sinks & Faucets
- Plumbing
- Removal of bulk-heads
- Removal of non-load bearing and load bearing walls to expand space
Top-Rated Product Manufacturers
- Granite Natural Stone
- Cambria Natural Quartz
- Silestone Quartz
- Q Premium Natural Quartz
Customer Reviews
"Overall a very pleasant experience and very pleased with the finished product...ongoing communication through out the project and came in only 3 days over the initial estimate of completion date. Very friendly crew. Would highly recommend this group to friends." - Sean M., Columbia MD
"The rating of 'Very Good' isn't good enough. 'Excellent' would be a better rating. These people were a pleasure to have in the house. They were extremely professional and at the same time personally pleasant. I would like to invite them back to do other jobs that are within their purview. I highly recommend Dan and his crew to anyone who wants a new kitchen done." Michelle K., Columbia, MD
Contact us today for a free estimate for your kitchen renovation!


text:
Train manufacturer Talgo filed a "Default of Contract" suit against Governor Scott Walker and Wisconsin DOT Secretary Mark Gottlieb in Dane County Circuit Court today. Court documents filed today show that the Washington-based train manufacturer notified the state on April 4, 2012 that the "trainsets" were ready for required service testing to be conducted by WisDOT.
The state has attempted to claim that Talgo is responsible for testing, but the contract makes clear that WisDOT bears that responsibility (emphasis added):
All parties acknowledge and accept that 49 CFR 238.111 provides that the Operator (or railroad, as the case may be) not the Contractor is responsible for performing a pre-revenue service acceptance testing plan. Contractor will diligently work with Department and such Operator to ensure that the Operator's pre-revenue service acceptance testing plan is efficiently implemented.
Wisconsin was sent an invoice for $4.599 million dollars on April 23, 2012 which has remained unpaid. On July 25, 2012 Talgo served a "notice of default" on Mark Gottlieb, DOT Secretary. The notice gave the state 30 days to cure default (emphasis added):
In short, Wisconsin is in default of its testing obligations under Section 14.02 of the Purchase
Contract, which has caused significant and costly delays on the project. Talgo is also very concerned with WisDOT's stated intent to place the train sets into storage rather than in revenue service, which also constitutes a material breach and default under the Purchase Contract, as the Purchase Contract clearly requires WisDOT to place the train sets into revenue service (see, for example, Article 9 of the Purchase Contract).
Meanwhile, Wisconsin is also in default of its payment obligation regarding Invoice number 2012- 1.6, dated April 23, 2012. In addition, WisDOT has also wrongfully terminated the December 30,2009 Maintenance Agreement between WisDOT and Talgo – constituting an Event of Default under both that agreement and the Purchase Contract – which Talgo will address by separate letter.
Wisconsin did not reply within the required 30 days to cure default. The Maintenance Agreement referenced in the default letter between Wisconsin and Talgo was terminated by the trainmaker on November 1 as another breach of contract (emphasis added). Gottlieb was hand-delivered notice of Purchase Contract termination on November 1. If the state is found in breach of contract, Wisconsin (and its citizens by default) would lose all rights under the contract, and be on the hook for nearly $50 million plus court costs(emphasis added):
It has been more than one hundred days since Talgo served its Notice of Default upon Wisconsin.
Wisconsin has still not cured its default.
Accordingly, pursuant to the terms of the Purchase Contract, Talgo is hereby immediately
terminating the Purchase Contract. Wisconsin remains obligated to pay all its "previously accrued liabilities" under the Purchase Contract. You have received invoices for the balance of the Purchase Contract prior to your receipt of this Notice of Termination.
Talgo CEO Antonio Perez hits the nail on the head with his statement today (emphasis added):
"We invested in the State of Wisconsin by building a manufacturing facility in
Milwaukee and creating manufacturing jobs. We built the trains and
otherwise performed our obligations under our agreements with the State of
Wisconsin. In return, rather than being "open for business" the State used
every conceivable excuse, whether fair or not and whether lawful or not, to
ensure that Talgo did not receive what it bargained for, including by refusing
to pay for the trains that Talgo completed. I don't see how any company
would in the future choose to do business with the State of Wisconsin when
the State has shown that it cannot be trusted to honor contracts that it
"Talgo has become the innocent victim of a political agenda. Before
Governor Walker was inaugurated, he wrote an open letter to President
Obama saying, "Governor Doyle and Secretary La Hood say we can't stop
the train. I say, just watch us." The Governor chose to "stop the train" by
breaching its contract with Talgo."
WEDC and Walker's budgeting tricks are just the tip of the iceberg. Ideology and cronyism over responsible governance have become the hallmarks of the Walker Administration. Not only did Walker's actions regarding Talgo COST jobs, they will now COST taxpayers millions of dollars payable long after he is out of office.
The Office of DOT Secretary Mark Gottlieb emailed the following comment to Badger Democracy:
"The Department of Transportation participated in a formal mediation process with Talgo just last week in a good faith effort to resolve disputes related to the delivery of completed trainsets. We are disappointed that process was not successful.Talgo has failed to complete or test the trainsets and they do not meet even basic federal standards, such as those required under the Americans with Disabilities Act (ADA).The department will defend against this action and continue to act in the best interests of Wisconsin taxpayers."
The Walker Administration has yet to respond to request for comment.
Help keep independent journalism alive!


text:
Debenhams is leading international, multi-channel brand with a proud British heritage which trades out of 240 stores across 28 countries. Debenhams gives its customers around the world a unique, differentiated and exclusive mix of own brands, international brands and concessions.
In the UK, Debenhams has a top four market share in womenswear and menswear it also has a top 10 share in childrenswear. It leads the market in premium health and beauty.
Debenhams is available online in 70 countries and is the 11th biggest UK online retailer by traffic volume. In 2012 Debenhams was awarded Multichannel Retailer of the Year at the Oracle Retail Week Awards.
Debenhams has been investing in British design for 20 years through its exclusive Designers at Debenhams portfolio of brands. Current designers include Ted Baker, Jeff Banks, Jasper Conran, Erickson Beamon, FrostFrench, Henry Holland, Roksanda Illincic, Betty Jackson, Jonathan Kelsey, Carol Lake, Ben de Lisi, Julien Macdonald, Melissa Odabash, Jane Packer, Jenny Packham, Pearce Fionda, Preen, Janet Reger, John Rocha, Jonathan Saunders, Lisa Stickley, Yukari Sweeney, Ashley Thomas, Eric Van Peterson and Matthew Williamson.
Debenhams supports - View information on some of the charities Debenhams supports.
Social media - Take a look at all the other places you can find Debenhams content online.
Debenhams Competitions - Find out more information on our competitions.
Debenhams Direct - Find out company information about Debenhams Direct.
Company information - Our Company history and policies.
Debenhams awards - View information on the accolades Debenhams has been awarded.
Press Office enquiries - Email: firstname.lastname@example.com or call: 0044 0207 529 0236
If you have a general enquiry or want to place on order over the phone, please call 01890 946 779.
PR images - Download free high resolution PR images from our latest collections.
History of Debenhams - Read about Debenhams' history from 1778 to the present day.


text:
At Nextlevel Information Solutions, we provide business management consulting services for mid-market business that are in various stages of evaluating the need for and potentially buying business software. The end goal of our clients is to economically maximize technology to run a better managed, efficient, and profitable business.
For the purpose of simplicity let's call business management software (accounting software, CRM software, eCommerce and HRMS, and more) ERP software. The power of an ERP software is fully realized when you work with a consulting services firm that has the skills required to understand your current business processes and what you are trying to achieve, coupled with the technical skills to intelligently and economically fill any requirement gaps if necessary. Those skills are Services. NextLevel's Services team listens intently to the specific, individual needs of each organization. They then work diligently with the customer to fine tune the right on-premise or cloud based ERP software solution to meet their functional needs, business goals and IT future vision. Our people's core strength is clearly defining our client's requirements and recommending options that solve business problems that realize verifiable improvement to day-to-day operations while creating a pathway towards achieving short and long-term growth goals.
Buying business management software can be a complicated drawn out process but in the end the Top 5 Criteria used to evaluate the success of any ERP project are: Ease of Use, Functionality & User Adoption, System Integrations, Reporting Self Sufficiency through Powerful & Flexible Excel-based Tools, Meeting Time-line & Budgeting Guidelines.
NextLevel's Services practice with expertise in ERP Planning, ERP Implementations, Customized Solutions, Network Services, and Training is designed to support you in your ERP evaluation efforts: from the initial project idea through the milestones of business goals and project definition, management approval, vendor selection, testing, training and finally a successful Go Live.
Quick Links


text:
Online registration is now available!
You can register online or at our office. Course fees, lab fees and material fees must be paid at the time of registration. Book fees must be paid before class begins. You may also register by mail. Registration forms are included in our printed catalog and a printable form is available here on our website. A check or money order with all costs covered must accompany the form.
We accept registrations by telephone, fax and online for most courses and accept MasterCard, Visa, and Discover.


text:
screenshots/01_preview.jpg screenshots/02_home.jpg screenshots/03_blog.jpg screenshots/04_blog-single.jpg screenshots/05_kitchen-sink.jpg screenshots/06_page-contact.jpg screenshots/07_extras.jpg screenshots/08_page-full.jpg screenshots/09_page-events.jpg screenshots/10_home-red.jpg screenshots/11_home-wide-red.jpg
Campaign HTML & PHP Template
Campaign is a template that's made to help you win in your political race and be the hub of your campaign. It's built with the email capture in mind to stylishly collect names and emails of your constituents with the email list manager of your choice. There's also a donation button in the header to grab the attention of your supporters. Whether Democrat, Republican, or any other type of party, this theme will handle any politician or cause.
- Full HTML and PHP versions of this template are included
- 9 page templates
- 2 body styles, boxed and full width
- 4 color schemes: Blue, Red, Green, and Yellow
- 6 background options
- 2 Content Layouts – Left & Right
- Includes optional disclaimer in footer as required in the USA by the FEC for political committees.
- Styled for events and email capture
- Contact forms styled for you to insert your own code from any list management service
- Donate Button built into header menu
- jQuery slider on the home page, plus jQuery hovers and lightboxes for images.
- Unlimited Child Menus
- Working PHP contact form
- Social Media Icons in footer
- Easy setup with easy to follow instructions.
- Valid XHTML
- 1.2: Removed the Twitter widget
- 1.1: Updated Google+ share code
- 1.0: Initial release


text:
|International Space Station Imagery
high res (1.1 M) low res (96 K)
|ISS016-E-018575 (25 Dec. 2007) --- The Expedition 16 crewmembers pose for a Christmas photo in the Zvezda Service Module of the International Space Station. From the left are cosmonaut Yuri I. Malenchenko, flight engineer representing Russia's Federal Space Agency; NASA astronauts Peggy A. Whitson, commander; and Daniel Tani, flight engineer.
Curator: JSC PAO Web Team | Responsible NASA Official: Amiko Kauderer | Updated: 10/30/2012


text:
You have probably heard of inversion of control containers (or IoC containers as they are refered to) by now. If you have not you should probably lock the door and continue to read this article really slowly to understand all the goodies. This article aims to reveal the secrets, and to introduce you to the new world where injected dependencies will make your applications more mean and lean.
But before we begin we have to understand the problem that IoC containers solves for us. But it all began with dependency injection, or as Mr SOLID says: "Let's invert those dependencies". Look at the following simple example:
public clas Car
Engine _engine = new V5();
public void Start()
public class RaceProgram
public static void Main(string[] args)
Car car = new Car();
Pretty neat, huh. Well. I don't think that Cole Trickle would agree with you. He would want to be able to switch the engine at any time. So he said, "We don't need no stinking V5".
So let's invert that dependency:
public class Car
Engine _engine;
public Car(Engine engine)
_engine = engine;
public void Start()
public class RaceProgram
public static void Main(string[] args)
var engine = new BigBadV10();
Car car = new Car(engine);
There you have it. We have moved the dependency management from the class itself to the calling code. By doing so we promote code reuse since we can now control how the car is built and which parts that it should use. The CEOs in the vehicle industry would hold their heads screaming and crying at the same time if it were that easy for them. So dear fellow programmer: Take advantage of that power.
Now you are probably asking yourself, "Why the shell do I need an IoC container for that? I can just create those dependencies by myself." True. Absolutely correct. I should probably go to bed right now ...
Let's take another example. We have a fairly large application which uses the repository pattern. And we have used a database within our repositories as a data source. Since we use dependency inversion without a container we have the following code:
public class UserRepository
public UserRepository(IDbConnection connection)
public class MessageController : MyAspMvcController
UserRepository _userRepos;
MessageRepository _messageRepos;
public MessageController()
var connection = new SqlClient(ConfigurationManager.ConnectionStrings["SomeString"].ConnectionString);
_userRepos = new UserRepository(connection)
_messageRepos = new UserRepository(connection)
We have to go through every 20 or so controllers to switch implementation. And since we code against classes, and not abstractions as dependency inversion principle says, we have to replace the implementations with new ones too. Thus destroying binary compability (which means that we can't switch the DLL for another one, we have to recompile the entire application).
With an IoC (and dependencies against abstrations) we would instead have written:
public class UserRepository : IUserRepository
public UserRepository(IDbConnection connection)
public class MessageController : MyAspMvcController
IUserRepository _userRepos;
IMessageRepository _messageRepos;
public MessageController(IUserRepository userRepository, IMessageRepository messageRepository)
_userRepos = userRepository;
_messageRepos = messageRepository;
The magic would have been the following two configuration statements (syntax depends on the container implementation):
container.RegisterType<IUserRepository, DbUserRepository>();
container.RegisterType<IMessageRepository, DbMessageRepository>();
which would be replaced with:
container.RegisterType<IUserRepository, UserRepository>();
container.RegisterType<IMessageRepository, MessageRepository>();
See? We have to change two lines instead of 20 or so (i.e. in each place where the dependencies were used previously).
The whole thing gets awesome when we start to really take advantage of IoC containers. Let's say that we have the following dependency chain:
Which gives us the following constructors:
TodoService(IUserRepository, ITodoRepository, IDomainEventDispatcher)
UserRepository(IEntityValidator, ISession)
which in turn means that we have to use the following code in each place that we want to use a TodoService:
var sessionFactory = new SessionFactory();
// config nhibernate bla bla
var session = sessionFactory.OpenSession();
var userRepository = new UserRepository(new EntityValidator(), session);
var todoRepository = new TodoRepository(session);
var dispatcher = new DomainEventDispatcher(Globals.ServiceLocator);
var service = new TodoService(userRepository, todoRepository, dispatcher);
We have to repeat that code bloat in every place where we want to use the TodoService. We could of course use the Abstract factory pattern, the Builder pattern or Singleton pattern. All of those would work for different parts of the problem, but the solutions would be a more complex than just telling the container which classes we have.
With our container we'll just map each class to the service(s) that it implements:
container.RegisterType<IMessageRepository, MessageRepository>();
//google "lambda expresions" if you don't understand the line below
container.RegisterFactory<IDomainEventDispatcher>(container => new DomainEventDispatcher(container));
container.RegisterType<IEntityValidator, EntityValidator>();
container.RegisterType<ITodoService, TodoService>();
// user the service location pattern to get the service
var service = container.Resolve<ITodoService>();
See the difference? We don't have to know which depenencies each class have. We only have to know which classes we have created. That means that we never have to do anything when a class changes it's dependencies (other than adding a new class to the container).
So let's see how we look at dependencies when we are using an IoC container:
We know that the class has dependencies, but we really do not care since the class is created for us. We have gone from having to know all dependencies and how they should be created to only knowing which service we want to use.
There are some terms that you need to know when speaking IoCly with someone, and these are:
The most typical implementation of a scope. (A container which only stores scoped objects and uses the parent container for everything else)
So you have seen that the container can help you assemble/create all your objects for you. You just tell it which service that you want to get and you'll get the proper concrete(s). It's great, isn't it? However, that's just half of what the container can do for you.
You have probably heard of the singleton pattern and that it prevent you from using one of the fundamental principles of object oriented programming: Extension through inheritance. You can of course combine the singleton pattern with the proxy pattern, which would take you a bit further.
With a container you do not have that limitation. The container do not just handle the dependencies, or do also control the lifetime of each object. It does that since it holds a reference to each created object and only removes that reference (and disposes all classes which implement IDisposable) upon certain conditions.
The typical usage of a container is that you generate it when your application starts and dispose it when your application ends. That enables you to be able to provide to kind of lifetimes for all of your objects: Singletons and transient.
That's quite interesting, since you do not have to do anything special in your classes to make them singletons (other than making sure that they are thread-safe and/or manage their state fields correctly). In other words: Extension through inheritance is still possible. You just create a new concrete and register the new implementation instead.
We introduced a new thing in the previous section. And that was a class with a limited lifetime. The nhibernate session (could have been an ADO.NET connection, a TCP connection or something similar). Those classes stop working when the connection is lost, and continue to fail on all following calls.
We also have classes which are not thread safe.
The obvious approach to those two problems is to handle them internally in the classes. That will unfortunally increase the complexity in those classes. And with complexity comes bugs.
There is, however, another solution: Scoped objects.
Inversion of control containers can create scopes, which really means that the objects have a limited lifetime and are stored in a thread specific storage (which makes the objects thread safe). A typical scope is the one of a HTTP Request/Response cycle.
So let's start playing with a container then. I've been around the world and back. I've sailed the seven seas. All of that just to be able to give you the perfect IoC container. Believe it or not, I FOUND IT! It's called Griffin.Container and is made by me .
I showed you in the previous section the traditional approach used to register classes in a container. That is to use RegisterType and similar methods. But that's inefficient and time consuming. I've created an alternative and more conventional way of registering types.
What you do is decorate each class which should be registered in the container with an attribute named [Component].
[Component] //<-- lookie lookie
public class UserRepository : IUserRepository
Do that for all classes in all assemblies that you have your implementations in. Then use a single line to register all those classes.
var registrar = new ContainerRegistrar();
registrar.RegisterComponents(Lifetime.Scoped, Environment.CurrentDirectory, "MyApp.*.dll");
var container = registrar.Build();
The first parameter to RegisterComponents tells the container that all classes which uses just [Component] (without a lifetime specified) should be registered as scoped components.
The main project (application entry point) doesn't even have to have references to those DLL's. They will be loaded into your application by the container. An application can't get more loosely coupled than that.
That's a powerful approach since it allows you to build a plugin system without effort. Simply create a new class library where you place all your extension points (interfaces). Then reference that class library from each plugin and implement some/all extension points. I've described that approach (using ASP.NET MVC3) in detail in my blog.
You can also specify the lifetime of an object by using a property for the attribute:
[Component(Lifetime = Lifetime.Singleton)]
public class UserRepository : IUserRepository
The [Component] attribute should work in 99% of the cases (for your code). I strongly discourage you from specifying which services a class implement. If you have to specify the services, it's likely that you are breaking one of the SOLID principles. I suggest that you try to refactor your class (break it into smaller classes) and register each class with the [Component] attribute.
Sometimes it's impossible to use the [Component] attribute. For instance when you want to inject external dependencies in the container. For that you can either use the container directly to register the dependencies. But a much better solution is to let each module/section/namespace of your code manage it's own dependencies. It's quite easy. Simply create a new class and let it implement the interface IContainerModule like this:
public class UserDependencyRegistrations : IContainerModule
public void Register(IContainerRegistrar registrar)
registrar.AddService<ISession>(container => container.Resolve<ISessionFactory>().OpenSession());
Then you have to load the modules from your application root (like Program.cs):
public class Program
public static Main(string[] args)
var registrar = new ContainerRegistrar();
registrar.RegisterModules(Environment.CurrentDirectory, "MyApp.*.dll");
var container = registrar.Build();
// rest of your code here.
You have now loaded all services which have been defined in modules which exists in any of the matching DLLs in the current directory.
You might wonder how you use the container later on in your application. There are nuget packages available for WCF, ASP.NET MVC3 which takes care of the integration for you. For other application types you need to manually create scopes and invoke the root classes (which in turn get their dependencies injected).
Griffin.Container contains another feature which aids you greatly in keeping the coupling low between classes. And that's domain events.
Domain events are a weak events, which means that the subscriber cannot prevent the publisher from being garbage collected. Here is a great cartoon illustrating the problem with the .NET event model:
(click on the image for a larger one)
A sample event would look like this:
public class UserCreated
User _user;
public UserCreated(User user)
_user = user;
public User User { get { return _user; } }
Which is generated by our UserService:
public class UserService : IUserService
IUserRepository _repos;
public UserService(IUserRepository repos)
_repos = repos;
public void Register(string username, string password, string email)
var user = _repos.Create(username, password);
user.Email = email;
DomainEvent.Publish(new UserCreated(user));
The event is caught by two different handlers.
public class UserWelcomeEmailSender : ISubscriberOf<UserCreated>
ITemplateGenerator _templateGenerator
public UserWelcomeEmailSender(ITemplateGenerator templateGenerator)
_templateGenerator = templateGenerator;
public void Handle(UserCreated e)
var emailBody = _templateGenerator.Generate("UserCreatedTemplate", e.UserName);
var msg = new MailMessage("email@example.com", e.Email);
// It's possible to configure the SmtpClient in app.Config
// which means that we can just created it and send the email.
var client = new SmtpClient();
public class NotifyAdminsOfNewUser : ISubscriberOf<UserCreated>
ITemplateGenerator _templateGenerator
public NotifyAdminsOfNewUser(ITemplateGenerator templateGenerator)
_templateGenerator = templateGenerator;
public void Handle(UserCreated e)
var emailBody = _templateGenerator.Generate("ValidateNewUser", e.UserName);
var msg = new MailMessage("email@example.com", e.Email);
var client = new SmtpClient();
See? The UserService have no knowledge of the subscribers or what they does. Nor do the subscribers know or care where the event came from. That means that you can switch UserService for something else or add another subscriber without affecting the other parts.
Let's just look at the constructors of each class:
public UserCreated(User user)
public UserService(IUserRepository repos)
public UserWelcomeEmailSender(ITemplateGenerator templateGenerator)
public NotifyAdminsOfNewUser(ITemplateGenerator templateGenerator)
Can you tell what the classes are responsible of by just looking at the constructors? Of course. Small classes are a lot easier to understand and follow. Having full understanding of what a class does make it less likely that you introduce a bug when you fix/improve it.
This is very important. The container takes care of all dependency management and object creation for you, which means that it doesn't matter how many classes you create or how small they are. Hence the container promotes you to create small reusable classes which follows the SOLID principles (since you without effort can add them to the container).
There are some practices which I'm using. Note that they are my very own subjective practices. They are based on my on experience (I've been using containers for about four years).
The container itself is a Service Locator. Which means that you can use service location, instead of constructors to find the services that you depend on. Something like this:
public class UserService
public void Register(string userName)
var repository = Container.Instance.Resolve<IUserRepository>();
repository.Create(new User(userName));
That's naughty. You can't tell that the Register method has a dependency without looking at the method code (or by invoking the method).
That becomes a maintenance nightmare when applications grow since the dependencies are hidden. You either have to inspect every method or invoke every execution path in every method to be sure that you have discovered and configured all dependencies correctly.
Simply put: Don't use service location if you can avoid it.
That's part of the D principle in SOLID (as in Dependency Inversion). Depending on interfaces (abstractions) instead of concretes (classes) makes it easier to refactor your code. You can for instance create a facade for the interface if you've decided to split the concrete into smaller classes (and break down the original interface into smaller interfaces). You would still have binary compability (and therefore only having to recompile and update the class library assembly).
There is nothing that says that there are a 1-1 mapping between a class and the interface that it implements. In fact, it's much better that you try to break down a class into smaller interfaces.
It will make code maintenance and refactoring a lot easier in the future.
Complexity is tied to the lifetime. Long living objects have to care about thread safety and state management.
Let's take database transactions as an example. When having scoped objects you can simply register a Unit Of Work implementation as scoped. The UoW will automatically be used by all scoped objects (and therefore chare the transaction). The transaction will rolledback if SaveChanges() has not been called when the scope is disposed (and therefore the Unit Of Work). You can't do that with singletons since they live as long as the application.
Hence you need to use code like this:
public class UserService : IUserService
public void Add()
var (var uow = UnitOfWork.GetOrCreate())
// do stuff.
Instead of:
public class UserService : IUserService
public UserService(IUnitOfWork uow)
public void Add()
// do stuff.
Mixing lifetimes can lead to undesired effects if you are not careful. Especially when projects have begun to grow and getting more complex dependency graphs.
// EF4 context, scoped lifetime
class Dbcontext : IDbContext
// short lifetime, takes db context as a dependency
class Service1 : IService1
// Single instance, keeps a cache etc.
class Service2 : IService2
Service2 takes service1 as a dependency which in turn requires a dbcontext. Let's say that the dbcontext has an idle timeout which closes the connection after a while. That would make service1 fail and also service2 which depends on it.
Simply be careful when using different lifetimes.
Try to avoid using primitives as constructor parameters (for instance a string). It's better to take in object since it makes extension (subclassing) easier.
Hey, I need my primitives you say. Take this example:
public class MyRepository
public MyRepository(string connectionString)
Well. You're class breaks SRP. It acts as a connection factory and a repository. Break the factory part out:
public class MyRepository
public MyRepository(IConnectionFactory factory)
The factory itself can be registered as an instance in the container:
container.RegisterInstance<IConnectionFactory>(new AppConfigConnectionFactory("MyConStr")
Some containers allow you to register services with names, so that you can get a specific implementation from the container.
container.Register<IDataSource, DataSource>("CustomerDb", new ConstructorParameter("theConString"))
Don't do that. Named dependencies suggest that you want to use a factory. Using factories makes the intent more clear and it's easier to tell that a specific implementation is required.
Using a factory:
public class AccountantRepository : IAccountantRepository
IDbConnection _connection;
public class AccountantRepository(IConnectionFactory factory)
_connection = factory.Create("EconomicsDb");
Using named dependency:
public class AccountantRepository : IAccountantRepository
IDbConnection _connection;
public class AccountantRepository(IDbConnection economicsDb)
_connection = economicsDb;
The change might look trivial. But the change is for two reasons:
A fat constructor take several dependencies in it. It most often indicate a violation of Single Responsibility Principle. Refactor the class into smaller ones. Use domain events if you have to take actions when different things happen (as in the email example above).
I try to use a maximum of three parameters in my constructors.
I hope that I've at least made you understand a bit more about containers and why you should use them.
I could go on and on about code quality and why an inversion of control container aids you in increasing the quality. But I don't know if you would appreciate that. That's why I'm going to stop right here.
This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)
registrar.RegisterComponents(Lifetime.Scoped, Environment.CurrentDirectory, "App.Core.*.dll")
registrar.RegisterComponents(Lifetime.Scoped, Environment.CurrentDirectory, ConfigurationManager.AppSettings["DbDriverDll"])
<add key="DbDriverDll" value="App.Db.Oracle.dll" />
General News Suggestion Question Bug Answer Joke Praise Rant Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.


text:
Chinese Port's Missing-Metals Mystery Deepens
Citic Resources Can't Locate Alumina at Qingdao, Amid Probe Into Commodities-Backed Loans
BEIJING—The state-owned Citic Resources Holdings Ltd. said about half of the alumina stockpiles it had stored at China's Qingdao port couldn't be located, heightening concerns over the use of commodities for financing in the country.
Citic Resources, a mining and trading company, said this month that it had applied to a court in Qingdao, a port on China's eastern coast, for help in securing metals it owns in warehouses. Citic Resources' parent is Citic Group, one of China's largest state-owned companies and a big financial...


text:
2004 :: NPS DH Round 2, Moelfre ...
Moelfre was a fast, dusty course with a claimed average speed of around 30mph. Fast racing and high speed corners made it an awesome day - but hard to snap! Here are the pics of the Elite men that I caught after my run. Full race report here.
You are viewing the thumbnail index - click a pic to enlarge.
All images in this gallery are © [ gravity-slaves ] and may not be reproduced without permission.


text:
Decorative lighting and you
By taking extra precautions, abiding by safety rules and practicing energy efficiency, families can save money and help prevent accidents when placing decorative Christmas lighting inside and outside their homes this holiday season.
Many holiday mishaps, electrical shocks and dangerous fires can often be prevented by following the dos and don'ts to keep the holidays happy and safe.
*Do check for cracked or loose sockets and connections, exposed wires, and frayed, broken or scorched insulation before plugging in any lights - old or new. Then put the lights on a nonflammable surface and plug them in for 15 minutes to check for melting, smoking or overheating. Throw away any strings showing flaws.
*Do make sure your lights are safety certified. Look for a label that says "UL Listed."
*Do protect small children and pets by using plastic safety covers on all unused outlets and keeping cords out of sight or reach. A cord as short as 12 inches can strangle a child.
*Do water your real Christmas tree every day and keep light strings from coming into direct contact with branches. If you have an artificial tree, make sure it's fire retardant.
*Do make sure the lights and extension cords you use outside are certified for outdoor use and are plugged into a ground fault circuit interrupter outlet.
*Do keep decorations and ladders away from overhead electrical lights and power lines.
*Do follow the manufacturer's guidelines on how many strings of lights can be safely connected together.
*Don't leave lights on while you're sleeping or away from home. If you tend to forget, use a timer.
*Don't plug in more than three strings into an extension cord.
*Don't use metal staples or nails as fasteners for lights. This can damage the protective insulation covering the wires.
*Don't leave extension cords out in the open and/or at levels where small children or pets can come in contact with or chew them.
*Don't run extension cords across sidewalks or driveways.
From our place to yours, please follow these dos and don'ts to ensure you have the merriest Christmas and the happiest holidays.


text:
CaringBridge provides free websites that connect people experiencing a significant health challenge to family and friends, making each health journey easier. CaringBridge is powered by generous donors.
CaringBridge websites offer a personal and private space to communicate and show support, saving time and emotional energy when health matters most. The websites are easy to create and use. Authors add health updates and photos to share their story while visitors leave messages of love, hope and compassion in the guestbook.
To learn more, explore the CaringBridge website.