text:
UI Best Practices v3.x
- 1 Eclipse UI Best Practices v3.x Updates
- 1.1 Notice
- 1.2 Top Ten
- 1.3 General UI Guidelines
- 1.4 Component Development
- 1.5 UI Graphics
- 1.6 Resources
- 1.7 Guidelines
Eclipse UI Best Practices v3.x Updates
If you are looking for the Eclipse v2.1 UI guidelines, click here to return to Eclipse 2.1 UI Guidelines
This document provides DRAFTS of ongoing updates to the Eclipse v3.x UI Best Practices. We have decided to use a new format to document UI design guidelines for Eclipse v3.x. It's designed to help practitioners apply the UI design quicker and easier.
Your feedback can influence the ideas and best practices described here. If you have suggestions, please provide us with your feedback on the UI mailing list or on the discussion page.
Top Ten
This is a starter set of top ten Eclipse UI Guidelines and Violations. The purpose of these lists is to be a starting point for Eclipse UI designers and developers, providing the most important practices to follow and to avoid, respectively.
To see all considerations to-date go to the Top Ten Lists Working Page.
Top Ten Eclipse UI Guidelines
- Use the Eclipse look and feel if extending or plugging into Eclipse
- Use common SWT controls to get what SWT offers for cross-platform adaptability and accessibility
- Be familiar with APIs for the UIs you are building
- Use icons and graphics consistent with the Eclipse style, decorations, states, and quality
- Understand the conventions of the OSs you are developing for
- Use understandable messages to help people recover from error conditions
- Don't initiate dialogs or wizards in an error state
- Use quick fix and quick assist mechanisms
- Reserve time for "polish"
Top Ten Eclipse UI Violations
- Low quality graphics or not consistent with the Eclipse style
- Poorly organized or sized dialogs and wizards
- Useless dialogs
- Cryptic error messages
- Messages with concatenated strings
- Property pages that don't adhere to platform uses (normal and tabbed)
- Assuming more importance than other contributions (see John/Mik comments below)
General UI Guidelines
Common Error Messages
Use the common structure of error messages to help users diagnose and recover from errors. This will increase user's self-sufficiency and reduce support costs for Eclipse-based products.
Problem Description
Across Eclipse-based products, error messages are displayed inconsistently. This inconsistency makes it difficult for users to understand error conditions, and to diagnose and recover from problems.
Best Practice
Eclipse-based products should help users to diagnose the underlying problem when one of our error messages is displayed. We need to consolidate, transform or coordinate errors bubbled up through various sub-systems or dependent components. For example, users would currently see a (cryptic) SQL error message when they have provided an incorrect userid or password for a SQL query. In this case, users would have no idea how to fix this problem or where to look for possible solutions. In the ideal scenario, if our tools coordinate or transform the error code returned from DB2, and inform users that there's a problem with the supplied userid or password, we would provide a good experience for our users. We should generally leverage the symptom database for diagnoses and error recovery. One possible approach for the error message transformation or coordination is this: leverage the common error message logging facility. That is, use CBE infrastructure in code to log all error or warning conditions.
[ TODO: need more detailed info on the Eclipse v3.3 error message infrastructure...TBD ]
Apply the four components of the format for common error messages, to make these messages easily understood by users and to ensure consistency. Each error message should include the following four main components:
• message ID
• message text
• explanation
• action
The message ID provides a quick means to distinguish one message from another. The message text briefly describes the problem. The explanation includes the reason that the message was generated and the condition that caused the message. The action suggests ways to resolve the problem. Error messages are intended for end users; with this in mind, we should transform programmatic error text into user-comprehensible description in most cases.
For error messages shown in the user interface (UI), do not show the message's ID, but make it accessible. UI error messages are intended for end users, not developers. Therefore we should not intimidate end users with a (cryptic) message ID that add no immediate value to their understanding of the error condition. However, we should make the unique message ID accessible in the detailed explanation of the message, so that users can search on the Web using the message ID, or submit the ID to IBM's support team for further assistance.
Log each error message shown in the UI to a log file also. Error or warning messages shown to end users in the UI should also be logged in a file, so that these messages can be traced at a later time for diagnosis and recovery. The CBE infrastructure provides a logging facility for this purpose.
For error messages shown in the Console view or logged in files, show the message ID as the first item and make it a hyperlink to additional information. Error messages displayed in the Console view should continue to show the message ID as the first item, but it should be a hyperlink to additional information, so that users can diagnose a problem quickly.
For error messages shown in the Problems view, exploit the QuickFix feature to offer solutions to users. Since limited space is available in the Problems view, for errors or warnings shown in that view, we should exploit the QuickFix feature to offer solutions to users where possible.
Tips and Tricks
• When it is not feasible to consolidate, transform or coordinate every error bubbled up through the various sub-systems or dependent components, focus work effort on the errors frequently encountered in typical user scenarios.
• Obtain a list of top PMRs from our support team, and address those errors as a first priority.
• Leverage the symptom database, information developers and user experience designers to transform error text into meaningful and understandable descriptions for users.
• Use contextual information in the Eclipse IDE workbench, such as currently enabled capabilities, or current user role or persona (e.g. Java developer), to scope the error text.
Good Examples
Sample Error Messages in Our Products
Here are some sample error messages from IBM's products, to illustrate the inconsistency among messages and the user's challenge in understanding error conditions.
Here are the good examples
[ TBD - screen captures ]
Related Information
Component Development
Properties View
For consistency and clarity in Properties, use the standard tabbed view with proper tab ordering, flexible layout, detailed user assistance, accurate multi-selection, and no sub-tabs.
Problem Description
Across many Eclipse-based products, the Properties view is being used and presented inconsistently. This inconsistency is problematic for users who use more than one of these products. Moreover, poor choices for layout, controls, and labeling can significantly reduce the effectiveness and efficiency of a Properties view.
Best Practice
Use the standard tabbed view for product consistency. (Figure 1 below shows an example.) Both tabs and a table of Properties should be supported – the tabs for novices, the table for experts. Ideally, the tabs and table will be toggled via toolbar control, for quick transitions. If there is no toggle and the table will be presented on the last tab instead, the best name for this tab is "All". This is a descriptive and accurate name, and the tabular presentation will help to keep problematic items out of the hands of novices.
Tabs should be labeled in order: General, . . . , All. Every Properties view should feature a General tab, which contains the most frequently used properties. This will speed up new users as they get oriented. The last tab should be named All and contain a table view, if one is supported. The middle tabs? They should follow relevant concepts in other products, where possible, using similar names and organization. Otherwise, there are no specific recommendations for middle tabs.
Avoid using sub-tabs when possible. There are several reasons for this recommendation. First, sub-tabs are not easily discoverable by users, since the sub-tabs usually aren't visible unless a top-level tab is selected. Second, sub-tabs take longer to navigate to, even when a user is familiar with them. Finally, sub-tabs add a level of complexity that in most cases can be designed around, especially through the use of an "All" tab.
A Properties view must be accessible via a context menu for an object or editor. Allow users to detach or Fastview this view to support an open editor. Such support is needed to let users see a large diagram editor and properties at the same time. Detached views (via the view context menu) are supported in Eclipse 3.1 and beyond and can easily work for Properties. Such views have the advantage of persisting across opening and closing, but they have the disadvantage of always being on top (obscuring the editor). Another good option is to make a Fast View of Properties, so that it can be displayed on top as needed.
Tab layout should gracefully adapt to view orientation (horizontal or vertical). Depending on the other tools that a user works with, screen real estate may require opening a Properties view in either orientation. As needed, tab content should be laid out dynamically for re-orientation. It is reasonable to design a Properties view for a predominant orientation, depending on use case, but the less common orientation should be addressed as well.
Dynamic Help and tooltips can clarify fields and data. (Dynamic Help was introduced in Eclipse 3.1.) Simple properties can initially be confusing for novice users, and complex properties can occasionally be confusing even for expert users. Accordingly, use Dynamic Help when possible. Field-level Dynamic Help is desirable; otherwise, a backup approach is to provide hover help (tooltips).
Tips and Tricks
When multiple objects are selected in the editor, follow these guidelines.
• Display only those properties that are meaningful to the collection of objects. Any setting changes are applied to all the underlying objects
• Display the common properties of all the selected objects. Where the property values differ, display the controls associated with those values using a mixed state.
• If the selected object is a collection of multiple discrete objects (e.g., a file folder), display the properties of the single grouped object, instead of a multiple-object property sheet for the discrete objects.
Good Examples
Figure 1: A tabbed view with recommended control layout.
Related Information
Limit Context Menus
Remove extra items from context menus on objects in editors and views.
Problem Description
A context menu provides a quick and convenient way to give a user access to a great deal of functionality. Unfortunately, it is tempting to add too much functionality to an object's context menu. The resulting menus can become overly long and complicated, which slows down the efficiency of a user's work with the product. Moreover, it is possible to create the same context menu for all objects, regardless of type, within an editor or view. Such uniformity deprives a user of subtle feedback about which type of object they are currently working with. Contextual feedback is needed for a user to have a clear sense of the functionality of each object type.
Best Practice
There are at least three ways to trim an object's context menu, so that it will be quick to scan and well targeted at the object.
First, remove menu items that don't apply to the object at all. This may sound obvious, but in a complicated product environment, it is easy for unrelated items to creep into a context menu. Of course, a menu item that doesn't apply could be grayed out. But if it never applies, it's better to remove the item entirely. For example, it would be confusing to have a "Run as" item on the context menu of a C++ header (.h) file in a navigator-style view, since run operations really apply to code instead.
Second, remove items that apply only to the view or editor as a whole. While a user may find it convenient to access these items from an object, it is better to have a "lean and mean" context menu instead – one that is uncluttered and focuses attention on the object at hand. Access to actions related to the view or editor as a whole are better handled by right clicking on the white space outside any object (or by clicking on the view menu). The user will get a better sense of the view or editor as a whole, without any confusion about what menu item lives where. For example, view preferences should not be on the context menu for an object in that view, but rather on the context menu outside any object (or in the view menu).
Finally, remove items from an object's context menu that apply to other, nearby objects, but not to the specific one in question. The resulting menus will make more sense to the user, as the actions logically appropriate to the object will be there, but not actions logically appropriate to some other type of object. For example, it would be confusing to have a "Close Project" item on the context menu of a Java method shown in an explorer view, since import operations apply at the project level instead.
Tips and Tricks
Sometimes there is value in adding a view-specific item to an object's context menu, if the action of the menu item can be customized in some way for the object. For example, a generic "New" menu item might open up a new editor pre-populated with item(s) related to the selected object. Be sure to keep the item order on a context menu as similar as possible for different types of object. This similarity will maximize consistency for the user.
In cases where it is not possible to reduce the number of items on a large context significantly, consider using submenus to refactor some top-level items to the second level.
Good Examples
Figure 1: a context-dependent menu tailored for a package in the Outline View.
Figure 2: a context menu tailored for a class in the Outline View.
Figure 3: a context-independent menu for the Outline View.
Related Information
This issue is addressed in the Eclipse UI Guidelines 2.1, in the section titled "Component Development - Editors" (Guidelines 6.11-6.13).
UI Graphics
The following guide covers user interface (UI) graphics for Eclipse 3.x-based tools. All visual user interface elements created for Eclipse-based tools follow a common style called the Eclipse visual style or Eclipse style. Any product, tool, or plug-in based on the Eclipse Workbench Version 3.0 and above should follow these guidelines to help ensure consistency of visual user interface elements. Consistency includes visual style, meaning, and implementation conventions.
- Design provides guidance and tools for creating Eclipse style icons and wizard graphics.
- Specifications provides detailed information on color palette, graphic types, size and placement of the graphics in their alotted real estate, and positioning of the icon and wizard graphics in the user interface.
- Implementation provides automated cutting actions, conventions for file and folder naming and structure, and code snippets for implementing icon states on the toolbar and local toolbar and for placing overlays on model objects.
- Audience
- These guidelines are for anyone creating Eclipse style user interface graphics or seeking best practices for their use. This is not a how-to guide, but you will find instructions for some tasks and a number of resources to assist in making the graphics. If you are a designer, you will be interested in the Design, Specifications, and Implementation sections. If you are a Developer, the Specifications and Implementations sections will be of most value to you.
This section provides guidance and tools for creating Eclipse style icons and wizard graphics.
- Style & Design covers style characteristics and gives guidance for designing effective Eclipse user interface graphics including topics such as metaphor, composition, lighting, color and more.
- Consistency & Reuse encourages consistency and reuse of existing graphical elements, and shows the core icon and wizard concepts currently in the tools.
- Common Elements provides a library of graphical elements that have already been developed for Eclipse-based tools. This extensive selection of common elements provides not only a base for creating new icons and wizard graphics, but for reusing existing ones as they are. Used in conjunction with the core concepts shown in the Consistency & Reuse section, this library will enable efficient creation of graphical elements and promote consistency throughout the user interface.
- States describes the use of enabled and disabled icons in the user interface. It also provides instructions and an automated action set for creating the disabled state of your enabled color icons, a useful tool when producing a large volume of icons.
- Templates provides design files for producing different types of user interface graphics. A description of the templates and guidance on how to work with them is provided to help you get started quickly and working effectively.
This section details technical information you will need to design and prepare your Eclipse-style graphics for implementation.
- File Formats lists and describes the graphic file formats used for the different graphic types.
- Graphic Types describes the different types of graphics that are used in Eclipse-based tools, and where they are located within the user interface.
- Icon Size & Placement shows the final cut size of each of the different types of icons, as well as what the placement and drawing area is within the allotted space.
This section provides automated cutting actions, and conventions for file and folder naming and structure.
- Cutting Actions describes the macros for cutting icons, icon overlays, and wizard banner graphics to get them ready for implementation.
- Naming Conventions describes the Eclipse standard for file naming and guidelines for using suffixes that will help others quickly identify the graphic type or function.
- Folder Structure provides the Eclipse standard for folder names and structure for storing and implementing graphics within your plugin.
<This will be a list of links for all resources in the guidelines document>
<Add link to browsable icon inventory once ready>
<Numbered guidelines to go here>


