text:
The best feature of SQL (in all its implementations, not just SQLite) is that it is a declarative language, not a procedural language. When programming in SQL you tell the system what you want to compute, not how to compute it. The task of figuring out the how is delegated to the query planner subsystem within the SQL database engine. Relieving the programmer from the chore of designing specific query algorithms reduces the workload on the programmer and reduces the number of opportunities for the programmer to make mistakes.
Most of the time, the query planner in SQLite does a good job on its own and without outside help. However, the query planner needs indices to work with and it usually falls to the programmer to add indices to the schema that are sufficient for the query planner to accomplish its task.
This document is intended to provide programmers who are new to SQL with background information to help them understand what is going on behind the scenes with SQLite, which in turn should make it easier for programmers to create the indices that will help the SQLite query planner to pick the best plans.
Every table in SQLite consists of zero or more rows with a unique integer key (the [rowid] or [INTEGER PRIMARY KEY]) followed by content. The rows are logically stored in order of increasing rowid. As an example, this article uses a table named "FruitsForSale" which relates various fruits to the state where they are grown and their unit price at market. The schema is this:
With some (arbitrary) data, such a table might be logically stored on disk as shown in figure 1:
The key features to notice in this example is that the rowids are not consecutive but they are ordered. SQLite usually creates rowids beginning with one and increasing by one with each added row. But if rows are deleted, gaps can appear in the sequence. And the application can control the rowid assigned if desired, so that rows are not necessarily inserted at the bottom. But regardless of what happens, the rowids are always unique and in strictly ascending order.
Now suppose you want to look up the price of peaches. The query would be as follows:
In order to satisfy this query, SQLite has to read every row out of the table, check to see if the "fruit" column has the value of "Peach" and if so, output the "price" column from that row. The process is illustrated by figure 2 below. This is called a full table scan since the entire content of the table must be read and examined in order to find the one row of interest. With a table of only 7 rows, this is not a big deal, but if your table contained 7 million rows, a full table scan might read megabytes of content in order to find a single 8-byte number. For that reason, one normally tries to avoid full table scans.
One technique for avoiding a full table scan is to do lookups by rowid (or by the equivalent INTEGER PRIMARY KEY). To lookup the price of peaches, one would query for the entry with a rowid of 4:
Since the information is stored in the table in rowid order, SQLite can find the correct row using doing a binary search on the rowid. If the table contains N element, the time required to look up the desired row is proportional to logN rather than being proportional to N as in a full table scan. If the table contains 10 million elements, that means the query will be on the order of N/logN or about 1 million times faster!
The problem with looking up information by rowid is that you probably do not care what the price of "item 4" is - you want to know the price of peaches. And so a rowid lookup is not helpful.
To make the original query more efficient, we can add an index on the "fruit" column of the "fruitsforsale" table like this:
An index is another table similar to the original "fruitsforsale" table but with the content (the fruit column in this case) stored in front of the rowid and with all rows in content order. Figure 4 gives a logical view of the Idx1 index. The "fruit" column is the primary key used to order the elements of the table and the "rowid" is the secondary key used to break the tie when two or more rows have the same "fruit". In the example, the rowid has to be used as a tie-breaker for the "Orange" rows. Notice that since the rowid is always unique over all elements of the original table, the composite key of "fruit" followed by "rowid" will be unique over all elements of the index.
With the new index in place, we can devise an alternative plan for the original "Price of Peaches" query.
The query starts by doing a binary search on the Idx1 index for entries that have fruit='Peach'. SQLite can do this binary search on the Idx1 index but not on the original FruitsForSale table because the rows in Idx1 are sorted by the "fruit" column. Having found a row in the Idx1 index that has fruit='Peach', the database engine can extract the rowid for that row, then do a separate binary search on the original FruitsForSale table to find the original row that contains fruit='Peach'. From the row in the FruitsForSale table, SQLite can extract the value of the price column. This procedure is illustrated by figure 5.
SQLite has to do two binary searches to find the price of peaches using the method show above. But for a table with a large number of rows, this is still much faster than doing a full table scan.
In the previous query the fruit='Peach' constraint narrowed the result down to a single row. But the same technique works even if multiple rows are obtained. Suppose we looked up the price of Oranges instead Peaches:
In this case, SQLite still does a single binary search to find the first entry of the index where fruit='Orange'. Then it extracts the rowid from the index and uses that rowid to lookup the original table entry via binary search and output the price from the original table. But instead of quitting, the database engine then advances to the next row of index to repeat the process for next fruit='Orange' entry. Advancing to the next row of an index (or table) is much less costly than doing a binary search since the next row is often located on the same database page as the current row. In fact, the cost of advancing to the next row is so cheap in comparison to a binary search that we usually ignore it. So our estimate for the total cost of this query is 3 binary searches. If the number of rows of output is K and the number of rows in the table is N, then in general the cost of doing the query proportional to (K+1)*logN.
Next, suppose that you want to look up the price of not just any orange, but specifically California-grown oranges. The appropriate query would be as follows:
One approach to this query is to use the fruit='Orange' term of the WHERE clause to find all rows dealing with oranges, then filter those rows by rejecting any that are from states other than California. This process is shown by figure 7 above. This is a perfectly reasonable approach in most cases. Yes, the database engine did have to do an extra binary search for the Florida orange row that was later rejected, so it was not as efficient as we might hope, though for many applications it is efficient enough.
Suppose that in addition to the index on "fruit" there was also an index on "state".
The "state" index works just like the "fruit" index in that it is a new table with an extra column in front of the rowid and sorted by that extra column as the primary key. The only difference is that in Idx2, the first column is "state" instead of "fruit" as it is with Idx1. In our example data set, the is more redundancy in the "state" column and so they are more duplicate entries. The ties are still resolved using the rowid.
Using the new Idx2 index on "state", SQLite has another option for lookup up the price of California oranges: it can look up every row that contains fruit from California and filter out those rows that are not oranges.
Using Idx2 instead of Idx1 causes SQLite to examine a different set of rows, but it gets the same answer in the end (which is very important - remember that indices should never change the answer, only help SQLite to get to the answer more quickly) and it does the same amount of work. So the Idx2 index did not help performance in this case.
The last two queries take the same amount of time, in our example. So which index, Idx1 or Idx2, will SQLite choose? If the [ANALYZE] command has been run on the database, so that SQLite has had an opportunity to gather statistics about the available indices, then SQLite will know that the Idx1 table usually narrows the search down to a single item (our example of fruit='Orange' is the exception to this rule) where as the Idx table will normally only narrow the search down to two rows. So, if all else is equal, SQLite will choose Idx1 with the hope of narrowing the search to as small a number of rows as possible. This choice is only possible because of the statistics provided by [ANALYZE]. If [ANALYZE] has not been run then the choice of which index to use is arbitrary.
To get the maximum performance out of a query with multiple AND-connected terms in the WHERE clause, you really want a multi-column index with columns for each of the AND terms. In this case we create a new index on the "fruit" and "state" columns of FruitsForSale:
A multi-column index follows the same pattern as a single-column index; the indexed columns are added in front of the rowid. The only difference is that now multiple columns are added. The left-most column is the primary key used for ordering the rows in the index. The second column is used to break ties in the left-most column. If there were a third column, it would be used to break ties for the first to columns. And so forth for as many columns as their are in the index. Because rowid is guaranteed to be unique, every row of the index will be unique even if all of the content columns for two rows are the same. That case does not happen in our sample data, but there is one case (fruit='Orange') where there is a tie on the first column which must be broken by the second column.
Given the new multi-column Idx3 index, it is now possible for SQLite to find the price of California oranges using only 2 binary searches:
With the Idx3 index on both columns that are constrained by the WHERE clause, SQLite can do a single binary search against Idx3 to find the one rowid for California oranges, then do a single binary search to find the price for that item in the original table. There are no dead-ends and no wasted binary searches. This is a more efficient query.
Note that Idx3 contains all the same information as the original Idx1. And so if we have Idx3, we do not really need Idx1 any more. The "price of peaches" query can be satisfied using Idx3 by simply ignoring the "state" column of Idx3:
Hence, a good rule of thumb is that your database schema should never contain two indices where one index is a prefix of the other. Drop the index with fewer columns. SQLite will still be able to do efficient lookups with the longer index.
The "price of California oranges" query was made more efficient through the use of a two-column index. But SQLite can do even better with a three-column index that also includes the "price" column:
This new index contains all the columns of the original FruitsForSale table that are used by the query - both the search terms and the output. We call this a "covering index". Because all of the information needed is in the covering index, SQLite never needs to consult the original table in order to find the price.
Hence, by adding extra "output" columns onto the end of an index, one can avoid having to reference the original table and thereby cut the number of binary searches for a query in half. This is a constant-factor improvement in performance (roughly a doubling of the speed). But on the other hand, it is also just a refinement; A two-fold performance increase is not nearly as dramatic as the one-million-fold increase seen when the table was first indexed. And for most queries, the difference between 1 microsecond and 2 microseconds is unlikely to be noticed.
Multi-column indices only work if the constraint terms in the WHERE clause of the query are connected by AND. So Idx3 and Idx4 are helpful when the search is for items that are both Oranges and grown in California, but neither index would be that useful if we wanted all items that were either oranges or are grown in California.
When confronted with OR-connected terms in a WHERE clause, SQLite examines each OR term separately and tries to use an index to find the rowids associated with each term. It then takes the union of the resulting rowid sets to find the end result. The following figure illustrates this process:
The diagram above implies that SQLite computes all of the rowids first and then combines them with a union operation before starting to do rowid lookups on the original table. In reality, the rowid lookups are interspersed with rowid computations. SQLite uses one index at a time to find rowids while remembering which rowids it has seen before so as to avoid duplicates. That is just an implementation detail, though. The diagram, while not 100% accurate, provides a good overview of what is happening.
In order for the OR-by-UNION technique shown above to be useful, there must be an index available that helps resolve every OR-connected term in the WHERE clause. If even a single OR-connected term is not indexed, then a full table scan would have to be done in order to find the rowids generated by the one term, and if SQLite has to do a full table scan, it might as well do it on the original table and get all of the results in a single pass without having to mess with union operations and follow-on binary searches.
One can see how the OR-by-UNION technique could also be leveraged to use multiple indices on queries where the WHERE clause has terms connected by AND, by using an intersect operator in place of union. Many SQL database engines will do just that. But the performance gain over using just a single index is slight and so SQLite does not implement that technique at this time. However, a future version SQLite might be enhanced to support AND-by-INTERSECT.
SQLite (like all other SQL database engines) can also use indices to satisfy the ORDER BY clauses in a query, in addition to expediting lookup. In other words, indices can be used to speed up sorting as well as searching.
When no appropriate indices are available, a query with an ORDER BY clause must be sorted as a separate step. Consider this query:
SQLite processes this by gather all the output of query and then running that output through a sorter.
If the number of output rows is K, then the time needed to sort is proportional to KlogK. If K is small, the sorting time is usually not a factor, but in a query such as the above where K==N, the time needed to sort can be much greater than the time needed to do a full table scan. Furthermore, the entire output is accumulated in temporary storage (which might be either in main memory or on disk, depending on various compile-time and run-time settings) which can mean that a lot of temporary storage is required to complete the query.
Because sorting can be expensive, SQLite works hard to convert ORDER BY clauses into no-ops. If SQLite determines that output will naturally appear in the order specified, then no sorting is done. So, for example, if you request the output in rowid order, no sorting will be done:
You can also request a reverse-order sort like this:
SQLite will still omit the sorting step. But in order for output to appear in the correct order, SQLite will do the table scan starting at the end and working toward the beginning, rather than starting at the beginning and working toward the end as shown in figure 17.
Of course, ordering the output of a query by rowid is seldom useful. Usually one wants to order the output by some other column.
If an index is available on the ORDER BY column, that index can be used for sorting. Consider the request for all items sorted by "fruit":
The Idx1 index is scanned from top to bottom (or from bottom to top if "ORDER BY fruit DESC" is used) in order to find the rowids for each item in order by fruit. Then for each rowid, a binary search is done to lookup and output that row. In this way, the output appears in the requested order with the need to gather then entire output and sort it using a separate step.
But does this really save time? The number of steps in the original indexless sort is proportional to NlogN since that is how much time it takes to sort N rows. But when we use Idx1 as shown here, we have to do N rowid lookups which take logN time each, so the total time of NlogN is the same!
SQLite uses a cost-based query planner. When there are two or more ways of solving the same query, SQLite tries to estimate the total amount of time needed to run the query using each plan, and then uses the plan with the lowest estimated cost. A cost is computed mostly from the estimated time, and so this case could go either way depending on the table size and what WHERE clause constraints were available, and so forth. But generally speaking, the indexed sort would probably be chosen, if for no other reason, because it does not need to accumulate the entire result set in temporary storage before sorting and thus uses much less temporary storage.
If a covering index can be used for a query, then the multiple rowid lookups can be avoided and the cost of the query drops dramatically.
With a covering index, SQLite can simply walk the index from one end to the other and deliver the output in time proportional to N and without having allocate a large buffer to hold the result set.
The previous discussion has treated searching and sorting as separate topics. But in practice, it is often the case that one wants to search and sort at the same time. Fortunately, it is possible to do this using a single index.
Suppose we want to find the prices of all kinds of oranges sorted in order of the state where they are grown. The query is this:
The query contains both a search restriction in the WHERE clause and a sort order in the ORDER BY clause. Both the search and the sort can be accomplished at the same time using the two-column index Idx3.
The query does a binary search on the index to find the subset of rows that have fruit='Orange'. (Because the fruit column is the left-most column of the index and the rows of the index are in sorted order, all such rows will be adjacent.) Then it scans the matching index rows from top to bottom to get the rowids for the original table, and for each rowid does a binary search on the original table to find the price.
You will notice that there is no "sort" box anywhere in the above diagram. The ORDER BY clause of the query has become a no-op. No sorting has to be done here because the output order is by the state column and the state column also happens to be the first column after the fruit column in the index. So, if we scan entries of the index that have the same value for the fruit column from top to bottom, those index entries are guaranteed to be ordered by the state column.
A [covering index] can also be used to search and sort at the same time. Consider the following:
As before, SQLite does single binary search for the range of rows in the covering index that satisfy the WHERE clause, the scans that range from top to bottom to get the desired results. The rows that satisfy the WHERE clause are guaranteed to be adjacent since the WHERE clause is an equality constraint on the left-most column of the index. And by scanning the matching index rows from top to bottom, the output is guaranteed to be ordered by state since the state column is the very next column to the right of the fruit column. And so the resulting query is very efficient.
SQLite can pull a similar trick for a descending ORDER BY:
The same basic algorithm is followed, except this time the matching rows of the index are scanned from bottom to top instead of from top to bottom, so that the states will appear in descending order.
Further topics:


