text:
GLOBUS 2019: The Wonders of Mexico's Yucatan (YY)
8 days from Cancun to Cancun
Home to one of the world's most sophisticated ancient cultures, Mexico's Yucatan offers fascinating archaeological sites and interesting colonial cities. On this Yucatan tour, you'll explore many of these archaeological ruins and discover its fun cities with overnights in Cancun, Uxmal, Campeche, Merida, and Chichen Itza.In ancient times, the Maya built complex cities, developed an accurate calendar, aligned their buildings for astronomical purposes, and learned to effectively farm. On this Yucatan tour, you'll learn about this intriguing culture and visit some of its greatest ruins. Stay at the renowned Hotel Mayaland steps away from Chichen Itza and explore this UNESCO World Heritage Site built by the Maya between 600 and 900 AD. Here, visit the Ball Court, site of sacrifices; El Castillo, a pyramid dedicated to the high priest; and Cenote Sagrado, a sacred underwater sinkhole used for sacrifices to the gods. You'll also explore Ek' Balam, at the height of its importance from 600-900 AD, and Uxmal, one of the Maya's ancient masterpieces and today a UNESCO World Heritage Site.On this tour through Mexico's Yucatan, you'll also explore the colonial cities of Valladolid, with its charming streets and interesting churches; Merida, where you'll stay in a former colonial mansion; and the coastal town of Campeche, a UNESCO World Heritage Site with baroque Spanish architecture. Enjoy some out-of-the-ordinary experiences offered by Globus, including a visit to a Panama hat maker in Becal and a cooking demonstration in Uxmal. From the fun experiences to the fascinating sites, this Yucatan tour is a perfect vacation!
Call 1 -866-934-6292 for more information or to book today! Mention code 14472041
- Tour Operator
- Globus
- Offer
- Offer valid through 9/30/2019
- Duration
- 8 Days
- Escorted
- Escorted - Yes
|Day 1
|Welcome to Cancun! At 6 pm, meet your fellow traveling companions for a welcome drink. Your Tour Director will prepare you for your upcoming adventure.
|Day 2
|This morning, visit the colonial city of Valladolid, known for its charming streets and sun-splashed walls. After a short orientation tour, there's time to explore on your own. Arrive later this afternoon in Uxmal. Tickets are included tonight for the exciting SOUND & LIGHT SHOW, full of magic and mystery. (B,D) SPECIAL FEATURE: Your home for the next two nights is the Hacienda Uxmal. Set on lush tropical grounds and just a short walk from the Uxmal Archaeological Park, the Hacienda Uxmal has hosted royalty and celebrities, including Queen Elizabeth, Grace Kelly, Jacqueline Kennedy Onassis, and Henry Kissinger.
|Day 3
|Today, we visit the most famous ruins of the Puuc region, UXMAL, a UNESCO World Heritage Site. The existence of this city is a testament to the engineering abilities of the Maya who built reservoirs to provide water to it during the dry season. Uxmal means "thrice-built" in Mayan and during your visit you'lll learn about the Pyramid of the Magician which wa built on top of existing pyramids. Later, visit the CHOCO-STORY MUSEUM, where you'll learn the history of coca, its importance to the Mayans, and see how chocolate was prepared using an ancestral recipe. You'll even have the chance to [LF] make your own BEVERAGE with ingredients you choose. (B,D)
|Day 4
|This morning, a unique [LF] COOKING DEMONSTRATION is in store for you. Here, you will learn the traditions still practiced in most of the rural Mayan communities. Learn about the special ingredients and spices used and how the food is prepared. Continue to the coastal town of Campeche, once a fortified pirate haven and now a UNESCO World Heritage Site. Here, you'll find a captivating port filled with history, baroque Spanish architecture, and natural beauty. This afternoon's city tour includes visits to the vibrant malecon (waterfront) area, the historic fort of SAN FRANCISCO DE CAMPECHE, and the historic downtown area. Have your camera handy, as Campeche has spent the last few years restoring hundreds of downtown buildings, making it one of the most photogenic colonial cities in all of Mexico. This evening is at leisure. Your Tour Director will have suggestions for shopping, dining, and additional sightseeing. (B)
|Day 5
|Our first stop today is the village of Becal. For more than a century, the skilled hat weavers of Becal have been weaving Panama Hats using ancient Mayan techniques. We'll visit a local [LF] HAT MAKER to learn about the history and the hat-making process. Later, journey to Merida, capital of the Yucatan state and its colonial heart. Visit the MUSEUM OF ANTHROPOLOGY, home to a collection of exclusive artifacts from the Maya civilization to present day. Your hotel this evening is a former colonial mansion that is within walking distance of shopping and the historic city center. (B)
|Day 6
|Chichen Itza
|This morning, enjoy a city tour including the cathedral, Governor's Palace, and the tree-lined streets of Paseo de Montejo. On to Chichen Itza, where the renowned Hotel Mayaland is your home for the next two nights. You may wish to take a dip in the pool, stroll through the beautiful gardens, or just enjoy a cool drink. After dinner this evening, you are invited to attend the SOUND & LIGHT SHOW. (B,D)SPECIAL FEATURE: Located in the heart of Chichen Itza Archaeology Park, the Hotel Mayaland is set on 100 acres of tropical gardens and maintains its own private entrance to the park. Built in 1923, it's the world's oldest hotel inside an archaeological site, and has been named a 'must see' by Conde Nast Traveler.
|Day 7
|Chichen Itza
|Start the day with a visit to CHICHEN ITZA, built by the Maya between 600 and 900 AD. It was abandoned by the end of the 10th century and re-established in the 11th and 12th centuries, possibly by the Toltecs. Visit the BALL COURT, site of sacrifices; EL CASTILLO, a formidable building dedicated to the high priest; and the CENOTE SAGRADO, the sacred well once filled with priceless treasure offered to the gods. Next, visit the enormous and elaborate pyramid inside the Mayan site of EK' BALAM. Meaning 'Black Jaguar,' Ek' Balam was at the height of its importance as a Mayan city during the Late Classic Period (600-900 AD). When the Mayans abandoned the site, it went undercover as the dense low-lying jungle of the Yucatan engulfed it. Found by archaeologists and adventurers, its restoration has been ongoing since 1997. Return to Chichen Itza, where your Tour Director hosts a festive farewell dinner. The perfect ending to your time in the Yucatan. (B,D)
|Day 8
|After breakfast this morning, depart for Cancun. Please schedule flights from Cancun International Airport after 1 pm. The tour ends at the Westin Resort & Spa for those guests extending their stay. (B)
- Dates/Pricing
- Disclaimer
- US$ Price Details
Gratuities for Tour Director and driver are available for pre-purchase. Prices are per person, based on double room occupancy. Single Room Supplement: $450 to $490Triple Room Reduction per person: $65 to $70 Extra Nights per person in Cancun: February-March : in single room $260; in twin room $136; in triple room $112April-May: in single room $221; in twin room $117; in triple room $100September-November: in single room $202; in twin room $107; in triple room $93February-March 2020: in single room $279; in twin room $145; in triple room $1202020 prices and itineraries are subject to change. Details will be available in July 2019.
Travel Terms & Conditions
The purchase of any travel services offered by Globus, constitutes a contractual arrangement between you (the Traveler) and Globus, and represents your acceptance of the Terms & Conditions. Please ensure that you read carefully and understand the Terms & Conditions prior to booking. These Terms & Conditions cover Deposit & Final Payment information, Air-Inclusive Deposits & Final Payment, Revisions & Revision Fees, Air Arrangements, Participation, Travelers Who Need Special Assistance, Young Travelers, Smoking, Price Policy, Visas and Passports, Hotels & Accommodations, Baggage Allowance, Travel Documents, Not Included in the Land Price, Refunds, Service Inquires After the Vacation, Holidays, Safety, Photos & Pictures, Optional Excursions, and Responsibility.
Important Notes
- Vacation departures, itineraries and prices are subject to change.
- A non-refundable, non-transferable deposit is required for Globus to reserve space for you. View Terms & Conditions for limited exceptions.
- The following charges are not included in the land vacation price unless otherwise noted: airfare to and from the start of your vacation; Intra-vacation air unless specified in the itinerary; airline baggage fees including checked and/or excess baggage fees; Federal inspection fees for the Federal U.S. Customs and Immigrations; International Air Transportation tax; agricultural tax; other per person taxes imposed by government entities; airport taxes and fees including the September 11th Security fee up to $11.20 per person, passenger facility charges up to $18 per person, Federal domestic flight segment fees up to $4.00 per segment, and U.S. and International arrival and departure and other government-imposed added by the airline and applicable at time of booking; port taxes; passports; visas (except on Cuba programs) and vaccinations; tips to your Tour or Cruise Director, Globus Group Leader in Cuba, Local Host, driver, Local Guides, and/or ship's crew; gratuities on ferries, trains, and cruise ships; laundry; telephone; minibar; alcohol, beverages, and food outside of the contracted Globus menu as presented at a hotel or restaurant or onboard your vessel (these extra items will be billed to you before leaving the hotel, ship, or restaurant); airport transfers on non-qualifying flights; optional excursions; additional activities and excursions purchased online; porterage at airports and train stations; Travel Protection; and all other items of a personal nature.
Booking your Vacation with Air
For air departure dates within 331 days, you'll be offered a choice of carriers and flight schedules as well as price points to choose from when selecting your flights. Your schedule will be provided to you at the time of booking (schedules are subject to change by carriers). Globus offers 2 air options: Flex Air and Instant Purchase Air. Flex Air allows flexibility if you want to make changes to your vacation schedule. Instant Purchase Air may offer additional airline options but has more restrictions. Some vacations may only offer one Air type option. Guaranteed air-inclusive prices: air is only available to passengers traveling from the United States and only available when booked in conjunction with a land vacation. An additional $300 per person non-refundable air deposit is required for Flex Air booked in conjunction with any land vacation (i.e. air-inclusive vacation). Air can only be booked by Globus in conjunction with a vacation package. Instant Purchase Air requires air payment in full at time of booking (i.e. air-inclusive vacation) plus non-refundable per person service fee ($30 for North/Central America, $50 for Europe/Middle East and $80 for all other destinations. Once booked, Instant Purchase Air is non-refundable, and non-changeable. Some vacations may only offer one Air type option. However, once your airfare is confirmed and Globus has received your full air and land deposit, your air-inclusive vacation price is guaranteed.
Air-Inclusive Vacations - Applicable Taxes & Fees
Air-inclusive vacations include government-imposed taxes and fees applicable at the time of booking and will be shown as a Total Amount. Additional airline fees for baggage may apply. At the time of booking your air-inclusive vacation online, carrier Websites will be provided to check baggage fees, or you can visit www.iflybags.com for up-to-date baggage pricing/restrictions. For return travel from some countries, international travelers are required to pay entry and/or exit fees at the airport. These fees will be collected by the local government and are payable by the traveler at time of travel. Your confirmation booking information will contain information about these fees.
* The "Starting at" or listed price is based on the lowest price available to book. Price is per passenger based on double occupancy and does not include airfare; additional fees/charges are not included. If a price is crossed out, the new price shown includes a limited time promotional offer(s) - please review current promotions or deals for additional information. Some tours require intra-vacation flights (and in some cases intra-vacation segments must be purchased from Globus).