text:
Berndt is looking after Alexandra, the girl next door but when she goes out she does not come home at eleven as she had promised but at three in the morning, reeking of beer. Berndt wants to ground her for a couple of weeks but the girl has other ideas...
Watch the whole story!
Old farts luring teens into sex!
Horny old men on the hunt for some nasty teenage pussy!
Watch the full set!
Cute teen girls who're tricked into sex with horny old seniors!
18 U.S.C. Section 2257 Compliance Notice - http://www.imco.nl/2257/

subset: commoncrawl


text:
N13000187app Anderton
Cross Referenced Part Numbers
Matches our part number
(Click item to order)
Description: Housing Bore (Db: 47.63. Groove Dia. (Dg): 50.52. Clip Thickness (T): 1.57.
Group: Circlips - Internal - Standard - Carbon Steel
Stock: Backorder
Category Matches
Games Amusement
Games - Ipad
Also see combined categories:
All Games and Gadgets
Games for the I-Pad with free App included
Includes prestige wooden puzzles and Wasgij.
If the product ranges shown on this site are a bit overwhelming you might find a smaller condensed range on the Hobby and Engineering website. See if Hobby & Engineering have smaller hobby ranges of Games - Ipad.
Bearings for Dental Equipment
Bearings - Dental Applications
See Dental Handpiece Bearings and Orings for applications by model.
This listing is the basic features of various bearings for dental applications. Please contact us for a dental application list. See - Dental Handpiece Bearings and Orings for applications by model.
Other Store Pages
Click Page Banner BelowTop
Main Pages
Click Page Banner BelowTop


text:
Jane E. Kindig, 91, formerly of Deedsville, passed away Feb. 24, 7:54 a.m., at Clare Bridge of Troy Healthcare Center in Troy, Mich.
Born August 16, 1921 in Richland Township, Miami County, she was the daughter of Robert and Alice Davis Weishaar. On Aug. 9, 1940 in Chili, she was married to Robert N. Kindig; he preceded in death on Nov. 18, 1996.
She was a graduate of Chili High School and a longtime active member of the Deedsville United Methodist Church.
Survivors include one son, Bob Kindig and his wife Karen, Rochester Hills, Mich.; three granddaughters, Barb Winters, Beth Meinen, and Kellie King; and ten great-grandchildren.
She was preceded in death by her twin sister, Jean Harvey; sister, Blanche Blaising; and brother, Charles Weishaar.
Funeral services were held Feb. 28 at the Deedsville United Methodist Church with Pastor Bill Babb officiating.
Memorial contributions may be made to Deedsville United Methodist Church. The online guestbook can be signed at www.mcclainfh.com.


text:
If you wish to order by mail, you may download and print our PDF format order form and pay by check to this address. You may also phone us at 701-223-6167 and pay by credit card. Or, if you wish to shop electronically, you may make payment through PayPal. You need not have a PayPal account to pay through PayPal as they accept major credit cards. You may also use PayPal to make funds transfers to GRHS or purchase or renew your membership without the annoyance of currency conversions.
If you are not a GRHS member, please shop the Public Store. All items in our store are available at the regular price. GRHS members will obtain discount prices in the Member Discount Store.
The PayPal shopping cart works using a "cookie" and it will not work properly if you block cookies. If you have a problem where items are "forgotten" from your cart check your browser or any other software on your computer which may be blocking cookies.
Using PayPal to purchase or renew your GRHS membership : If you are purchasing a NEW membership, please Mail, Email or FAX (701.223.4421) an application to GRHS so that we will know your address. The application form is available for download in PDF format.
Files in PDF format on this page require the free Adobe Acrobat Reader to be viewed. (Available at this link)
|GRHS Home Page


text:
Bamburgh School
Bamburgh School
Raising Achievement to Inspire Independence
Engineer Leaders Awards
Bamburgh Strikes Gold Again
Amazing Sporting Achievement
Medal Success in Regional Disability Athletics
Healthy School Status
Charity Swim
Competition success for 7CB
Kidsafe Registered
World Down Syndrome Day in Juniper Class 2018
Year 10 Tennis Success
Curriculum Lead Staff
Teaching & Learning Communities
Teaching and Learning Communities In Bamburgh
Group 1 Strategies
Group 2 Strategies
Group 3 Strategies
Group 4 Strategies
Group 5 Strategies
Group 6 Strategies
And The Winners Are….
Key Stage 1 Reading and Phonics
Birch Class
Hawthorn Class
Tulip Class
Willow Class
Hazel Class
Sycamore Class
Holly Class
Mulberry Class
Honeysuckle Class
Key Stage 3 (Year 7 – 9)
Key Stage 4 (Years 10 & 11)
P.E. in Bamburgh
Primary PE
Primary P.E. Long term Plan
Change 4 Life
Change 4 Life Training
Change 4 Life Training Session 2
Change 4 Life Club Week 1
Change 4 Life Club Week 2
Change 4 Life Club Week 3
Primary PE Gallery
Key Stage 2 Athletics
Early Years Festival
Primary Change 4 Life Champions
Athletics at Temple Park
Key Stage 1 Multi-skills
Gymnastics Festival
Tennis Festival
Key Stage 1 Athletics
Key Stage 1 Mini Tennis
The Multi-Skills Festival
Disability Sports Hall Athletics
Festivals and Competitions
Tennis Festival
Secondary P.E.
Secondary PE Plan
Developing Girls' Football
Secondary PE Gallery
Year 7 Girls' Football & Newcastle Football Foundation
Year 10 Athletics – Summer 2018
Table Cricket Festival
Basketball Success
Boccia Competition
Durham Cricket Festival July 2017
Students Compete in Athletics Regional Final
Year 9 Badminton Festival
Step into Sport Conference
Table Cricket
Foundation of Light Self Esteem Programme
Sport across school
Year 8 Triathlon
Newcastle Eagles Visit
Cross Country Competiton
Sports Clubs
School Information
Values and Ethos
Contact us
School Calendar
School Holidays
Operation Encompass
Performance Information
Exam Results 2017
DfE Performance Tables
Ofsted Report
Early Years
End of Key Stage 1
End of Key Stage 2
Pupil Premium
Year 7 Catch-up Premium
Sports Premium
Sports Premium 2018/19
Sports Premium 2017-2018
Parent View
Destinations for Leavers 2017
Job Vacancies
Our Staff
Governing Body
Governing Body Structure
Committee Membership
Register of Interests
School Governors – Pen Portraits
Forest School
Hydro Pool
Important Changes – Home to School Transport
Letters to Parents
Parent Hub Communication
School Meals
Donation to Hebburn Helps
Harvest Festival Donation
Raising Money for Pudsey
Supporting Happy Days
Our Friends at Sea View Primary
Family Learning
Beach School
Foundation of Light
South Shields FC Visit
Sports For Champions
Birch Christmas 2018 Trip
Kirkley Hall Visit
World Mental Health Day
Year 7 & 8 Rounders Tournament
Willow at The Word
Sea, Snow and Ice Cream
Civic Carol Concert 2017
Silent Disco
Home Cooking
Visit to The Word
Special Olympics
Listening Ear with Miss Lascelles
Secondary P.E.


text:
Beyonce co-directed and co-produced "Life is but a Dream" (8 p.m. Feb. 16, HBO; 2 stars out of 4), supposedly an intimate look at her life and work. But the HBO special comes off more as another managed attempt to forge the legend of Queen B.
Sure, old home videos show that Beyonce always has been a star, but instead of sharing some honest feelings with us, she sticks to hokey platitudes like, "My feelings get hurt like anyone else."
We do see how she's able to work it on stage; her work ethic is killer. And she's a powerhouse entertainer, to be sure. We see a recording sequence where she gets upset at herself and curses, "Oh shit!," and then busts out with laughter.
That's the Beyonce I wanted to see more of in this special. Aside from that candid, refreshing moment, I don't think I know Beyonce any better.
She mentions her miscarriage and talks about her love for husband Jay-Z and daughter Blue Ivy. She admits her drive and professionalism come from her father and reveals the relationship with Matthew Knowles suffered as a result of the decision to break from his management in 2011.
Still, she should quit while she's ahead. Part of that sequence is as overdone as an Oprah interview (which, by the way, will air on "Oprah's Next Chapter" at 7 p.m. Feb. 16 on OWN--Beyonce all the time!)
"I'm so fragile at this point," she says as she talks of her father. "I feel like my soul has been tarnished."
Oy Bey. Put a gag in it.
Want more? Discuss this article and others on Show Patrol's Facebook page.


text:
Girlfriend Getaway Package
Looking for the perfect setting for your Bachelorette Bash or just wanting to round up your besties for an unforgettable trip? Our Girlfriend Getaway Package has got you covered! Let the Big Easy be your playground and the Bourbon Orleans will handle the rest.
- 2 night accommodations
- VIP Airport Transfer to Hotel
- Champagne and chocolates upon arrival
- Bourbon Orleans Signature Robes
- 4 Souvenir Beads
- Breakfast coupons for 4 for Beignets at Café Du Monde
- Hurricanes at Pat O'Brien's for 4
- Complimentary in-room Movie Rental
- $50.00 Food & Beverage Credit


text:
Find hotels in Halethorpe using the list and search tools below. Search for cheap and discounted hotel and motel rates in or near Halethorpe, MD for your business or personal leisure travel. Explore the most favored Halethorpe, Maryland motel and hotel rooms. Browse the Halethorpe area hotels to find the perfect lodging! Please use the provided map of the Halethorpe hotels.
The Halethorpe center is about 1 mile southwest of Maryland General Hospital and 3 miles west of Horseshoe Casino.
How should we direct your call?


text:
More consumers than ever are seeking quick cash from peer-to-peer (P2P) lending sites, the online clearinghouses where people are matched with investors and receive money to pay off debts, start businesses or fund home improvements.
Continue Reading Below
The two major P2P sites -- Prosper and Lending Club -- are poised to have their biggest year ever. In the first four months of 2013, Lending Club made more than $480 million in loans to more than 31,000 people -- roughly triple its numbers from the same period in 2012. Prosper made more than $50 million in loans in the same period, up about 20% compared with last year.
The loans -- which people use for a variety of purposes, ranging from debt consolidation to wedding expenses -- come with a fixed interest rate. As of the end of May, Prosper was advertising rates of between 6.73% and 35.36% APR.
While the big growth in P2P lending comes from more individuals discovering the benefits of taking out or making these loans, it is also fueled by professional investors and hedge funds, which recently started pouring in big money to fund the loans as they search for alternative investments with solid returns.
"There are now people in the market who have a tremendous amount of knowledge of data, especially credit data," says Peter Renton, who covers the industry on his blog, Lend Academy. "They really believe that there is an advantage to be had by taking on certain segments of loans."
For borrowers who qualify for P2P loans, that new infusion of cash means their loans receive funding more quickly. Once an applicant is approved by Prosper or Lending Club, they typically receive funding within two or three days. In the past the same loans might have languished on the market for much longer -- or not have received funding at all.
Debt consolidation tool Prosper and Lending Club say they provide consumer loans that traditional banks tend to avoid. They sense a big opportunity among people who have credit cards with high interest rates. More than three-quarters of Lending Club borrowers and half of Prosper borrowers use the money to pay off other debt.
"The message is, there's a new option for people with credit-card debt to pay off and consolidate that debt," says Ron Suber, Prosper's head of global institutional sales. "It's a fixed rate and fixed term, where you know you can be out of debt."
Compared to other major sources of unsecured credit, such as credit cards, peer-to-peer loans often offer more attractive interest rates. In fact, the majority of P2P borrowers use the loans to pay off credit-card debt at a lower rate.
Because of the fees charged to borrowers, P2P loans might not make sense for everybody looking to pay down credit-card debt. If you have the discipline and means to pay off or substantially pay down your debt within a year, finding a credit card that offers 0% interest for an introductory period might be a smarter move.
For instance, if you're paying down $5,000 in card debt and have generally good credit, a three-year Prosper "B"-rated loan goes for at least 13.59% interest a year, which works out to several hundred dollars a year. Plus, there's a 3.95% closing fee -- that's another $197.50.
Lots of cards with no annual fees offer introductory 0% interest on balance transfers and purchases for six, 12 or even 18 months. But after that period, rates typically zoom to 14% or more, and sometimes into the 20+% range.
That might sway you toward applying for a P2P loan -- but there's no guarantee you'll be approved. While the application process is simple, peer-to-peer lenders are notoriously selective: Lending Club, for instance, has approved only 12% of loan applications since 2007. The companies do not make loans to people with subprime credit (credit scores below 640 at Prosper and 660 at Lending Club).
Credit-card companies do serve those borrowers, albeit with high interest rates and fees, or with a requirement for a security deposit before the card can be used.
Entrepreneur's refuge Other common uses of the loans include making home improvements, paying for weddings or starting a business. P2P lending has become particularly attractive to small-business owners facing a tight credit market.
Lydia Hamilton-Monnie is a prime example. Despite a credit score around 750 and a steady income as an information technology project manager, she was rejected from three banks when she sought about $50,000 to start a business in late 2009.
While searching for other funding sources on Google, she came across Prosper and Lending Club and decided to apply for $25,000 from each. Within a few weeks, she had the money, which she and her husband pooled with savings to open Boutique Larrieux, a plus-size women's contemporary clothing shop in Milwaukee, Wisc.
Her store and accompanying e-commerce site are doing so well that she repaid both loans early, she says. Each was a three-year loan with an annual interest rate of 11% or 12%.
She says she thinks investors agreed to lend her money because of her strong credit history and her compelling story, which she shared in her online profile.
"Once you've gone through the peer-to-peer process, I'm like, 'Why go to a bank ever again?'" she says. "It's so transparent, it's so easy, it's so fast. With the banks, there's just so much red tape."
How it works To apply, you submit a wealth of information online, such as the amount you're seeking, its intended purpose, the proposed term and so on. The companies then run background checks, including a close examination of credit scores, available credit and recent credit card applications, and they plug those factors into mathematical models that predict whether you will repay the money.
If you pass muster, the companies assign a grade and an interest rate to the proposed loan. If your credit is excellent, you'll likely have a high grade and a low interest rate. At Lending Club, for instance, top-ranked borrowers were paying interest rates of 6.78% at the end of May. In contrast, the highest rates -- designed for approved borrowers with the worst credit -- were nearly 28%.
After the companies approve a loan, it becomes available for funding from individuals, who can review much of the same material the companies used to approve the loan. Investors typically fund portions of multiple loans to spread their risk. Some seek riskier loans because they pay higher interest rates, while others prefer loans with high grades because they are more likely to be repaid.
The companies make money by collecting fees from both borrowers and lenders. The borrower pays an origination fee of between 2% and 5% when the loan is made, and the investor pays an annual 1% fee.
Be warned: Failing to repay a loan has consequences just as serious as not paying other kinds of debts, says Monica Steinisch, who wrote a report on the P2P industry for the consumer advocacy group Consumer Action.
"This has an informal feeling about it, but you are still entering into a legally binding contract," she says. "If you miss payments, you are going to get calls and letters from a collector. You'll be reported to credit bureaus. It will affect your credit score. You could be sued. Your wages could be garnished."
Borrowing Tips Experts say there are plenty of ways that borrowers can make their applications more attractive to the companies and to the people who fund the loans. The more creditworthy you appear, the lower your interest rate, and the more likely investors will advance you the money you seek.
Here are some tips to improve your chances of getting a P2P loan at the lowest cost to you:
- Provide a detailed description of why you need the money. Although many borrowers bypass the chance to explain why they're seeking a loan, investors like details. Even mentioning a steady income and successful repayment of prior loans can help. Be aware that some investors shy away from funding loans they consider frivolous, such as money for taking vacations.
- Improve your credit. There are no quick fixes, but there are steps you can take to boost your credit score, such as paying bills on time and not signing up for new credit cards before seeking a P2P loan. If your credit is poor, you might not be approved, and if you are, you'll face a higher interest rate than those with better credit.
- Don't seek more money than you need. Bigger loans mean you'll pay higher fees and probably higher interest rates. The maximum you can borrow is $35,000.
- Opt for a shorter term, if you can afford it. Although the monthly payments are higher for shorter-term loans, they also tend to carry lower interest rates. The faster you can repay the loan, the better. There is no penalty for repaying early.
- Avoid late payments. Just like credit card companies, peer-to-peer lenders charge hefty fees for missed payments. The lenders are just as serious as a traditional bank about getting the money they are owed.
See related: 7 ways to borrow $500, ranked best to worst


text:
NILES, IL January 21, 2010 – When it comes to paranormal activity, Shure wireless microphone systems seem to be operating on the right frequency. In the new film, Montgomery House: The Perfect Haunting (Ave Vox Entertainment), they were put to the test.
Written and directed by renowned clairvoyant Danielle Egnew, Montgomery House: The Perfect Haunting is a documentary that uncovers the origins of the terrifying haunted history of the Montgomery House Bed and Breakfast in Kalama, WA. With the aid of local Native American tribal leaders, historians, a psychologist, two reputable paranormal investigation groups, firsthand accounts from Bed and Breakfast guests, owners, local townsfolk, and a bevy of spiritual healers and leaders of many sects, the dark secrets and complicated identity of Montgomery House are brought into the light.
In addition to being a writer, director, actress, and musical artist, Danielle Egnew has her own metaphysical practice in Los Angeles and has done psychic work for law enforcement, Fortune 500 Companies, Hollywood executives, and celebrities. She was compelled to turn her investigation of Montgomery House into a documentary due to the magnitude of the paranormal activity that was happening there. Similar to the phenomenon of the right set of weather conditions coming together to create the perfect storm, Montgomery House and its surrounding area is filled with several individual ingredients that collectively act as a superconductor for supernatural energy... the perfect haunting.
The film not only tells the story of Montgomery House but enables the viewer to actually witness and experience the paranormal evidence; as an actual apparition is caught on film and Electronic Voice Phenomenon (EVPs) are captured in the audio.
"That wireless mic system was basically part of my anatomy, as we shot the investigation footage live, over several days," said Egnew. "There was only one investigation scene toward the end where I wasn't wearing the Shure lav, which was unusual for that shoot, and during that segment an entity whispered so loudly in my ear that I thought it was the investigator next to me. Had I been wearing the wireless like I was supposed to, I'm positive that the entity's voice would have been picked up by the sensitivity of that mic, loud and clear."
Another opportunity for Shure wireless mics to tune in the paranormal is with the Florida Ghost Team (FGT), a non-profit organization that thrives on moving forward and promoting professional paranormal research and investigation. Established in 2003 by Shaun Jones, FGT is one of the oldest and most respected teams in Florida, and its Assistant Director is Robb Demarest, who also stars in Ghost Hunters International.
The Florida Ghost Team investigates reported paranormal activity at homes and businesses statewide. The team members use electromagnetic field readers, thermal imaging devices, infrared cameras, digital recorders, and Shure wireless headset microphone systems for hands free team member communications.
"Florida Ghost Team were using two-way radios, which are not really user-friendly when you have to put down your equipment and reach for them," said Director Shaun Jones. "We were in need of a good communication system that is hands-free, lightweight, and with a long range signal. We are usually in places such as old buildings and most of them have brick walls that make it hard to get a decent signal. The Shure wireless headset systems work great! They are a real problem solver and may even start a new trend in this field."
Acknowledging that there are skeptics regarding ghost hunting, Egnew and Jones emphasize the scientific aspects of their work, and are confident that the tangible evidence their teams collect, as well as their own firsthand experiences, authenticate the paranormal.
For more information about Montgomery House: The Perfect Haunting and The Florida Ghost Team visit their websites: www.montgomeryhousehaunting.com and www.floridaghostteam.com.


text:
Metalforming Electronics
Revitalizing a Used Mechanical Power Press, Part 6: Who will Drive; Where is the Road Map?
There is no shortage of auctioned mechanical presses, available for pennies on the dollar. And while the previous five installments of this series addressed the press-related issues that must be addressed when bringing a used press to your shop floor, I often wonder how qualified shop operators, setters and maintenance personnel are to operate and maintain newly acquired used press.
Are your shop's pressroom personnel up to the task of running a press that may be radically different from any other press on the shop floor? Just how do they go about maximizing the performance of this new arrival? Here are a few guidelines.
1) Create a technical library. If you want to see some of the most puzzled looks in a stamping shop, ask where the equipment manuals are located. The answers are coupled with lots of hand waving and hemming and hawing. "They may be in maintenance...no wait, they are up in engineering...come to think of it, we really have not seen any manuals in years," is the likely reply. Shops should maintain a centralized and well-maintained technical library for all equipment, a place to go when questions arise about the proper operation/maintenance of any piece of equipment.
This proves particularly important for newly acquired used presses. Make every effort to track down not only the manuals for each press, but also any technical updates. This should be easy to do if the manufacturer remains in business; if not, an Easter-egg hunt results, involving searches on Google and EBay, and phone calls to press rebuilders and the like.
Why such a need? Well, everything from the proper counterbalance adjustments to the parallelism of the ram to the critical angle for the brakes, etc., are clearly delineated within these manuals. Without the press manufacturer's data how do you know what the proper press setup and maintenance parameters should be?
2) Invest in schooling. If the press manufacturer is still in business, send your pressroom and maintenance personnel to them for training related to the newly acquired used press. The manufacturer also may be able to conduct training inhouse at your location. In addition, there are independent press rebuilders and consultants who offer such training.
Just imagine the confusion on the part of your technical staff when faced with a press that differs greatly from any other press they have ever worked on or operated.
3) Use a fine-tooth comb. Sometimes, company pride can prevent the hiring of an outsider to perform the necessary technology audits of a newly acquired used mechanical press. When a company lacks the required internal expertise and skills, there is great value in hiring a professional press rebuilder to take an honest look at your newly acquired used press. Why wait until the press enters full production to learn that it may be mechanically unsound?
As soon as possible after installing the used press in your shop, use a fine-toothed comb to ferret out any mechanical issues inapparent during the auction process. Better to discover and repair any problems before the press is fully committed to production runs, where a malfunction may damage not only the press but the tooling as well.
4) Carefully document performance. Once the newly acquired used press is placed into the pressroom production environment, carefully document several parameters during its lifetime, including ram parallelism, accuracy of ram shut-height indicator, tonnage distribution across the ram surface, and the critical stopping time/critical angle once the brake is applied. In fact, shops would be wise to document these parameters for all presses. Proper, timely preventive maintenance requires feedback from the floor to alert personnel to major mechanical-performance deviations.Be no less careful about what appears to be a bargain when purchasing a used mechanical power press than you would be when purchasing an automobile. At least when purchasing a used car you likely will be able to open the hood, kick the tires and take it for a test drive. Hard to do this with a press during an auction, which compares to buying a movie after having only viewed a still-frame photo from the film. MF
Reader Comments
There are no comments posted at this time.