text:
The Washer-Disinfectors report offers the best means for assessing the Washer-Disinfectors market, putting weight on supporting tactical & strategic decision-making and prospects. With regard to the existing circumstances of competitive and swiftly developing market states, the latest marketing statistics is imperative to analyze performance and make required decisions for profitability and growth.
Get an exclusive research report sample @ www.marketresearchstore.com/report/global-vinegar-market-report-2019-454988#RequestSample
Altogether, the Washer-Disinfectors market is also categorized on the basis of their descriptions. The report also executes upstream raw material, equipment, and downstream consumer analysis. Moreover, the report also provides readers with an all-inclusive breakdown of the present and future trends and concerns that impact the market. Further, the report offers the evaluation for the market growth in the future founded on the varying market dynamics in the imminent years.
Leading Industry Drivers profiles: Steelco SpA, Miele, Belimed, Getinge Infection Control, Steris, AT-OS, CISA, SciCan, Tuttnauer, Eschmann Equipment, Skytron, IC Medical GmbH, Ken A/S, Smeg Instruments, Sakura, Shinva Medical Instrument, Dekomed, DentalEZ, Laokeng, Mocom Australia, Matachana, Sordina, DGM Pharma-Apparate Handel, Megagen
The Washer-Disinfectors report exploits the crucial strategies employed by the foremost companies to dominate the market. Additionally, it deeply examines the driving & restraining factors, market attractiveness, value chain, and other important aspects necessary to be scrutinized for making certain long-term growth in the global market. It also investigates the revenue growth and other approaches of the key companies likely toward a hopeful growth in the market as a portion of the competitive landscape study.
In addition, the report also highlights the key applications, product portfolios, and geographical segments of the Washer-Disinfectors market. The report is helpful for the residential & industrial consumers, government, manufacturers, commercial, and other stakeholders to recommend their market-centric tactics in line with the projected and ongoing trends in the future.
The study was executed using an autonomous grouping of primary and secondary statistics. Primary sources are generally industry professionals from the core and connected industries, distributors, suppliers, service providers, manufacturers, and organizations linked to all the supply chain segments(Types: Clinical Use, Laboratory Use; Applications: Application I, Application II) of the industry.
Each and every facade relating to the global market for Washer-Disinfectors is encompassed by the report. As a result, this report will be endowing with all the required information on the up-to-date developments & trends and emphasize on markets & materials, capacities & technologies, and on the changeable structure of the market.
To get detailed information about the report feel free to contact us @ www.marketresearchstore.com/report/global-vinegar-market-report-2019-454988#InquiryForBuying