text:
EMCOR Group, Inc. (No. 1), Norwalk, Conn., was named American's No. 1 Most Admired Company in the engineering and construction industry by FORTUNE magazine. In addition, Forbes magazine named the company one of the 400 of America's Best Big Companies.
Indianapolis-based ERMCO, Inc. (No. 45) was honored with first place in the specialty division of the Construction Safety Excellence award from the Associated General Contractors of America (AGC), Arlington, Va.; the top specialty contractor in the innovation category of the Governor's Workplace Safety Awards, which are a result of a partnership among the Indiana Department of Labor, on behalf of Governor Mitch Daniels, the Indiana Chamber of Commerce, and the Central Indiana Chapter of the American Society of Safety Engineers; and a Gold Summit Safety award in the category of "Building Subcontractor Over 300,000 Indiana Onsite Man- Hours" by the Indianapolis Construction Association. In addition, the firm was listed as No. 1 in the Indianapolis Business Journal's list of largest Indianapolis-area electrical contractors.
The Associated Builders and Contractors, Arlington, Va., presented Faith Technologies (No. 19), Appleton, Wis., an Excellence in Construction Pyramid award, which is designed to honor those contractors and projects that reflect innovation while maintaining the highest standards of quality and safety. Faith Technologies was recognized for its work on the U.S. Postal Service design-build project, consisting of 188 locations across 39 states.
Fisk Corp. (No. 7) was the electrical contractor for the New Building category winner of the 2008 AGC/Aon Build America Award: the Co-Cathedral of the Sacred Heart, built for the Archdiocese of Galveston-Houston.
Helix Electric (No. 9), San Diego, was awarded the ABC Excellence in Construction 2008 - Las Vegas Chapter - Electrical - Commercial under $2 million and ABC Excellence in Construction 2008 - Las Vegas Chapter - Electrical - Commercial over $2 million.
The Illinois Safety Council, Chicago, awarded the Environmental Compliance award and the Making a Difference safety outreach award to Aldridge Electric (No. 15), Libertyville, Ill.
MYR Group Inc. (No. 4), Rolling Meadows, Ill., announced that its subsidiary Sturgeon Electric Co., Inc., Henderson, Colo., and the Chattanooga, Tenn.-based district of its subsidiary The L.E. Myers Co., achieved star status in the U.S. Labor Department's Occupational Safety and Health Administration's (OSHA) Voluntary Protection Program (VPP) for the Mobile Workforce Demonstration for Construction.
Parsons Electric (No. 22), Minneapolis, was awarded the Global Gaming Expo (G2E) "Best Lighting Design for a Casino Resort" award for its completion of the design and construction for Black Bear Casino Resort expansion in Carlton, Minn.
For the second year in a row, Power Design, Inc. (No. 25), St. Petersburg, Fla., received first place in the Tampa Bay Business Journal's "Fast 50" list, based on dollar-volume revenue growth. "The Fast 50" is a listing of the fastest growing privately held companies in the Tampa Bay, Fla., area.
In 2008, the Massachusetts chapter of ABC granted Wayne J. Griffen Electric, Inc. (No. 17), Hollison, Mass., an Eagle award for its contributions to the Evergreen Solar Phase I project in Devens, Mass. Also this year, the Alabama chapter of ABC granted the company an Excellence in Construction award for its work on the Retirement Systems of Alabama's (RSA) Renaissance Hotel & Spa at the Convention Center in Montgomery, Ala., and a Merit award for its contribution to the construction of the Retirement Systems of Alabama's Riverview Pinnacle Lighting in Mobile, Ala.

subset: commoncrawl


text:
Carlington wrote:Can I derail for a second to ask?: thoughtfully mentioned Feynman's QED - how accessible is the text/what level of knowledge does it assume, and how much ground does it cover? I have a very superficial grasp of QFT which I would like to expand on, is all.
It's intended for a general audience. There are (Feynman) diagrams, but not too many equations or heavy lifting. Might be a few small ones like E=hν.
The scope is the same as the title. Quantum Elecrodynamics is the quantum field theory of EM.


text:
I hate typing the same code over and over, and DRY can only take you so far. I also hate making the same changes over and over. So I've "tweaked" some of the templates that came with Flash Builder and I've added many to automate the tasks I do frequently. I've made them available for download. You'll need to unzip the file and import the template file into your ActionScript code templates, or you can copy and paste any you find useful.
My version of the foriI loop through lots of things other than Arrays, and when I do loop through Arrays, I don't like to read the length on every loop. So I've modified the fori template.
for (var ${index}:int = 0; ${index} < ${loopVar}; ${index}++) { ${line_selection}${cursor} }
Looping through MovieClip/Sprite ChildrenA lot of times, I have a Class where I just know I'll have "some" instances of a specific type, but I don't want to dictate in advance how many that will be. So often I'll have code to find those children. I call this template "childLoop."
var loops:int = numChildren; for (var i:int = 0; i < loops; i++) { var ${varName}:${search_type} = getChildAt(i) as ${search_type}; if (${varName}) { ${cursor} } }
Push into an Array/VectorOften, inside a child loop, I'm inserting the children that match into a Vector. It's supposed to be faster to use the length property of an Array or Vector to add to it instead of using push(), so when I'm adding to the end of one of these, I use my "fastpush" template.
${arrayOrVector}[${arrayOrVector}.length] = ${newItem};
Sort the VectorOften, the instances aren't added to the stage in the correct order to match each with the piece of data that goes with it, so I have various sorting functions on hand, such as "leftToRightSort" that can be applied as the sort function to the Vector.
protected function leftToRight(btnA:DisplayObject, btnB:DisplayObject):Number { return (btnA.x - btnB.x); }
If setter value has changedFlash Builder has a great feature to generate a getter/setter pair from a variable declaration. Even through I'm working in Flash, I often check the box that allows you to dispatch a custom binding event (which doesn't do much in Flash, unless you wire it up yourself). What I do get from that is auto-generated code that checks to see if the variable's value has changed before doing something, such as removing/adding event listeners. Sometimes I forget to check that box or I decide that I don't want the overhead of having the event dispatched and I think that deleting that extra code is more effort than what advantage I get out of using the check box. In those cases, I add essentially the same code with the "ifValueChanged" template.
if(${myVar} != value) { ${myVar} = value; ${cursor} }Do you have favorite code templates? Please share in the comments section.


text:
The idea that the American Century is over may seem well founded. At home, the financial meltdown and imminent deep recession have exposed massive policy, regulatory, and enforcement failures. Overseas, the United States confronts partly self-inflicted dangers in the vast quadrangle bordered by Kurdistan, the Gaza Strip, Somalia, and Pakistan, alongside challenges from rising powers now coming into their own.
Yet there are reasons for optimism: Barack Obama's presidency could usher in an era of renewed American global leadership.
Even as the US appeared to be digging its own grave by recklessly invading Iraq and grossly mismanaging its own economy, few countries tried to exploit the opportunity to further weaken America. Allied nations in some cases vociferously opposed the Iraq war or refused to help in Afghanistan, but none sought to break its alliance with the US; it has even emerged that while former German Chancellor Gerhard Schröeder was lambasting the Bush administration, his intelligence agents were helping the US military strike Iraqi targets. China chose not to use America's Middle Eastern distractions to challenge the US-led order in Asia. India continued to seek closer ties with America. Even a newly aggressive Russia eschewed direct confrontation with Washington.
These countries – allies, strategic competitors, and potential foes alike – probably acted the way they did because they saw the downside of a world devoid of American power. For the allies, the calculus is simple: America guarantees their security.
For India, America provides a hedge against Chinese power. For China, an America-less Asia would bring to the surface latent but lethal rivalries among Japan, North Korea, South Korea, Taiwan, and China that could engulf Asia in war.
As for Russia, the demise of America would leave it alone facing a 1.3 billion-strong Chinese nation potentially eager to settle the empty former Chinese lands in the Russian Far East. America is uniquely valued as a market, a source of technology, and a place to educate elites.
Additionally, painful as it will be domestically, global recession ultimately will probably hurt other nations more than the United States. In China, Russia, Southeast Asia, and the poorer oil producers, economic downturns risk serious social and political upheavals. And in the developed world, neither the major European economies nor Japan are faring significantly better than the US. In relative terms, then, American power is not likely to decline as a result of the slump.
While these factors only mitigate the consequences of the financial and economic crises, they also suggest that the US could emerge stronger on a relative basis.
The US brings unique assets to the daunting challenges it faces. One is its extraordinary regenerative ability. In few other societies could a man with a name and background as exotic as Mr. Obama's hope to win much more than a seat on the city council. Though entrenched incumbents in the US are many, the barriers to entry into the highest echelons of public office are unusually low by international standards, as Obama, Arnold Schwarzenegger, Michael Bloomberg, and Bobby Jindal have demonstrated. Newness in itself is no guarantee of quality, but on balance is far preferable to rigid oligopolies. Japan, with four children or grandchildren of prime ministers (including the premier) in the cabinet, illustrates this.
Beyond political dynamism, US society continues to display a flexibility and openness that gives it not only renewal potential but also – despite its flaws – a high degree of competitiveness. It is no accident that so many of the discoveries, innovations, and new businesses and industries that are defining the early 21st century originate in America.
Finally, demography is a distinct advantage. The futures of Europe, Russia, Japan, and China are clouded by below-replacement fertility, in many cases low or near-zero immigration, and a rapidly aging citizenry. Though the US is not immune to population aging, its higher level of fertility combined with immigration gives it an enormous advantage.
Rebuilding a stable basis for American global leadership will of course require, among other things, changes in policy and strategy that restore the complex balance between diplomacy and force, and between consensus and coercion, so recklessly discarded during the Bush years. However, if the US is able to overcome the economic challenges of the coming years – something that cannot be taken for granted – there are structural and cultural factors that could cause it to emerge as an even more influential actor on the world stage.
Robert Dujarric is director of the Institute of Contemporary Japanese Studies at Temple University Japan in Tokyo. Andy Zelleke is a lecturer in public policy at the Harvard Kennedy School and codirector of its Center for Public Leadership.