text:
White House shooter opposes terrorism enhancement
WASHINGTON (AP) — Lawyers for an Idaho man who pleaded guilty to firing at the White House in 2011 don't want a "terrorism enhancement" to apply to his case.
Oscar Ramiro Ortega-Hernandez' lawyers wrote in court filings Monday that the application of a "terrorism enhancement" is unconstitutional, though he accepted it as part of September his guilty plea. An enhancement increases the penalty for a charge in terrorism cases.
Lawyers also asked that Ortega-Hernandez be allowed to speak with the judge privately before his sentencing in March.
Federal sentencing guidelines recommend Ortega-Hernandez spend 24 to 27 ½ years behind bars. But his lawyers compared his case to that of Joseph Reel, recently sentenced to nearly three years for rigging his Jeep to crash into a White House Secret Service guard booth.
Sorry we are not currently accepting comments on this article.


text:
pjur Original Lubricant
pjur Original Lubricant
Sign In or Create Account to rate.
Express eternal love with the longest-lasting lube we've ever offered. Because Eros is
Express eternal love with the longest-lasting lube we've ever offered. Because Eros is silicone-based, it doesn't absorb into the body or rub away with friction or moisture. Just a tiny dab stays slippery -- whether you're playing in the jacuzzi with waterproof toys, enjoying marathon sex, or anywhere else! This silicone formulation of Eros is not compatible with cyberskin or other silicone products. 10ml and 100ml bottles.
Manufacturer's Information: vegan; no animal testing or by-products used. Glycerin-free. Hypo-allergenic, non-toxic.
Ingredients: Cyclopentasiloxane, Dimethicone, Dimethiconol
If you like to play in the shower, check out Wet Platinum or Eros. These silicone based lubes are perfect for play in the bathtub or hot tub. It cleans up with mild soap but lasts a long time under water!
CeeCee & Molly, Good Vibes Magazine
Please Note:
We recommend using a water-based lubricant with silicone toys as some silicone lubricants may damage some silicone toys when used together. When using a silicone lubricant on a silicone toy, we suggest covering your toys with a condom in order to avoid incompatible combinations. You may also do a spot test by putting a drop of the silicone lubricant that you wish to use on the bottom of the base of your toy for at least 5 minutes. Wipe it off and check to see if there's a raised or sticky area, or other reaction. If so, cover your toy or use a different lubricant with it.
Good Vibrations will not accept returns or exchanges for defective silicone items that have been damaged by using them with a silicone lubricant.
Brand: Pjur
Product Details
- concentrated formula
- thick texture
- Silicone
Reviews & RatingsRate and Review It
Customer Reviews
I had read so much about how amazing this lube is. I am sure it is great for younger people. I recently started experiencing vaginal dryness and have been on the hunt for a new lube.
When trying it out for the first time we first applied an even amount on the fun zones and gave it a whirl. Worked ok for a little bit but then I began feeling "the rub". So we added a very generous application...Worked about as long as the first application :-(
Clean up was a little difficult...seriously soaped my lady parts for 10 min...which is not good for dryness either.
Responded By Good Vibes Customer Service - March 9, 2016
GV Responds
"We're sorry you didn't enjoy the Pjur lube! If you are finding silicone lubes too troublesome or hard to clean up, there are several great water-based alternatives we have that would also work well. Please Cream, Sliquid Sassy, Sliquid Satin and Good Clean Love are all lubes that are more long lasting , even for folks experiencing dryness. Of course, if you need more assistance in selecting what lube might be right for you, please feel free to contact us at email@example.com! We'll be happy to assist you!"
First of all, I never write reviews for anything. Ever. But this stuff is THAT good. I've told near strangers about it, so I might as well tell complete strangers about it.
Because of this lubricant, I am now FINALLY able to have amazing anal sex. A great partner helps of course, and there are many other factors, but I give MAJOR credit to Pjur.
I had tried anal SO many times with SO many different lubes and I could never quite get to the comfort level I wanted. I thought it was impossible. Then someone recommended this lube (along with Gun Oil, which I haven't tried) and it BLEW MY MIND! Like other reviewers said, it's also great for handjobs, and it's also perfect for shower sex. Outside of that, I prefer a water-based lube for vaginal sex... because this stuff has MAJOR staying power. Believe me. It takes a serious scrubbing to get it off. And a little bit goes a very very long way. But if you're looking for that perfect anal lube, this is it. Totally worth every penny.
Nothing compares for no smell, no taste, no irritation. I love the lack of stickiness. It's a personal fave for hj's, masturbation and glass toys. Also it's a great hair product.
I love this lube, but it is a bit difficult to clean up after sex (since it is silicone-based). It was the only lube I would use for years until I bought a silicone vibe (can't use silicone lube with a silicone vibe).
I bought this product a while back when it came with the Turbo Glider. I love how a little bit goes a long way with masturbation, especially when giving handjobs. I am so happy it is finally sold alone.
I've used a number of water based lubes and a nice handful of silicone based lubes and this is the BEST. Without a doubt!
Swiss Navy has a nice silicone lube but Pjur is better in staying power and thickness. I LOVE IT!
(My favorite water based lube is Liquid Silk - another good, good lube!)
Sign In or Create Account to save favorites.
You have reached the favorite limit. You will need to delete some to save favorites.


text:
In the vast and exciting terrain of network programming in PHP, working with low-level sockets can be a cumbersome task. Most of the time, when you are developing a Web application, you do not go very deep into the manipulation of the lower-level features of a network operating system.
If you've been using sockets in PHP, you probably know what I'm talking about. Writing, reading and controlling socket streams can be achieved well enough with the help of a comprehensive set of native PHP functions, such as the popular "fsockopen()", and "fputs()/fgets()" functions, and eventually the use of an iteration routine. This sounds relatively simple, and certainly will suit most of your socket programming needs. However, there are times when the requirements of a specific PHP project demand using low-level sockets, in order to implement, for example, a testing TCP-based server, and the corresponding client applications that will interact with it.
In order to tackle this kind of situations (and many more, by the way), luckily PHP offers a nice library of socket handling functions, which can be used to create server and client applications, manipulate data streams, and perform many more tasks related to low-level network programming. With reference to using sockets in PHP, in this three-part series, I'll try to cover their most crucial aspects. I'll start with the basics, such as creating, opening and closing a socket. Then I will proceed to using advanced approaches, such as implementing socket servers. Of course, I'll accompany this material with numerous hands-on examples.
At the end of this series, you should be equipped with a good grounding in how to use and manipulate low-level sockets in PHP, in order to expand your existing background of network programming.
Now that you know the topics that will be discussed over this series, it's time to leap forward and begin learning the fundamentals of low-level sockets in PHP. It's going to be instructive, so let's get started.{mospagebreak title=The basics of low-level sockets: developing an illustrative example}
In order to introduce the core concepts of socket programming in PHP in a friendly way, I'm going to set up a basic example, which hopefully will help to illustrate the usage of the most important socket-related PHP functions. First I'll show you how to develop a simple TCP server with sockets, and then I'll explain the meaning of each function used in the sample script.
Having said that, here's a procedural script that builds a basic TCP server. Take a look at the code listed below:
// define TCP port & local host
// create low level socket
trigger_error('Error creating new socket',E_USER_ERROR);
// tie up socket to TCP port
trigger_error('Error binding socket to TCP
// begin listening connections
trigger_error('Error listening socket
// create communication socket
trigger_error('Error creating communication
// read socket input
// convert to uppercase socket input
// write data back to socket server
trigger_error('Error writing socket output',E_USER_ERROR);
// close sockets
As you can see, the procedural script listed above demonstrates how to create a simple TCP server, where its only functionality rests in taking up a string sent by a client, then converting it to its uppercase version and finally returning it to the mentioned client. Does that sound a little bit confusing? Don't worry, it really isn't.
First, the script defines the host and port number where the TCP server will be running. In this specific case the server will be created to work as "localhost," that is its IP address will be 127.0.0.1 and it will run on the TCP port "1234."
After defining the corresponding connection parameters, the first connection socket is created by the "create_socket()" PHP built-in function, which obviously creates and returns a socket reference. Also, the first argument of this function–that is the domain parameter–specifies the protocol family to be used by the socket, in this case AF_INET, which means that it will use the IPv4 Internet-based protocols.
Additionally, the second argument indicates the type of socket to be used. In this example, I specified a value of "SOCK_STREAM," meaning that the socket will support the use of the TCP protocol. Finally, the last function parameter determines the protocol used by the socket. In this case I decided to use the reliable TCP protocol.
Of course, all the above description can be assumed in the following statement:
// create low level socket
trigger_error('Error creating new socket',E_USER_ERROR);
Right, after creating the general connection socket, the script needs to bind it to the host and port defined before. To perform this operation, the "socket_bind()" function is conveniently used, as listed below:
// tie up socket to TCP port
trigger_error('Error binding socket to TCP
At this point, I created a general connection socket, which is tied to the 127.0.0.1 IP address, and will be expecting incoming connections on the TCP port 1234. Now, how do I make the socket listen to client connections? Right, you guessed it, the "socket_listen()" function does precisely that:
// begin listening connections
trigger_error('Error listening socket
Now that the general connection socket has been created and it's expecting client connections, there are a few additional things to be done yet. The first one consists of creating another communication socket, which will handle all the operations for reading and writing data. This is achieved by the "socket_read()" and "socket_write()" PHP functions respectively, and the entire reading-writing sequence is illustrated below:
// read socket input
// convert to uppercase socket input
// write data back to socket server
trigger_error('Error writing socket output',E_USER_ERROR);
As you can see, the above code block first reads the data sent by the client, then converts the data to uppercase and writes the string back to the client. At the end of this process, both sockets, the general and the communication one, are closed by the "socket_close()" PHP function, as shown below:
// close sockets
Wasn't that simple and fun? With a few PHP functions, I created an admittedly basic TCP server that returns the uppercase version of any string sent out by the client.
Also, before I finish writing this section, I'd like you to notice that the script uses the "set_time_limit()" function, in order to get rid of any timeouts imposed by the PHP parser. This makes a lot of sense, since the script doesn't have a clue about when an eventual client is going to inject data into the socket, so eliminating timeouts is a good approach to keep the script working properly.
Now, the sample TCP server is up and running, listening to incoming client connections. Therefore, a client application should be created, in order to determine whether the sockets just created work as expected. That's exactly what I'll do in the next section, thus click on the link below to find out how this client is created.
{mospagebreak title=Reading and writing socket data: creating a simple web-based client application}
Creating a client application to test the sample TCP server is a straightforward task. Essentially, I'll build a web-based script that will connect to the aforementioned server and send a string of data via an online form. In accordance with the logic implemented on the server, this string should be returned to the client in uppercase, and finally displayed on the browser.
Here's the snippet of code that creates a simple web-based client, handy for testing the TCP server in question:
// check if form was submitted
// open client connection to TCP server
trigger_error('Error opening socket',E_USER_ERROR);
// write message to socket server
// get server response
// close socket connection
echo '
You entered the following message in
lowercase :'.$ret.'
';
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<title>TESTING TCP SOCKET SERVER</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-
8859-1″ />

Enter your message here

<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<input type="text" name="message" size="30″ />

<input type="submit" name="send" value="Send Value" />
As you can appreciate, the above script uses the PHP "fsockopen()" function, in order to connect to the recently created TCP server and inject into the socket the string entered in the online form. After receiving the uppercase string, the script displays this data and finishes its execution.
To understand the functionality of the sample TCP server, please take a look at the following screen shots, which illustrate both the client petition and the server response respectively:
As depicted above, the images show the TCP server in action. First, the client submits a message via the online form, and secondly the server turns the input to an uppercase string, which is finally echoed to the browser.
In addition, before I explain more concepts related to socket programming in PHP, I want to clarify one important point regarding the example: you should run the script that creates the TCP server from the PHP command line, instead of using your browser, in order to prevent the system from hanging. This can be done easily by using the CLI.exe file that comes with your PHP distribution and typing the following commands in your system shell:
q- tcpserver.php
The following screen shot shows how to start the TCP server using the PHP command line on a Windows system:
Assuming that the TCP server has been coded in a file called "tcpserver.php," the above command should run this file and start the server (the preceding q flag tells the PHP interpreter to suppress the "Content-type" HTTP header). After making sure the server is up and running, you can point your browser to the PHP file that builds the corresponding client, and run the pertinent file.
Right, now you see how the sockets I created in the previous section do their job, reading and writing the corresponding data. Since the example TCP server has been created with a few lines of procedural code, it'd be very convenient to encapsulate the whole source code within a compact function (and incidentally within a class), so the server can be reused as many times as needed.
If you're interested in learning how this can be achieved, please read the next few lines of the article.
{mospagebreak title=Reusing the TCP server: defining the "createSocketServer()" function and "SocketServer" class}
As I said in the previous section, it'd be really handy to encapsulate the full code for creating the sample TCP server into one single function. The function would perform basically the same task, but have the advantage of making the code much more compact and reusable. Bearing in mind this concept, here's the definition for the corresponding "createSocketServer()" function:
function createSocketServer($host='127.0.0.1′,$port=1234){
trigger_error('Invalid IP address format.',E_USER_ERROR);
trigger_error('Invalid TCP port number.',E_USER_ERROR);
// create low level socket
trigger_error('Error creating new socket.',E_USER_ERROR);
// bind socket to TCP port
trigger_error('Error binding socket to TCP
// begin listening connections
trigger_error('Error listening socket
// create communication socket
trigger_error('Error creating communication
// read socket input
// convert to uppercase socket input
// write data back to socket server
trigger_error('Error writing socket output',E_USER_ERROR);
// close sockets
As shown above, I hid all the complexities of creating the socket server, as well as reading, processing and returning client data in just one function, which I called "createSocketServer." This function does basically the same thing as the previous script, and introduces some additional checking code, in order to make sure that the two incoming arguments, that is the IP address and the TCP port respectively, have a valid format.
Now, creating the previous TCP server could be reduced to a process as simple as this:
// call 'createSocketServer()' function
I told you it was simple! Again, remember first to save this function to a file and next run it from the PHP command line (also, it's possible to connect to the TCP server by using a Telnet client), in order to get things working appropriately.
Now that you know how the "createSocketServer()" function works, please have a look at the following PHP snippet, which encapsulates all the source code required for building the prior TCP server in one class:
class SocketServer{
var $host;
var $port;
function SocketServer($host='127.0.0.1′,$port=1234){
trigger_error('Invalid IP address
trigger_error('Invalid TCP port
function connect(){
// create low level socket
trigger_error('Error creating new
// bind socket to TCP port
trigger_error('Error binding socket to TCP
// begin listening connections
trigger_error('Error listening socket
// create communication socket
trigger_error('Error creating communication
// read socket input
// convert to uppercase socket input
// write data back to socket server
trigger_error('Error writing socket
// close sockets
In this case, I turned the "createSocketServer()" function into a fully working PHP class, thus if you feel inclined to work with object-oriented applications, this class could be quite appealing to you.
After building the "SocketServer" class, creating and using the prior TCP server can be reduced to the following two-liner:
// instantiate new 'SocketServer' object
$socket=&new SocketServer();
That's it. In this article I've shown you different flavors of the same TCP server, according to your programming needs, so I guess there's enough code to provide you with long hours of fun!
To wrap up
Over this first part of the series, you hopefully learned the basics of how to create sockets in PHP, as well as read, process and write socket data through an instructive example, aimed at building a simple TCP server. However, there's still a huge area to be explored. Bearing this in mind, in the next article, I'll show you how to use low-level sockets, in order to build a "smarter" and more complex TCP server. You won't want to miss it!


text:
COLUMBUS, Ga. –Four double-digit scorers weren't enough, as the Georgia College men's basketball team (7-11, 3-8 PBC) lost 77-61 at Columbus State University (11-7, 5-6 PBC) Saturday.
Back in the starting lineup for the first time in nearly a month, sophomore Terrell Harris (Indiantown, Fla.) responded well to the change with a team-best 17 points and nine rebounds, narrowly missing a double-double.
Achieving his seventh double-dip on the season was junior Larrentis Thomas (McDonough, Ga.) nabbing a game-high 14 rebounds to go with 13 points. Sophomore Ryan Blumenthal (Kennesaw, Ga.) added 13 of his own, while Royal Thomas (LaGrange, Ga.) made it made it 11 games in a row with double-digit scoring at 10 points.
Those four double-digit scorers were nearly all the Bobcats had, however, as the final eight points of the game came from reserve guard Alex Reid (Savannah, Ga.). Just five Bobcats reached the scoring column.
Georgia College was out-shot 36 percent (22-62) to 50 percent (30-60) from the field, which really provided the difference in the game.
R.J. Sessions had an impressive second half with 23 of his 26 points, helping the Cougars close out the win. Sessions made 4-for-6 from long range, and was aided by 15 from DeAngelo Kirkland, 11 of which also came in the second half.
The team's leading scorer Kenney Funkerburk, was held to just nine points, despite entering the contest on a 15.9 scoring average, ranking eighth in the Peach Belt Conference (PBC).
The loss gives Columbus State another point in the "Battle for the Pickle Barrel" rivalry challenge, sponsored by the Pickle Barrel Café and Sports Pub. CSU now owns a 7-1 advantage in the second season of the "Battle".
Georgia College falls to 3-8 in conference play, sitting in sixth place in the PBC West Division. The top four in the division advance to the PBC Tournament in March.
The Bobcats are back in action Wednesday, Feb. 5 at 7:30 p.m. hosting No. 12 University of Montevallo (16-2, 9-2 PBC). The Falcons most recently beat the University of North Georgia 101-94 tonight in overtime.
The Georgia College Department of Athletics, two-time winners of the PBC Commissioner's Cup, sponsors 11 varsity athletic programs at the NCAA Division II level. As a Division II program, Bobcat Athletics prides itself on balancing the life of the student-athlete, evidenced by the teams' multiple appearances in post-season competition as well as documented academic success and community-service involvement. Sign up at @GCBobcats on Twitter and Facebook for up-to-the-minute reports, and visit GCBobcats.PhotoReflect.com to purchase photo prints from home athletic contests.


text:
We have a number of resources to help you with your Creative Suite 6 installation – from self-help articles to forums and support programs. Read on to know more…
For detailed step-by-step information about installing Creative Suite 6, see Creative Suite 6 Installation Instructions.
Adobe forums
The Adobe forums are a great place for users of Adobe products to exchange questions, offer ideas, and share tips and tricks with other users. These forums are monitored actively by Adobe and community experts.
To provide focused attention around downloading and installing, we've set up these forums:
- Downloading, Installing, Setting Up forum
- Downloading and installing from Creative Cloud
- Downloading and installing trials from Adobe.com
One-to-one assistance
If you require one-to-one assistance or you'd want to contact Adobe Customer Care directly, see Adobe Creative Suite support programs for more information and next steps.


text:
Kim Miller needed a new web page design and created a contest on 99designs.
A winner was selected from 7 designs submitted by 4 freelance designers.
Driver Robot
We're looking for a one page review design of the driver update tool, Driver Robot. We want a professional looking page (with lots of area for the actual review text, though the designer should use filler text only) This page should look like a review in a magazine at a glance and should ultimately promote this product.
Please keep in mind that the target audience here is the average computer user, who is having problems and searching for a product that will solve their computer issues.
As noted above, this needs to be very polished and text heavy (please note that the area/areas for text should be filled with filler text only, you are not actually expected to review the product).
Other Important elements for this project include:
- product name
- download button(s) / links
- confidence indicators (awards etc)
- OS compatibility
- Include attractive navigation at the top and bottom of the page, however...
- Do not include a 'byline' (no "site designed by ABC Webco" in the footer)
The winner will need to submit Photoshop or Illustrator source files.


text:
Sprache in Deutsch ändern |
Hooray! You've made it!
You found probably the funniest site of the internet! Share and discover hilarious, crazy and weird videos, images or what ever you want and find people who share your sense of humour.
We suggest English as your preferred language. You can change the language next to the bendecho logo.Let it rock! ;-)
Reporter fast überfahren
myvideo.de - Reporter fast überfahren
|10 years, 10 months ago
Add a comment
Submit New
Rising Upcoming Votes
Related Stuff
Stuff of the Month
Action Feed
- Dr. Maikel Segui, DDS - Family D...
- Regenerative Solutions - Knee Pa...
- Hair Thinning PRP Injections in ...
- Orange Cheap Auto Insurance in A...
- Dental Crowns Specialist At Flor...
- Toronto Drug Lawyer & Mississaug...
- Intercoastal : 24 Hour Health Ca...
- 1st Choice Cheap Auto Insurance ...
- MartyrMan - 1 Life
- Keeana Kee - You're Real


text:
American International Group's (NYSE:AIG) board will meet today to consider a request filed on September 21, 2012 by Starr International, former AIG chief Maurice "Hank" Greenberg's company, that AIG either "take over" or let Starr pursue a lawsuit Starr filed against the government contesting the constitutionality of the U.S. rescue of AIG in September 2008, the insurer says in a statement.
Continue Reading Below
Starr International's suit says AIG's $182.3 billion rescue violates the Fifth Amendment, improper government use of private sector assets. The suit says the government's receipt of a 79.9% equity stake in AIG constituted a wrongful "taking" without just compensation. It also says the government charged punitive 14% interest rates on rescue loans to the company.
Greenberg has also said the government rescue turned into a "backdoor bailout" of other Wall Street companies, including Goldman Sachs (NYSE:GS), Deutsche Bank (NYSE:DB) and Societe Generale. Starr International owns a large stake in AIG. The government earned $22.7 billion on its AIG bailout.
AIG says its board by law must consider Starr's demand, and expects to do so by the end of January. Meaning, it has a fiduciary duty to do so, because if it didn't, AIG could be exposed to further shareholder lawsuits, an AIG official tells FOX Business.
AIG assets were used to settle derivatives trades that brought the insurer to its knees in September 2008. The U.S. Treasury, along with the New York Federal Reserve, provided bailout help to AIG — and Greenberg now says government overseers ran 'amok' in the bailout. That includes giving too much of AIG's assets away. AIG sold off an estimated $66 billion of its assets to repay the government.
The company has since come under withering criticism for considering joining the $25 billion lawsuit. Democrat members of Congress including Peter Welch and Michael Capuano are pressuring AIG's board, warning it not to even think about joining the suit. The congressmen, in a letter to AIG, now say AIG has morphed into the poster company of chutzpah from the poster company of greed.
The New York Federal Reserve has told FOX Business the suit "has no merit," noting that AIG "had an alternative choice — bankruptcy."
But did it really have a choice? Didn't the New York Fed, then run by now Treasury Secretary Tim Geithner, as well as the U.S. Treasury, maintain in the fall of 2008 that AIG was too big to fail, because if it did it would bring down companies around the world, and ruin 401(k) accounts? What of the settlement of those derivative trades, where lots of money went out the door to Wall Street firms like Goldman Sachs?
The Starr International lawsuit also brings up once again the public's right to know what was done with government funds and AIG's assets. It's about the public's right to know why suddenly Wall Street firms like Goldman were too big to fail. It's about the government's sudden decision in declaring there was systemic risk to the U.S. economy in not fully remunerating 100% Goldman, Merrill Lynch and foreign banks in their rotten derivatives deals.
And the lawsuit raises again the public's right to know how Goldman and other Wall Street banks, as well as the French government, were pressuring the U.S. government into getting 100% of their money back, despite the fact that rotten subprime deals sat at the heart of these trades, caveat emptor Goldman, Societe Generale and Calyon.
After the government stepped in to rescue AIG, the New York Fed decided to force AIG to reimburse 100% of the $62.1 billion worth of trades made by counterparties with American International Group, including Goldman, Societe Generale and Merrill Lynch. No haircuts, no concessions for their part in these rotten deals. A report from the special inspector general for the TARP bailout program has questioned these moves (for more, click here.)
Didn't Goldman have enough collateral to protect itself in the event of an AIG default, as it often boasts of its huge cash reserves on hand? Another question worth asking: did Goldman low-ball the value of its securities underlying its AIG swaps in order to get more bailout money out of AIG?
Goldman had about $22.1 billion worth of swaps with AIG, $20 billion of which covered its CDOs. Goldman refused to take a haircut because it didn't want to book a loss on the deals, and got $14 billion back on its trades with AIG ($5.6 billion from Maiden Lane III, and $8.4 billion in collateral payments).
As previously reported by FOX Business, the government's definition of systemic risk took into account political fallout from not making whole foreign counterparties to AIG, government documents show. In particular, France finance ministers had a heated reaction to AIG not fully remunerating AIG's counterparties, including its companies Societe Generale and Calyon, documents show.
So, the decision to force AIG to pay par for these trades, to fully compensate these counterparties 100%, did meet with a hailstorm of criticism. The sheepish defense: The triple-A rated U.S. government was backing AIG at the time, right after the giant insurer was downgraded by the three main ratings agencies, so AIG had the full backing of the government. This, despite the fact that at that time, the value of the subprime loans underlying AIG's swaps had already eroded to the point where one of AIG's counterparties, UBS, had already agreed to a 2% haircut in price.
What really happened, government documents show, is that the New York Fed was negotiating with Commission Bancaire, the French bank regulator whose legal mandate is to protect its own country's depositors and act as a watchdog over the French financial system to ensure profitability and financial stability. French regulators argued the regulator faced criminal liability if they didn't get reimbursed 100%.
Specifically, Commission Bancaire officials, overseeing the negotiations for Societe and Calyon, "forcefully asserted that, under French law, absent an AIG bankruptcy, the banks could not voluntarily agree to less than par value for the underlying securities in exchange for terminating the swap contracts," says the TARP inspector general report on the AIG bailout. "Thus, the French banks claimed they were precluded by law from making concessions and could face potential criminal liability for failing to comply with their duties to shareholders."
In France, it is a crime for a manager to use company assets in bad faith contrary to the interests of the company (essentially criminalizing a breach of fiduciary duties to shareholders).
So the New York Fed folded. It demanded the 100-cents-on-the-dollar deal for AIG's counterparties, and it demanded that their identities be kept strictly confidential.
The counterparties got $27.1 billion to wipe out the securities underlying the swaps, and they also got to keep $35 billion in taxpayer-paid-for collateral that AIG had posted in exchange for tearing up their swap contracts, according to the TARP inspector general.
Tens of billions of dollars were used to buy the securities underlying AIG's swaps from counterparties, including Goldman, Societe General and Merrill Lynch. Money was also used to help AIG meet a cash drain in the form of collateral calls from the big banks that had bought AIG's credit default swaps to insure their asset-backed securities.
New York Fed officials, including Geithner, have since said they felt there was little chance it could demand reductions from AIG's counterparties because it had no leverage over the negotiations — despite the haircut offer from UBS. The government could also not use the threat of an AIG bankruptcy because it had stepped in quickly to avoid an AIG default.
In a stunning twist, government officials argued they could not use its position as a top regulator of the U.S. counterparties as leverage in the negotiations because the government had become a creditor of AIG. Officials were "uncomfortable with violating the principle of sanctity of contract," government documents show, despite the fact that the government would soon tear up all sorts of contracts, notably with creditors in the bailouts of the automakers. In other words, the Fed had no legal mechanism in place to selectively impose losses on counterparties.
Meaning, the powerful U.S. government negotiating team led by Geithner somehow couldn't force a haircut after the fact on these trades.
Getting back to the Starr lawsuit, AIG says the suit "makes claims on a 'derivative' basis in the name of AIG and for its benefit," so Starr is asking the AIG board to either join the suit or let Starr "pursue these claims on AIG's behalf."
AIG says in its statement it "has three options with respect to the derivative claims asserted on its behalf: (1) take over Starr's claims and prosecute them on its own; (2) refuse the demand and prevent the claims from being prosecuted by Starr, a decision Starr is likely to challenge; or (3) allow Starr to prosecute the claims on AIG's behalf."
It notes that "the Court of Federal Claims has denied the Government's motion to dismiss the suit, so that the case will go forward with or without AIG's participation. If AIG does not allow the derivative claims to proceed on AIG's behalf and Starr prevails or obtains a favorable settlement on its direct claims, then AIG will not receive any of the amounts recovered."


text:
Global Shop Solutions provides the applications to simplify your manufacturing. Improve your business from quote to cash and everything in between, including shop floor, CRM, inventory, job costing, scheduling, shipping, quality, accounting and more.
Be the first to review this company
If simplicity is just as important to you as feature set then look no further, we are your project management solution. We understand that real value isn't how much our software can do but more so how much we can empower you, the customer to do. Whether it's Projects, Tasks, Time or collaboration across teams, we do it all in one place, one view.
47 Reviews | Last reviewed on Sunday, 09 Nov 2014
127 Reviews
47 Reviews
25 Reviews
23 Reviews
22 Reviews
21 Reviews
15 Reviews
14 Reviews
9 Reviews
8 Reviews
7 Reviews
6 Reviews
5 Reviews
4 Reviews
3 Reviews
2 Reviews
1 Reviews
0 Reviews
Logging in with LinkedIn shows that your review is genuine and written by a real person. We will never post anything to your LinkedIn account or your connections.
Don't use LinkedIn? You can write unverified reviews too.
By proceeding, you agree to our Terms of Use and Privacy Policy.
Please allow 48 hours for your review to appear.


text:
The official Thornensians RUFC app
The Rugby Clubhouse Church Balk Doncaster South Yorkshire DN8 5BU View with Google Maps
This website is part of the Pitchero Rugby Union network. Create your own free Rugby Union club website with Pitchero.
Digital advertising by Minute Media
© Pitch Hero Ltd 2008-2019
Pitch Hero Ltd Registered in ENGLAND | WF3 1DR | Company Number - 636 1033


text:
Planted this in December 2010 from Willis Orchard Company. It was only $5.95.
Obviously it survived being posted, planted and the frost and is happily sprouting green bits.
Seems to have broken the critical height for competing against the weeds and is looking pretty healthy. this is pretty much the only tree that survived from the initial bunch of nut trees that I brought.
This is puttin gup quite a fight and is looking like it will 'emerge' from the undergrowth. Its amazing that I couldnt find this, I was being really careful trimming back the vegetation, and I thought it might have died.
Apparently this is a rapid grower, growing 3 feet a year, and pretty hardy, so this should be fun.
These little trees are like little gems as eventually the garden will be all about them, whilst currently, its all about the Mexiacan Petunias.


text:
Hi, I would like to know if it would be possible to create a program that would prompt you what Hot keys are available for a program that one is using. Not all Hot Keys would be possible as some programs have many Hot Keys, however, if the most important ones could be displayed in a small tool bar that would snap too the top, bottom or side of the screen would make using a program easier, I am hopeless in trying to recall what Hot Keys are available for a program I am using. Maybe the best way would be have the user enter the hot keys manually for each program and chose a program from a list one has made. This software would be used as an visual aid when using a program.-John Barnett (May 07, 2011, 04:58 AM)
Page created in 0.025 seconds with 42 queries.


text:
Mideastern Conference playoff standings + leftovers from Ashley-Laney
Thursday night was the regular-season finale for the Mideastern Conference basketball season. There's still a conference tournament to play and the playoffs, but Thursday's games solidified the postseason picture. Here's what the current standings are going into the MEC conference tournament next week: (UPDATE: Laney's girls were originally listed at 20-1, but are actually 21-1. I've corrected the mistake.) Girls 1) Laney (21-1, 10-0) 2) Ashley (17-5, 8-2) 3) New Hanover (12-10, 5-5) 4) Hoggard (9-12, 4-6) 5) New Bern… Read More »


text:
Published on
This homework covers Carrier Transport in Semiconductors subjected to an electric field.
The homework material presented here was part of Illinois ECE 440 course taught by Professors:
- K.C. Hsieh (course director)
- Eric Pop
- Matthew Gilbert
- Logan Liu
- Jean-Pierre Leburton (course director)
Cite this work
Researchers should cite this work as follows:


text:
Puppet Palace Museum is located at the northeast corner of the recovery of Changchun City, the road is the Manchukuo puppet emperor of the Qing palace of Pu Yi lived from 1932 to 1945, Pu Yi at the instigation of the Japanese authorities, the establishment of a Manchurian Empire, in engaged in political activity here and do day to day living.
From Wikipedia: Changchun (simplified Chinese: 长春; traditional Chinese: 長春; literally "Long Spring") is the capital and largest city of Jilin province, located in the northeast of the People's Republic of China, in the center of the Songliao Plain. It is administered as a sub-provincial city with a population of about 7.5 million under its jurisdiction, including counties and county-level cities. The name originated from the Jurchen language. The urban districts of Changchun's city proper have a total population of 3.58 million.


text:
|Hurricane Vampire Survivor Mousepad
After all, your brain is geared up to engage with technology and suddenly finds itself in total withdrawal. And, it's a good thing that humor was created. It's the best weapon in the human arsenal for survival.
I went off the grid for three days - and hot sweaty nights - during the very long week of Hurricane Isaac...
Related Funny Articles
John Stewart and Colbert Mock LIBOR Credit Card Scandal
Funny FAIL: Idiot Conservative Blogger Tries To Nail Sen. Sherrod Brown, Backfires
Im Just Saying: Funny Way To Stop Scam Pest Callers
Women Will Love This: Funniest Prayer to God
Funny Daily Show Comics Explain The Big Banks of F. U.
Im Just Saying: How To Protect Your Vote
Funny Photo For Tax Day: Tax The Big Dogs! Funny Tax Quotes, Jokes
Rush Limbaugh: 3 Funny Colbert, Stewart Videos, Late Nite Jokes
Funny Late Nite Jokes About GOP Rick Santorum
Im Just Saying: Funny Political Thought About Romney
Funny 2012 Election Late Nite Jokes and Videos
Jon Stewart Mocks Herman Cain Sexual Prowess
Happy Birthday Star Trek Spock, Leonard Nimoy: Funny Satire, The Lazy Song Video
Funny But True: Man Pays Off Home Mortgage With Pennies
Cat Philosopher: Curty Teaches Success and Happiness
Cat Philosopher: Curty Talks About Seizing Opportunity
Cat Philosopher: Curty Teaches About Love
Cat Philosopher: Curty Talks About Inner Peace
Cat Philosopher: Curty Talks About Friendship
Cat Philospher: Curty Talks About Temptation