subset: commoncrawl


text:
Fourteen new images from Dredd have gone online. The hard-R adaptation of the comic book series has Judge Dredd (Karl Urban) and rookie Judge Cassandra Anderson (Olivia Thirlby) fighting through a tower crawling with thugs in their attempt to bring down drug overlord Ma-ma (Lena Headey). I thought the film was a passable action-thriller, but some of my trusted peers enjoyed it more than I did. Among these new images, one could be considered a spoiler, but it's nothing too major. If you're eager to get a better sense of the film's visual style and see the lead characters in action, then these images are worth your time.
Hit the jump to check out the images. Dredd opens in 3D on September 21st.
Via JoBlo.
Here's the official synopsis for Dredd:
The future America is an irradiated waste land. On its East Coast, running from Boston to Washington DC, lies Mega City One–a vast, violent metropolis where criminals rule the chaotic streets. The only force of order lies with the urban cops called "Judges" who possess the combined powers of judge, jury and instant executioner. Known and feared throughout the city, Dredd (Karl Urban) is the ultimate Judge, challenged with ridding the city of its latest scourge–a dangerous drug epidemic that has users of "Slo-Mo" experiencing reality at a fraction of its normal speed.


text:
Slide show features 2011 Commencement day photographs
* View the slide show by clicking the thumbnails.
Always uplifting, the 2011 Commencement ceremony had a conversational, convivial spirit, as presenters on stage passed laughs around, friends and families jostled for camera angles and cheered on their graduates, and the clouds finally parted, allowing unfiltered sunshine to illuminate the 145th Bates College Commencement. Photographs by Phyllis Graber Jensen.
Categories Academic Life Alumni Slideshow The College