text:
This chapter explains the basic concepts of Oracle Business Intelligence Discoverer Desktop. Being familiar with these concepts will help you work more effectively with Discoverer.
The topics covered in this chapter include:
Oracle Business Intelligence Discoverer is an intuitive ad-hoc query, reporting, analysis, and Web publishing toolset that gives business users immediate access to information in databases.
Oracle Business Intelligence Discoverer enables business users at all levels of the organization to make faster and more informed business decisions. Using any standard Web browser, you have secure and immediate access to data from both relational and multidimensional data sources. Oracle Business Intelligence Discoverer provides a business view to hide the complexity of the underlying data structures, enabling you to focus on solving business problems.
Oracle Business Intelligence Discoverer comprises a number of integrated components that work together with the Oracle database to give you a complete and integrated Business Intelligence solution.
Which Oracle Business Intelligence Discoverer component you use will depend on what you want to do. For example:
if you want to create new worksheets and analyze data from both relational and multi-dimensional data sources across the Web, you will use Discoverer Plus (Relational and OLAP)
if you want to create new worksheets and analyze data from relational data sources using a Windows application on a PC, you will use Discoverer Desktop
if you want to analyze data in existing worksheets, you will use Discoverer Viewer or Discoverer portlets (that have been added to an Oracle Portal page or Oracle WebCenter Spaces, using Discoverer Portlet Provider)
if you want to obtain Discoverer connections, workbooks, worksheets, and execute queries in Oracle BI Publisher, or from a Java client application using the SOAP protocol, you will use Discoverer Web Services
if you want to display Discoverer worksheets as gauges in dashboard-style portals, you will use Discoverer Portlet Provider and Discoverer portlets
if you want to manage the end user view of relational data, you will use Discoverer Administrator
The Oracle Business Intelligence Discoverer components use definitions of Discoverer objects stored in the Discoverer End User Layer or the Discoverer Catalog.
For more information about the Oracle Business Intelligence Discoverer components, see the Oracle Fusion Middleware Administrator's Guide for Oracle Business Intelligence Discoverer.
No new features have been added to Discoverer Desktop in this release. Where necessary, changes to the product have been made for compatibility reasons (for example, to integrate with new versions of other Oracle products).
Oracle Business Intelligence Discoverer Desktop is a data access tool. You use it to view the information in your company's databases. The whole purpose of Discoverer Desktop is to help you—the business professional—view the data you want from a database, analyze it to support your business decisions, and create reports to keep track of things.
Discoverer Desktop solves many of the problems normally associated with databases so that now you can easily:
Find data that you know is in the database.
See data displayed quickly without waiting for the computer to spend a long time searching through the entire database.
View data in a familiar format that is easy to read and understand.
Analyze data using a wide array of techniques including drilling up and down through the data's details, finding data that meets certain conditions or that falls within ranges you specify, sorting data, comparing results from "what if" scenarios, and so on.
Prepare reports of your analytical results and findings.
Share data with others, and in other applications (such as Excel).
Discoverer Desktop uses a new, unique way of accessing data. Comparing Discoverer Desktop with previous data-access methods can help you understand the new concepts that you will use with the Discoverer Desktop.
The following two figures compare the old fashioned, data access methods with the new Discoverer Desktop methods.
A business area is a logical grouping of database tables or views that apply to your specific data requirements. For example, the accounting department wants data about budgets and finance, while project leaders want data specifically about their projects as well as about budgets. Although some of the data you need may be the same (such as the budgets folder as shown in the following figure), the exact combination of tables and views for each department is usually unique. Using Discoverer Administrator, your Database administrator tailors the grouping of data to provide you with the proper access to the precise data needed for analysis, decision support, and presentation of results.
Think of a workbook as a three-ring binder filled with specific data for specific tasks. The workbook has pages, or worksheets, that contain data for the specific tasks. For example, if the workbook is for sales and profit data, one worksheet in it might be a table listing your profit for sales versus rentals. Another worksheet might be a comparison of your profit over the last two years by sales region.
The sample database that you receive with Discoverer contains data from a fictitious video store business. The sample data covers many topics including:
Sales Region
Sum of Profit
Size of Store (in square feet)
Type of Store Design (Compact, Modern, or traditional)
Store Name, and so on.
Discoverer also comes with its own sample workbooks, that you can use to analyze the example data.
A query is simply a search of the database that finds and retrieves the data you want. Each worksheet in a workbook contains the result of a query. So, when you see the term "query" while working with Discoverer Desktop, you can think of it as a worksheet with retrieved data.
Your Database Administrator usually supplies the various passwords and server access instructions to log on to Discoverer Desktop and open a workbook. The following steps explain the basic process.
Note:The Database Administrator at your company will have designed the workbooks that you can open. If you have questions about the workbook names, whether you have access to them, the location of workbooks on company servers, and so on, see your Database Administrator.
From the Windows Start menu, choose Programs | Oracle Business Intelligence Tools - <HOME_NAME> | Discoverer Desktop.
The Connect to Discoverer Desktop dialog appears (Figure 1-7). Your user name should already be in the Username box. If not enter it in the Username box.
In the Password box, enter your password.
Passwords are case-sensitive in Oracle databases (Enterprise Edition version 11.1 or later).
In the Connect box, enter the name of the database that you wish to use.
See your Database Administrator for password and database name details.
Note:For information about connecting to an Oracle Applications EUL, see Appendix B, "Configuring the Oracle Applications user Connect dialog".
Click Connect.
The first screen of the Workbook Wizard appears. The wizard steps you through the process to get the specific data you want to see.
Create a new workbook—starts the process to create a new workbook. This option is not available if you don't have access rights granted by the Database Administrator. See Chapter 7, "Building Worksheets and Workbooks" for details about creating a new workbook.
Open an existing workbook—shows options for opening one of your existing workbooks.
Click Open an Existing Workbook. The next Workbook Wizard dialog box shows options for opening your existing workbooks:
My Computer—opens a dialog box for selecting a workbook stored on your local computer or on a server on your business network.
Database—opens a dialog box for selecting a workbook stored as part of a specific database. The workbook can be shared easily with others who have access to the database.
Scheduling Manager—displays a list of workbooks previously scheduled to run at a certain times (usually overnight, on a weekend, or at some periodic interval). Scheduled workbooks run automatically and are available when you need to open them.
Recently Used List—shows the workbooks you've previously opened (see Figure 1-10 for an example). If you usually work with the same workbooks on a daily basis, this option is the quickest way to open a workbook.
If you choose My Computer from the Where is the workbook you want to open? options, a dialog box appears for you to select the workbook to open:
Select the workbook name and click Open, or just double-click the name.
A dialog box asks if you want to run the query for the worksheet.
A query causes Discoverer Desktop to find the most recent data to fill in the worksheet. Normally you click Yes because you want to see the most recent data associated with the sheet. Click No if you don't want to see the data in the worksheet. For example, click No if you want to create a new worksheet and don't need to see the data on the existing worksheet. See Chapter 7, "Building Worksheets and Workbooks" for details to create a new worksheet.
Discoverer Desktop now evaluates the query to determine how much time it will take to open the workbook and shows you an estimate. Click Yes to see the data.
This dialog box is mainly for your convenience because, if the query time is more than a few minutes, you can be doing other work while Discoverer Desktop gets the data for the worksheet.
If you can't wait the estimated time, click No. Discoverer Desktop will remain open, but the worksheet will be empty.
If you click Yes, a dialog box shows you the progress and elapsed time while Discoverer Desktop is finding the data. At the end of the process, your workbook appears. Here's a sample:
You can open several workbooks at a time and switch back and forth between them. This is an excellent way to compare data to find specific analytical results.
When several workbooks are open at the same time, use the Window menu to switch between them:
To open another workbook:
The Open Workbook dialog box appears. Its options are the same as when you were opening the first workbook (see Figure 1-9).
Click one of the options.
A dialog box for the selected Open Workbook type appears.
Select a workbook and click Open.
If the workbook you select is stored in another database account, a dialog box appears for you to open the new workbook.
Click one of the options and click OK.
If you select the first option in the dialog box, the workbooks currently open will close before the new workbook opens. A message gives you the option to not close the currently open workbooks.
Note: You can turn off this dialog box. See Section 8.5, "Setting Options".
If your business uses other, non-Oracle databases your Database Administrator can set up Discoverer to open workbooks in those databases. You can then use the features of Discoverer Desktop to access the data. However, depending on the type of database, you may not be able to use all the data access and analysis features available with Oracle databases
The basic process to open workbooks in the other, non-Oracle databases is essentially the same as opening a workbook in an Oracle database. Please see your Database Administrator for the correct steps to open the workbooks.
A workbook's properties provide basic information about the workbook.
To see a workbook's properties:
Open the workbook.
Choose File | Manage Workbooks | Properties.
The Workbook Properties dialog box appears showing information about the Workbook. You can record additional information about the workbook in the Description box.
Note:Identifiers are unique names that Discoverer uses to identify EUL and Workbook elements, (e.g. Business Areas, Folders, Items etc). The default Identifier value is generated automatically by Discoverer. Do not change Identifiers except under the following circumstances:
The Identifier must be changed to comply with strict naming conventions.
An element has been deleted and needs to be recreated with the same Identifier.
If you do change an Identifier, you must update matching identifiers in other EULs to reflect the change.
The tabs on the bottom of the workbook window show the various worksheets in the workbook. Clicking a tab switches to the next worksheet.
The following figure shows only two tabs, but your workbook may have several worksheets—hence, more tabs.
To switch to another worksheet:
Click the appropriate tab at the bottom of the workbook window. Use the scroll button if necessary to see additional worksheets. You can also use the key combinations Ctrl Pg Up and Ctrl Pg Dn to cycle through the tabs.
If you've already opened the worksheet, clicking the tab switches to it immediately. If you haven't opened it yet, Discoverer Desktop searches the business area to find the data that belongs on the worksheet. Because each worksheet involves a query (search) of the business area, opening a worksheet for the first time takes a few moments while the search is completed. A dialog box reminds you that the search will take place.
Click Yes to open the worksheet.
Discoverer Desktop then estimates the time involved for the search and gives you the option to open the worksheet. Click OK to open the worksheet.
If you decide not to open a worksheet and click Cancel, but then later click on the worksheet tab to open it, this dialog box does not appear. Choose Sheet | Refresh Sheet to retrieve the data.
Saving a workbook saves all of its changes. You have two options:
To save a workbook, choose File | Save. The changes are saved and the workbook remains open.
To close and save a workbook at the same time, choose File | Close. If you haven't made changes to any worksheet in the workbook, it closes.
If the workbook contains any unsaved changes on any worksheet, a dialog box reminds you to save the changes.
Click Yes to save the changes; click No to close the workbook without saving the changes; click Cancel to keep the workbook open without saving the changes.
To save the workbook under a different name:
A dialog box appears for you to specify where you want to save the renamed workbook.
Select an option from the Save Workbook dialog box and click Save.
My Computer - saves the workbook locally on your computer.
Database - saves the workbook with the database.
If you select My Computer, the Save As dialog box appears (Figure 1-24). Enter a new name and click Save.
If you select Database, the Save Workbook to Database dialog box appears and lists the workbooks already saved to the database (Figure 1-25). Enter a new name for the workbook and click Save.
Deleting a workbook from the database permanently removes it. You should not delete a workbook from the database unless you are absolutely certain that you won't need it in the future.
To delete a workbook from the database:
Choose File | Manage Workbooks | Delete.
The Delete Workbook from Database dialog box appears and lists the workbooks currently in the database.
Click the name of the workbook you want to delete, then click Delete.
If you saved a workbook locally on your computer, deleting it removes it from your computer, but not from the database.
To remove a workbook from your computer, use Windows Explorer or the My Computer icon to remove the workbook as you would any other file.


text:
Bake the Book: Ozark Pudding Cake
Get the Recipe
Ozark Cake is a simple, rustic pear cake prepared in a cast-iron skillet from the "hasty cakes" chapter of Vintage Cakes. It takes very little time to assemble, but be sure to take your time enjoying it. With a buttery-crisp sticky bottom and soft center, it's a little hard to stop at one slice.
Tips: The recipe cautions to take the cake out when it's barely done baking, as it keeps cooking in the warm pan. The best way to determine this is to look for a golden-brown tint, deepening to darker brown on the edges. Test with a fork as it gets closer to 40 minutes; you may need more time.
Tweaks: If pears aren't your thing, make this recipe with thinly sliced apples. And if you don't have cranberries, don't fret; they're not totally necessary to enjoying the cake.
Get the Recipe
As always with our Bake the Book feature, we have five (5) copies of Vintage Cakes to give away.
This post may contain links to Amazon or other partners; your purchases via these links can benefit Serious Eats. Read more about our affiliate linking policy.


text:
Your guide to skiing at Mount Ruapehu
Rising dramatically 2797m out of the Central Plateau, this vast volcanic beauty has two commercial ski areas.
Mt Ruapehu is the jewel of the dual World Heritage-listed Tongariro National Park, notable not only as an outstanding natural adventure playground for skiing, hiking, rafting and climbing, but also for its cultural significance. The sacred peaks of Tongariro were gifted to the nation in 1887 by the Maori tribe Ngati Tuwharetoa.
Although they're an hour's drive apart, Whakapapa and Turoa share the same ski passes so with a multi-day ski pass, you can ski at both.
The country's largest, most developed ski area has big basins, steep chutes, drop-offs and powder stashes. During summer, guided walks will take you to the country's largest active volcanic crater lake on the summit. Famous for: warm, north facing slopes, high capacity lifts and fun snow-filled bowls!
- 14 lifts - 15,000 people per hour
- 500 hectares of skiing
- 675m vertical decent
- 161cm average annual snowbase
On Mt Ruapehu's south-western side, Turoa is a wide open bowl. It caters for beginners to expert skiers and boarders and boasts the largest vertical drop of 722m in the whole of Australasia. The ski area is accessed by a 17km scenic, sealed road from the bustling town of Ohakune. Famous for: wide open slopes, longest vertical drop in Australasia, views of Mt Taranaki and walk to Dome Hut on a really good day!
- 10 lifts - 13,500 people per hour
- 500 hectares of skiing
- 722m vertical decent
- 183cm average annual snowbase
Nearby towns
National Park village
You can hedge your bets when you base yourself at this compact alpine village at the junction of State Highway 47 and State Highway 4. It's approximately 20 minutes' drive to Whakapapa or 55 minutes to Turoa, so before you leave for your day on the slopes, you can check the conditions and pick the best side of the mountain. There's a general store, pub and ski hire but you'll need to shop for food supplies before you arrive here.
The North Island's alpine party town, Ohakune is the ultimate base if you're hitting Turoa's slopes. The rural town is also also home to summer outdoor pursuits such as mountain climbing and horse trekking.
Eleven kilometres along the farm-lined road from Ohakune, Raetihi's a good place to stay if you want to get away from the action of Ohakune. You'll see utes parked in the wide main street with farm dogs on the back. All the basics can be purchased here with a supermarket and a range of shops. Raetihi is a base for white-water rafting and trout fishing.
Right on the 39° latitude line, Owhango is a little town with a store, pub and ski hire. It's on State Highway 4, north of National Park. Nestled amidst dairy, cattle, sheep and deer farms, Owhango is the home of New Zealand's foremost mountain bike trail - the 42 Traverse and a launch point for kayakers, rainbow and brown trout fishers and trampers.
Forty minutes by road to Whakapapa ski area, tranquil Turangi is nestled on the banks of the Tongario River, famous for its terrific trout fishing. There's plenty of adventure activities here when the mountain's closed, including white water rafting, hiking and mountain biking.
Turangi has a good shopping centre with a supermarket - one of the few in the region - and Tokaanu hot pools are a few minutes away - perfect for relieving those tired muscles after a day on the slopes.
Bookabach is New Zealand's favourite holiday home website. Find a bach / holiday home to stay in when you visit Mt Ruapehu. www.bookabach.co.nz/mount-ruapehu


text:
Your browser does not support iframes.
By DAVE TAYLOR
The Trimble Banner
The Trimble County Raiders battled strong against Williamstown Thursday, overcoming a seven-point halftime deficit to take a seven-point lead with 1:38 remaining to play in the third quarter. Unfortunately for Trimble, the wheels came off the Raider scoring machine in the final eight minutes of play and the visiting Demons left Bedford with a 67-52 win.
By DAVE TAYLOR
The Trimble Banner
The Trimble County Lady Raiders wrapped up the North Central Kentucky Conference championship Friday in convincing fashion by overpowering visiting Owen County by a 55-26 score.
By DAVE TAYLOR
The Trimble Banner
Trimble's youthful Raiders came through for the team's two seniors Monday, overpowering Thomas Nelson, 69-42, in the Raiders' final home appearance of the 2016-17 season.
"It was a good night for Senior Night. Donovan [Liter] and Adam [Young]both played well," Trimble coach Stacey May said.
Trimble County's young Raider varsity picked up their second win of the season on Wednesday, Jan. 25, topping Brown in a thriller at home, 59-52.
The Raiders were 19 of 46 from the field for 41 percent and sank 15 of 22 free throw attempts for 68 percent.
Troy Grieshaber led the Raider offensive attack with 18 points. Evan Stevens had 12 points, Shane Mills 11, Reece Webster 9, Adam Young 6 and Logan Clifford 3.
Mills was Trimble's top rebounder with 9 caroms. Clifford and Stevens each pulled down 5 boards and Grieshaber had 4.
By DAVE TAYLOR
The Trimble Banner
Trimble's lady hoopsters squared off against a much younger and smaller team Friday after advancing to the quarterfinal round of the All A Classic. West Carter's roster included three sophomores, four freshmen, six eighth graders and one seventh grader, with nobody in the lineup stretching a measuring tape past 5'7".
By DAVE TAYLOR
The Trimble Banner
The Trimble County Lady Raiders opened play in the All A Classic Wednesday morning with a 35-23 defeat of Presentation Academy out of Louisville. The game marked the fourth appearance in the prestigious tournament for small schools for a Trimble County girls' basketball team.
The Lady Raiders ran out to a quick 12-5 advantage in the first eight minutes of play behind sharpshooting sophomore Bailey Duke who scored 13 of her game-high 15 points in the first half, including nine points from beyond the three-point arc.
By Trevor Browning
Special to The Trimble Banner
Over the weekend, the Trimble County High School cheerleaders experienced an entirely new concept: teaching. This past Saturday the squad held a cheer camp at the high school for the benefit of young girls and, possibly, future cheerleaders in the form of a fundraiser, which also helped to raise money for the squad's endeavors.
Copyright © 2019
The Trimble Banner is your source for local news, sports, events, and information in Trimble County, KY and the surrounding area.


text:
NORTH MANCHESTER, IND, - Manchester University put four players in double figures Thursday, Feb. 6, to highlight a Heartland Collegiate Athletic Conference clash with Bluffton University.
MU rallied back from a pair of 12-point deficits. The second such rally, an 11-1 stretch from the 6:01 to 00:07 marks of the second half, put the Spartans (5-15 overall, 4-9 HCAC) down only 56-54. After junior guard Grant Newlin (Muncie, Ind.) hit one of two free throws, sophomore forward Jarod Schrock (Logansport, Ind.) grabbed the rebound and fed freshman guard Chase Casteel (Monrovia, Ind.). Casteel, with four seconds left, let go of a three-point bucket that rimmed out, and Bluffton (8-12, 4-9 HCAC) got the rebound, hitting two free throws after a foul to seal the 58-54 win.
Freshman guard Blake Brouwer (Elkhart, Ind.) recorded his first collegiate double-double with 11 points and 11 rebounds, while junior forward Jon Thompson (Rushville, Ind.) continued his impressive play with 18 points, eight rebounds and three steals. Sophomore guard Brady Dolezal (Tipton, Ind.) chipped 11 points, and Newlin ended with 10 points to round out the home side's double-figure quartet.
The final statistics bore out how close the contest was. Both teams hit just over 36 percent from the field, below 25 percent from outside the arc and in the upper 60s from the free throw line. A 41-32 rebounding advantage for the visitors was key, as the inside duo of senior Will Pope and sophomore Thayne Recker combined for 19 boards and 17 points.
Manchester University wraps up a five-game homestand Saturday, Feb. 8. League-leading Rose-Hulman comes to North Manchester for a 5 p.m. tipoff.
NOTES: Dolezal extended his double figure scoring streak to eight games … Brouwer registered his ninth double-figure scoring contest, including his second in the last three contests. The 11 rebounds were a personal single game high … Thompson ended in double digits for the eighth time in 10 games this year. … With five games remaining, the Black and Gold are part of a three-way tie for seventh, just a game behind Transylvania University for the sixth and final conference postseason tournament spot.