text:
If you don't look too closely, many of the companies in the IT industry appear to be on friendly terms with each other. Every time Company A releases a new product, other companies chime in with positive-sounding rhetoric meant to imply enthusiastic support. This rule holds true even in situations where two companies might compete with each other—The ATI team at AMD may not be excited when NVIDIA launches a new video card, but AMD the CPU manufacturer is happy to talk about how the new GeForce series performs best when paired with Phenom II.
The message? We're really one big happy family. Problem is, that's not true—a fact that slammed home with a vengeance today when a confidential Intel briefing on NVIDIA's Atom-based Ion platform was made public. This, ladies and gentlemen, is where we put the "fun" in dysfunctional.
The fact that Intel wrote a confidential Ion-smashing document for internal use is scarcely surprising; the company prefers to sell an entire Intel solution rather than just an Atom processor. Rather than assaulting Ion with a strong, product-centric argument, however, Intel chose instead to ladle enormous amounts of FUD over the entire document and goes as far as to borrow quotes from other tech sites that were arguably pulled out of context. I won't belabor that point—it's up to the sites involved to decide whether or not their own quotes were misused—but it's fair to say that Intel did some extremely selective quoting.
From here, the FUD flies thick and fast. In the document, which we can't publish because it's confidential, Intel steps through every bit of execution trouble NVIDIA had in what was an extremely rough 2008, and claims that the 9400M chipset is less-suited for an Atom part because it's derived from a desktop chipset—as if the 945G and its various iterations weren't. An Intel Atom platform isn't just rated (by Intel) as better when "on the go" or "at home;" the company actually claims to have objectively evaluated a category labeled "Enjoy more" which Atom obviously sweeps.
Ion, according to Intel, provides literally no advantages over an Intel platform. It cannot cut costs, no OEMs are interested, and power usage is far too high. The only potential advantage Intel allows is that Ion might be better at 3D gaming—a fact it immediately dismisses as irrelevant, since netbooks aren't a gaming platform. Finally, even if all these reasons haven't convinced you, well, the window of opportunity for Ion (tiny slit that it is) will close by the end of the year when Intel releases its Moorestown SoC with an integrated GPU. So really, when you get right down to it, there's no point in building any Ion systems—and can you really trust NVIDIA?
NVIDIA, unsurprisingly, has a different view of the situation and believes the confidential document is a sign of just how concerned the CPU manufacturer really is. Early reviews of Ion—even those that hedge on the platform's attractiveness—have generally been positive. Faced with a platform that could cut into its dominance of the netbook market, NVIDIA believes Intel is desperately trying to rally support around its solutions by casting doubt on every single aspect of NVIDIA's design, reliability, and market record.
There's no way to determine who is "right" in these sorts of arguments, but NVIDIA is behind Atom whether Intel thinks the product is worth launching or not. Later this year, we'll also see the Ion II. It's a solution for next-generation VIA Nano processors, and it could open competition on a new front—provided VIA can actually deliver the processors.


text:
GulfCoast Aircraft Detailing Est. 1989, is the leader in aircraft detailing in the Tampa Bay area. We specialize in aircraft cleaning only. We offer the latest techniques in wet washes, Dry wash, paint polishing, brightwork polishing, overspray removal, with an assortment of available products to suite your needs. We also offer de-ice boot reconditioning, and some minor to moderate paint touch-up. Our staff is fully trained to care for your interior as well. We offer leather cleaning / reconditioning, carpet extraction, general interior cleanings to quick turn interior cleanings.We have experience in all types of aircraft, from GA piston to corporate, and commercial aircraft including Airbus to Boeing, as well as other turbine aircraft. Based at Tampa International, we are totally mobile, comming to you. We have access to most major FBO chain operations in the Tampa Bay area. We are fully insured including Hangarkeepers and general liability coverages. Please see our website for additional information.
Data is submitted by registered FlightAware members on 2009-Jul-26 13:13.You must register or login to edit FBO information.
Jet A and 100LL airport fuel prices for all FBOs at KPIE


text:
Mozillian Profile
External Accounts
- LinkedIn: https://in.linkedin.com/in/shinenelson/
- MDN: shine.nelson
- Mozilla Wiki: Shine Nelson
- Telegram: shine
- Twitter: shine__nelson
- Mozilla Webmaker: shine
Vouched By
He a passionate Mozillian and an IEEE activist. He's a good blogger and has a pivotal role in the Mozilla Kerala community. Among other things, he curates the Mozilla Kerala blog and helps organize great events.
Abid Aboobaker
Shine is an evangelist and organizer in the local community. He actively contributed for building mozilla community in Kerala.
Midhun Manoj
A very good Evangelist who has taken numerous talks for Mozilla across the Kerala locale. He was the key driver of the Mozilla Kerala portal project (www.mozillakerala.org) and also a good blogger.