text:
Please login first to complete purchase/ quotation request, view custom order reports, or create favorites list.
Don't have an account with us yet? Please set up an account to place order or obtain customer services.
This peptide is composed of gp91phox sequence linked to the human immunodeficiency virus-tat peptide. The tat sequence facilitates the entry of this peptide into all cells. It is used as a peptide inhibitor for NADPH oxidase assembly.


text:
Blusher rarely lasts more than 3 hours on me, so I've recently started layering (if I have time!) my blush! I use a cream or gel underneath followed by a powder on top.
Origins Pinch Your Cheeks is a old school beauty product! I remember owning this many moons ago when I was at high school – perhaps I had convinced my mum to buy it for me!
This now comes in 2 shades, Coralberry (warm toned pink) and Raspberry (cool toned pink).
Pinch Your Cheeks is both subtle but also long lasting because it is essentially a stain! It comes in this dinky tube which is super handy to carry round – you do only get 3ml which isn't much product but a little goes a long way. This will literally fit into the smallest of make up bags.
Coralberry looks like a sheer red with a tinge of orange to me. It has a gel texture and you do have to be quite quick with it because it WILL leave a stain on your fingers. You can also apply it to your lips if you are feeling lazy!
Despite it's bright colour it does lends away to almost nothing. Here is a the product on my cheek – perhaps on fairer girls the colour is stronger, on me, it's pretty subtle:
This is one of the classic products that some people love, some people don't. If you are looking for a product that's similar to Benefit's Benetint but is a gel texture and it more compact then this colour be a really nice product for you.
You can buy the product here for £12.


text:
Transfer News: No offers for Manchester United target Thiago Alcantara
Barcelona sources have told Sky Sports that they have yet to receive an official approach for Thiago Alcantara.
By Francisco Acedo
Last Updated: 05/07/13 10:59am
The future of the 22-year-old remains far from certain with Manchester United and Bayern Munich both closely linked with the midfielder, who reportedly wants to leave the Camp Nou.
The player is due to return to pre-season training after playing a starring role in Spain's European Under-21 Championship success.
Reports claim that Barca sporting director Andoni Zubizarreta met with the player's father and agent - former Brazilian international Mazinho - on Thursday, and told him the club want a decision on Alcantara's future in ten days.
When approached by Sky Sports, a Barcelona source would only say: "We still have not received any formal offer for the player."
It is claimed Barcelona are not looking to negotiate Alcantara's sale with anyone, but he is widely reported to have a buy-out clause of just over £15million so they would be unable to prevent him leaving if this figure was met.
Reports suggest that Alcantara does not believe he will be able to claim a regular starting spot ahead of the likes of Xavi, Andres Iniesta and Cesc Fabregas, which is why he is keen to look for regular first-team action elsewhere.
Last season Alcantara started just 15 league games for Barca, and of those he was taken off seven times.