text:
OnBaseMachine (10-01-2013)
www.studiotees.com needs to take a course in typography. That is maybe the ugliest choice I could have come up with for a shirt design. What says "Reds postseason" better than a font straight out of Eastern bloc propaganda from the 50s? (unless this is a clever reference to the "Red scare" name change imposed on our beloved Reds during the Mcarthy era )
And to be more on topic...I bet Marlon Byrd could perform a bench press.
vaticanplum (10-01-2013)
...the 2-2 to Woodsen and here it comes...and it is swung on and missed! And Tom Browning has pitched a perfect game! Twenty-seven outs in a row, and he is being mobbed by his teammates, just to the thirdbase side of the mound.
dubc47834 (10-01-2013)
Today's roster
10 pitchers, no corky, Leake is the Long guy
I'm so nervous I feel sick to my stomach.
Wonderful Monds (10-01-2013)
BluegrassRedleg (10-01-2013)
I'm dying here. Still 6 hours away.
I was stuck at work during all 3 of the final games against the Pirates. So you all can blame me for the sweep. But fear not....I'm watching tonight. :O)
...the 2-2 to Woodsen and here it comes...and it is swung on and missed! And Tom Browning has pitched a perfect game! Twenty-seven outs in a row, and he is being mobbed by his teammates, just to the thirdbase side of the mound.
Here is the Pirates lineup for tonight:
1. Starling Marte (R) LF
2. Neil Walker (S) 2B
3. Andrew McCutchen (R) CF
4. Justin Morneau (L) 1B
5. Marlon Byrd (R) RF
6. Pedro Alvarez (L) 3B
7. Russell Martin (R) C
8. Clint Barmes (R) SS
9. Francisco Liriano (L) P
REDS, because it's worked so well...
Choo CF
Ludwick LF
Votto 1B
Phillips 2B
Bruce RF
Frazier 3B
Cozart SS
Hanigan C
Cueto P
Hate the lineup, but it's what we have come to expect.
All that matters is just find a way. Anyway, anyhow, just win the day today, boys!
ludwick in the 2? geezus
Board Moderators may, at their discretion and judgment, delete and/or edit any messages that violate any of the following guidelines: 1. Explicit references to alleged illegal or unlawful acts. 2. Graphic sexual descriptions. 3. Racial or ethnic slurs. 4. Use of edgy language (including masked profanity). 5. Direct personal attacks, flames, fights, trolling, baiting, name-calling, general nuisance, excessive player criticism or anything along those lines. 6. Posting spam. 7. Each person may have only one user account. It is fine to be critical here - that's what this board is for. But let's not beat a subject or a player to death, please.


text:
General Geekiness
Welcome to GeekDaddy
Apr.15, 2014, under General Geekiness
760 views
Leave a Comment :adventures, dad, father, geek, geeky, sci fi, science fiction, son, stay at home dad more...
Welcome to GeekDaddy. I've been wanting to get this started since my son was born, but having a baby takes up a lot of your free time. I'm a stay at home dad raising my son during the week. I will start to post about the science fiction and other geeky adventures my son and I have together. Please stay tuned!


text:
The Office of the Chief Internal Auditor (OCIA)
Our Mission
The Office of Chief the Internal Audit (OCIA) supports Ministries, Districts and Agencies (MDAs) make informed decisions, use resources effectively and efficiently, and satisfy their respective statutory and fiduciary responsibilities.
Main objective:
To help MDAs ensure efficient, effective and accountable use of public resources by providing them with analysis, appraisals and recommendations about activities and systems reviewed. Specific objectives: To meet our mission and the above mentioned core objective, OCIA will achieve the following:
· Set up a strong and effective Internal Audit function in public entities;
· Ensure capacity building for Internal Auditors;
· Provide guidance and oversight to Internal Auditors across the country in different MDAs.
· Initiate preventive and corrective measures to improve quality of Public Financial Management;
· Carry out reviews, analysis and appraisals of activities in various public institutions to ensure whether resources are used effectively and efficiently.
Duties and Responsibilities OCIA Department
To meet the above objectives, the OCIA shall discharge the following responsibilities:
·Supervise and co-ordinate the internal audit function across all government institutions;
· Formulate and disseminate internal audit regulations, uniform standards, policies, guidelines, audit methodology, etc.
·Lead an annual planning process for the internal activities throughout the Government;
· Arrange appropriate continuous professional development of Internal Auditors;
·Provide quality assurance and producing a consolidated annual internal audit report;
· Conduct internal audits in central government institutions including ministries, embassies, etc;
·Conduct internal audits in local government institutions including districts and other services operating at districts level such as Schools, District Hospitals and Prisons.
·Perform any ad hoc investigative assignments in any government entity.
Audit committee handbook:
The audit committee handbook elaborates the responsibilities of audit committees in Government as contained in Art.3 of Ministerial Instructions no 004/09/10/Min of 01/10/2009 for the establishment of the audit committees in public entities, local government entities and autonomous and semi-autonomous public entities and the Audit Committee Charter issues in July 2011.
Related Document
1. OCIA 2013-2018 Strategic Plan
Gives the internal audit function in GoR a road map to develop the right skills, right reporting relationships, right tools and technology, right procedures and management structures to position itself to provide high quality service.
2. Government of Rwanda Internal audit procedures manual:
This Internal Audit Procedures Manual set out the procedures to be followed by Government Internal Auditors in providing Internal Audit services to Ministries, Districts and Agencies. Procedures set in the volume are based on International Standards for the Professional Practice of Internal Auditing issued by the Institute of Internal Auditors.
For more information click here
Who we are
National Planning
Budget & Payments
Laws & Regulations
© 2020 Ministry of Finance and Economic Planning.