text:
I am trying to say I always have feelings about you in a different way:
My feelings for you never __
My first thought was reduced, but it seems that reduce is for size.
(I remember hearing something similar in some movies, but I can't remember the name of it.)
What's a good word to use here?


text:
Even dawdlers deserve a beach escape. If you missed your chance to head south in the nippiest months of winter, hop on a plane to Miami tomorrow and say 'sláinte' to St. Patrick's Day from your lounger by the pool at The Betsy hotel.
Style Colonial cool
Setting Beachside deco district
Why this week? The Florida forecast calls for seemingly endless 80-degree days. Get a head start on your summer tan with 20 per cent off last-minute stays through the end of March.
Our favourite bits There are plenty of ways to make a splash at The Betsy. The pool is surrounded by sunloungers for prime people-watching, and just across the road is an idyllic stretch of white-sand beach. Once you're fully bronzed, retreat to the bright colonial-style rooms to prepare for dinner at the hotel's restaurant, BLT Steak, or a hot night on the lively South Beach strip.
Mr & Mrs Smith say… 'The high-ceilinged ground floor houses the open-plan reception, restaurant and a lounge bar that's perfect for sofa-flopping and caipirinha-sipping. (Cocktails are expertly mixed here.) This is a ceiling-fan–cooled heaven; it's also a showcase for the hotel's changing art exhibits. Across the road on South Beach, the Betsy commands its own strip of sand, replete with chaises, parasols, well-stocked bar and excellent service. Within moments Mr and Mrs Smith are lounging by the water, iced drink in hand. South Beach is a melting pot of people-watching: the gay, straight, young, old, toned and tubby all amble past. ' Read more about the Betsy hotel, or find more hotels in Miami.


text:
Art is just a stroll away in Marion
News editor
Toby Flores of Hays was one of the artists demonstrating his work during the third annual summer Art and Music Stroll Sunday in downtown Marion, blacksmithing behind Gallery 101's sculpture garden with help from his son, Cooper.
"We came just for this," Flores said.
Flores visited Marion in March to help with an aluminum casting art project at Marion High School. Art teacher Janessa Wood was a student of Flores' at Fort Hays State University, where he teaches sculpture.
After helping with that project, he explored the town and met Davis at her art gallery. After chatting, Davis invited Flores to demonstrate his work at the Art and Music Stroll.
Flores prefers to make a mix of practical and decorative work.
"I like to make art, and I like to make sculpture," he said.
Flores specializes in metal casting, but he learned about blacksmithing during his graduate studies at Southern Illinois University.
Cooper Flores said one of the challenges of blacksmithing is that the iron can get hot enough to melt if you don't pay close enough attention to it. He said that has happened to him a couple of times while he has been learning.
Flores spent almost as much time interacting with people who watched his demonstration as he did on his work. He said that early on in his demonstration, a woman brought a rose made from iron. Forging a rose of iron is an old test of blacksmithing skill, he said, and this was the most beautiful one he'd ever seen.
Jim Higinbotham of Wichita spent time talking with Flores, recounting the heat-treated hammer that he made in eighth grade, and Flores gave him a refresher on how iron and steel can be heat-treated.


text:
Middlesex Gases & Technologies is New England's premier independent industrial gas supplier. Our welding expertise spans basic oxy-acetylene to complex industrial piping installations and welding automation. Our expert team can provide on-site safety training in addition to providing the best equipment for the job.
Explore our Industrial site to learn about our programs and products.


text:
November/December 09 Updates
November/December 09 Updates
Welcome to our November/December Artist Update – everything you need to know about the worldwide SONOR artist family!
CHRISTOPH SCHNEIDER and RAMMSTEIN are touring Europe with an energetic and explosive tour (everybody that attended a show previously knows what I'm talking about!) – check out the tourdates on www.rammstein.com.
As posted earlier, Christoph got a brandnew SQ2 series kit consisting of 2x 24x19" Bass Drums, 14x13" Tom Tom, 20x15" Gong Tom, 16x15" Floor Tom, 18x17" Floor Tom – all made out of Medium Maple shells, as well as a 12x5" Snare Drum with Heavy Birch shell. His kit is entirely wrapped with our new "Red Tribal" finish that we introduced this year. The main snare drum that he uses live is our 14x6" Artist Series Bell Bronze model.
For the recording of the new album "Liebe ist für alle da" Christoph used Delite Drums (Vintage Maple Shells).
Check out the Making of Videos of "Pussy", the first single outtake – and notice what his band mates have to say about Christoph's drumming AND his new drums!!
MIKE MARSH and DASHBOARD CONFESSIONAL are still touring the US until mid of December and it was recently announced that they will support Bon Jovi on their next US run from February to April in 2010! Even though lots of the dates are already sold out, you might still be able to get your hands on a ticket: www.pollstar.com/resultsArtist.aspx.
DANNY CAREY (TOOL) is announced to play the Guitar Center's "Drum Off" Grand Final event January 8, 2010 that will take place at the Wiltern Club (3790 Wilshire Blvd, Los Angeles, CA 90010). Tickets for the show are $10 - more information: www.tickets.livenation.com.
BENNY GREB just returned from his US clinic tour back home to Germany safely. The tour was simply a huge success with so many interested people showing up – just for example the 600 people in Salt Lake City. Big Thanks to everybody that showed up during the tour!! Learn more about Benny: www.bennygreb.com.
Stay tuned for more!


text:
Purchase Cartier
Cartier Font
The Cartier is a modern hand lettering script. It's allowing you to create beautiful hand-made typography in an instant.
- Cartier
Cartier View all glyphs
Lifetime licence for personal and commercial use.
Need Multi-user licenses?
Want to access all fonts?
- Unlimited access to all fonts
- New fonts added daily
- No download limit
- For any commercial project
$19/monthBuy Unlimited Cancel anytime
View font specimen
Add to favorites
Add to favorites
- Including commercial license Every download & purchase includes our premium commercial license. Read about our license.
- Premium technical support Having issues? We're here to provide you with the expert technical support to suit all your needs.
- Crafter friendly Besides standard software such as Illustrator & Photoshop, this font works perfectly with any type of software including Cricut Design Space & Silhouette Studio, MS Word, PicMonkey and many more.
- Unlimited downloads Your purchases are always available online and can be downloaded an unlimited number of times.
- PUA encoded This font contains extra characters that are PUA encoded. Not to worry, they are accessible everywhere. Click here to read how to access them.
Graphix Line Studio
Follow DesignerView profile
Download thousands of premium fonts Get them all for just $19 Learn more


text: Krapea.com is the website for the Swedish furniture manufacturer Krapea, a parody of IKEA, in Grand Theft Auto IV. The website depicts some of the products available at Krapea stores, as well as other information about the company. At the very bottom of the web page, "KRAPEA" is spelled, but the K and A are half-missing, making it look like RAPE. A running joke on the website is that the Krapea people frequently talk about how they laugh at other people's misery, how melancholy they are, and how they live in a country where the sun doesn't shine for six months.


text:
Tails of Woe/
Welcome back! This will be a shorter article that continues the concern for tails that we established in the inaugural T. rex tail post a couple weeks ago. There is an all too common error that artists make when they attempt to impart a sense of to dynamic motion to their dinosaurs - and in particular to the dromaeosaurs. They flex the tail up at the base so sharply that it would break the tail...if not break the pelvis!
Tail Tales: Break Dancing
We all like lively dancing dinosaurs; after a century of seeing moribund dinosaurs in swamps it's understandable that modern artists want to convey the "awesomeness" of their subjects. If you ask me it can go too far sometimes - animals don't live their lives at 90 miles an hour - but we can all grasp the excitement of making a dynamic composition. One way to impart motion is to have the tail doing something dramatic. Alas, enhancing your dancing dinosaur this way without considering the anatomy may lead to an image where the animal has its tail disarticulated, or worse.
I mentioned dromaeosaur images tend to be among the worse offenders, and I know some of you are thinking "I've read that dromaeosaur tails can flex upwards at a 90 degree angle at the base of the tail!!!". And it's true, the first several tail vertebrae are modified in such a way as to provide an expanded degree of flexibility (for up and down motion...not so much side to side), which means they have the ability to tilt the tail up sharply, to intimidate a rival, or just to better fit on your piece of paper. But it's important to note that this tilt up takes place over the course of several vertebrae, meaning it can't happen like this:
At least it can't happen more than once unless the animal has good health insurance. Now I certainly don't want to pick on Chris Srnka here - he's a fine artist and a lot of people make this mistake - this was just a great image to demonstrate the problem. If you look at the image in handy-dandy X-ray format (as provided by Photoshop.
That red arrow is the steepest possible angle the tail could take emerging from the pelvis. Why? Dinosaur pelves have many vertebrae built into the sacrum (adding vertebrae to the sacrum is actually one of the characters that define what is and what isn't a dinosaur). That sacrum fuses together and to the pelvis in adults, but even in juveniles there are no moving parts involved.
Front is to the left, the tail would be to the right (Carpenter & Wilson, 2008)
See? There's just nothing that could move, even hypothetically. In the case of dromaeosaurs the tail flexes up by spreading that 80 or so degrees of motion over 6+ joints, so none is flexing more than 14 degrees. Here is a diagram of it:
So no more dromaeosaurs with tails growing out of their sacrum, please.
This isn't just a dromaeosaur problem either. Many artists try to arch the tail base up on dinosaurs who don't naturally do this, and in so doing end up disarticulating the tail (or breaking the sacrum). Even
Greg Paul's early Daspletosaurus painting fell prey to this temptation.
(Daspletosaurus, copyright Greg Paul, image from here.)
The problem is a bit more subtle in this painting, but the line of the vertebral column should extend gently down from the pelvis, while in this case it is flexed up right at the sacrum/tail juncture. This would require a 25-30 degree flexure right at the first tail vertebrae (or else some flexing of the sacrum), which isn't going to happen without making the animal wince in sharp pain and reach for some Advil poste haste - and tyrannosaurs have horribly adapted arms for taking pain killers.
There are some important exceptions here. Many sauropods, stegosaurs, and hadrosaurs have a bit of an upwards arch naturally at the tail base as it exits the pelvis. Obviously those should have a bit of an arch (how much depends on the species in question). But for most other dinosaurs, an arch of that magnitude isn't possible that immediately after the pelvis.
Sauropods like Mamenchisaurus have a natural flex in the tail base...but it still happens after the pelvis!
So remember, dinosaur tails may be flexible (depending on the group), but they aren't silly putty. The vertebrae still need to articulate, and any motion you put into the tail needs to start after the hips, as the sacrum just can't bend.
Till next time, don't create your own tails of woe!
Barsbold, R. (1983). Carnivorous dinosaurs from the Cretaceous of Mongolia, Transactions of the Joint Soviet-Mongolian Paleontological Expedition v19, pp 5–119.
Carpenter, K. & Wilson, Y. (2008) A New Species of Camptosaurus (Ornithopoda: Dinosauria) from the Morrison Formation (Upper Jurassic) of Dinosaur National Monument, Utah, and a Biomechanical Analysis of Its Forelimb, Annals of Carnegie Museum, v76 n4, pp 227-263.


text:
December 5, 2012
PROVIDENCE—Lt. Governor Elizabeth Roberts and Major General Kevin McBride, Adjutant General of Rhode Island and Commanding General of Rhode Island National Guard, will welcome dozens of volunteers at the 10th Annual "Operation Holiday Cheer" collection drive at 10:30 am on Saturday, December 8th, at the Rhode Island National Guard Armory, 541 Airport Road in Warwick. The operation involves collecting donations of troops' most requested items from the public and corporate/community sponsors, and filling 350 holiday care packages for Rhode Island service men and women who will be serving abroad at the holidays. The US Postal Service will be on site to prepare the packages for shipment overseas.
Product donations from the troops' "Wish List," as well as cards and letters to the troops, will be accepted from 9 am - 1 pm on Saturday, December 8th, at the Warwick Armory. The Wish List is available online at: www.ltgov.state.ri.ud/ohc.
Corporate and community sponsors have already made or pledged tens of thousands of dollars in wish list items and for postage. Thousands of additional wish list items are expected Saturday from the general public. On Sunday, December 9th, beginning at 9 am at the Warwick Armory, volunteers will fill care packages and prepare them for shipping overseas to arrive in time for the holidays.
Corporate and community sponsors to date include: AAA Southern New England, Alphagraphics, American Red Cross RI Chapter, Amica Mutual Insurance Company, Bank of America, BankNewport, Banneker Industries, Blue Star Moms, Combat Veterans Motorcycle Association, CVS Caremark, Del's Lemonade, Dunkin Donuts, East Bay Newspapers, Hasbro, Home Depot, International Union of Operating Engineers Local 57, National Grid, New England Coffee/Autocrat, New England Patriots, Nortek, Ocean State Job Lot, Patriot Guard Riders, Pawtucket Red Sox, Providence Journal, RI National Guard and family members, RI National Guard Family Assistance Center, RI Resource Recovery Corp, and United States Postal Service.
Online monetary donations can be made via the American Red Cross RI Chapter web site at www.riredcross.org, mailed to the American Red Cross Rhode Island Chapter to the attention of Operation Holiday Cheer at 105 Gano St., Providence, RI 02906, or dropped off at Saturday's event.
Operation Holiday Cheer is coordinated by the Lt. Governor's Office and the RI National Guard Family Assistance Program.


text:
Could there be a more awkward and irritating title for a television show than ABC's new "Marvel's Agents of S.H.I.E.L.D."? Why couldn't they just call it what it is: "That Avengers Spinoff"?
Oh right, because there are no Avengers in it.
Which is precisely the point. Joss Whedon has constructed not so much a sequel to the "Avengers" movie as a parallel track to it by using some of the film's superheroes as support staff. Just as J.R.R. Tolkien eventually split his fellowship into various adventures in "The Lord of the Rings," Whedon and Marvel are attempting to broaden the story's already multi-platform universe by giving it concurrent plotlines.
"This is the new world," says "Avengers" alum Maria Hill (Cobie Smulders), referring to the post-Battle of New York clean-up and generally bolstering continuity.
Agent Phil Coulson (Clark Gregg), who has been miraculously resurrected, is back to keep things running in this gods-and-monsters age, with the help of Strategic Homeland Intervention, Enforcement and Logistics Division. The name, which was a running gag in "Iron Man," continues as joke fodder. But seriously, ABC, if you can bring Coulson back from the dead, it is not too late to rethink the punctuation.
Though unaltered by radiation, chemical injection, nuclear hardware, Norse divinity or just old-fashioned abusive assassin-training, it is a crack team whose members take their jobs seriously. As recruit Grant Ward (Brett Dalton) quickly discovers when he is shipped home from Paris to aid Coulson in an investigation into "unregistered gifted."
As Whedon walks us through his version of the Bat Cave, we meet FitzSimmons, i.e., engineer Leo Fitz (Iain De Caestecker) and biochemist Jemma Simmons (Elizabeth Henstridge), an adorably British-accented couple who, in between performing miracles with computer screens, get to say things like "I'm not Hermione, I can't create instant paralysis with that."
But then, this being Whedon, everyone gets their fair share of witty asides. That includes cantankerous ace pilot Melinda May (Ming-Na Wen) and pesky S.H.I.E.L.D hacker eventually turned brilliant new team member Skye (Chloe Bennet). Who is, it will surprise no one to learn, also beautiful.
Fringe Division having been shut down earlier this year, it falls to S.H.I.E.L.D. to investigate those out-of-the-ordinary crimes and occurrences that so often indicate an angry alien, supervillain or government conspiracy. In the pilot, these events include ordinary people suddenly displaying super powers.
Not, as it turns out, good, Captain America-like super powers, but bad kill-you-and-those-around-you super powers. The action peaks with what seems like a standard bit of monologuing, but which really sets up the whole series — how do ordinary people cope with a world run amok?
Hit films have spawned many television adaptations, some of which are successful ("MASH"), some less so ("Terminator: The Sarah Connor Chronicles"). But there's never been a live-action series running not just concurrently with its franchise, but also in narrative sync. S.H.I.E.L.D. exists to keep things from getting to the point that the Avengers must be called in. A brand-expanding gambit, yes, but also a very clever concept.
Especially in the hands of someone who really understands TV. Though there's CG aplenty, the pilot is nowhere near as in-your-face as one might expect. Whedon understands that though television can do many things, it cannot out-blockbuster a blockbuster.
Instead, he is choosing a lower-key but still intriguing way. Which is why he resurrected Coulson. Not only is Gregg a beloved actor playing a beloved character, Coulson is the perfect guide for Whedon's vision.
He's a super-power-adjacent Everyman who may be able to make the television series just as good, in its own way, as the film franchise.
'Marvel's Agents of S.H.I.E.L.D.'
Where: ABC
When: 8 p.m. Tuesday
Rating: TV-PG-V (may be unsuitable for young children with an advisory for violence)


text:
Piecing together Tufail Niazi's biography, his marvellously syncretic Punjabi life struck me as unusual even in pre-1947 Punjab but his life story is no longer even possible. He was born in 1916 in the only Muslim family in the Sikh village of MadairaN in Jallandhar district. MadairaN was only a short distance from Sham Chaurasi, famous birthplace of the musical gharana of that name (Ustad Salamat Ali Khan, arguably Pakistan's finest classical vocalist, hailed from this gharana). Tufail's family and ancestors were "Pakhawajis". (Pakhawaj is a tabla-like percussion instrument traditionally used as accompaniment in Dhrupad singing, the much older and temple-rooted form of Hindustani classical vocal music than the newer, more popular Mughal-era creation Khayal.) Historically, some of his family members were "Rubabis" who sang Gurbanis (songs in praise of the gurus) in Gurdwaras. Tufail followed this family tradition and started singing Guru Nanak's bani at the Gurdwara in the village of Pumba near Amritsar where his maternal grandfather was employed as a rubabi. After three years in Pumba he lost interest and his father, Haji Raheem Buksh took him to a Gaushala (house of cow protection) in Gondwal near the town of Taran Taaran. Here he joined the Gaushala singing party that went from village to village to spread the message of cow protection. Imagining a traveling Muslim rubabi preaching, in song, the protection of the sacred cow in his mellifluous voice brings a smile to my face.
At the time of partition, like all East Punjabi Muslims, Tufail too had to move from his ancestral lands and he ended up in Multan. To survive in this new unknown place where he hardly knew anybody, he opened up a milk shop. It was fortuitous that in 1949 a police inspector who had known him in East Punjab and had been a fan saw him and, on learning that Tufail had abandoned his music because he had no instruments and no other way to make a living, intervened. He got him instruments from the state coffers and organized a mehfil for Tufail introducing him to the people in Multan. It is unbearable to imagine that Tufail Niazi's voice could have been lost forever were it not for the effort of an ordinary fan who saved him from potential obscurity. We owe that unknown police officer a deep debt of gratitude.
Tufail soon became well known in the cultural circles of Multan after which there was no looking back. He started singing for Radio Pakistan and had the honor to be the first singer who performed on Pakistan Television, the day of its inauguration on November 26th, 1964. He sang his famous song "Laai beqadaraN naal yaari te tut gai tarak kar ke" that day. It was at that time that PTV's senior producer Aslam Azhar gave him the name Tufail Niazi because Tufail had told him that his pir was Hazrat Pir Niaz Ali Shah. Before this he had been just Tufail, Master Tufail, Mian Tufail and lastly Tufail Multani. Later, under Uxi Mufti he worked with great dedication to help set up and sustain the National Institute of Folk Heritage (Lok Virsa) in Islamabad. He received the Presidential Pride of Performance Award in 1983 and died on September 21st, 1990. A stroke had left him debilitated and unable to perform and he died in poverty with a wounded sense of official and unofficial neglect which has been the lot of so many Pakistani artists. He is buried in the graveyard in Islamabad.
Here is a performance of "Laai beqadaraN naal yaari te tut gai tarak kar ke" from PTV:
Tufail Niazi was a folk musician deeply influenced by classical forms and it is the mastery of his classically trained vocals combined with a soulfully melodic voice that mesmerized his audiences. The wonderful Punjabi sufi storytelling of his repertoire as he stood singing energetically in his lacha and a silk kurta created the total effect of a performer who was involved in something that was inseparable from the rest of his existence. His singing is often intensely moving as he sings about episodes in the lives of Punjabi epic lovers most notably Heer Ranjha (this is a link to an excellent post on this Punjabi folk masterpiece on Pakistaniat) richly evoking their anguish set in a beautifully sketched Punjabi rural social milieu.
Many of my favorite songs by Tufail Niazi are rooted deeply in classical music. I can listen to them over and over again and they possess the power to stir the most potent emotions. Here at APNA's site are some great Tufail Niazi songs for which I cannot find youtube videos. Two of my favorites (in addition to "MeiN naiN jaaNa Kherian de naal") that never fail to move me are "MeiN vi jaaNa jhok Ranjhan di" and "We tooN neRe neRe was we dholan yaar" (in Raga Tilak Kamod). In addition, I love a tappa-like song in Raga Khamaj called "Jhuk RaiyyaN meiN to" which I have been unable to find on the internet.
Remarkably and sadly, I was not able to find any decent photograph of Tufail Niazi on the internet to include in this post. To end this piece, here is a youtube audio of the above mentioned "MeiN naiN jaaNa Kherian de naal" which is inspired by Raga Bilawal.
Credits: This post owes several biographical and other details to the book "Tufail Niazi", compiled and edited by S.M Shahid as a tribute to this great performer. In addition to informative pieces in Urdu (Mumtaz Mufti, Chanan Gobindpuri, Bakhtiar Ahmad, Akhtar Imam Rizvi, Shahbaz Ali) and English (S.M Shahid, Sarwat Ali, Mushahid Hussain, Saeed Malik), the book comes with 2 excellent CDs of Tufail Niazi's unforgettable folk songs.


text:
Boehner's Senate-first strategy
The same House Republican majority that spent the entire past two years haranguing Senate Democrats for ignoring piles of legislation has a new strategy.
Let the Senate act first — on nearly everything.
Story Continued Below
Whether it's an overhaul of the nation's immigration laws, renewing the Violence Against Women Act or retooling gun regulations after mass shootings across the nation, House Speaker John Boehner (R-Ohio) is perfectly fine with sitting on his hands. The House GOP's days of incessantly repealing President Barack Obama's health care overhaul are gone, as are their bills to eliminate obscure regulations.
Boehner is trying to shift the political pressure to Senate Democrats and President Obama after having been on the hot seat for the last two years, when House Republicans passed a slew of bills that were never acted on by the Democratic Senate or the White House. That way, Republicans, the speaker feels, won't end up paying the political price for things that may or may not ever get done.
( PHOTOS: Politicians speak out on gun control)
The sequester is a case in point. After passing bills to replace the cuts last session, Boehner has vowed that he'll do nothing until the Senate acts to stop the massive cuts to the Pentagon and government agencies from taking effect at the start of March.
"Listen, we played our cards, we laid out our hand," Boehner told reporters on Wednesday. "We sent legislation to the Senate and nothing happened. It's time for the Senate to do it's job."
The speaker's "Senate first" strategy allows a divided House to sit back and watch Senate Majority Leader Harry Reid (D-Nev.) struggle to wrangle votes in a chamber filled with vulnerable Democrats up for reelection in 2014. But it also carries substantial risks. If Senate Republicans join with Democrats and push through major elements of Obama's agenda, House Republicans could become isolated if they seek to dilute or block the legislative push.
In the early months of the new session, the House has done little other than temporarily allow the debt ceiling to be raised, clear a smattering of bills to help the East Coast rebuild from Hurricane Sandy and pass a bill by Rep. Tom Price (R-Ga.) that calls on Obama to state when he'll balance the budget. And this week, the House is scheduled to take a whack at pay for federal workers. House GOP leaders are also purposefully not acting on any tax bills until they decide whether to take up tax reform.
But the big-ticket items that stand a chance of becoming law are all sitting in the Senate, a dynamic that senior GOP senators say should help usher through bipartisan deals that voters called for in the previous election.
( PHOTOS: 13 things more popular than Congress)
After all, that's how the ultimate deal on the fiscal cliff was hashed out — after it was passed in the Senate, it moved to the House and was approved by a majority of Democrats and a minority of Republicans.
Missouri Sen. Roy Blunt, a former House GOP leader who is a member of Senate Republican leadership, said it makes little sense for the House to continue pushing bills — and endure the political backlash — only to see them stall in the Senate.


text:
session about to expire in few minutes
Verify E-mail for Password Delivery
Please verify your e-mail address for password delivery. Once verified, your password will be mailed to the e-mail address you have entered here.
Zip Code Lookup
Please Enter the City and State to search for a Zip/Postal Code
The city and state you entered returned the following Zip/Postal Codes.
South Bend Turtles
Double-Dipped Peanut
Enhance Your Bouquet
Orientation: One-Sided
All prices in USD ($)
Tasteful As Shown
Tasteful As Shown -


text:
Celebrity Style Recap | Nov. 30, 2012
Get Caught Up With the Latest on CelebStyle
Get Caught Up With the Latest on CelebStyle
If you're as celebrity-style obsessed as we are, then it's high time you met our sister site, CelebStyle. They make it their mission to bring you up-to-the-minute celebrity outfits, the latest celebrity-spawned trends, exclusive interviews, and straight-from-set styles to satisfy our celebrity-fashion obsession. This week, they're helping us to outfit a few standout street-style moments from the likes of Miranda Kerr, Taylor Swift, and loads more. And if getting the looks from newly aired episodes of your favorite TV shows is more your thing, they've got you covered with a shoppable selection straight from Hart of Dixie's season two. For all that and more of this week's highlights, just start clicking.
Source: FameFlynet, The CW


text:
|Boston Reservations
Boston Bed and Breakfast, Inc
67 Lincoln Woods Road
Waltham, Massachusetts 02451
781 547 5427 / Fax 781 547 5420
e-mail: email@example.com
Providing accommodations for all visitors to Boston and Cambridge.
|We can
place you in hotels from Boston to Burma,
Chicago to Casablanca or any place in between.
Wherever there is a Hilton, Starwood, or Marriott Hotel, we can
offer the same favorable rates that we continue to give you
in Boston and Cambridge
meetings, conferences, vacations or whatever !
|It has been our pleasure
for over 20 years to work with the Boston and Cambridge hospitality industry to negotiate
the lowest possible rates with each hotel, bed and breakfast and Inn. Boston
Reservations, Inc. was organized in 1980 at the request of the Continuing Education
Department of Harvard Medical School. We continue to work with the medical community
and local universities to provide reasonably priced accommodations for your continuing
education needs. We know our city well and enjoy working individually with each of
our clients to offer you the perfect match in rate and comfort. Our reservation
packet includes detailed maps, directions to and from Logan Airport via public
transportation and taxi, as well as driving directions into the city. We look
forward to speaking with all visitors, whether you are in Boston for business or pleasure.
Choose from major hotels, private clubs, small inns and B&Bs in the Back Bay, Beacon Hill, Copley Square, Boston's South End, as well as Harvard Square, Cambridge, Brookline and Newton.
Copyright © Boston Reservations 1998 - 2006
Email the Webmaster


text:
Configuration System
This page can be used as a reference while discussing the configuration system. This page should be updated as the discussion progresses.
One of the Google Summer of Code project ideas for 2012 was a "configuration system". The configuration system was not among the selected projects, but the system was seen as a priority, so the plan now is to design and implement the important bits (the client API and the server-side infrastructure) ourselves within May 2012 or so (the reason for the tight schedule is that we'd like the GSoC students to benefit from this new system). Porting the existing configuration to the new system is not a matter of urgency. All the existing stuff has to be kept in mind while doing the design, though, so that the porting work is possible to do when that time comes.
The configuration system should make it easy to implement runtime-modifiable persistent configuration options in the core and modules. Currently that involves writing protocol extensions (for multiple protocols, if you aim for completeness) and managing the data storage yourself. The goal is to reduce that work, and also to make life easier for applications.
There are some notes from previous discussion at http://piratepad.net/BLGxYG2lf3.
Use cases
- Daemon configuration (daemon.conf, additional modules to load)
- Client configuration (client.conf)
- Global module configuration (echo canceller parameters)
- Per-instance module configuration (ALSA ignore_dB)
- Configuration will be defined as a (key, value) pair, each being a string
- All known configuration will need to be registered before first use
- Mechanism for modules to publish configuration out of band?
- Keys can be namespaced
- daemon.flat-volumes, daemon.defaults.rate, daemon.defaults.alternate-rate
- client.autospawn, client.defaults.sink, client-defaults.source
- modules.echo-cancel.engine, modules.beamformer.geometry
- modules.alsa.card.
- '.' characters in object names can be replaced by '_'
- Identifying instance for per-instance configuration must be handled by
module itself
- Can just be responsible for module.alsa.* for example
Internal API
- Register a config key
- pa_config_register_key(core, key, default_value)
- Query a config key
- pa_config_query_key(core, key, ptr)
- Register a handler for when a key is set
- pa_config_register_single_handler(core, key, func)
- Register a handler for a namespace
- pa_config_register_prefix_handler(core, prefix, func)
- More than one handler can be registered
- Modules might be interested in certain core config, for example
- Do we need to worry about order? Early/normal/late?
- Modules that have not yet been loaded might still need to validate their
- For this, we could add a new entry point to modules -- validate()
- The core will load the corresponding module when a module.
.* configuration option is set
- The pa__validate_config() function in that module is meant to accept a (key, value) tuple and return true/false on validate
- The core can unload the module after a while if no configuration is set on it for a while
- An alternative to the core understanding the "module.
" prefix is that we build a registry at PA start time of modules and the prefixes they will manage so that we know up-front which module(s) to load to validate a given configuration option.
External API
- Configuration key names become part of the client API/ABI.
- Clients can listen for configuration changes
- pa_context_set_config_callback()
- Should we allow a prefix filter?
- Clients can set configuration (the name is assumed to be well known)
- pa_context_set_config(context, key, value, success_cb)
- Server will return a success/failure status which will be provided to the client via the success callback
- Clients can query configuration
- pa_context_get_config(context, key, value_ptr)
- Configuration storage will be in plain text
- This would allow us to set up initial config without messy binary files
- Loading configuration amendments from .d directories will be supported too.
- Arun prefers a single config file, Tanu prefers one file per prefix (daemon.conf, client.conf, per-module)
- An alternative is a plain-text file
- All access happens in the main thread context
- No support for listening to changes made outside of the client API
Previous Proposal
- The client API should be easy to use.
- The set of supported configuration options should be easy to extend.
- No protocol extensions.
- Make it as easy as possible to add a new option.
- Support also other things than statically named global options.
- For example, options for ports require dynamic keys to identify the port.
- We want (or do we?) to support also persistent data that is less configuration-like, like the stream-restore database or the equalizer data.
- Support change notifications both at client side and at server side.
- Support reading and modifying client.conf. (?)
The configuration system stores "options". Options have a value and a (multi-part) identifier ("option id"). The option id has three parts: "object type", "object id" and "option name". For example, the maximum volume of a port could be stored in an option with the following id parts: "core.Port", "foocard:barport", "max-volume". The object that the object type and id describe is one of the objects in Pulseaudio: it could be a card, sink, source, port or stream-restore entry etc. The object id is whatever property identifies the object in question: in case of ports it would be the card name + port name (the card name is needed, because port names are not globally unique), and in case of stream-restore entries it would be the entry key. The object type has a namespace part, for example "core" in "core.Port" or "stream-restore" in "stream-restore.Entry". This can be used to divide the option storage into multiple files, one per namespace (one namespace for core and one namespace for each module would be the suggested way to group the options).
The client API doesn't have a concept of namespaces. The applications only need to know that if they want to access port options, they have use "core.Port" as the object_type string.
It may be sometimes useful to refer to an option by using just one string instead of three. That can be done by just concatenating the three identifiers. The suggested separator is slash. Example: "core.Port/foocard:barport/max-volume".
The configuration system knows which object types support which options. This is achieved by each "object type owner" (i.e. the code that implements the objects of that type) registering the object type to the configuration system. The registration includes the information about which options the object type supports, i.e. which option names are valid. The configuration system doesn't have any hardcoded knowledge about which object types exist.
The set of options that an object type supports can not be changed at runtime (except by unloading the object type owner module and then loading another module that registers the same object type with different options, but that should never happen). There may be situations where a module would like to extend a core object type. For example, module-alsa-card might want to have a "tsched" option for core.Card. The way to handle this is to make module-alsa-card register its own object type for cards, e.g. "alsa.Card", and specify in the documentation that the "alsa.Card" type is a subtype of "core.Card". Being a subtype means it's guaranteed that any "alsa.Card" object also has a corresponding "core.Card" object. The association between the two objects is made by using the same object id for both.
From the configuration system's point of view, all option values are strings. Adding type information would add a lot of complexity and not have very big benefits (is it so?). The options will of course have an implicit type to be useful. The actual users of the options (applications and object type owners in the server) have to validate the values themselves. This means that we should provide parsing functions for clients, at least for all complex types, but preferably also for simple stuff like integers. At server side, values are validated when they are read from the disk and when they are set by clients or by some code in the server other than the object type owner.
Since validation is done by the object type owner code, and since modules can implement object types, some of the options can be only validated when a specific module is loaded. The way to handle the case, where an application sets an option for a module that is not loaded, is to refuse to set the option. If the module required isn't loaded, from the configuration system's point of view the option doesn't exist.
Client API
This is how the client API will look like:
typedef void (*pa_server_configuration_value_change_cb_t)(
pa_context *c,
const char *object_type,
const char *object_id,
const char *option_name,
const char *value,
int eol,
void *userdata);
typedef void (*pa_server_configuration_object_type_event_cb_t)(
pa_context *c,
const char *object_type,
int added, /* 1 for added, 0 for removed */
int eol,
void *userdata);
pa_operation *pa_server_configuration_set(
pa_context *c,
const char *object_type,
const char *object_id,
const char *option_name,
const char *value,
pa_context_success_cb_t cb,
void *userdata);
/* object_type, object_id and option_name can be NULL for wildcard selection.
* If object_type is NULL, then all other identifiers have to be NULL also. In
* case of wildcards, the callback may get called multiple times. The last call
* has the object_type, object_id, option_name and value parameters of
* pa_server_configuration_cb_t set to NULL and eol set to 1. */
pa_operation *pa_server_configuration_get(
pa_context *c,
const char *object_type,
const char *object_id,
const char *option_name,
pa_server_configuration_cb_t cb,
void *userdata);
/* The wildcard rules described with pa_server_configuration_get apply with
* the value change items too. */
typedef struct pa_server_configuration_value_change_item {
char *object_type;
char *object_id;
char *option_name;
} pa_server_configuration_value_change_item;
/* The items parameter is an array with n_items elements. If there are multiple
* value change items given, then the value change callback is called when any
* of the items match the event. If you want to end the subscription, or you
* want to get updates only about added and removed object types, you can set
* items to NULL and n_items to 0.
* The object_types parameter is an array with n_object_types elements. If an
* object type is added or removed in the server, and it's one of the types
* you have listed in the object_types array here, the server will send
* a notification. For getting notifications for all object types, set
* object_types to a pointer to a NULL pointer and set n_object_types to 1. If
* you don't want any object type event notifications, set object_types to NULL
* and n_object_types to 0.
* If called multiple times, the value change items and object types of the
* last call will replace all the previous items and object types. */
pa_operation *pa_server_configuration_subscribe(
pa_context *c,
const pa_server_configuration_value_change_item *items,
unsigned n_items,
const char *const *object_types,
unsigned n_object_types,
pa_context_success_cb_t cb,
void *userdata);
/* When there are option value changes that match the subscription, the
* callback that is set here will be called multiple times. The last call has
* the object_type, object_id, option_name and value parameters of
* pa_server_configuration_value_change_cb_t set to NULL and eol set to 1. */
void pa_server_configuration_set_value_change_callback(
pa_context *c,
pa_server_configuration_value_change_cb_t cb,
void *userdata);
/* When there are object type add/remove events that match the subscription,
* the callback that is set here will be called multiple times. The last call
* has the object_type parameter of
* pa_server_configuration_object_type_event_cb_t set to NULL and eol set to
* 1. */
void pa_server_configuration_set_object_type_event_callback(
pa_context *c,
pa_server_configuration_object_type_event_cb_t cb,
void *userdata);
There has been some discussion about supporting also reading and modifying client.conf. client.conf is not centrally managed, it stores simple key-value pairs with static keys, it doesn't support change notifications and working with it probably doesn't require an asynchronous API. Therefore, the API is quite different, and maybe it doesn't need to be a part of this configuration system effort. The main point is that we might want such API now or in the future, so we should think how the configuration system API can co-exist with the client.conf API. That means basically that we probably don't want to use "pa_configuration_" as the server configuration prefix, because it's too generic.
Parsing functions
Storage format
- I like ini files as described here: http://article.gmane.org/gmane.comp.audio.pulseaudio.general/12845 --Tanu
Open issues
The namespace concept might need some refinement. The idea of splitting the storage into one file per module sounds nice, but it might not make sense to dedicate each object type to one module. Modules may want to add options to their own object types and to core object types, and possibly also to other modules' types. Let's say there's an object type "Card" in namespace "core", i.e. "core.Card". The alsa modules might want to add an option to core.Cards for enabling and disabling timer-based scheduling. Maybe the options should have namespacing too, i.e. the new option would be "core.Card/foocard/alsa.tsched"? Would every option name have a namespace part? That would be very ugly. How would this example be handled in storage? Is splitting the storage into many files a bad idea anyway?
- This is solved by not allowing modules to add options to existing object types. If everybody is happy, this issue can be deleted from here. --Tanu
Is there need for adding an API for clients for querying whether a specific option is supported? Such API could be added also later, if we are not certain yet.
One limitation with this proposal is that the client API supports only modifying existing objects. For example, adding a new entry to stream-restore is not possible in a nice way. You could set an option of a non-existent object, but that would leave the other fields of the entry uninitialized. Maybe that's tolerable, but if we want to support object creation, it should probably be done in a better way. And object deletion is not possible at all with the current API.
- I'm a bit against supporting object creation/deletion through the configuration API. Protocol extensions are still needed for that then. Maybe exposing the stream-restore database to clients through the configuration API isn't so good idea after all. The storage part of the system could still be useful also for stream-restore. --Tanu
Should we have a "reset to default" API? What about an "ask what the default is" API?
- My opinion: yes for "reset to default", no for "ask what the default is" until a good use case is found. --Tanu
Should we have an API for querying the currently supported object types?
- My opinion: yes. --Tanu