text:
Design in Laguna Niguel, California
Home and construction design can be a lengthy process. The professional service offered by JEM Remodel & Construction Inc will help guide you through Laguna Niguel municipal standards, building codes and neighborhood issues. We will handle the details of your Laguna Niguel, California design project with integrity, prompt communications and a professional attitude. For all of your design needs, JEM Remodel & Construction Inc provides the experience, professionalism and detailed work to get your project off the ground.
Call for a FREE Quote
Looking for Architectural Design in Laguna Niguel, California?
Your construction or renovation project starts with a well laid out design. JEM Remodel & Construction Inc has worked with countless homeowners across the region providing professional design in Laguna Niguel, California. For the greatest comfort, safety and return on investment, trust the pros at JEM Remodel & Construction Inc to handle every aspect of your home design.
Our designers have been partnering with Laguna Niguel clients, taking on the challenges of new home design, backyard design, and bathroom or kitchen remodeling designs. Many homes in Laguna Niguel feature custom designs created with the homeowner's needs and vision in mind. Our years of local experience have helped JEM Remodel & Construction Inc build a solid reputation, and we work hard to continue earning your trust.
Why Laguna Niguel Residents Choose JEM Remodel & Construction Inc
JEM Remodel & Construction Inc has worked with many Laguna Niguel residents on design projects that continually evolve. Your home changes with time and our experts are ready to provide the immediate design needs for construction, as well as progressive plans and additions to your existing designs. We've also helped make Laguna Niguel a healthier, greener region by designing homes using eco-friendly materials and installation processes.
Laguna Niguel residents trust our staff and service record, and we feel privileged to be part of this community. Your project deserves the attention only JEM Remodel & Construction Inc can give. Call (657) 267-7710 today to arrange for a design consultation.
Call for FREE Design Quote
(657) 267-7710
★★★★★ - "There aren't enough stars to rate this construction co. Jeannine the owner is professional and so is all her crew. My kitchen, bathrooms, fireplace look beautiful. I was more than pleased with all that was done and I had a lot done. I have never had a project like this run so smoothly. Plus she is very reasonably priced. I highly recommend JEM construction."
Nancy DiDonato, Kitchen Remodeling2019-06-07
★★★★★ - "We met with Jeanine back in January 2017 after getting 3 other quotes from different contractors. Her prices came much lower. She listened to what we want and gave us a great price for what we wanted to get done. She redid 3 bathrooms and a kitchen for us. Easy to work with. We weren't looking for luxury, but something nice and reasonable. I believe they have higher end stuff also. They are trustworthy and NO nickling and dimming. We changed order a few times and Jeanine charged us very little for the change. We will do business again."
Fadi Mansour, Bathroom Remodeling2019-06-07


text:
ST. PETERSBURG, Fla. (AP) The Tampa Bay Rays and American League Cy Young Award winner David Price have agreed to a one-year deal for just over $10 million and avoided arbitration.
Price, who earned $4.35 million in 2012, agreed to the $10.1125 million deal Tuesday. The Rays announced it on Wednesday.
He became the franchise's first 20-game winner in 2012, going 20-5 with an AL-best 2.56 ERA and 205 strikeouts in 211 innings. Price narrowly beat out Detroit's Justin Verlander for the honor that annually goes to the league's top pitcher.
The hard-throwing left-hander is 61-31 with a 3.16 ERA in five seasons with the Rays. The first overall pick in the 2007 draft out of Vanderbilt, Price is a three-time All-Star.
Price, 27, ranks second in club history in wins and is third in innings pitched, strikeouts and starts, while helping Tampa Bay make the playoffs three of the past five seasons. Over the past three seasons, Price's .680 winning percentage is third best in the majors behind Verlander and CC Sabathia.
The ace of one of baseball's youngest and deepest rotations last season, Price will be counted on even more in 2013 following a six-player trade that sent right-handers James Shields and Wade Davis to the Kansas City Royals in exchange for four minor leaguers, including top prospects Wil Myers and Jake Odorizzi.
Price worked seven innings or more in a major league-leading 23 starts last season. He tied Jered Weaver for the AL lead in wins and also held opponents to a league-low .318 slugging percentage.
In 2010, the lefty became the youngest pitcher to start an All-Star game since Dwight Gooden in 1986 and finished second to Seattle's Felix Hernandez in Cy Young balloting after going 19-6 with a 2.72 ERA.


text:
Every spring, the American Camp Association® (ACA) takes the pulse on enrollment trends followed by a fall survey that determines how enrollments actually went for that summer. In the spring of 2009, directors were nervous about the impact of the economic downturn in the U.S. on enrollments. Our early snapshot showed a camp community that was braced for a severe decrease in campers (48 percent anticipating lower enrollments). Rumors of camps closing fueled by media focused on the negative business climate and family hardships made for an apprehensive summer. So for the 553 camps that completed the survey, how bad was it really?
The Big Picture
When taking a national view, no doubt exists that many camps struggled in summer 2009 with 49 percent indicating lower enrollments than last year. However, there were also camps that had a very good summer (29 percent higher than last year). As we look at some of the trends, keep in mind that every year we have camps that do better or worse from the previous summer. For example, while 49 percent of this year's respondents said they had lower enrollments, 27 percent of the respondents from summer 2008 indicated they had experienced lower enrollments, so there was a new set of camps (22 percent) that experienced lower enrollments this summer. This fact doesn't change the reality that enrollments decreased, but it does make a difference when understanding how trends work. Another important point is that to best understand what underlies these trends often depends on other factors such as the type of camp, affiliation, region, session length, and other demographic factors.
Key Findings
Let's take a closer look at some key enrollment observations from summer 2009. For each general observation any significant difference based on type of camp (day/resident), affiliation (agency, religiously-affiliated, independent for profit, independent not-for-profit), region (New England, Mid-Atlantic, Mid-America, South, West), and session length (1, 2, 3-4, 5+ weeks) will be mentioned (see sidebar on for specific description of camps who participated in the survey). While it's nice to know the national "benchmark," the more specific focus around camp demographics is often more telling.
Camps Experienced Lower Enrollments for Summer 2009
Just under half of camps indicated lower overall enrollments (see Figure 1). However, the declines were not extreme with the largest percentage of decreases ranging between 1-7 percent (43 percent) with another third indicating >10 percent. Camps with higher enrollments mirrored this same trend with 55 percent experiencing 1-7 percent growth while just under a third experienced >10 percent increases in enrollment from last year. Ironically, total camper weeks generated stayed identical to last year (see Table 1). So while enrollment of campers may have been lower, the actual camper weeks remained steady. Twenty-five percent of the respondents said they had between 400-649 campers attend camp, 21 percent had between 650-1999, and 5 percent had 2000+ children last summer. Only 20 percent of the camps said they had less than a 50 percent camper return rate, and almost two-thirds felt their return rate was the same as 2008.
- For-profit camps seemed most affected by the downturn with 65 percent saying they had lower enrollments followed by religious (50 percent), agency (45 percent), and nonprofits (41 percent).
- Similar to 2008, day camps generated more camper weeks than did resident camps. For example, more than 1000 camper weeks were generated in 61 percent of day camps while only 46 percent of resident camps reached that level. For-profit camps had the highest generation of weeks with 32 percent of those camps indicating more than 2500 camper weeks in their programs compared to agency (15 percent), nonprofits (12 percent), and religious (10 percent).
- When looking at who served more than 1000 campers during the summer, higher percentages were seen in day camps (24 percent), religious camps (34 percent), camps in the South (29 percent) and Mid-America (28 percent), and in camps offering one-week sessions (32 percent).
- Camps that experienced a less than 50 percent return rate differed by affiliation with agency (25 percent) and nonprofits (23 percent) at that level. Regional differences were seen in the West (29 percent), South (27 percent), and Mid-America (24 percent).
More Camps Viewed This Summer as One of the Lowest Enrollment Periods
More camps (43 percent) viewed this summer as one of the lowest enrollments in the last five years (see Table 2). It is interesting that 26 percent of the respondents this year still thought summer 2009 was one of the best summers for enrollment over the last five years. No significant differences were found by type, affiliation, region, or session length. The counter-balance between those camps with higher and lower than normal enrollments existed in all kinds of camps.
Enrollments by Gender and Age Groups Were Down
Enrollments by gender and age groups of campers were down considerably from the previous summer (see Table 3 and Table 4). However, the majority of camps continued to indicate that enrollments stayed the same or increased from summer 2008. Often, the camps with lower enrollments were being off-set by camps with higher enrollments. For example, the enrollment of ten to twelve-year-olds was lower in 33 percent of the camps yet higher in almost 25 percent of other camps. The enrollment of girls was lower for 38 percent of the camps, stayed the same in 44 percent, and actually was higher in 19 percent.
- The counterbalancing was also seen in the demographic breakouts. For example, lower boys' enrollments were seen in resident camps (35 percent compared to day at 30 percent) but were also countered by 29 percent of resident programs reporting higher enrollments of boys than day camps (15 percent). Girls' enrollment was up in 22 percent of resident camps compared to only 11 percent in day camps. For-profit camps indicated lower enrollments for both boys (50 percent) and girls (59 percent). No regional differences were seen, and only one difference by session length was seen with lower boys' enrollment in sessions three weeks or longer.
- Age group enrollments showed no differences by type, affiliation, and region. Only enrollments of campers, who were nine years old and younger, differed by affiliation with 41 percent of for-profit camps experiencing lower enrollments compared to religiously-affiliated (33 percent) and agency and other nonprofits (26 percent).
The Majority of Camps Did Not Operate at Capacity
Similar to Summer 2008, the majority of camps did not operate at capacity. Only 40 percent of the camps said they were at or near actual capacity (considered 90 percent or higher). (See Figure 2) Almost a third were
- As in previous years, more religiously-affiliated camps (43 percent) were below 80 percent actual capacity than were agency (33 percent), nonprofits (28 percent), and for-profit (24 percent). Regionally, Mid-America (39 percent), South (36 percent), and West (35 percent) did not make 80 percent capacity to the same extent as Mid-Atlantic (24 percent) and New England (17 percent). The only capacity issue observed by session length was where only 29 percent of one-week sessions achieved 90+ percent capacity compared to two-week (52 percent), 3-4 week sessions (42 percent), and 5+ weeks (51 percent).
- Targeted enrollment levels differed significantly only by regions with 51 percent of Mid-America and 53 percent of West camps reaching 90+ percent of their targeted capacity while 60 percent of the camps in South, 66 percent in Mid-Atlantic, and 76 percent of New England reached this level.
The Longer the Session, The Lower the Enrollment
In general, the longer the session, the lower the enrollment. The percentage of camps with lower enrollments seems to increase with length of stay except for the two-week sessions, which had slightly higher enrollments (30 percent) than any other length. For example, 33 percent of one-week camps indicated they had lower enrollments while 28 percent said they were higher. The seven- to eight-week sessions seemed most affected with 51 percent of them indicating lower enrollments.
Camper Diversity Remained the Same or Decreased Slightly
Minority campers remained virtually unchanged with over one-third of the directors saying only 1-5 percent of their campers were from minority groups. The percentage of campers from poverty and low-income families actually decreased 3 percent this summer to 12 percent while the bulk continued to be from middle- and upper-class families (57 percent, 25 percent respectively).
- A much higher percentage of religious (49 percent) and for-profit (48 percent) camps had only 1-5 percent of their campers from minority groups compared to agency (28 percent) and nonprofit (27 percent) camps. Similarly, 53 percent of camps with three- to four-week sessions and 47 percent of seven- to eight-week sessions had only 1-5 percent of their campers from minority groups compared to one-week (31 percent) and two-week (25 percent) sessions.
- When looking at the economic levels of their families, 18 percent of nonprofit camps and 16 percent of agency camps primarily served poverty or low-economic families compared to religious (8 percent) and for-profit camps (1 percent). The for-profit camps tended to serve upper-income families (65 percent). As might be expected, poverty and lower-income families tended to have their children in one- and two-week sessions (14 percent and 20 percent respectively) while camps with three- to four-week sessions and five-plus-week sessions tended to serve upper-income families (47 percent and 50 percent respectively). Regions were similar with the exception of Mid-America camps who served more poverty and low-income families (16 percent) and much fewer upper-income families (13 percent).
More Campers Were on Scholarships This Summer Than Last Year
Fifty-three percent of the camps said they had more campers on scholarship this summer with one-third of the directors saying they were higher by >10 percent. About half the directors said their number of youth on camperships ranged between one to twenty-nine campers. Almost one out of five camps indicated they awarded more than $100,000 in scholarships in 2009. However, some camps (6 percent) gave no scholarships at all.
- Fifty-six percent of day camps said they awarded less than thirty scholarships while only 43 percent of residents gave at that level. In fact, 18 percent of day camps gave no scholarships at all compared to only 5 percent of the resident camps. This difference resulted in 24 percent of the resident camps saying they gave more than $100,000 in scholarships.
- Seventy-one percent of for-profit camps gave fewer than thirty scholarships compared to religious (45 percent), nonprofit (42 percent), and agency (29 percent). In fact, 18 percent of for-profit camps gave no scholarships while religious camps had higher numbers of children on scholarship than last year. When determining who contributed more than $100,000 in scholarships, agencies led the way (27 percent) followed by nonprofits (23 percent), religious (15 percent), and for-profit (9 percent) camps.
- Regions were similar on scholarship levels with a few exceptions. For example, 15 percent of the Mid-Atlantic camps gave no scholarships compared to South (9 percent), Mid-America (7 percent), West (4 percent), and New England (2 percent). However, 70 percent of New England camps gave fewer than thirty scholarships followed by Mid-Atlantic (54 percent), South (43 percent), Mid-America (38 percent), and the West (30 percent). Seventy percent of New England camps said they were higher than last year on numbers of campers on scholarship followed by Mid-America (59 percent), Mid-Atlantic (50 percent), West (49 percent) and the South (38 percent).
- Session length had an interesting influence on scholarships. Basically, the longer sessions did not award scholarships as often as did shorter session camps. For example, 22 percent of seven- to eight-week-session camps gave no scholarships compared to only 6 percent of one-week-session camps. However, 19 percent of three- to four-week camps said they gave more than $100,000 followed by 17 percent for two-week sessions, 13 percent for one-week session, and 11 percent for seven- to eight-week-session camps.
Directors' Opinions on Enrollment Challenges
We asked the directors about some of the challenges frequently mentioned in discussions about enrollments. The following points emerged for the summer 2009. The general findings for the national sample are provided. The information in parentheses indicates the directors who agreed strongest with the general finding based on their camps' demographics.
- Sixty-five percent agreed that the economy negatively affected their enrollment (West; for-profit; three- to four-week sessions).
- Thirty-three percent thought the school calendar negatively affected enrollments (Resident; New England/Mid-America/West; Nonprofit).
- Seventy percent thought parents waited longer to enroll their children (Day).
- Thirty-nine percent thought parents enrolled their children in shorter sessions (Day; three- to four-week sessions).
- Twenty-one percent had more children want to come to camp than they could accommodate (New England; Nonprofit; two-week sessions).
- Seventy-three percent had more scholarship requests than last year (two-week/three- to four-week sessions).
- Twenty-seven percent had reduced funds for scholarships (Nonprofit).
- Seventy percent were able to offer scholarships to campers that requested them (Resident; West/New England/Mid-America; Religious; one-week sessions).
- Ten percent said H1N1 affected their enrollments (Resident; two- week sessions).
- Thirty-two percent felt the children in their service area had more summer opportunities that competed with camp (Day).
- Ten percent felt the economy negatively affected staff recruitment and hiring (South/West/New England; Nonprofit/Agency; one-week sessions).
What Have We Learned?
When preparing for next summer, several key messages can be gleaned from the summer 2009 enrollment survey. While camp professionals cannot control the economic climate and its effect on them or the families they serve, positive realities and potential actions can be found in the data. Some of these key messages do not differ from past years — rather they may be now more seriously considered because of the economy.
First, no easy recipe exists that can guarantee better enrollments for next summer. Undeniable hardships were experienced in many camps, but there was no clear indicator for enrollment "winners" and "losers." Total enrollments in summer 2009 were lower in every type of camp, especially for-profit camps. However, there were also camps in every category that had higher enrollments than last year. It was interesting that categories of camper weeks generated remained constant from last summer, which implied while the number of campers may have decreased, the change in camper numbers was not drastic enough to alter overall camper-week numbers. That observation could be influenced by smaller percentages of decline and longer stays by campers in camps that experienced increased enrollments.
Second, similar to last year, financial support for campers is increasingly important. While camps were able to meet most scholarship needs, they also received many more requests this year. This trend will likely persist as economic challenges continue to affect their families. A real concern could emerge if the economic downturn persists, because traditional organizations and donors who have supported camp scholarships may be less generous than in the past.
Third, even though demographics are changing across the country with more children found in minority groups, camps remain predominately white and often serve the most privileged children. The 20/20 Vision calls for a more inclusive approach as we strive for more opportunities for all children to attend camp. The challenge in the next few years may be how to tap these new markets while maintaining economically viable business models that keep enrollments up and camps at capacity.
The word "trends" implies periods of up and down movement. The business of camps will continue to be influenced by major societal impacts such as the economy, demographic shifts, and school reform. These trends are similar to a hologram. When "tilted" for a particular camp demographic like affiliation, region, etc., different nuances within the trends emerge. While national benchmarks are useful to provide the big picture, each individual camp must struggle to refine their recruitment strategies for the next summer based on their mission, goals, and philosophy. Hopefully, this article has provided some new perspectives from which camps can not only look outward to see how they compared to other camps, but has also provided reasons to look inward as they prepare for another summer of camp. What new risks will camps encounter and what efforts will they undertake in the next few years that will become the "traditions" of camps in the future? Perhaps the greatest challenge will be our ability to stay relevant and flexible as we enter our 150th year and advance our belief in the value of the camp experience to make a difference in the life of a child.
(For more detailed summary findings, go to www.ACAcamps.org/research/improve/enrollment_recruitment_survey.php.)
Who Participated in the Fall 2009 Enrollment Study?
- A total of 553 accredited camps (22 percent) responded
- Affiliation of camps
- 23 percent agency (including governmental and municipal)
- 18 percent religiously-affiliated
- 25 percent for-profit
- 34 percent nonprofit
- Type
- 31 percent day
- 69 percent resident
- Clientele
- 4 percent boys only
- 11 percent girls only
- 78 percent co-ed
- 8 percent combination
- Most popular session length
- 18 percent
- 27 percent 1 week
- 16 percent 2 weeks
- 18 percent 3–4 weeks
- 17 percent 5+ weeks
- Regions
- 8 percent New England
- 36 percent Mid-Atlantic (ACA, Chesapeake; ACA, Keystone; ACA New Jersey; ACA, New York; ACA,Upstate New York; ACA, Virginias)
- 30 percent Mid-America (ACA, Great Rivers; ACA, Illinois; ACA, Indiana; ACA, Northland; ACA, Ohio; ACA, St. Louis; ACA, Wisconsin; ACA, Michigan)
- 11 percent South (ACA, Texoma; ACA, Southeastern; ACA, Heart of the South)
- 15 percent West (ACA, Evergreen; ACA, Northern California; ACA Southern California/Hawaii; ACA, Oregon Trail; ACA, Rocky Mountain; ACA, Southwest
Originally published in the 2010 March/April issue of Camping Magazine.